示例#1
0
 def __init__(self, metadata=None, template={}):
     self.metadata = metadata or {}
     self.template = template or {}
     self._template_raw = clone_safe(self.template)
     self.template_original = clone_safe(self.template)
     # initialize resources
     for resource_id, resource in self.template_resources.items():
         resource['LogicalResourceId'] = self.template_original['Resources'][resource_id]['LogicalResourceId'] = (
             resource.get('LogicalResourceId') or resource_id)
     # initialize stack template attributes
     self.template['StackId'] = self.metadata['StackId'] = (self.metadata.get('StackId') or
         aws_stack.cloudformation_stack_arn(self.stack_name, short_uid()))
     self.template['Parameters'] = self.template.get('Parameters') or {}
     self.template['Outputs'] = self.template.get('Outputs') or {}
     # initialize metadata
     self.metadata['Parameters'] = self.metadata.get('Parameters') or []
     self.metadata['StackStatus'] = 'CREATE_IN_PROGRESS'
     self.metadata['CreationTime'] = self.metadata.get('CreationTime') or timestamp_millis()
     # maps resource id to resource state
     self.resource_states = {}
     # maps resource id to moto resource class instance (TODO: remove in the future)
     self.moto_resource_statuses = {}
     # list of stack events
     self.events = []
     # list of stack change sets
     self.change_sets = []
     # initialize parameters
     for i in range(1, 100):
         key = 'Parameters.member.%s.ParameterKey' % i
         value = 'Parameters.member.%s.ParameterValue' % i
         key = self.metadata.get(key)
         value = self.metadata.get(value)
         if not key:
             break
         self.metadata['Parameters'].append({'ParameterKey': key, 'ParameterValue': value})
示例#2
0
 def __init__(self, metadata=None, template=None):
     if template is None:
         template = {}
     self.metadata = metadata or {}
     self.template = template or {}
     self._template_raw = clone_safe(self.template)
     self.template_original = clone_safe(self.template)
     # initialize resources
     for resource_id, resource in self.template_resources.items():
         resource["LogicalResourceId"] = self.template_original["Resources"][resource_id][
             "LogicalResourceId"
         ] = (resource.get("LogicalResourceId") or resource_id)
     # initialize stack template attributes
     stack_id = self.metadata.get("StackId") or aws_stack.cloudformation_stack_arn(
         self.stack_name, short_uid()
     )
     self.template["StackId"] = self.metadata["StackId"] = stack_id
     self.template["Parameters"] = self.template.get("Parameters") or {}
     self.template["Outputs"] = self.template.get("Outputs") or {}
     self.template["Conditions"] = self.template.get("Conditions") or {}
     # initialize metadata
     self.metadata["Parameters"] = self.metadata.get("Parameters") or []
     self.metadata["StackStatus"] = "CREATE_IN_PROGRESS"
     self.metadata["CreationTime"] = self.metadata.get("CreationTime") or timestamp_millis()
     # maps resource id to resource state
     self._resource_states = {}
     # list of stack events
     self.events = []
     # list of stack change sets
     self.change_sets = []
示例#3
0
 def __init__(self, metadata=None, template=None):
     if template is None:
         template = {}
     self.metadata = metadata or {}
     self.template = template or {}
     self._template_raw = clone_safe(self.template)
     self.template_original = clone_safe(self.template)
     # initialize resources
     for resource_id, resource in self.template_resources.items():
         resource["LogicalResourceId"] = self.template_original[
             "Resources"][resource_id]["LogicalResourceId"] = (
                 resource.get("LogicalResourceId") or resource_id)
     # initialize stack template attributes
     self.template["StackId"] = self.metadata[
         "StackId"] = self.metadata.get(
             "StackId") or aws_stack.cloudformation_stack_arn(
                 self.stack_name, short_uid())
     self.template["Parameters"] = self.template.get("Parameters") or {}
     self.template["Outputs"] = self.template.get("Outputs") or {}
     self.template["Conditions"] = self.template.get("Conditions") or {}
     # initialize metadata
     self.metadata["Parameters"] = self.metadata.get("Parameters") or []
     self.metadata["StackStatus"] = "CREATE_IN_PROGRESS"
     self.metadata["CreationTime"] = self.metadata.get(
         "CreationTime") or timestamp_millis()
     # maps resource id to resource state
     self._resource_states = {}
     # list of stack events
     self.events = []
     # list of stack change sets
     self.change_sets = []
     # initialize parameters
     for i in range(1, 100):
         key = "Parameters.member.%s.ParameterKey" % i
         value = "Parameters.member.%s.ParameterValue" % i
         key = self.metadata.get(key)
         value = self.metadata.get(value)
         if not key:
             break
         self.metadata["Parameters"].append({
             "ParameterKey": key,
             "ParameterValue": value
         })