How to use _set_resource_status_details method in localstack

Best Python code snippet using localstack_python

cloudformation_api.py

Source:cloudformation_api.py Github

copy

Full Screen

...130 }131 self.events.insert(0, event)132 def set_resource_status(self, resource_id: str, status: str, physical_res_id: str = None):133 """Update the deployment status of the given resource ID and publish a corresponding stack event."""134 self._set_resource_status_details(resource_id, physical_res_id=physical_res_id)135 state = self.resource_states.setdefault(resource_id, {})136 state["PreviousResourceStatus"] = state.get("ResourceStatus")137 state["ResourceStatus"] = status138 state["LastUpdatedTimestamp"] = timestamp_millis()139 self.add_stack_event(resource_id, physical_res_id, status)140 def _set_resource_status_details(self, resource_id: str, physical_res_id: str = None):141 """Helper function to ensure that the status details for the given resource ID are up-to-date."""142 resource = self.resources.get(resource_id)143 if resource is None:144 # make sure we delete the states for any non-existing/deleted resources145 self._resource_states.pop(resource_id, None)146 return147 state = self._resource_states.setdefault(resource_id, {})148 attr_defaults = (149 ("LogicalResourceId", resource_id),150 ("PhysicalResourceId", physical_res_id),151 )152 for res in [resource, state]:153 for attr, default in attr_defaults:154 res[attr] = res.get(attr) or default155 state["StackName"] = state.get("StackName") or self.stack_name156 state["StackId"] = state.get("StackId") or self.stack_id157 state["ResourceType"] = state.get("ResourceType") or self.resources[resource_id].get("Type")158 return state159 def resource_status(self, resource_id: str):160 result = self._lookup(self.resource_states, resource_id)161 return result162 @property163 def resource_states(self):164 for resource_id in list(self._resource_states.keys()):165 self._set_resource_status_details(resource_id)166 return self._resource_states167 @property168 def stack_name(self):169 return self.metadata["StackName"]170 @property171 def stack_id(self):172 return self.metadata["StackId"]173 # TODO: potential performance issues due to many stack_parameters calls (cache or limit actual invocations)174 @property175 def resources(self): # TODO: not actually resources, split apart176 """Return dict of resources, parameters, conditions, and other stack metadata."""177 result = dict(self.template_resources)178 def add_params(defaults=True):179 for param in self.stack_parameters(defaults=defaults):...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful