aws-cdk-lib 2.132.1__py3-none-any.whl → 2.134.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +9 -1
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.132.1.jsii.tgz → aws-cdk-lib@2.134.0.jsii.tgz} +0 -0
- aws_cdk/aws_amplify/__init__.py +12 -10
- aws_cdk/aws_apigatewayv2/__init__.py +112 -6
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +155 -3
- aws_cdk/aws_appconfig/__init__.py +186 -8
- aws_cdk/aws_appintegrations/__init__.py +551 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +6 -6
- aws_cdk/aws_appsync/__init__.py +71 -0
- aws_cdk/aws_autoscaling/__init__.py +10 -14
- aws_cdk/aws_b2bi/__init__.py +2 -42
- aws_cdk/aws_backup/__init__.py +23 -12
- aws_cdk/aws_batch/__init__.py +2150 -1078
- aws_cdk/aws_bedrock/__init__.py +197 -2
- aws_cdk/aws_cloudformation/__init__.py +1 -1
- aws_cdk/aws_cloudfront/__init__.py +4 -4
- aws_cdk/aws_cloudtrail/__init__.py +44 -14
- aws_cdk/aws_cloudwatch/__init__.py +20 -4
- aws_cdk/aws_codeartifact/__init__.py +812 -2
- aws_cdk/aws_codebuild/__init__.py +32 -10
- aws_cdk/aws_codepipeline/__init__.py +33 -11
- aws_cdk/aws_cognito/__init__.py +49 -44
- aws_cdk/aws_connect/__init__.py +256 -0
- aws_cdk/aws_controltower/__init__.py +4 -4
- aws_cdk/aws_datasync/__init__.py +393 -13
- aws_cdk/aws_dlm/__init__.py +2 -2
- aws_cdk/aws_docdbelastic/__init__.py +117 -0
- aws_cdk/aws_dynamodb/__init__.py +416 -5
- aws_cdk/aws_ec2/__init__.py +590 -134
- aws_cdk/aws_ecs/__init__.py +29 -20
- aws_cdk/aws_ecs_patterns/__init__.py +52 -12
- aws_cdk/aws_eks/__init__.py +27 -25
- aws_cdk/aws_elasticloadbalancing/__init__.py +6 -9
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +363 -62
- aws_cdk/aws_emr/__init__.py +7 -4
- aws_cdk/aws_entityresolution/__init__.py +91 -64
- aws_cdk/aws_fsx/__init__.py +7 -7
- aws_cdk/aws_glue/__init__.py +137 -3
- aws_cdk/aws_iam/__init__.py +9 -10
- aws_cdk/aws_internetmonitor/__init__.py +85 -0
- aws_cdk/aws_iotsitewise/__init__.py +208 -198
- aws_cdk/aws_iotwireless/__init__.py +6 -5
- aws_cdk/aws_kafkaconnect/__init__.py +1237 -162
- aws_cdk/aws_kendra/__init__.py +34 -24
- aws_cdk/aws_kinesisanalytics/__init__.py +37 -37
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +37 -37
- aws_cdk/aws_kinesisfirehose/__init__.py +6 -2
- aws_cdk/aws_lambda/__init__.py +16 -16
- aws_cdk/aws_msk/__init__.py +88 -0
- aws_cdk/aws_opensearchservice/__init__.py +61 -18
- aws_cdk/aws_pinpoint/__init__.py +42 -0
- aws_cdk/aws_rds/__init__.py +1292 -216
- aws_cdk/aws_redshift/__init__.py +6 -3
- aws_cdk/aws_redshiftserverless/__init__.py +0 -157
- aws_cdk/aws_sagemaker/__init__.py +29 -9
- aws_cdk/aws_shield/__init__.py +7 -8
- aws_cdk/aws_ssm/__init__.py +15 -12
- aws_cdk/aws_stepfunctions_tasks/__init__.py +476 -0
- aws_cdk/aws_synthetics/__init__.py +74 -14
- aws_cdk/aws_transfer/__init__.py +4 -3
- aws_cdk/aws_wafv2/__init__.py +516 -42
- aws_cdk/cx_api/__init__.py +34 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/RECORD +69 -69
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py
CHANGED
|
@@ -12209,11 +12209,19 @@ class Duration(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Duration"):
|
|
|
12209
12209
|
def parse(cls, duration: builtins.str) -> "Duration":
|
|
12210
12210
|
'''Parse a period formatted according to the ISO 8601 standard.
|
|
12211
12211
|
|
|
12212
|
+
Days are the largest ISO duration supported, i.e.,
|
|
12213
|
+
weeks, months, and years are not supported.
|
|
12214
|
+
|
|
12212
12215
|
:param duration: an ISO-formatted duration to be parsed.
|
|
12213
12216
|
|
|
12214
12217
|
:return: the parsed ``Duration``.
|
|
12215
12218
|
|
|
12216
12219
|
:see: https://www.iso.org/standard/70907.html
|
|
12220
|
+
|
|
12221
|
+
Example::
|
|
12222
|
+
|
|
12223
|
+
# This represents 1 day, 2 hours, 3 minutes, 4 seconds, and 567 milliseconds.
|
|
12224
|
+
"P1DT2H3M4.567S"
|
|
12217
12225
|
'''
|
|
12218
12226
|
if __debug__:
|
|
12219
12227
|
type_hints = typing.get_type_hints(_typecheckingstub__0c524b27dfe746532718570f907f5cd9142c9c49d701f766c3c586fa9a766c4d)
|
|
@@ -30623,7 +30631,7 @@ class CfnTypeActivation(
|
|
|
30623
30631
|
|
|
30624
30632
|
For more information, see `Using public extensions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html>`_ in the *AWS CloudFormation User Guide* .
|
|
30625
30633
|
|
|
30626
|
-
Once you have activated a public third-party extension in your account and Region, use `SetTypeConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html>`_ to specify configuration properties for the extension. For more information, see `Configuring extensions at the account level <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-
|
|
30634
|
+
Once you have activated a public third-party extension in your account and Region, use `SetTypeConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html>`_ to specify configuration properties for the extension. For more information, see `Configuring extensions at the account level <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-private.html#registry-set-configuration>`_ in the *CloudFormation User Guide* .
|
|
30627
30635
|
|
|
30628
30636
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html
|
|
30629
30637
|
:cloudformationResource: AWS::CloudFormation::TypeActivation
|
aws_cdk/_jsii/__init__.py
CHANGED
|
@@ -16,7 +16,7 @@ import aws_cdk.asset_node_proxy_agent_v6._jsii
|
|
|
16
16
|
import constructs._jsii
|
|
17
17
|
|
|
18
18
|
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
19
|
-
"aws-cdk-lib", "2.
|
|
19
|
+
"aws-cdk-lib", "2.134.0", __name__[0:-6], "aws-cdk-lib@2.134.0.jsii.tgz"
|
|
20
20
|
)
|
|
21
21
|
|
|
22
22
|
__all__ = [
|
|
Binary file
|
aws_cdk/aws_amplify/__init__.py
CHANGED
|
@@ -166,7 +166,7 @@ class CfnApp(
|
|
|
166
166
|
:param custom_rules: The custom rewrite and redirect rules for an Amplify app.
|
|
167
167
|
:param description: The description of the Amplify app.
|
|
168
168
|
:param enable_branch_auto_deletion: Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.
|
|
169
|
-
:param environment_variables: The environment variables
|
|
169
|
+
:param environment_variables: The environment variables for the Amplify app. For a list of the environment variables that are accessible to Amplify by default, see `Amplify Environment variables <https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html>`_ in the *Amplify Hosting User Guide* .
|
|
170
170
|
:param iam_service_role: AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.
|
|
171
171
|
:param oauth_token: The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored. Use ``OauthToken`` for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use ``AccessToken`` . You must specify either ``OauthToken`` or ``AccessToken`` when you create a new app. Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see `Migrating an existing OAuth app to the Amplify GitHub App <https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth>`_ in the *Amplify User Guide* .
|
|
172
172
|
:param platform: The platform for the Amplify app. For a static app, set the platform type to ``WEB`` . For a dynamic server-side rendered (SSR) app, set the platform type to ``WEB_COMPUTE`` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to ``WEB_DYNAMIC`` .
|
|
@@ -416,7 +416,7 @@ class CfnApp(
|
|
|
416
416
|
def environment_variables(
|
|
417
417
|
self,
|
|
418
418
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApp.EnvironmentVariableProperty"]]]]:
|
|
419
|
-
'''The environment variables
|
|
419
|
+
'''The environment variables for the Amplify app.'''
|
|
420
420
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApp.EnvironmentVariableProperty"]]]], jsii.get(self, "environmentVariables"))
|
|
421
421
|
|
|
422
422
|
@environment_variables.setter
|
|
@@ -536,7 +536,7 @@ class CfnApp(
|
|
|
536
536
|
:param enable_auto_build: Enables auto building for the auto created branch.
|
|
537
537
|
:param enable_performance_mode: Enables performance mode for the branch. Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.
|
|
538
538
|
:param enable_pull_request_preview: Sets whether pull request previews are enabled for each branch that Amplify Hosting automatically creates for your app. Amplify creates previews by deploying your app to a unique URL whenever a pull request is opened for the branch. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch. To provide backend support for your preview, Amplify Hosting automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the ``PullRequestEnvironmentName`` property. For more information, see `Web Previews <https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html>`_ in the *AWS Amplify Hosting User Guide* .
|
|
539
|
-
:param environment_variables:
|
|
539
|
+
:param environment_variables: The environment variables for the autocreated branch.
|
|
540
540
|
:param framework: The framework for the autocreated branch.
|
|
541
541
|
:param pull_request_environment_name: If pull request previews are enabled, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named ``prod`` , ``test`` , or ``dev`` that you initialized with the Amplify CLI. To enable pull request previews, set the ``EnablePullRequestPreview`` property to ``true`` . If you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify deletes this environment when the pull request is closed. For more information about creating backend environments, see `Feature Branch Deployments and Team Workflows <https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html>`_ in the *AWS Amplify Hosting User Guide* .
|
|
542
542
|
:param stage: Stage for the auto created branch.
|
|
@@ -695,7 +695,7 @@ class CfnApp(
|
|
|
695
695
|
def environment_variables(
|
|
696
696
|
self,
|
|
697
697
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApp.EnvironmentVariableProperty"]]]]:
|
|
698
|
-
'''
|
|
698
|
+
'''The environment variables for the autocreated branch.
|
|
699
699
|
|
|
700
700
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-environmentvariables
|
|
701
701
|
'''
|
|
@@ -966,8 +966,8 @@ class CfnApp(
|
|
|
966
966
|
|
|
967
967
|
Set environment variables for all branches in your app.
|
|
968
968
|
|
|
969
|
-
:param name:
|
|
970
|
-
:param value:
|
|
969
|
+
:param name: The environment variable name.
|
|
970
|
+
:param value: The environment variable value.
|
|
971
971
|
|
|
972
972
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html
|
|
973
973
|
:exampleMetadata: fixture=_generated
|
|
@@ -994,7 +994,8 @@ class CfnApp(
|
|
|
994
994
|
|
|
995
995
|
@builtins.property
|
|
996
996
|
def name(self) -> builtins.str:
|
|
997
|
-
'''
|
|
997
|
+
'''The environment variable name.
|
|
998
|
+
|
|
998
999
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html#cfn-amplify-app-environmentvariable-name
|
|
999
1000
|
'''
|
|
1000
1001
|
result = self._values.get("name")
|
|
@@ -1003,7 +1004,8 @@ class CfnApp(
|
|
|
1003
1004
|
|
|
1004
1005
|
@builtins.property
|
|
1005
1006
|
def value(self) -> builtins.str:
|
|
1006
|
-
'''
|
|
1007
|
+
'''The environment variable value.
|
|
1008
|
+
|
|
1007
1009
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html#cfn-amplify-app-environmentvariable-value
|
|
1008
1010
|
'''
|
|
1009
1011
|
result = self._values.get("value")
|
|
@@ -1074,7 +1076,7 @@ class CfnAppProps:
|
|
|
1074
1076
|
:param custom_rules: The custom rewrite and redirect rules for an Amplify app.
|
|
1075
1077
|
:param description: The description of the Amplify app.
|
|
1076
1078
|
:param enable_branch_auto_deletion: Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.
|
|
1077
|
-
:param environment_variables: The environment variables
|
|
1079
|
+
:param environment_variables: The environment variables for the Amplify app. For a list of the environment variables that are accessible to Amplify by default, see `Amplify Environment variables <https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html>`_ in the *Amplify Hosting User Guide* .
|
|
1078
1080
|
:param iam_service_role: AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.
|
|
1079
1081
|
:param oauth_token: The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored. Use ``OauthToken`` for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use ``AccessToken`` . You must specify either ``OauthToken`` or ``AccessToken`` when you create a new app. Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see `Migrating an existing OAuth app to the Amplify GitHub App <https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth>`_ in the *Amplify User Guide* .
|
|
1080
1082
|
:param platform: The platform for the Amplify app. For a static app, set the platform type to ``WEB`` . For a dynamic server-side rendered (SSR) app, set the platform type to ``WEB_COMPUTE`` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to ``WEB_DYNAMIC`` .
|
|
@@ -1299,7 +1301,7 @@ class CfnAppProps:
|
|
|
1299
1301
|
def environment_variables(
|
|
1300
1302
|
self,
|
|
1301
1303
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnApp.EnvironmentVariableProperty]]]]:
|
|
1302
|
-
'''The environment variables
|
|
1304
|
+
'''The environment variables for the Amplify app.
|
|
1303
1305
|
|
|
1304
1306
|
For a list of the environment variables that are accessible to Amplify by default, see `Amplify Environment variables <https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html>`_ in the *Amplify Hosting User Guide* .
|
|
1305
1307
|
|
|
@@ -1747,7 +1747,7 @@ class CfnApiGatewayManagedOverrides(
|
|
|
1747
1747
|
If you remove this property, API Gateway restores the default values.
|
|
1748
1748
|
|
|
1749
1749
|
:param description: The description of the integration.
|
|
1750
|
-
:param integration_method: Specifies the integration's HTTP method type.
|
|
1750
|
+
:param integration_method: Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to ``POST`` .
|
|
1751
1751
|
:param payload_format_version: Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are ``1.0`` and ``2.0`` . For all other integrations, ``1.0`` is the only supported value. To learn more, see `Working with AWS Lambda proxy integrations for HTTP APIs <https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html>`_ .
|
|
1752
1752
|
:param timeout_in_millis: Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
|
|
1753
1753
|
|
|
@@ -1796,6 +1796,8 @@ class CfnApiGatewayManagedOverrides(
|
|
|
1796
1796
|
def integration_method(self) -> typing.Optional[builtins.str]:
|
|
1797
1797
|
'''Specifies the integration's HTTP method type.
|
|
1798
1798
|
|
|
1799
|
+
For WebSocket APIs, if you use a Lambda integration, you must set the integration method to ``POST`` .
|
|
1800
|
+
|
|
1799
1801
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-integrationmethod
|
|
1800
1802
|
'''
|
|
1801
1803
|
result = self._values.get("integration_method")
|
|
@@ -4507,7 +4509,7 @@ class CfnIntegration(
|
|
|
4507
4509
|
:param content_handling_strategy: Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT`` , with the following behaviors: ``CONVERT_TO_BINARY`` : Converts a response payload from a Base64-encoded string to the corresponding binary blob. ``CONVERT_TO_TEXT`` : Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
|
|
4508
4510
|
:param credentials_arn: Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::*:user/*`` . To use resource-based permissions on supported AWS services, don't specify this parameter.
|
|
4509
4511
|
:param description: The description of the integration.
|
|
4510
|
-
:param integration_method: Specifies the integration's HTTP method type.
|
|
4512
|
+
:param integration_method: Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to ``POST`` .
|
|
4511
4513
|
:param integration_subtype: Supported only for HTTP API ``AWS_PROXY`` integrations. Specifies the AWS service action to invoke. To learn more, see `Integration subtype reference <https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html>`_ .
|
|
4512
4514
|
:param integration_uri: For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses ``DiscoverInstances`` to identify resources. You can use query parameters to target specific resources. To learn more, see `DiscoverInstances <https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html>`_ . For private integrations, all resources must be owned by the same AWS account .
|
|
4513
4515
|
:param passthrough_behavior: Specifies the pass-through behavior for incoming requests based on the ``Content-Type`` header in the request, and the available mapping templates specified as the ``requestTemplates`` property on the ``Integration`` resource. There are three valid values: ``WHEN_NO_MATCH`` , ``WHEN_NO_TEMPLATES`` , and ``NEVER`` . Supported only for WebSocket APIs. ``WHEN_NO_MATCH`` passes the request body for unmapped content types through to the integration backend without transformation. ``NEVER`` rejects unmapped content types with an ``HTTP 415 Unsupported Media Type`` response. ``WHEN_NO_TEMPLATES`` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same ``HTTP 415 Unsupported Media Type`` response.
|
|
@@ -5072,7 +5074,7 @@ class CfnIntegrationProps:
|
|
|
5072
5074
|
:param content_handling_strategy: Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT`` , with the following behaviors: ``CONVERT_TO_BINARY`` : Converts a response payload from a Base64-encoded string to the corresponding binary blob. ``CONVERT_TO_TEXT`` : Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
|
|
5073
5075
|
:param credentials_arn: Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::*:user/*`` . To use resource-based permissions on supported AWS services, don't specify this parameter.
|
|
5074
5076
|
:param description: The description of the integration.
|
|
5075
|
-
:param integration_method: Specifies the integration's HTTP method type.
|
|
5077
|
+
:param integration_method: Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to ``POST`` .
|
|
5076
5078
|
:param integration_subtype: Supported only for HTTP API ``AWS_PROXY`` integrations. Specifies the AWS service action to invoke. To learn more, see `Integration subtype reference <https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html>`_ .
|
|
5077
5079
|
:param integration_uri: For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses ``DiscoverInstances`` to identify resources. You can use query parameters to target specific resources. To learn more, see `DiscoverInstances <https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html>`_ . For private integrations, all resources must be owned by the same AWS account .
|
|
5078
5080
|
:param passthrough_behavior: Specifies the pass-through behavior for incoming requests based on the ``Content-Type`` header in the request, and the available mapping templates specified as the ``requestTemplates`` property on the ``Integration`` resource. There are three valid values: ``WHEN_NO_MATCH`` , ``WHEN_NO_TEMPLATES`` , and ``NEVER`` . Supported only for WebSocket APIs. ``WHEN_NO_MATCH`` passes the request body for unmapped content types through to the integration backend without transformation. ``NEVER`` rejects unmapped content types with an ``HTTP 415 Unsupported Media Type`` response. ``WHEN_NO_TEMPLATES`` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same ``HTTP 415 Unsupported Media Type`` response.
|
|
@@ -5272,6 +5274,8 @@ class CfnIntegrationProps:
|
|
|
5272
5274
|
def integration_method(self) -> typing.Optional[builtins.str]:
|
|
5273
5275
|
'''Specifies the integration's HTTP method type.
|
|
5274
5276
|
|
|
5277
|
+
For WebSocket APIs, if you use a Lambda integration, you must set the integration method to ``POST`` .
|
|
5278
|
+
|
|
5275
5279
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationmethod
|
|
5276
5280
|
'''
|
|
5277
5281
|
result = self._values.get("integration_method")
|
|
@@ -8220,6 +8224,16 @@ class CfnVpcLinkProps:
|
|
|
8220
8224
|
)
|
|
8221
8225
|
|
|
8222
8226
|
|
|
8227
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_apigatewayv2.ContentHandling")
|
|
8228
|
+
class ContentHandling(enum.Enum):
|
|
8229
|
+
'''Integration content handling.'''
|
|
8230
|
+
|
|
8231
|
+
CONVERT_TO_BINARY = "CONVERT_TO_BINARY"
|
|
8232
|
+
'''Converts a request payload from a base64-encoded string to a binary blob.'''
|
|
8233
|
+
CONVERT_TO_TEXT = "CONVERT_TO_TEXT"
|
|
8234
|
+
'''Converts a request payload from a binary blob to a base64-encoded string.'''
|
|
8235
|
+
|
|
8236
|
+
|
|
8223
8237
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_apigatewayv2.CorsHttpMethod")
|
|
8224
8238
|
class CorsHttpMethod(enum.Enum):
|
|
8225
8239
|
'''Supported CORS HTTP methods.
|
|
@@ -13680,6 +13694,7 @@ class WebSocketIntegration(
|
|
|
13680
13694
|
|
|
13681
13695
|
# The code below shows an example of how to instantiate this type.
|
|
13682
13696
|
# The values are placeholders you should change.
|
|
13697
|
+
import aws_cdk as cdk
|
|
13683
13698
|
from aws_cdk import aws_apigatewayv2 as apigatewayv2
|
|
13684
13699
|
from aws_cdk import aws_iam as iam
|
|
13685
13700
|
|
|
@@ -13692,6 +13707,7 @@ class WebSocketIntegration(
|
|
|
13692
13707
|
web_socket_api=web_socket_api,
|
|
13693
13708
|
|
|
13694
13709
|
# the properties below are optional
|
|
13710
|
+
content_handling=apigatewayv2.ContentHandling.CONVERT_TO_BINARY,
|
|
13695
13711
|
credentials_role=role,
|
|
13696
13712
|
integration_method="integrationMethod",
|
|
13697
13713
|
passthrough_behavior=apigatewayv2.PassthroughBehavior.WHEN_NO_MATCH,
|
|
@@ -13701,7 +13717,8 @@ class WebSocketIntegration(
|
|
|
13701
13717
|
request_templates={
|
|
13702
13718
|
"request_templates_key": "requestTemplates"
|
|
13703
13719
|
},
|
|
13704
|
-
template_selection_expression="templateSelectionExpression"
|
|
13720
|
+
template_selection_expression="templateSelectionExpression",
|
|
13721
|
+
timeout=cdk.Duration.minutes(30)
|
|
13705
13722
|
)
|
|
13706
13723
|
'''
|
|
13707
13724
|
|
|
@@ -13713,12 +13730,14 @@ class WebSocketIntegration(
|
|
|
13713
13730
|
integration_type: "WebSocketIntegrationType",
|
|
13714
13731
|
integration_uri: builtins.str,
|
|
13715
13732
|
web_socket_api: IWebSocketApi,
|
|
13733
|
+
content_handling: typing.Optional[ContentHandling] = None,
|
|
13716
13734
|
credentials_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
13717
13735
|
integration_method: typing.Optional[builtins.str] = None,
|
|
13718
13736
|
passthrough_behavior: typing.Optional[PassthroughBehavior] = None,
|
|
13719
13737
|
request_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13720
13738
|
request_templates: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13721
13739
|
template_selection_expression: typing.Optional[builtins.str] = None,
|
|
13740
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
13722
13741
|
) -> None:
|
|
13723
13742
|
'''
|
|
13724
13743
|
:param scope: -
|
|
@@ -13726,12 +13745,14 @@ class WebSocketIntegration(
|
|
|
13726
13745
|
:param integration_type: Integration type.
|
|
13727
13746
|
:param integration_uri: Integration URI.
|
|
13728
13747
|
:param web_socket_api: The WebSocket API to which this integration should be bound.
|
|
13748
|
+
:param content_handling: Specifies how to handle response payload content type conversions. Default: - The response payload will be passed through from the integration response to the route response or method response without modification.
|
|
13729
13749
|
:param credentials_role: Specifies the IAM role required for the integration. Default: - No IAM role required.
|
|
13730
13750
|
:param integration_method: Specifies the integration's HTTP method type. Default: - No HTTP method required.
|
|
13731
13751
|
:param passthrough_behavior: Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Default: - No passthrough behavior required.
|
|
13732
13752
|
:param request_parameters: The request parameters that API Gateway sends with the backend request. Specify request parameters as key-value pairs (string-to-string mappings), with a destination as the key and a source as the value. Default: - No request parameters required.
|
|
13733
13753
|
:param request_templates: A map of Apache Velocity templates that are applied on the request payload. Example:: { "application/json": "{ \\"statusCode\\": 200 }" } Default: - No request templates required.
|
|
13734
13754
|
:param template_selection_expression: The template selection expression for the integration. Default: - No template selection expression required.
|
|
13755
|
+
:param timeout: The maximum amount of time an integration will run before it returns without a response. Must be between 50 milliseconds and 29 seconds. Default: Duration.seconds(29)
|
|
13735
13756
|
'''
|
|
13736
13757
|
if __debug__:
|
|
13737
13758
|
type_hints = typing.get_type_hints(_typecheckingstub__2ac02687d2321489f6dc08575470245377b3d158bc0eff4843806483bd7e3213)
|
|
@@ -13741,12 +13762,14 @@ class WebSocketIntegration(
|
|
|
13741
13762
|
integration_type=integration_type,
|
|
13742
13763
|
integration_uri=integration_uri,
|
|
13743
13764
|
web_socket_api=web_socket_api,
|
|
13765
|
+
content_handling=content_handling,
|
|
13744
13766
|
credentials_role=credentials_role,
|
|
13745
13767
|
integration_method=integration_method,
|
|
13746
13768
|
passthrough_behavior=passthrough_behavior,
|
|
13747
13769
|
request_parameters=request_parameters,
|
|
13748
13770
|
request_templates=request_templates,
|
|
13749
13771
|
template_selection_expression=template_selection_expression,
|
|
13772
|
+
timeout=timeout,
|
|
13750
13773
|
)
|
|
13751
13774
|
|
|
13752
13775
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -13771,12 +13794,14 @@ class WebSocketIntegration(
|
|
|
13771
13794
|
"integration_type": "integrationType",
|
|
13772
13795
|
"integration_uri": "integrationUri",
|
|
13773
13796
|
"web_socket_api": "webSocketApi",
|
|
13797
|
+
"content_handling": "contentHandling",
|
|
13774
13798
|
"credentials_role": "credentialsRole",
|
|
13775
13799
|
"integration_method": "integrationMethod",
|
|
13776
13800
|
"passthrough_behavior": "passthroughBehavior",
|
|
13777
13801
|
"request_parameters": "requestParameters",
|
|
13778
13802
|
"request_templates": "requestTemplates",
|
|
13779
13803
|
"template_selection_expression": "templateSelectionExpression",
|
|
13804
|
+
"timeout": "timeout",
|
|
13780
13805
|
},
|
|
13781
13806
|
)
|
|
13782
13807
|
class WebSocketIntegrationProps:
|
|
@@ -13786,24 +13811,28 @@ class WebSocketIntegrationProps:
|
|
|
13786
13811
|
integration_type: "WebSocketIntegrationType",
|
|
13787
13812
|
integration_uri: builtins.str,
|
|
13788
13813
|
web_socket_api: IWebSocketApi,
|
|
13814
|
+
content_handling: typing.Optional[ContentHandling] = None,
|
|
13789
13815
|
credentials_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
13790
13816
|
integration_method: typing.Optional[builtins.str] = None,
|
|
13791
13817
|
passthrough_behavior: typing.Optional[PassthroughBehavior] = None,
|
|
13792
13818
|
request_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13793
13819
|
request_templates: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13794
13820
|
template_selection_expression: typing.Optional[builtins.str] = None,
|
|
13821
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
13795
13822
|
) -> None:
|
|
13796
13823
|
'''The integration properties.
|
|
13797
13824
|
|
|
13798
13825
|
:param integration_type: Integration type.
|
|
13799
13826
|
:param integration_uri: Integration URI.
|
|
13800
13827
|
:param web_socket_api: The WebSocket API to which this integration should be bound.
|
|
13828
|
+
:param content_handling: Specifies how to handle response payload content type conversions. Default: - The response payload will be passed through from the integration response to the route response or method response without modification.
|
|
13801
13829
|
:param credentials_role: Specifies the IAM role required for the integration. Default: - No IAM role required.
|
|
13802
13830
|
:param integration_method: Specifies the integration's HTTP method type. Default: - No HTTP method required.
|
|
13803
13831
|
:param passthrough_behavior: Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Default: - No passthrough behavior required.
|
|
13804
13832
|
:param request_parameters: The request parameters that API Gateway sends with the backend request. Specify request parameters as key-value pairs (string-to-string mappings), with a destination as the key and a source as the value. Default: - No request parameters required.
|
|
13805
13833
|
:param request_templates: A map of Apache Velocity templates that are applied on the request payload. Example:: { "application/json": "{ \\"statusCode\\": 200 }" } Default: - No request templates required.
|
|
13806
13834
|
:param template_selection_expression: The template selection expression for the integration. Default: - No template selection expression required.
|
|
13835
|
+
:param timeout: The maximum amount of time an integration will run before it returns without a response. Must be between 50 milliseconds and 29 seconds. Default: Duration.seconds(29)
|
|
13807
13836
|
|
|
13808
13837
|
:exampleMetadata: fixture=_generated
|
|
13809
13838
|
|
|
@@ -13811,6 +13840,7 @@ class WebSocketIntegrationProps:
|
|
|
13811
13840
|
|
|
13812
13841
|
# The code below shows an example of how to instantiate this type.
|
|
13813
13842
|
# The values are placeholders you should change.
|
|
13843
|
+
import aws_cdk as cdk
|
|
13814
13844
|
from aws_cdk import aws_apigatewayv2 as apigatewayv2
|
|
13815
13845
|
from aws_cdk import aws_iam as iam
|
|
13816
13846
|
|
|
@@ -13823,6 +13853,7 @@ class WebSocketIntegrationProps:
|
|
|
13823
13853
|
web_socket_api=web_socket_api,
|
|
13824
13854
|
|
|
13825
13855
|
# the properties below are optional
|
|
13856
|
+
content_handling=apigatewayv2.ContentHandling.CONVERT_TO_BINARY,
|
|
13826
13857
|
credentials_role=role,
|
|
13827
13858
|
integration_method="integrationMethod",
|
|
13828
13859
|
passthrough_behavior=apigatewayv2.PassthroughBehavior.WHEN_NO_MATCH,
|
|
@@ -13832,7 +13863,8 @@ class WebSocketIntegrationProps:
|
|
|
13832
13863
|
request_templates={
|
|
13833
13864
|
"request_templates_key": "requestTemplates"
|
|
13834
13865
|
},
|
|
13835
|
-
template_selection_expression="templateSelectionExpression"
|
|
13866
|
+
template_selection_expression="templateSelectionExpression",
|
|
13867
|
+
timeout=cdk.Duration.minutes(30)
|
|
13836
13868
|
)
|
|
13837
13869
|
'''
|
|
13838
13870
|
if __debug__:
|
|
@@ -13840,17 +13872,21 @@ class WebSocketIntegrationProps:
|
|
|
13840
13872
|
check_type(argname="argument integration_type", value=integration_type, expected_type=type_hints["integration_type"])
|
|
13841
13873
|
check_type(argname="argument integration_uri", value=integration_uri, expected_type=type_hints["integration_uri"])
|
|
13842
13874
|
check_type(argname="argument web_socket_api", value=web_socket_api, expected_type=type_hints["web_socket_api"])
|
|
13875
|
+
check_type(argname="argument content_handling", value=content_handling, expected_type=type_hints["content_handling"])
|
|
13843
13876
|
check_type(argname="argument credentials_role", value=credentials_role, expected_type=type_hints["credentials_role"])
|
|
13844
13877
|
check_type(argname="argument integration_method", value=integration_method, expected_type=type_hints["integration_method"])
|
|
13845
13878
|
check_type(argname="argument passthrough_behavior", value=passthrough_behavior, expected_type=type_hints["passthrough_behavior"])
|
|
13846
13879
|
check_type(argname="argument request_parameters", value=request_parameters, expected_type=type_hints["request_parameters"])
|
|
13847
13880
|
check_type(argname="argument request_templates", value=request_templates, expected_type=type_hints["request_templates"])
|
|
13848
13881
|
check_type(argname="argument template_selection_expression", value=template_selection_expression, expected_type=type_hints["template_selection_expression"])
|
|
13882
|
+
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
13849
13883
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
13850
13884
|
"integration_type": integration_type,
|
|
13851
13885
|
"integration_uri": integration_uri,
|
|
13852
13886
|
"web_socket_api": web_socket_api,
|
|
13853
13887
|
}
|
|
13888
|
+
if content_handling is not None:
|
|
13889
|
+
self._values["content_handling"] = content_handling
|
|
13854
13890
|
if credentials_role is not None:
|
|
13855
13891
|
self._values["credentials_role"] = credentials_role
|
|
13856
13892
|
if integration_method is not None:
|
|
@@ -13863,6 +13899,8 @@ class WebSocketIntegrationProps:
|
|
|
13863
13899
|
self._values["request_templates"] = request_templates
|
|
13864
13900
|
if template_selection_expression is not None:
|
|
13865
13901
|
self._values["template_selection_expression"] = template_selection_expression
|
|
13902
|
+
if timeout is not None:
|
|
13903
|
+
self._values["timeout"] = timeout
|
|
13866
13904
|
|
|
13867
13905
|
@builtins.property
|
|
13868
13906
|
def integration_type(self) -> "WebSocketIntegrationType":
|
|
@@ -13885,6 +13923,18 @@ class WebSocketIntegrationProps:
|
|
|
13885
13923
|
assert result is not None, "Required property 'web_socket_api' is missing"
|
|
13886
13924
|
return typing.cast(IWebSocketApi, result)
|
|
13887
13925
|
|
|
13926
|
+
@builtins.property
|
|
13927
|
+
def content_handling(self) -> typing.Optional[ContentHandling]:
|
|
13928
|
+
'''Specifies how to handle response payload content type conversions.
|
|
13929
|
+
|
|
13930
|
+
:default:
|
|
13931
|
+
|
|
13932
|
+
- The response payload will be passed through from the integration response to
|
|
13933
|
+
the route response or method response without modification.
|
|
13934
|
+
'''
|
|
13935
|
+
result = self._values.get("content_handling")
|
|
13936
|
+
return typing.cast(typing.Optional[ContentHandling], result)
|
|
13937
|
+
|
|
13888
13938
|
@builtins.property
|
|
13889
13939
|
def credentials_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
13890
13940
|
'''Specifies the IAM role required for the integration.
|
|
@@ -13953,6 +14003,17 @@ class WebSocketIntegrationProps:
|
|
|
13953
14003
|
result = self._values.get("template_selection_expression")
|
|
13954
14004
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
13955
14005
|
|
|
14006
|
+
@builtins.property
|
|
14007
|
+
def timeout(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
14008
|
+
'''The maximum amount of time an integration will run before it returns without a response.
|
|
14009
|
+
|
|
14010
|
+
Must be between 50 milliseconds and 29 seconds.
|
|
14011
|
+
|
|
14012
|
+
:default: Duration.seconds(29)
|
|
14013
|
+
'''
|
|
14014
|
+
result = self._values.get("timeout")
|
|
14015
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
14016
|
+
|
|
13956
14017
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
13957
14018
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
13958
14019
|
|
|
@@ -14410,12 +14471,14 @@ class WebSocketRouteIntegrationBindOptions:
|
|
|
14410
14471
|
name_mapping={
|
|
14411
14472
|
"type": "type",
|
|
14412
14473
|
"uri": "uri",
|
|
14474
|
+
"content_handling": "contentHandling",
|
|
14413
14475
|
"credentials_role": "credentialsRole",
|
|
14414
14476
|
"method": "method",
|
|
14415
14477
|
"passthrough_behavior": "passthroughBehavior",
|
|
14416
14478
|
"request_parameters": "requestParameters",
|
|
14417
14479
|
"request_templates": "requestTemplates",
|
|
14418
14480
|
"template_selection_expression": "templateSelectionExpression",
|
|
14481
|
+
"timeout": "timeout",
|
|
14419
14482
|
},
|
|
14420
14483
|
)
|
|
14421
14484
|
class WebSocketRouteIntegrationConfig:
|
|
@@ -14424,23 +14487,27 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14424
14487
|
*,
|
|
14425
14488
|
type: WebSocketIntegrationType,
|
|
14426
14489
|
uri: builtins.str,
|
|
14490
|
+
content_handling: typing.Optional[ContentHandling] = None,
|
|
14427
14491
|
credentials_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
14428
14492
|
method: typing.Optional[builtins.str] = None,
|
|
14429
14493
|
passthrough_behavior: typing.Optional[PassthroughBehavior] = None,
|
|
14430
14494
|
request_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
14431
14495
|
request_templates: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
14432
14496
|
template_selection_expression: typing.Optional[builtins.str] = None,
|
|
14497
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
14433
14498
|
) -> None:
|
|
14434
14499
|
'''Config returned back as a result of the bind.
|
|
14435
14500
|
|
|
14436
14501
|
:param type: Integration type.
|
|
14437
14502
|
:param uri: Integration URI.
|
|
14503
|
+
:param content_handling: Specifies how to handle response payload content type conversions. Default: - The response payload will be passed through from the integration response to the route response or method response without modification.
|
|
14438
14504
|
:param credentials_role: Credentials role. Default: - No role provided.
|
|
14439
14505
|
:param method: Integration method. Default: - No integration method.
|
|
14440
14506
|
:param passthrough_behavior: Integration passthrough behaviors. Default: - No pass through bahavior.
|
|
14441
14507
|
:param request_parameters: Request parameters. Default: - No request parameters provided.
|
|
14442
14508
|
:param request_templates: Request template. Default: - No request template provided.
|
|
14443
14509
|
:param template_selection_expression: Template selection expression. Default: - No template selection expression.
|
|
14510
|
+
:param timeout: The maximum amount of time an integration will run before it returns without a response. Must be between 50 milliseconds and 29 seconds. Default: Duration.seconds(29)
|
|
14444
14511
|
|
|
14445
14512
|
:exampleMetadata: fixture=_generated
|
|
14446
14513
|
|
|
@@ -14448,6 +14515,7 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14448
14515
|
|
|
14449
14516
|
# The code below shows an example of how to instantiate this type.
|
|
14450
14517
|
# The values are placeholders you should change.
|
|
14518
|
+
import aws_cdk as cdk
|
|
14451
14519
|
from aws_cdk import aws_apigatewayv2 as apigatewayv2
|
|
14452
14520
|
from aws_cdk import aws_iam as iam
|
|
14453
14521
|
|
|
@@ -14458,6 +14526,7 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14458
14526
|
uri="uri",
|
|
14459
14527
|
|
|
14460
14528
|
# the properties below are optional
|
|
14529
|
+
content_handling=apigatewayv2.ContentHandling.CONVERT_TO_BINARY,
|
|
14461
14530
|
credentials_role=role,
|
|
14462
14531
|
method="method",
|
|
14463
14532
|
passthrough_behavior=apigatewayv2.PassthroughBehavior.WHEN_NO_MATCH,
|
|
@@ -14467,23 +14536,28 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14467
14536
|
request_templates={
|
|
14468
14537
|
"request_templates_key": "requestTemplates"
|
|
14469
14538
|
},
|
|
14470
|
-
template_selection_expression="templateSelectionExpression"
|
|
14539
|
+
template_selection_expression="templateSelectionExpression",
|
|
14540
|
+
timeout=cdk.Duration.minutes(30)
|
|
14471
14541
|
)
|
|
14472
14542
|
'''
|
|
14473
14543
|
if __debug__:
|
|
14474
14544
|
type_hints = typing.get_type_hints(_typecheckingstub__95712dc4140726948f6c65621094ffdc23c1750c1396c707576df099b9e8082b)
|
|
14475
14545
|
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
14476
14546
|
check_type(argname="argument uri", value=uri, expected_type=type_hints["uri"])
|
|
14547
|
+
check_type(argname="argument content_handling", value=content_handling, expected_type=type_hints["content_handling"])
|
|
14477
14548
|
check_type(argname="argument credentials_role", value=credentials_role, expected_type=type_hints["credentials_role"])
|
|
14478
14549
|
check_type(argname="argument method", value=method, expected_type=type_hints["method"])
|
|
14479
14550
|
check_type(argname="argument passthrough_behavior", value=passthrough_behavior, expected_type=type_hints["passthrough_behavior"])
|
|
14480
14551
|
check_type(argname="argument request_parameters", value=request_parameters, expected_type=type_hints["request_parameters"])
|
|
14481
14552
|
check_type(argname="argument request_templates", value=request_templates, expected_type=type_hints["request_templates"])
|
|
14482
14553
|
check_type(argname="argument template_selection_expression", value=template_selection_expression, expected_type=type_hints["template_selection_expression"])
|
|
14554
|
+
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
14483
14555
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
14484
14556
|
"type": type,
|
|
14485
14557
|
"uri": uri,
|
|
14486
14558
|
}
|
|
14559
|
+
if content_handling is not None:
|
|
14560
|
+
self._values["content_handling"] = content_handling
|
|
14487
14561
|
if credentials_role is not None:
|
|
14488
14562
|
self._values["credentials_role"] = credentials_role
|
|
14489
14563
|
if method is not None:
|
|
@@ -14496,6 +14570,8 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14496
14570
|
self._values["request_templates"] = request_templates
|
|
14497
14571
|
if template_selection_expression is not None:
|
|
14498
14572
|
self._values["template_selection_expression"] = template_selection_expression
|
|
14573
|
+
if timeout is not None:
|
|
14574
|
+
self._values["timeout"] = timeout
|
|
14499
14575
|
|
|
14500
14576
|
@builtins.property
|
|
14501
14577
|
def type(self) -> WebSocketIntegrationType:
|
|
@@ -14511,6 +14587,18 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14511
14587
|
assert result is not None, "Required property 'uri' is missing"
|
|
14512
14588
|
return typing.cast(builtins.str, result)
|
|
14513
14589
|
|
|
14590
|
+
@builtins.property
|
|
14591
|
+
def content_handling(self) -> typing.Optional[ContentHandling]:
|
|
14592
|
+
'''Specifies how to handle response payload content type conversions.
|
|
14593
|
+
|
|
14594
|
+
:default:
|
|
14595
|
+
|
|
14596
|
+
- The response payload will be passed through from the integration response to
|
|
14597
|
+
the route response or method response without modification.
|
|
14598
|
+
'''
|
|
14599
|
+
result = self._values.get("content_handling")
|
|
14600
|
+
return typing.cast(typing.Optional[ContentHandling], result)
|
|
14601
|
+
|
|
14514
14602
|
@builtins.property
|
|
14515
14603
|
def credentials_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
14516
14604
|
'''Credentials role.
|
|
@@ -14569,6 +14657,17 @@ class WebSocketRouteIntegrationConfig:
|
|
|
14569
14657
|
result = self._values.get("template_selection_expression")
|
|
14570
14658
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
14571
14659
|
|
|
14660
|
+
@builtins.property
|
|
14661
|
+
def timeout(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
14662
|
+
'''The maximum amount of time an integration will run before it returns without a response.
|
|
14663
|
+
|
|
14664
|
+
Must be between 50 milliseconds and 29 seconds.
|
|
14665
|
+
|
|
14666
|
+
:default: Duration.seconds(29)
|
|
14667
|
+
'''
|
|
14668
|
+
result = self._values.get("timeout")
|
|
14669
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
14670
|
+
|
|
14572
14671
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
14573
14672
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
14574
14673
|
|
|
@@ -17966,6 +18065,7 @@ __all__ = [
|
|
|
17966
18065
|
"CfnStageProps",
|
|
17967
18066
|
"CfnVpcLink",
|
|
17968
18067
|
"CfnVpcLinkProps",
|
|
18068
|
+
"ContentHandling",
|
|
17969
18069
|
"CorsHttpMethod",
|
|
17970
18070
|
"CorsPreflightOptions",
|
|
17971
18071
|
"DomainMappingOptions",
|
|
@@ -19994,12 +20094,14 @@ def _typecheckingstub__2ac02687d2321489f6dc08575470245377b3d158bc0eff4843806483b
|
|
|
19994
20094
|
integration_type: WebSocketIntegrationType,
|
|
19995
20095
|
integration_uri: builtins.str,
|
|
19996
20096
|
web_socket_api: IWebSocketApi,
|
|
20097
|
+
content_handling: typing.Optional[ContentHandling] = None,
|
|
19997
20098
|
credentials_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
19998
20099
|
integration_method: typing.Optional[builtins.str] = None,
|
|
19999
20100
|
passthrough_behavior: typing.Optional[PassthroughBehavior] = None,
|
|
20000
20101
|
request_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20001
20102
|
request_templates: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20002
20103
|
template_selection_expression: typing.Optional[builtins.str] = None,
|
|
20104
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
20003
20105
|
) -> None:
|
|
20004
20106
|
"""Type checking stubs"""
|
|
20005
20107
|
pass
|
|
@@ -20009,12 +20111,14 @@ def _typecheckingstub__387d500d57f22163933acec7964371aae4b496767a5ff3b8785875149
|
|
|
20009
20111
|
integration_type: WebSocketIntegrationType,
|
|
20010
20112
|
integration_uri: builtins.str,
|
|
20011
20113
|
web_socket_api: IWebSocketApi,
|
|
20114
|
+
content_handling: typing.Optional[ContentHandling] = None,
|
|
20012
20115
|
credentials_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
20013
20116
|
integration_method: typing.Optional[builtins.str] = None,
|
|
20014
20117
|
passthrough_behavior: typing.Optional[PassthroughBehavior] = None,
|
|
20015
20118
|
request_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20016
20119
|
request_templates: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20017
20120
|
template_selection_expression: typing.Optional[builtins.str] = None,
|
|
20121
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
20018
20122
|
) -> None:
|
|
20019
20123
|
"""Type checking stubs"""
|
|
20020
20124
|
pass
|
|
@@ -20067,12 +20171,14 @@ def _typecheckingstub__95712dc4140726948f6c65621094ffdc23c1750c1396c707576df099b
|
|
|
20067
20171
|
*,
|
|
20068
20172
|
type: WebSocketIntegrationType,
|
|
20069
20173
|
uri: builtins.str,
|
|
20174
|
+
content_handling: typing.Optional[ContentHandling] = None,
|
|
20070
20175
|
credentials_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
20071
20176
|
method: typing.Optional[builtins.str] = None,
|
|
20072
20177
|
passthrough_behavior: typing.Optional[PassthroughBehavior] = None,
|
|
20073
20178
|
request_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20074
20179
|
request_templates: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20075
20180
|
template_selection_expression: typing.Optional[builtins.str] = None,
|
|
20181
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
20076
20182
|
) -> None:
|
|
20077
20183
|
"""Type checking stubs"""
|
|
20078
20184
|
pass
|