// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Snapshot media-insights-workflow-api stack test 1`] = ` Object { "AWSTemplateFormatVersion": "2010-09-09", "Description": "media-insights-on-aws version %%VERSION%%. This AWS CloudFormation template provisions the REST API for the Media Insights on AWS control plane", "Outputs": Object { "APIHandlerArn": Object { "Value": Object { "Fn::GetAtt": Array [ "APIHandler", "Arn", ], }, }, "APIHandlerName": Object { "Value": Object { "Ref": "APIHandler", }, }, "EndpointURL": Object { "Value": Object { "Fn::Sub": "https://\${RestAPI}.execute-api.\${AWS::Region}.\${AWS::URLSuffix}/api/", }, }, "RestAPIId": Object { "Value": Object { "Ref": "RestAPI", }, }, "WorkflowCustomResourceArn": Object { "Value": Object { "Fn::GetAtt": Array [ "WorkflowCustomResource", "Arn", ], }, }, }, "Parameters": Object { "CompleteStageLambdaArn": Object { "Description": "Lambda that completes execution of a stage", "Type": "String", }, "DataPlaneBucket": Object { "Description": "S3 bucket of the dataplane", "Type": "String", }, "DataplaneEndpoint": Object { "Description": "Rest endpoint for the dataplane", "Type": "String", }, "DataplaneHandlerArn": Object { "Description": "Arn for the dataplane lambda handler", "Type": "String", }, "DeploymentPackageBucket": Object { "Description": "Bucket that contains the dataplane deployment package", "Type": "String", }, "DeploymentPackageKey": Object { "Description": "S3 Key of the dataplane deployment package", "Type": "String", }, "FilterOperationLambdaArn": Object { "Description": "Lambda that checks if an operation should execute", "Type": "String", }, "FrameworkVersion": Object { "Description": "Version of the Media Insights on AWS Framework", "Type": "String", }, "HistoryTableName": Object { "Description": "Table used to store workflow resource history", "Type": "String", }, "KmsKeyId": Object { "Description": "ID of the stack KMS Key", "Type": "String", }, "MediaInsightsEnginePython39Layer": Object { "Description": "Arn of the Media Insights on AWS Python 3.9 lambda layer", "Type": "String", }, "OperationTableName": Object { "Description": "Table used to store operations", "Type": "String", }, "OperatorFailedHandlerLambdaArn": Object { "Description": "Lambda that handles failed operator states", "Type": "String", }, "ShortUUID": Object { "Description": "A short UUID that is going to be appended to resource names", "Type": "String", }, "SqsQueueArn": Object { "Description": "Arn of the Media Insights on AWS workflow queue", "Type": "String", }, "StageExecutionQueueUrl": Object { "Description": "Queue used to post stage executions for processing", "Type": "String", }, "StageExecutionRole": Object { "Description": "ARN of the role used to execute a stage state machine", "Type": "String", }, "StageTableName": Object { "Description": "Table used to store stage definitions", "Type": "String", }, "StepFunctionLogGroupArn": Object { "Description": "ARN of the log group used for logging step functions with Cloudwatch", "Type": "String", }, "SystemTableName": Object { "Description": "Table used to store system configuration", "Type": "String", }, "TracingConfigMode": Object { "Description": "Sets tracing mode for stack entry points. Allowed values: Active, PassThrough", "Type": "String", }, "WorkflowExecutionTableName": Object { "Description": "Table used to monitor Workflow executions", "Type": "String", }, "WorkflowSchedulerLambdaArn": Object { "Description": "Lambda that schedules workflows from the work queue", "Type": "String", }, "WorkflowTableName": Object { "Description": "Table used to store workflow definitions", "Type": "String", }, "botoConfig": Object { "Description": "Botocore config", "Type": "String", }, }, "Resources": Object { "APIHandler": Object { "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W89", "reason": "This Lambda function does not need to access any resource provisioned within a VPC.", }, Object { "id": "W92", "reason": "This function does not require performance optimization, so the default concurrency limits suffice.", }, ], }, }, "Properties": Object { "CodeUri": Object { "Bucket": Object { "Ref": "DeploymentPackageBucket", }, "Key": Object { "Ref": "DeploymentPackageKey", }, }, "Environment": Object { "Variables": Object { "COMPLETE_STAGE_LAMBDA_ARN": Object { "Ref": "CompleteStageLambdaArn", }, "DATAPLANE_BUCKET": Object { "Ref": "DataPlaneBucket", }, "DataplaneEndpoint": Object { "Ref": "DataplaneEndpoint", }, "FILTER_OPERATION_LAMBDA_ARN": Object { "Ref": "FilterOperationLambdaArn", }, "FRAMEWORK_VERSION": Object { "Ref": "FrameworkVersion", }, "HISTORY_TABLE_NAME": Object { "Ref": "HistoryTableName", }, "OPERATION_TABLE_NAME": Object { "Ref": "OperationTableName", }, "OPERATOR_FAILED_LAMBDA_ARN": Object { "Ref": "OperatorFailedHandlerLambdaArn", }, "STACK_SHORT_UUID": Object { "Ref": "ShortUUID", }, "STAGE_EXECUTION_QUEUE_URL": Object { "Ref": "StageExecutionQueueUrl", }, "STAGE_EXECUTION_ROLE": Object { "Ref": "StageExecutionRole", }, "STAGE_TABLE_NAME": Object { "Ref": "StageTableName", }, "STEP_FUNCTION_LOG_GROUP_ARN": Object { "Ref": "StepFunctionLogGroupArn", }, "SYSTEM_TABLE_NAME": Object { "Ref": "SystemTableName", }, "USER_POOL_ARN": "", "WORKFLOW_EXECUTION_TABLE_NAME": Object { "Ref": "WorkflowExecutionTableName", }, "WORKFLOW_SCHEDULER_LAMBDA_ARN": Object { "Ref": "WorkflowSchedulerLambdaArn", }, "WORKFLOW_TABLE_NAME": Object { "Ref": "WorkflowTableName", }, "botoConfig": Object { "Ref": "botoConfig", }, }, }, "Handler": "app.app", "Layers": Array [ Object { "Ref": "MediaInsightsEnginePython39Layer", }, ], "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "ApiHandlerRole", "Arn", ], }, "Runtime": "python3.9", "Tags": Object { "aws-chalice": "version=1.28.0:stage=dev:app=workflowapi", }, "Timeout": 60, "Tracing": Object { "Ref": "TracingConfigMode", }, }, "Type": "AWS::Serverless::Function", }, "APIHandlerInvokePermission": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Ref": "APIHandler", }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Sub": Array [ "arn:\${AWS::Partition}:execute-api:\${AWS::Region}:\${AWS::AccountId}:\${RestAPIId}/*", Object { "RestAPIId": Object { "Ref": "RestAPI", }, }, ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiHandlerRole": Object { "Metadata": Object { "cdk_nag": Object { "rules_to_suppress": Array [ Object { "id": "AwsSolutions-IAM5", "reason": "The X-Ray, Transcribe, and Translate policies cannot be scoped to a specific resource.", }, ], }, "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W11", "reason": "The X-Ray, Transcribe, and Translate policies cannot be scoped to a specific resource.", }, Object { "id": "W76", "reason": "The complexity of this policy document is necessary in order to avoid wildcards.", }, ], }, }, "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, "Sid": "", }, ], "Version": "2012-10-17", }, "Description": "This role is used by the workflow api lambda when invoked by API Gateway", "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "sqs:SendMessage", ], "Effect": "Allow", "Resource": Object { "Ref": "SqsQueueArn", }, }, Object { "Action": Array [ "s3:GetObject", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Ref": "DataPlaneBucket", }, "/*", ], ], }, }, Object { "Action": Array [ "states:ListStateMachines", "states:TagResource", "states:CreateStateMachine", "states:DescribeStateMachine", "states:UpdateStateMachine", "states:DeleteStateMachine", "states:UntagResource", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":states:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":stateMachine:*-", Object { "Ref": "ShortUUID", }, ], ], }, }, Object { "Action": Array [ "iam:PassRole", ], "Effect": "Allow", "Resource": Object { "Ref": "StageExecutionRole", }, }, Object { "Action": Array [ "lambda:InvokeFunction", ], "Effect": "Allow", "Resource": Array [ Object { "Ref": "WorkflowSchedulerLambdaArn", }, Object { "Ref": "FilterOperationLambdaArn", }, Object { "Ref": "CompleteStageLambdaArn", }, Object { "Ref": "OperatorFailedHandlerLambdaArn", }, Object { "Ref": "DataplaneHandlerArn", }, ], }, Object { "Action": Array [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Scan", "dynamodb:Query", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "SystemTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "WorkflowTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "WorkflowExecutionTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "WorkflowExecutionTableName", }, "/*", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "HistoryTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "OperationTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "StageTableName", }, ], ], }, ], }, Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": Array [ "*", ], }, Object { "Action": Array [ "transcribe:CreateVocabulary", "transcribe:DeleteVocabulary", "transcribe:GetVocabulary", "transcribe:ListVocabularies", "transcribe:ListLanguageModels", "transcribe:DescribeLanguageModel", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "translate:CreateTerminology", "translate:DeleteTerminology", "translate:GetTerminology", "translate:ImportTerminology", "translate:ListTerminologies", "translate:CreateParallelData", "translate:DeleteParallelData", "translate:GetParallelData", "translate:ImportParallelData", "translate:ListParallelData", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":log-group:/aws/lambda/*-APIHandler-*", ], ], }, "Sid": "Logging", }, Object { "Action": Array [ "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:DeleteRolePolicy", ], "Effect": "Allow", "Resource": Object { "Ref": "StageExecutionRole", }, }, Object { "Action": Array [ "kms:Decrypt", "kms:GenerateDataKey", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":key/", Object { "Ref": "KmsKeyId", }, ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "MieWorkflowApiHandlerRolePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "RestAPI": Object { "Properties": Object { "DefinitionBody": Object { "definitions": Object { "Empty": Object { "title": "Empty Schema", "type": "object", }, }, "info": Object { "title": "workflowapi", "version": "1.0", }, "paths": Object { "/": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: .. code-block:: python {\\"hello\\":\\"world\\"} Raises: 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "summary": "Test the API endpoint", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/transcribe/create_vocabulary": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'vocabulary_name'='string', 'language_code'='af-ZA'|'ar-AE'|'ar-SA'|'cy-GB'|'da-DK'|'de-CH'|'de-DE'|'en-AB'|'en-AU'|'en-GB'|'en-IE'|'en-IN'|'en-US'|'en-WL'|'es-ES'|'es-US'|'fa-IR'|'fr-CA'|'fr-FR'|'ga-IE'|'gd-GB'|'he-IL'|'hi-IN'|'id-ID'|'it-IT'|'ja-JP'|'ko-KR'|'ms-MY'|'nl-NL'|'pt-BR'|'pt-PT'|'ru-RU'|'ta-IN'|'te-IN'|'tr-TR'|'zh-CN', 's3uri'='string' } Returns: This is a proxy for boto3 create_vocabulary and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Create an Amazon Transcribe custom vocabulary.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/transcribe/delete_vocabulary": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'vocabulary_name': 'string' } Returns: This is a proxy for boto3 delete_vocabulary and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete an Amazon Transcribe custom vocabulary.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/transcribe/describe_language_model": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'ModelName': 'string' } Returns: This is a proxy for boto3 describe_language_model and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See \`the boto3 documentation for details \`_", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Gets information about a single custom language model. ", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/transcribe/download_vocabulary": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { \\"vocabulary_name\\": string } Returns: A list of vocabulary terms. .. code-block:: python { \\"vocabulary\\": [{ \\"Phrase\\": string, \\"IPA\\": string, \\"SoundsLike\\": string, \\"DisplayAs\\": string }, ... } Raises: 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the contents of an Amazon Transcribe custom vocabulary.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/transcribe/get_vocabulary": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Returns: This is a proxy for boto3 get_vocabulary and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See \`the boto3 documentation for details \`_", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the description for an Amazon Transcribe custom vocabulary.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/transcribe/list_language_models": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: This is a proxy for boto3 list_language_models and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See \`the boto3 documentation for details \`_", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Provides more information about the custom language models you've created. You can use the information in this list to find a specific custom language model. You can then use the describe_language_model operation to get more information about it.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/service/transcribe/list_vocabularies": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: This is a proxy for boto3 list_vocabularies and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all the available Amazon Transcribe custom vocabularies in this region.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/service/translate/create_parallel_data": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { \\"Name\\"=\\"string\\", \\"Description\\"=\\"string\\", \\"ParallelDataConfig\\"={ \\"S3Uri\\": \\"string\\", \\"Format\\": \\"TSV\\"|\\"CSV\\"|\\"TMX\\" }, \\"EncryptionKey\\"={ \\"Type\\": \\"KMS\\", \\"Id\\": \\"string\\" }, \\"ClientToken\\"=\\"string\\" } Returns: This is a proxy for boto3 create_vocabulary and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Create an Amazon Translate Parallel Data. If the parallel_data already exists, overwrite the parallel data with this new content.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/create_terminology": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'terminology_name'='string', 'terminology_csv'='string' } } Returns: This is a proxy for boto3 create_vocabulary and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Create an Amazon Translate Terminology. If the terminology already exists, overwrite the terminology with this new content.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/delete_parallel_data": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'Name': 'string' } Returns: This is a proxy for boto3 delete_parallel_data and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete an Amazon Translate Parallel Data", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/delete_terminology": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'terminology_name': 'string' } Returns: This is a proxy for boto3 delete_terminology and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete an Amazon Translate Terminology", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/download_parallel_data": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'Name'='string' } Returns: A pre-signed url for the the CSV formatted Amazon Transcribe parallel_data .. code-block:: python { 'parallel_data_csv': string } Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the CSV formated contents of an Amazon Translate Parallel Data Set.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/download_terminology": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'terminology_name'='string' } Returns: A string contining the CSV formatted Amazon Transcribe terminology .. code-block:: python { 'terminology_csv': string } Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the CSV formated contents of an Amazon Translate terminology.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/get_parallel_data": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'Name'='string' } Returns: This is a proxy for boto3 get_parallel_data and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get a link to the CSV formatted description for an Amazon Translate Parallel Data Set.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/get_terminology": Object { "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "Body: .. code-block:: python { 'terminology_name'='string' } Returns: This is a proxy for boto3 get_terminology and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get a link to the CSV formatted description for an Amazon Translate parallel data.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/service/translate/list_parallel_data": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: This is a proxy for boto3 get_parallel_data and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: Internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the list of available Amazon Translate Parallel Data Sets for this region", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/service/translate/list_terminologies": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: This is a proxy for boto3 get_terminology and returns the output from that SDK method. See \`the boto3 documentation for details \`_ Raises: See the boto3 documentation for details 500: Internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the list of available Amazon Translate Terminologies for this region", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/system/configuration": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "- Gets the current system configuration parameter settings Returns: A list of dict containing the current MI system configuration key-value pairs. .. code-block:: python [ { \\"Name\\": \\"Value\\" }, ...] Raises: 200: The system configuration was returned successfully. 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the current system configuration", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "- Updates the system configuration with a new parameter or changes the value of existing parameters Body: .. code-block:: python { \\"Name\\": \\"ParameterName\\", \\"Value\\": \\"ParameterValue\\" } Supported parameters: MaxConcurrentWorkflows Sets the maximum number of workflows that are allowed to run concurrently. Any new workflows that are added after MaxConcurrentWorkflows is reached are placed on a queue until capacity is freed by completing workflows. Use this to help avoid throttling in service API calls from workflow operators. This setting is checked each time the WorkflowSchedulerLambda is run and may take up to 60 seconds to take effect. Returns: None Raises: 200: The system configuration was set successfully successfully. 400: Bad Request - an input value is invalid 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Add a new system configuration parameter", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/version": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: .. code-block:: python {\\"ApiVersion\\": \\"x.x.x\\", \\"FrameworkVersion\\": \\"vx.x.x\\"}", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get the workflow api and framework version numbers", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of workflow definitions. Raises: 200: All workflows returned sucessfully. 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all workflow defintions", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,PUT,GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "A workflow is a pipeline of stages that are executed sequentially to transform and extract metadata for a set of MediaType objects. Each stage must contain either a \\"Next\\" key indicating the next stage to execute or and \\"End\\" key indicating it is the last stage. Body: .. code-block:: python { \\"Name\\": string, \\"StartAt\\": string - name of starting stage, \\"Stages\\": { \\"stage-name\\": { \\"Next\\": \\"string - name of next stage\\" }, ..., \\"stage-name\\": { \\"End\\": true } } } Returns: A dict mapping keys to the corresponding workflow created including the AWS resources used to execute each stage. .. code-block:: python { \\"Name\\": string, \\"StartAt\\": string - name of starting stage, \\"Stages\\": { \\"stage-name\\": { \\"Resource\\": queueARN, \\"StateMachine\\": stateMachineARN, \\"Configuration\\": stageConfigurationObject, \\"Next\\": \\"string - name of next stage\\" }, ..., \\"stage-name\\": { \\"Resource\\": queueARN, \\"StateMachine\\": stateMachineARN, \\"Configuration\\": stageConfigurationObject, \\"End\\": true } } } Raises: 200: The workflow was created successfully. 400: Bad Request - one of the input stages was not found or was invalid 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Create a workflow from a list of existing stages.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "put": Object { "consumes": Array [ "application/json", ], "description": "Update the definition of an existing workflow. Body: .. code-block:: python { \\"Name\\": string - name of the workflow to modify, \\"StartAt\\": string - name of starting stage, \\"Stages\\": { \\"stage-name\\": { \\"Next\\": \\"string - name of next stage\\" }, ..., \\"stage-name\\": { \\"End\\": true } } } Returns: A dict mapping keys to the corresponding workflow updated including the AWS resources used to execute each stage. .. code-block:: python { \\"Name\\": string - name of the workflow to modify, \\"Configuration\\": Configuration object. Contains the default configuration for the workflow. Use the GET /workflow/donfiguration/{WorkflowName} API to get the current setting for this object. \\"StartAt\\": string - name of starting stage, \\"Stages\\": { \\"stage-name\\": { \\"Resource\\": queueARN, \\"StateMachine\\": stateMachineARN, \\"Configuration\\": stageConfigurationObject, \\"Next\\": \\"string - name of next stage\\" }, ..., \\"stage-name\\": { \\"Resource\\": queueARN, \\"StateMachine\\": stateMachineARN, \\"Configuration\\": stageConfigurationObject, \\"End\\": true } } } Raises: 200: The workflow was updated successfully. 400: Bad Request - one of the input stages was not found or was invalid 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Update a workflow from a list of existing stages.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/workflow/configuration/{name}": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary contianing the workflow configuration. Raises: 200: All workflows returned sucessfully. 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get a workflow configruation object by name", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/execution": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of workflow executions. Raises: 200: All workflow executions returned sucessfully. 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all workflow executions", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "The Body contains the name of the workflow to execute, at least one input media type within the media object. A dictionary of stage configuration objects can be passed in to override the default configuration of the operations within the stages. Body: .. code-block:: python { \\"Name\\":\\"Default\\", \\"Input\\": media-object \\"Configuration\\": { { \\"stage-name\\": { \\"Operations\\": { \\"SplitAudio\\": { \\"Enabled\\": True, \\"MediaTypes\\": { \\"Video\\": True/False, \\"Audio\\": True/False, \\"Frame\\": True/False } }, }, } ... } } Returns: A dict mapping keys to the corresponding workflow execution created including the WorkflowExecutionId, the AWS queue and state machine resources assiciated with the workflow execution and the current execution status of the workflow. .. code-block:: python { \\"Name\\": string, \\"StartAt\\": \\"Preprocess\\", \\"Stages\\": { \\"stage-name\\": { \\"Type\\": \\"NestedQueue\\", \\"Resource\\": queueARN, \\"StateMachine\\": stateMachineARN, \\"Next\\": \\"Analysis\\" }, ..., \\"stage-name: { \\"Type\\": \\"NestedQueue\\", \\"Resource\\": queueARN, \\"StateMachine\\": stateMachineARN, \\"End\\": true } } } Raises: 200: The workflow execution was created successfully. 400: Bad Request - the input workflow was not found or was invalid 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Execute a workflow.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/workflow/execution/asset/{asset_id}": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of dictionaries containing the workflow executions matching the AssetId. Raises: 200: Workflow executions returned sucessfully. 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "asset_id", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get workflow executions by AssetId", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/execution/status/{status}": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of dictionaries containing the workflow executions with the requested status Raises: 200: All workflows returned sucessfully. 404: Not found 500: Internal server error", "parameters": Array [ Object { "in": "path", "name": "status", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get all workflow executions with the specified status", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/execution/{id}": Object { "delete": Object { "consumes": Array [ "application/json", ], "description": "Returns: Raises: 200: Workflow execution deleted sucessfully. 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "id", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete a workflow executions", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary containing the workflow execution. Raises: 200: Workflow executions returned sucessfully. 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "id", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get a workflow execution by id", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'PUT,GET,DELETE,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "put": Object { "consumes": Array [ "application/json", ], "description": " Options: Resume a workflow that is in a Waiting Status in a specific stage. Body: .. code-block:: python { \\"WaitingStageName\\":\\"\\" } Returns: A dict mapping keys to the corresponding workflow execution with its current status .. code-block:: python { \\"Id: string, \\"Status\\": \\"Resumed\\" } Raises: 200: The workflow execution was updated successfully. 400: Bad Request - the input stage was not found, the current stage did not match the WaitingStageName, or the Workflow Status was not \\"Waiting\\" 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "id", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Update a workflow execution", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/workflow/list/operation/{operator_name}": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of workflow definitions. Raises: 200: All workflows returned sucessfully. 500: Internal server error", "parameters": Array [ Object { "in": "path", "name": "operator_name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all workflow defintions that contain an operator", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/list/stage/{stage_name}": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of workflow definitions. Raises: 200: All workflows returned sucessfully. 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "stage_name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all workflow defintions that contain a stage", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/operation": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of operation definitions. Raises: 200: All operations returned sucessfully. 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all defined operators", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,PUT,GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "- Generates an operation state machine using the operation lambda(s) provided - Creates a singleton operator stage that can be used to run the operator as a single-operator stage in a workflow. Operators can be synchronous (Sync) or asynchronous (Async). Synchronous operators complete before returning control to the invoker, while asynchronous operators return control to the invoker when the operation is successfully initiated, but not complete. Asynchronous operators require an additional monitoring task to check the status of the operation. For more information on how to implemenent lambdas to be used in MI operators, please refer to the MI Developer Quick Start. Body: .. code-block:: python { \\"Name\\":\\"operation-name\\", \\"Type\\": [\\"Async\\"|\\"Sync\\"], \\"Configuration\\" : { \\"MediaType\\": \\"Video\\", \\"Enabled:\\": True, \\"configuration1\\": \\"value1\\", \\"configuration2\\": \\"value2\\", ... } \\"StartLambdaArn\\":arn, \\"MonitorLambdaArn\\":arn } Returns: A dict mapping keys to the corresponding operation. .. code-block:: python { \\"Name\\": string, \\"Type\\": [\\"Async\\"|\\"Sync\\"], \\"Configuration\\" : { \\"MediaType\\": \\"Video|Frame|Audio|Text|...\\", \\"Enabled:\\": boolean, \\"configuration1\\": \\"value1\\", \\"configuration2\\": \\"value2\\", ... } \\"StartLambdaArn\\":arn, \\"MonitorLambdaArn\\":arn, \\"StateMachineAsl\\": ASL-string \\"StageName\\": string } Raises: 200: The operation and stage was created successfully. 400: Bad Request - one of the input lambdas was not found - one or more of the required input keys is missing - an input value is invalid 409: Conflict 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Create a new operation", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "put": Object { "consumes": Array [ "application/json", ], "description": " ", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Update operation NOT IMPLEMENTED", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/workflow/operation/{name}": Object { "delete": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary contianing the operation definition. Raises: 200: Operation deleted sucessfully. 400: Bad Request - there are dependent workflows and query parameter force=false 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete a an operation", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary containing the operation definition. Raises: 200: All operations returned sucessfully. 404: Not found 500: Internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get an operation definition by name", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,DELETE,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/stage": Object { "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A list of operation definitions. Raises: 200: All operations returned sucessfully. 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "List all stage defintions", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'POST,PUT,GET,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, "post": Object { "consumes": Array [ "application/json", ], "description": "A stage is a set of operations that are grouped so they can be executed in parallel. When the stage is executed as part of a workflow, operations within a stage are executed as branches in a parallel Step Functions state. The generated state machines status is tracked by the workflow engine control plane during execution. An optional Configuration for each operator in the stage can be input to override the default configuration for the stage. Body: .. code-block:: python { \\"Name\\":\\"stage-name\\", \\"Operations\\": [\\"operation-name1\\", \\"operation-name2\\", ...] } Returns: A dict mapping keys to the corresponding stage created including the ARN of the state machine created. { \\"Name\\": string, \\"Operations\\": [ \\"operation-name1\\", \\"operation-name2\\", ... ], \\"Configuration\\": { \\"operation-name1\\": operation-configuration-object1, \\"operation-name2\\": operation-configuration-object1, ... } }, { \\"Name\\": \\"TestStage\\", \\"Operations\\": [ \\"TestOperator\\" ], \\"Configuration\\": { \\"TestOperator\\": { \\"MediaType\\": \\"Video\\", \\"Enabled\\": true } } } Raises: 200: The stage was created successfully. 400: Bad Request - one of the input state machines was not found or was invalid 409: Conflict 500: ChaliceViewError - internal server error", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Create a stage state machine from a list of existing operations.", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "put": Object { "consumes": Array [ "application/json", ], "description": "XXX", "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Update a stage NOT IMPLEMENTED", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, }, "/workflow/stage/{name}": Object { "delete": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary contianing the stage definition. Raises: 200: Stage deleted sucessfully. 400: Bad Request - there are dependent workflows and query parameter force=False 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete a stage", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary contianing the stage definition. Raises: 200: All stages returned sucessfully. 404: Not found 500: Internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get a stage definition by name", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,DELETE,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, "/workflow/{name}": Object { "delete": Object { "consumes": Array [ "application/json", ], "description": "Returns: Raises: 200: Workflow deleted sucessfully. 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Delete a workflow", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "get": Object { "consumes": Array [ "application/json", ], "description": "Returns: A dictionary contianing the workflow definition. Raises: 200: All workflows returned sucessfully. 404: Not found 500: ChaliceViewError - internal server error", "parameters": Array [ Object { "in": "path", "name": "name", "required": true, "type": "string", }, ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "security": Array [ Object { "sigv4": Array [], }, ], "summary": "Get a workflow definition by name", "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "httpMethod": "POST", "passthroughBehavior": "when_no_match", "responses": Object { "default": Object { "statusCode": "200", }, }, "type": "aws_proxy", "uri": Object { "Fn::Sub": "arn:\${AWS::Partition}:apigateway:\${AWS::Region}:lambda:path/2015-03-31/functions/\${APIHandler.Arn}/invocations", }, }, }, "options": Object { "consumes": Array [ "application/json", ], "produces": Array [ "application/json", ], "responses": Object { "200": Object { "description": "200 response", "headers": Object { "Access-Control-Allow-Headers": Object { "type": "string", }, "Access-Control-Allow-Methods": Object { "type": "string", }, "Access-Control-Allow-Origin": Object { "type": "string", }, }, "schema": Object { "$ref": "#/definitions/Empty", }, }, }, "x-amazon-apigateway-integration": Object { "contentHandling": "CONVERT_TO_TEXT", "passthroughBehavior": "when_no_match", "requestTemplates": Object { "application/json": "{\\"statusCode\\": 200}", }, "responses": Object { "default": Object { "responseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Authorization,Content-Type,X-Amz-Date,X-Amz-Security-Token,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'GET,DELETE,OPTIONS'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "statusCode": "200", }, }, "type": "mock", }, }, }, }, "schemes": Array [ "https", ], "securityDefinitions": Object { "sigv4": Object { "in": "header", "name": "Authorization", "type": "apiKey", "x-amazon-apigateway-authtype": "awsSigv4", }, }, "swagger": "2.0", "x-amazon-apigateway-binary-media-types": Array [ "application/octet-stream", "application/x-tar", "application/zip", "audio/basic", "audio/ogg", "audio/mp4", "audio/mpeg", "audio/wav", "audio/webm", "image/png", "image/jpg", "image/jpeg", "image/gif", "video/ogg", "video/mpeg", "video/webm", ], }, "EndpointConfiguration": "EDGE", "StageName": "api", }, "Type": "AWS::Serverless::Api", }, "WorkflowCustomResource": Object { "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W89", "reason": "This Lambda function does not need to access any resource provisioned within a VPC.", }, Object { "id": "W92", "reason": "This function does not require performance optimization, so the default concurrency limits suffice.", }, ], }, }, "Properties": Object { "CodeUri": Object { "Bucket": Object { "Ref": "DeploymentPackageBucket", }, "Key": Object { "Ref": "DeploymentPackageKey", }, }, "Environment": Object { "Variables": Object { "COMPLETE_STAGE_LAMBDA_ARN": Object { "Ref": "CompleteStageLambdaArn", }, "DATAPLANE_BUCKET": Object { "Ref": "DataPlaneBucket", }, "DataplaneEndpoint": Object { "Ref": "DataplaneEndpoint", }, "FILTER_OPERATION_LAMBDA_ARN": Object { "Ref": "FilterOperationLambdaArn", }, "FRAMEWORK_VERSION": "", "HISTORY_TABLE_NAME": Object { "Ref": "HistoryTableName", }, "OPERATION_TABLE_NAME": Object { "Ref": "OperationTableName", }, "OPERATOR_FAILED_LAMBDA_ARN": Object { "Ref": "OperatorFailedHandlerLambdaArn", }, "STACK_SHORT_UUID": Object { "Ref": "ShortUUID", }, "STAGE_EXECUTION_QUEUE_URL": Object { "Ref": "StageExecutionQueueUrl", }, "STAGE_EXECUTION_ROLE": Object { "Ref": "StageExecutionRole", }, "STAGE_TABLE_NAME": Object { "Ref": "StageTableName", }, "STEP_FUNCTION_LOG_GROUP_ARN": Object { "Ref": "StepFunctionLogGroupArn", }, "SYSTEM_TABLE_NAME": Object { "Ref": "SystemTableName", }, "USER_POOL_ARN": "", "WORKFLOW_EXECUTION_TABLE_NAME": Object { "Ref": "WorkflowExecutionTableName", }, "WORKFLOW_SCHEDULER_LAMBDA_ARN": Object { "Ref": "WorkflowSchedulerLambdaArn", }, "WORKFLOW_TABLE_NAME": Object { "Ref": "WorkflowTableName", }, "botoConfig": Object { "Ref": "botoConfig", }, }, }, "Handler": "app.workflow_custom_resource", "Layers": Array [ Object { "Ref": "MediaInsightsEnginePython39Layer", }, ], "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "WorkflowCustomResourceRole", "Arn", ], }, "Runtime": "python3.9", "Tags": Object { "aws-chalice": "version=1.28.0:stage=dev:app=workflowapi", }, "Timeout": 180, "Tracing": Object { "Ref": "TracingConfigMode", }, }, "Type": "AWS::Serverless::Function", }, "WorkflowCustomResourceRole": Object { "Metadata": Object { "cdk_nag": Object { "rules_to_suppress": Array [ Object { "id": "AwsSolutions-IAM5", "reason": "The X-Ray policy uses actions that must be applied to all resources. See https://docs.aws.amazon.com/xray/latest/devguide/security_iam_id-based-policy-examples.html#xray-permissions-resources", }, ], }, "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W11", "reason": "The X-Ray policy uses actions that must be applied to all resources. See https://docs.aws.amazon.com/xray/latest/devguide/security_iam_id-based-policy-examples.html#xray-permissions-resources", }, ], }, }, "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, "Sid": "", }, ], "Version": "2012-10-17", }, "Description": "This role is used by the workflow api lambda when invoked by CloudFormation", "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":log-group:/aws/lambda/*-WorkflowCustomResource-*", ], ], }, "Sid": "Logging", }, Object { "Action": Array [ "iam:PassRole", ], "Effect": "Allow", "Resource": Object { "Ref": "StageExecutionRole", }, }, Object { "Action": Array [ "sqs:CreateQueue", "sqs:ListQueues", ], "Effect": "Allow", "Resource": Object { "Ref": "SqsQueueArn", }, }, Object { "Action": Array [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Scan", "dynamodb:Query", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "SystemTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "WorkflowTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "WorkflowExecutionTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "WorkflowExecutionTableName", }, "/*", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "HistoryTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "OperationTableName", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":dynamodb:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":table/", Object { "Ref": "StageTableName", }, ], ], }, ], }, Object { "Action": Array [ "states:ListStateMachines", "states:DescribeStateMachine", "states:CreateStateMachine", "states:UpdateStateMachine", "states:DeleteStateMachine", "states:TagResource", "states:UntagResource", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":states:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":stateMachine:*-", Object { "Ref": "ShortUUID", }, ], ], }, }, Object { "Action": Array [ "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:DeleteRolePolicy", ], "Effect": "Allow", "Resource": Object { "Ref": "StageExecutionRole", }, }, Object { "Action": Array [ "kms:Decrypt", "kms:GenerateDataKey", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":key/", Object { "Ref": "KmsKeyId", }, ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "MieWorkflowCustomResourceRolePolicy", }, ], }, "Type": "AWS::IAM::Role", }, }, "Transform": "AWS::Serverless-2016-10-31", } `;