Merge pull request #2838 from bblommers/feature/2388
CloudFormation - CreateChangeSet should not create resources
This commit is contained in:
commit
229b3ec196
3 changed files with 31 additions and 4 deletions
|
|
@ -239,8 +239,11 @@ class FakeStack(BaseModel):
|
|||
self.cross_stack_resources = cross_stack_resources or {}
|
||||
self.resource_map = self._create_resource_map()
|
||||
self.output_map = self._create_output_map()
|
||||
self._add_stack_event("CREATE_COMPLETE")
|
||||
self.status = "CREATE_COMPLETE"
|
||||
if create_change_set:
|
||||
self.status = "REVIEW_IN_PROGRESS"
|
||||
else:
|
||||
self.create_resources()
|
||||
self._add_stack_event("CREATE_COMPLETE")
|
||||
self.creation_time = datetime.utcnow()
|
||||
|
||||
def _create_resource_map(self):
|
||||
|
|
@ -253,7 +256,7 @@ class FakeStack(BaseModel):
|
|||
self.template_dict,
|
||||
self.cross_stack_resources,
|
||||
)
|
||||
resource_map.create()
|
||||
resource_map.load()
|
||||
return resource_map
|
||||
|
||||
def _create_output_map(self):
|
||||
|
|
@ -326,6 +329,10 @@ class FakeStack(BaseModel):
|
|||
def exports(self):
|
||||
return self.output_map.exports
|
||||
|
||||
def create_resources(self):
|
||||
self.resource_map.create()
|
||||
self.status = "CREATE_COMPLETE"
|
||||
|
||||
def update(self, template, role_arn=None, parameters=None, tags=None):
|
||||
self._add_stack_event(
|
||||
"UPDATE_IN_PROGRESS", resource_status_reason="User Initiated"
|
||||
|
|
@ -640,6 +647,7 @@ class CloudFormationBackend(BaseBackend):
|
|||
else:
|
||||
stack._add_stack_event("UPDATE_IN_PROGRESS")
|
||||
stack._add_stack_event("UPDATE_COMPLETE")
|
||||
stack.create_resources()
|
||||
return True
|
||||
|
||||
def describe_stacks(self, name_or_stack_id):
|
||||
|
|
|
|||
|
|
@ -531,14 +531,16 @@ class ResourceMap(collections_abc.Mapping):
|
|||
for condition_name in self.lazy_condition_map:
|
||||
self.lazy_condition_map[condition_name]
|
||||
|
||||
def create(self):
|
||||
def load(self):
|
||||
self.load_mapping()
|
||||
self.transform_mapping()
|
||||
self.load_parameters()
|
||||
self.load_conditions()
|
||||
|
||||
def create(self):
|
||||
# Since this is a lazy map, to create every object we just need to
|
||||
# iterate through self.
|
||||
# Assumes that self.load() has been called before
|
||||
self.tags.update(
|
||||
{
|
||||
"aws:cloudformation:stack-name": self.get("AWS::StackName"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue