"Fossies" - the Fresh Open Source Software Archive

Member "magnum-8.1.0/magnum/conductor/tasks/heat_tasks.py" (1 Oct 2019, 1753 Bytes) of package /linux/misc/openstack/magnum-8.1.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. For more information about "heat_tasks.py" see the Fossies "Dox" file reference documentation.

    1 # Copyright 2015 NEC Corporation.  All rights reserved.
    2 #
    3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
    4 # not use this file except in compliance with the License. You may obtain
    5 # a copy of the License at
    6 #
    7 #      http://www.apache.org/licenses/LICENSE-2.0
    8 #
    9 # Unless required by applicable law or agreed to in writing, software
   10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   12 # License for the specific language governing permissions and limitations
   13 # under the License.
   14 
   15 from magnum.conductor import tasks
   16 
   17 
   18 class CreateStack(tasks.OSBaseTask):
   19     """CreateStack Task
   20 
   21     This task interfaces with Heat API and creates a stack based on parameters
   22     provided to the Task.
   23 
   24     """
   25 
   26     def execute(self, stack_name, parameters, template, files):
   27         stack = self.os_client.stacks.create(stack_name=stack_name,
   28                                              parameters=parameters,
   29                                              template=template, files=files)
   30         return stack
   31 
   32 
   33 class UpdateStack(tasks.OSBaseTask):
   34     """UpdateStack Task
   35 
   36     This task interfaces with Heat API and update a stack based on parameters
   37     provided to the Task.
   38 
   39     """
   40 
   41     def execute(self, stack_id, parameters, template, files):
   42         self.os_client.stacks.update(stack_id, parameters=parameters,
   43                                      template=template, files=files)
   44 
   45 
   46 class DeleteStack(tasks.OSBaseTask):
   47     """DeleteStack Task
   48 
   49     This task interfaces with Heat API and delete a stack based on parameters
   50     provided to the Task.
   51 
   52     """
   53 
   54     def execute(self, stack_id):
   55         self.os_client.stacks.delete(stack_id)