How to use get_cfn_attribute method in localstack

Best Python code snippet using localstack_python

cloudformation_starter.py

Source:cloudformation_starter.py Github

copy

Full Screen

...202 output.description = output_json.get('Description')203 return output204 parse_output_orig = parsing.parse_output205 parsing.parse_output = parse_output206 # Patch DynamoDB get_cfn_attribute(..) method in moto207 def DynamoDB_Table_get_cfn_attribute(self, attribute_name):208 try:209 return DynamoDB_Table_get_cfn_attribute_orig(self, attribute_name)210 except Exception:211 if attribute_name == 'Arn':212 return aws_stack.dynamodb_table_arn(table_name=self.name)213 raise214 DynamoDB_Table_get_cfn_attribute_orig = dynamodb_models.Table.get_cfn_attribute215 dynamodb_models.Table.get_cfn_attribute = DynamoDB_Table_get_cfn_attribute216 # Patch SQS get_cfn_attribute(..) method in moto217 def SQS_Queue_get_cfn_attribute(self, attribute_name):218 if attribute_name == 'Arn':219 return aws_stack.sqs_queue_arn(queue_name=self.name)220 return SQS_Queue_get_cfn_attribute_orig(self, attribute_name)221 SQS_Queue_get_cfn_attribute_orig = sqs_models.Queue.get_cfn_attribute222 sqs_models.Queue.get_cfn_attribute = SQS_Queue_get_cfn_attribute223 # Patch Lambda get_cfn_attribute(..) method in moto224 def Lambda_Function_get_cfn_attribute(self, attribute_name):225 try:226 if attribute_name == 'Arn':227 return self.function_arn228 return Lambda_Function_get_cfn_attribute_orig(self, attribute_name)229 except Exception:230 if attribute_name in ('Name', 'FunctionName'):231 return self.function_name232 raise233 Lambda_Function_get_cfn_attribute_orig = lambda_models.LambdaFunction.get_cfn_attribute234 lambda_models.LambdaFunction.get_cfn_attribute = Lambda_Function_get_cfn_attribute235 # Patch DynamoDB get_cfn_attribute(..) method in moto236 def DynamoDB_Table_get_cfn_attribute(self, attribute_name):237 try:238 if attribute_name == 'StreamArn':239 streams = aws_stack.connect_to_service('dynamodbstreams').list_streams(TableName=self.name)['Streams']240 return streams[0]['StreamArn'] if streams else None241 return DynamoDB_Table_get_cfn_attribute_orig(self, attribute_name)242 except Exception as e:243 LOG.warning('Unable to get attribute "%s" from resource %s: %s' % (attribute_name, type(self), e))244 raise245 DynamoDB_Table_get_cfn_attribute_orig = dynamodb_models.Table.get_cfn_attribute246 dynamodb_models.Table.get_cfn_attribute = DynamoDB_Table_get_cfn_attribute247 # Patch IAM get_cfn_attribute(..) method in moto248 def IAM_Role_get_cfn_attribute(self, attribute_name):249 try:250 return IAM_Role_get_cfn_attribute_orig(self, attribute_name)251 except Exception:252 if attribute_name == 'Arn':253 return aws_stack.role_arn(self.name)254 raise255 IAM_Role_get_cfn_attribute_orig = iam_models.Role.get_cfn_attribute256 iam_models.Role.get_cfn_attribute = IAM_Role_get_cfn_attribute257 # Patch LambdaFunction create_from_cloudformation_json(..) method in moto258 @classmethod259 def Lambda_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):260 resource_name = cloudformation_json.get('Properties', {}).get('FunctionName') or resource_name261 return Lambda_create_from_cloudformation_json_orig(resource_name, cloudformation_json, region_name)262 Lambda_create_from_cloudformation_json_orig = lambda_models.LambdaFunction.create_from_cloudformation_json263 lambda_models.LambdaFunction.create_from_cloudformation_json = Lambda_create_from_cloudformation_json264 # add CloudWatch types265 parsing.MODEL_MAP['AWS::ApiGateway::Deployment'] = apigw_models.Deployment266 parsing.MODEL_MAP['AWS::ApiGateway::Method'] = apigw_models.Method267 parsing.MODEL_MAP['AWS::ApiGateway::Resource'] = apigw_models.Resource268 parsing.MODEL_MAP['AWS::ApiGateway::RestApi'] = apigw_models.RestAPI269 parsing.MODEL_MAP['AWS::StepFunctions::StateMachine'] = sfn_models.StateMachine270 @classmethod271 def RestAPI_create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):272 props = cloudformation_json['Properties']273 name = props['Name']274 region_name = props.get('Region') or DEFAULT_REGION275 description = props.get('Description') or ''276 id = props.get('Id') or short_uid()277 return apigw_models.RestAPI(id, region_name, name, description)278 def RestAPI_get_cfn_attribute(self, attribute_name):279 if attribute_name == 'Id':280 return self.id281 if attribute_name == 'Region':282 return self.region_name283 if attribute_name == 'Name':284 return self.name285 if attribute_name == 'Description':286 return self.description287 if attribute_name == 'RootResourceId':288 for id, resource in self.resources.items():289 if resource.parent_id is None:290 return resource.id291 return None292 raise UnformattedGetAttTemplateException()...

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