AWSTemplateFormatVersion: 2010-09-09 Description: >- Lambda to check completion of various Omics API calls such as Sequence data import and Omics workflow completion Parameters: OmicsOutputBucket: Type: String Description: S3 bucket that Amazon Omics workflow will write outputs to LambdaBucketName: Type: String Description: S3 bucket where lambda code artifacts are stored LambdaArtifactPrefix: Type: String Description: Prefix in bucket where lambda artifacts are stored Resources: CheckOmicsTaskLambdaFunction: Type: 'AWS::Lambda::Function' Properties: FunctionName: CheckOmicsTask Code: S3Bucket: !Ref LambdaBucketName S3Key: !Sub '${LambdaArtifactPrefix}lambda_check_omics_workflow_task.zip' Handler: lambda_check_omics_workflow_task.lambda_handler Role: !GetAtt LambdaIAMRole.Arn Runtime: python3.9 Timeout: 20 LambdaIAMRole: Type: 'AWS::IAM::Role' Properties: RoleName: CheckOmicsLambdaFnRole AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - lambda.amazonaws.com Action: - 'sts:AssumeRole' Policies: - PolicyName: AmazonOmicsPolicy PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - 'omics:GetReadSetImportJob' - 'omics:GetRun' - 'omics:GetVariantImportJob' Resource: "*" - PolicyName: LambdaLogs PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - 'logs:CreateLogGroup' - 'logs:CreateLogStream' - 'logs:PutLogEvents' Resource: 'arn:aws:logs:*:*:*' Outputs: CheckOmicsTaskLambdaFunctionArn: Value: !GetAtt CheckOmicsTaskLambdaFunction.Arn