How to use create_from_cloudformation_json method in localstack

Best Python code snippet using localstack_python

cloudformation_starter.py

Source:cloudformation_starter.py Github

copy

Full Screen

...235 return aws_stack.role_arn(self.name)236 raise237 IAM_Role_get_cfn_attribute_orig = iam_models.Role.get_cfn_attribute238 iam_models.Role.get_cfn_attribute = IAM_Role_get_cfn_attribute239 # Patch LambdaFunction create_from_cloudformation_json(..) method in moto240 @classmethod241 def Lambda_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):242 resource_name = cloudformation_json.get('Properties', {}).get('FunctionName') or resource_name243 return Lambda_create_from_cloudformation_json_orig(resource_name, cloudformation_json, region_name)244 Lambda_create_from_cloudformation_json_orig = lambda_models.LambdaFunction.create_from_cloudformation_json245 lambda_models.LambdaFunction.create_from_cloudformation_json = Lambda_create_from_cloudformation_json246 # add CloudWatch types247 parsing.MODEL_MAP['AWS::ApiGateway::Deployment'] = apigw_models.Deployment248 parsing.MODEL_MAP['AWS::ApiGateway::Method'] = apigw_models.Method249 parsing.MODEL_MAP['AWS::ApiGateway::Resource'] = apigw_models.Resource250 parsing.MODEL_MAP['AWS::ApiGateway::RestApi'] = apigw_models.RestAPI251 parsing.MODEL_MAP['AWS::StepFunctions::StateMachine'] = sfn_models.StateMachine252 @classmethod253 def RestAPI_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):254 props = cloudformation_json['Properties']255 name = props['Name']256 region_name = props.get('Region') or DEFAULT_REGION257 description = props.get('Description') or ''258 id = props.get('Id') or short_uid()259 return apigw_models.RestAPI(id, region_name, name, description)260 def RestAPI_get_cfn_attribute(self, attribute_name):261 if attribute_name == 'Id':262 return self.id263 if attribute_name == 'Region':264 return self.region_name265 if attribute_name == 'Name':266 return self.name267 if attribute_name == 'Description':268 return self.description269 if attribute_name == 'RootResourceId':270 for id, resource in self.resources.items():271 if resource.parent_id is None:272 return resource.id273 return None274 raise UnformattedGetAttTemplateException()275 @classmethod276 def Deployment_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):277 props = cloudformation_json['Properties']278 name = props['StageName']279 deployment_id = props.get('Id') or short_uid()280 description = props.get('Description') or ''281 return apigw_models.Deployment(deployment_id, name, description)282 @classmethod283 def Resource_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):284 props = cloudformation_json['Properties']285 region_name = props.get('Region') or DEFAULT_REGION286 path_part = props.get('PathPart')287 api_id = props.get('RestApiId')288 parent_id = props.get('ParentId')289 id = props.get('Id') or short_uid()290 return apigw_models.Resource(id, region_name, api_id, path_part, parent_id)291 @classmethod292 def Method_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):293 props = cloudformation_json['Properties']294 method_type = props.get('HttpMethod')295 authorization_type = props.get('AuthorizationType')296 return apigw_models.Method(method_type, authorization_type)297 apigw_models.RestAPI.create_from_cloudformation_json = RestAPI_create_from_cloudformation_json298 apigw_models.RestAPI.get_cfn_attribute = RestAPI_get_cfn_attribute299 apigw_models.Deployment.create_from_cloudformation_json = Deployment_create_from_cloudformation_json300 apigw_models.Resource.create_from_cloudformation_json = Resource_create_from_cloudformation_json301 apigw_models.Method.create_from_cloudformation_json = Method_create_from_cloudformation_json302 # TODO: add support for AWS::ApiGateway::Model, AWS::ApiGateway::RequestValidator, ...303 # fix AttributeError in moto's CloudFormation describe_stack_resource304 def describe_stack_resource(self):305 stack_name = self._get_param('StackName')306 stack = self.cloudformation_backend.get_stack(stack_name)...

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