1 # Copyright (c) 2017 Cable Television Laboratories, Inc. ("CableLabs")
2 # and others. All rights reserved.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at:
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
19 SNAPS domain object for Heat Stacks. Should contain attributes that
20 are shared amongst cloud providers
22 def __init__(self, name, stack_id, stack_project_id,
23 status, status_reason):
26 :param name: the stack's name
27 :param stack_id: the stack's stack_id
28 :param stack_project_id: the project ID that was spawned from this
30 :param status: the stack's last known status code
31 :param status_reason: the stack's last known explanation of the status
35 self.stack_project_id = stack_project_id
37 self.status_reason = status_reason
39 def __eq__(self, other):
40 return (self.name == other.name and
46 SNAPS domain object for a resource created by a heat template
48 def __init__(self, name, resource_type, resource_id, status,
52 :param name: the resource's name
53 :param resource_type: the resource's type
54 :param resource_id: the ID attached to the resource of the given type
55 :param status: the resource's status code
56 :param status_reason: the resource's status code reason
59 self.type = resource_type
62 self.status_reason = status_reason
67 SNAPS domain object for an output defined by a heat template
69 def __init__(self, **kwargs):
72 :param description: the output description
73 :param output_key: the output's key
75 self.description = kwargs.get('description')
76 self.key = kwargs.get('output_key')
77 self.value = kwargs.get('output_value')