B `@sBddlZddlmZmZmZmZmZ m Z m Z GdddejZdS)N)core aws_lambdaaws_lambda_event_sourcesaws_iamaws_s3aws_sns aws_dynamodbcs2eZdZejeeejej e dfdd Z Z S)EmrTriggerStack)scopeidtarget_step_function_arnsource_bucket_sns dynamo_tablenum_rosbag_topicsc  stj||f|tjd}tj|dd|dtjjtj d||j t |dt jt jjddg|gd t jt jjd d d d dddddddg |jgd gt|gd } dS)Nz)infrastructure/emr_trigger/lambda_source/ZSNSTriggeredLambdaz EMR-Triggerztrigger.handler)Z PIPELINE_ARNZ TABLE_NAMEZ NUM_TOPICSzstates:StartExecutionzstates:ListExecutions)effectactions resourceszdynamodb:BatchGet*zdynamodb:DescribeStreamzdynamodb:DescribeTablez dynamodb:Get*zdynamodb:Queryz dynamodb:Scanzdynamodb:BatchWrite*zdynamodb:CreateTablezdynamodb:Delete*zdynamodb:Update*zdynamodb:PutItem) function_namecodehandlerruntimetimeout environmentinitial_policyevents)super__init__rCode from_assetFunctionRuntime PYTHON_3_7rDurationminutes table_namestriamPolicyStatementEffectALLOW table_arnsourcesZSnsEventSource) selfr r r r rrkwargs lambda_codeZ sns_lambda) __class__]/Users/soucyk/AmazonCode/Rosbag-topic-extraction-pipeline/infrastructure/emr_trigger/stack.pyrsB    zEmrTriggerStack.__init__) __name__ __module__ __qualname__r Constructr&snsTopicdynamoTableintr __classcell__r1r1)r0r2r s r )osaws_cdkrrrr,rr'rs3rr7rr9Stackr r1r1r1r2s$