aws-cdk-lib 2.148.1__py3-none-any.whl → 2.150.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 +4 -8
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.148.1.jsii.tgz → aws-cdk-lib@2.150.0.jsii.tgz} +0 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +16 -12
- aws_cdk/aws_bedrock/__init__.py +60 -28
- aws_cdk/aws_cloudformation/__init__.py +4 -8
- aws_cdk/aws_cloudtrail/__init__.py +30 -558
- aws_cdk/aws_cloudwatch/__init__.py +1 -1
- aws_cdk/aws_codebuild/__init__.py +57 -5
- aws_cdk/aws_codecommit/__init__.py +103 -0
- aws_cdk/aws_codedeploy/__init__.py +251 -5
- aws_cdk/aws_codepipeline/__init__.py +80 -5
- aws_cdk/aws_codestarnotifications/__init__.py +90 -4
- aws_cdk/aws_cognito/__init__.py +1 -2
- aws_cdk/aws_deadline/__init__.py +9 -15
- aws_cdk/aws_dms/__init__.py +10 -10
- aws_cdk/aws_ec2/__init__.py +86 -4
- aws_cdk/aws_ecs/__init__.py +10 -8
- aws_cdk/aws_eks/__init__.py +26 -20
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
- aws_cdk/aws_emr/__init__.py +26 -28
- aws_cdk/aws_events/__init__.py +1 -13
- aws_cdk/aws_fsx/__init__.py +25 -23
- aws_cdk/aws_glue/__init__.py +3 -3
- aws_cdk/aws_guardduty/__init__.py +6 -4
- aws_cdk/aws_iam/__init__.py +8 -5
- aws_cdk/aws_kinesisanalytics/__init__.py +11 -11
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +11 -11
- aws_cdk/aws_lambda/__init__.py +19 -2
- aws_cdk/aws_logs/__init__.py +9 -0
- aws_cdk/aws_qbusiness/__init__.py +21 -7
- aws_cdk/aws_rds/__init__.py +18 -12
- aws_cdk/aws_rolesanywhere/__init__.py +22 -13
- aws_cdk/aws_route53profiles/__init__.py +4 -4
- aws_cdk/aws_s3/__init__.py +15 -117
- aws_cdk/aws_sagemaker/__init__.py +10 -10
- aws_cdk/aws_ses/__init__.py +119 -102
- aws_cdk/aws_stepfunctions_tasks/__init__.py +215 -24
- aws_cdk/aws_synthetics/__init__.py +15 -1
- aws_cdk/aws_verifiedpermissions/__init__.py +7 -9
- aws_cdk/aws_wafv2/__init__.py +10 -16
- aws_cdk/aws_workspaces/__init__.py +86 -56
- aws_cdk/custom_resources/__init__.py +91 -23
- aws_cdk/pipelines/__init__.py +1 -1
- aws_cdk/region_info/__init__.py +32 -12
- {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.150.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.150.0.dist-info}/RECORD +51 -51
- {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.150.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.150.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.150.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.150.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_wafv2/__init__.py
CHANGED
|
@@ -5476,9 +5476,11 @@ class CfnRuleGroup(
|
|
|
5476
5476
|
|
|
5477
5477
|
Example JSON: ``"JsonBody": { "MatchPattern": { "All": {} }, "MatchScope": "ALL" }``
|
|
5478
5478
|
|
|
5479
|
+
For additional information about this request component option, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
5480
|
+
|
|
5479
5481
|
:param match_pattern: The patterns to look for in the JSON body. AWS WAF inspects the results of these pattern matches against the rule inspection criteria.
|
|
5480
5482
|
:param match_scope: The parts of the JSON to match against using the ``MatchPattern`` . If you specify ``ALL`` , AWS WAF matches against keys and values. ``All`` does not require a match to be found in the keys and a match to be found in the values. It requires a match to be found in the keys or the values or both. To require a match in the keys and in the values, use a logical ``AND`` statement to combine two match rules, one that inspects the keys and another that inspects the values.
|
|
5481
|
-
:param invalid_fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. AWS WAF
|
|
5483
|
+
:param invalid_fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. .. epigraph:: AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
5482
5484
|
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
5483
5485
|
|
|
5484
5486
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html
|
|
@@ -5556,14 +5558,9 @@ class CfnRuleGroup(
|
|
|
5556
5558
|
- ``NO_MATCH`` - Treat the web request as not matching the rule statement.
|
|
5557
5559
|
|
|
5558
5560
|
If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.
|
|
5561
|
+
.. epigraph::
|
|
5559
5562
|
|
|
5560
|
-
|
|
5561
|
-
|
|
5562
|
-
AWS WAF parses the JSON in the following examples as two valid key, value pairs:
|
|
5563
|
-
|
|
5564
|
-
- Missing comma: ``{"key1":"value1""key2":"value2"}``
|
|
5565
|
-
- Missing colon: ``{"key1":"value1","key2""value2"}``
|
|
5566
|
-
- Extra colons: ``{"key1"::"value1","key2""value2"}``
|
|
5563
|
+
AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
5567
5564
|
|
|
5568
5565
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html#cfn-wafv2-rulegroup-jsonbody-invalidfallbackbehavior
|
|
5569
5566
|
'''
|
|
@@ -14956,9 +14953,11 @@ class CfnWebACL(
|
|
|
14956
14953
|
|
|
14957
14954
|
Example JSON: ``"JsonBody": { "MatchPattern": { "All": {} }, "MatchScope": "ALL" }``
|
|
14958
14955
|
|
|
14956
|
+
For additional information about this request component option, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
14957
|
+
|
|
14959
14958
|
:param match_pattern: The patterns to look for in the JSON body. AWS WAF inspects the results of these pattern matches against the rule inspection criteria.
|
|
14960
14959
|
:param match_scope: The parts of the JSON to match against using the ``MatchPattern`` . If you specify ``ALL`` , AWS WAF matches against keys and values. ``All`` does not require a match to be found in the keys and a match to be found in the values. It requires a match to be found in the keys or the values or both. To require a match in the keys and in the values, use a logical ``AND`` statement to combine two match rules, one that inspects the keys and another that inspects the values.
|
|
14961
|
-
:param invalid_fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. AWS WAF
|
|
14960
|
+
:param invalid_fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. .. epigraph:: AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
14962
14961
|
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
14963
14962
|
|
|
14964
14963
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-jsonbody.html
|
|
@@ -15036,14 +15035,9 @@ class CfnWebACL(
|
|
|
15036
15035
|
- ``NO_MATCH`` - Treat the web request as not matching the rule statement.
|
|
15037
15036
|
|
|
15038
15037
|
If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.
|
|
15038
|
+
.. epigraph::
|
|
15039
15039
|
|
|
15040
|
-
|
|
15041
|
-
|
|
15042
|
-
AWS WAF parses the JSON in the following examples as two valid key, value pairs:
|
|
15043
|
-
|
|
15044
|
-
- Missing comma: ``{"key1":"value1""key2":"value2"}``
|
|
15045
|
-
- Missing colon: ``{"key1":"value1","key2""value2"}``
|
|
15046
|
-
- Extra colons: ``{"key1"::"value1","key2""value2"}``
|
|
15040
|
+
AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
15047
15041
|
|
|
15048
15042
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-jsonbody.html#cfn-wafv2-webacl-jsonbody-invalidfallbackbehavior
|
|
15049
15043
|
'''
|
|
@@ -453,11 +453,11 @@ class CfnWorkspace(
|
|
|
453
453
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
454
454
|
:param bundle_id: The identifier of the bundle for the WorkSpace.
|
|
455
455
|
:param directory_id: The identifier of the AWS Directory Service directory for the WorkSpace.
|
|
456
|
-
:param user_name: The user name of the user for the WorkSpace. This user name must exist in the AWS Directory Service directory for the WorkSpace.
|
|
456
|
+
:param user_name: The user name of the user for the WorkSpace. This user name must exist in the AWS Directory Service directory for the WorkSpace.
|
|
457
457
|
:param root_volume_encryption_enabled: Indicates whether the data stored on the root volume is encrypted.
|
|
458
458
|
:param tags: The tags for the WorkSpace.
|
|
459
459
|
:param user_volume_encryption_enabled: Indicates whether the data stored on the user volume is encrypted.
|
|
460
|
-
:param volume_encryption_key: The
|
|
460
|
+
:param volume_encryption_key: The symmetric AWS KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.
|
|
461
461
|
:param workspace_properties: The WorkSpace properties.
|
|
462
462
|
'''
|
|
463
463
|
if __debug__:
|
|
@@ -618,7 +618,7 @@ class CfnWorkspace(
|
|
|
618
618
|
@builtins.property
|
|
619
619
|
@jsii.member(jsii_name="volumeEncryptionKey")
|
|
620
620
|
def volume_encryption_key(self) -> typing.Optional[builtins.str]:
|
|
621
|
-
'''The
|
|
621
|
+
'''The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.'''
|
|
622
622
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "volumeEncryptionKey"))
|
|
623
623
|
|
|
624
624
|
@volume_encryption_key.setter
|
|
@@ -671,7 +671,7 @@ class CfnWorkspace(
|
|
|
671
671
|
|
|
672
672
|
:param compute_type_name: The compute type. For more information, see `Amazon WorkSpaces Bundles <https://docs.aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles>`_ .
|
|
673
673
|
:param root_volume_size_gib: The size of the root volume. For important information about how to modify the size of the root and user volumes, see `Modify a WorkSpace <https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html>`_ .
|
|
674
|
-
:param running_mode: The running mode. For more information, see `Manage the WorkSpace Running Mode <https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html>`_ .
|
|
674
|
+
:param running_mode: The running mode. For more information, see `Manage the WorkSpace Running Mode <https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html>`_ .
|
|
675
675
|
:param running_mode_auto_stop_timeout_in_minutes: The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60-minute intervals.
|
|
676
676
|
:param user_volume_size_gib: The size of the user storage. For important information about how to modify the size of the root and user volumes, see `Modify a WorkSpace <https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html>`_ .
|
|
677
677
|
|
|
@@ -735,11 +735,9 @@ class CfnWorkspace(
|
|
|
735
735
|
|
|
736
736
|
@builtins.property
|
|
737
737
|
def running_mode(self) -> typing.Optional[builtins.str]:
|
|
738
|
-
'''The running mode.
|
|
738
|
+
'''The running mode.
|
|
739
739
|
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
The ``MANUAL`` value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see `Amazon WorkSpaces Core <https://docs.aws.amazon.com/workspaces/core/>`_ .
|
|
740
|
+
For more information, see `Manage the WorkSpace Running Mode <https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html>`_ .
|
|
743
741
|
|
|
744
742
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmode
|
|
745
743
|
'''
|
|
@@ -813,11 +811,11 @@ class CfnWorkspaceProps:
|
|
|
813
811
|
|
|
814
812
|
:param bundle_id: The identifier of the bundle for the WorkSpace.
|
|
815
813
|
:param directory_id: The identifier of the AWS Directory Service directory for the WorkSpace.
|
|
816
|
-
:param user_name: The user name of the user for the WorkSpace. This user name must exist in the AWS Directory Service directory for the WorkSpace.
|
|
814
|
+
:param user_name: The user name of the user for the WorkSpace. This user name must exist in the AWS Directory Service directory for the WorkSpace.
|
|
817
815
|
:param root_volume_encryption_enabled: Indicates whether the data stored on the root volume is encrypted.
|
|
818
816
|
:param tags: The tags for the WorkSpace.
|
|
819
817
|
:param user_volume_encryption_enabled: Indicates whether the data stored on the user volume is encrypted.
|
|
820
|
-
:param volume_encryption_key: The
|
|
818
|
+
:param volume_encryption_key: The symmetric AWS KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.
|
|
821
819
|
:param workspace_properties: The WorkSpace properties.
|
|
822
820
|
|
|
823
821
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html
|
|
@@ -903,8 +901,6 @@ class CfnWorkspaceProps:
|
|
|
903
901
|
|
|
904
902
|
This user name must exist in the AWS Directory Service directory for the WorkSpace.
|
|
905
903
|
|
|
906
|
-
The reserved keyword, ``[UNDEFINED]`` , is used when creating user-decoupled WorkSpaces.
|
|
907
|
-
|
|
908
904
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-username
|
|
909
905
|
'''
|
|
910
906
|
result = self._values.get("user_name")
|
|
@@ -944,7 +940,7 @@ class CfnWorkspaceProps:
|
|
|
944
940
|
|
|
945
941
|
@builtins.property
|
|
946
942
|
def volume_encryption_key(self) -> typing.Optional[builtins.str]:
|
|
947
|
-
'''The
|
|
943
|
+
'''The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.
|
|
948
944
|
|
|
949
945
|
Amazon WorkSpaces does not support asymmetric KMS keys.
|
|
950
946
|
|
|
@@ -982,7 +978,7 @@ class CfnWorkspacesPool(
|
|
|
982
978
|
metaclass=jsii.JSIIMeta,
|
|
983
979
|
jsii_type="aws-cdk-lib.aws_workspaces.CfnWorkspacesPool",
|
|
984
980
|
):
|
|
985
|
-
'''
|
|
981
|
+
'''Describes a pool of WorkSpaces.
|
|
986
982
|
|
|
987
983
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html
|
|
988
984
|
:cloudformationResource: AWS::WorkSpaces::WorkspacesPool
|
|
@@ -1039,14 +1035,14 @@ class CfnWorkspacesPool(
|
|
|
1039
1035
|
'''
|
|
1040
1036
|
:param scope: Scope in which this resource is defined.
|
|
1041
1037
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1042
|
-
:param bundle_id:
|
|
1043
|
-
:param capacity:
|
|
1044
|
-
:param directory_id:
|
|
1045
|
-
:param pool_name:
|
|
1046
|
-
:param application_settings:
|
|
1047
|
-
:param description:
|
|
1048
|
-
:param tags:
|
|
1049
|
-
:param timeout_settings:
|
|
1038
|
+
:param bundle_id: The identifier of the bundle used by the pool.
|
|
1039
|
+
:param capacity: Describes the user capacity for the pool.
|
|
1040
|
+
:param directory_id: The identifier of the directory used by the pool.
|
|
1041
|
+
:param pool_name: The name of the pool.
|
|
1042
|
+
:param application_settings: The persistent application settings for users of the pool.
|
|
1043
|
+
:param description: The description of the pool.
|
|
1044
|
+
:param tags: The tags for the pool.
|
|
1045
|
+
:param timeout_settings: The amount of time that a pool session remains active after users disconnect. If they try to reconnect to the pool session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new pool instance.
|
|
1050
1046
|
'''
|
|
1051
1047
|
if __debug__:
|
|
1052
1048
|
type_hints = typing.get_type_hints(_typecheckingstub__2d46eb37beb6bc915a0a0c68f02dfa689a2d725a4252e6874da1ed60602a91e4)
|
|
@@ -1098,7 +1094,8 @@ class CfnWorkspacesPool(
|
|
|
1098
1094
|
@builtins.property
|
|
1099
1095
|
@jsii.member(jsii_name="attrCreatedAt")
|
|
1100
1096
|
def attr_created_at(self) -> builtins.str:
|
|
1101
|
-
'''
|
|
1097
|
+
'''The time the pool was created.
|
|
1098
|
+
|
|
1102
1099
|
:cloudformationAttribute: CreatedAt
|
|
1103
1100
|
'''
|
|
1104
1101
|
return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
|
|
@@ -1106,7 +1103,8 @@ class CfnWorkspacesPool(
|
|
|
1106
1103
|
@builtins.property
|
|
1107
1104
|
@jsii.member(jsii_name="attrPoolArn")
|
|
1108
1105
|
def attr_pool_arn(self) -> builtins.str:
|
|
1109
|
-
'''
|
|
1106
|
+
'''The Amazon Resource Name (ARN) for the pool.
|
|
1107
|
+
|
|
1110
1108
|
:cloudformationAttribute: PoolArn
|
|
1111
1109
|
'''
|
|
1112
1110
|
return typing.cast(builtins.str, jsii.get(self, "attrPoolArn"))
|
|
@@ -1114,7 +1112,8 @@ class CfnWorkspacesPool(
|
|
|
1114
1112
|
@builtins.property
|
|
1115
1113
|
@jsii.member(jsii_name="attrPoolId")
|
|
1116
1114
|
def attr_pool_id(self) -> builtins.str:
|
|
1117
|
-
'''
|
|
1115
|
+
'''The identifier of the pool.
|
|
1116
|
+
|
|
1118
1117
|
:cloudformationAttribute: PoolId
|
|
1119
1118
|
'''
|
|
1120
1119
|
return typing.cast(builtins.str, jsii.get(self, "attrPoolId"))
|
|
@@ -1133,6 +1132,7 @@ class CfnWorkspacesPool(
|
|
|
1133
1132
|
@builtins.property
|
|
1134
1133
|
@jsii.member(jsii_name="bundleId")
|
|
1135
1134
|
def bundle_id(self) -> builtins.str:
|
|
1135
|
+
'''The identifier of the bundle used by the pool.'''
|
|
1136
1136
|
return typing.cast(builtins.str, jsii.get(self, "bundleId"))
|
|
1137
1137
|
|
|
1138
1138
|
@bundle_id.setter
|
|
@@ -1147,6 +1147,7 @@ class CfnWorkspacesPool(
|
|
|
1147
1147
|
def capacity(
|
|
1148
1148
|
self,
|
|
1149
1149
|
) -> typing.Union[_IResolvable_da3f097b, "CfnWorkspacesPool.CapacityProperty"]:
|
|
1150
|
+
'''Describes the user capacity for the pool.'''
|
|
1150
1151
|
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWorkspacesPool.CapacityProperty"], jsii.get(self, "capacity"))
|
|
1151
1152
|
|
|
1152
1153
|
@capacity.setter
|
|
@@ -1162,6 +1163,7 @@ class CfnWorkspacesPool(
|
|
|
1162
1163
|
@builtins.property
|
|
1163
1164
|
@jsii.member(jsii_name="directoryId")
|
|
1164
1165
|
def directory_id(self) -> builtins.str:
|
|
1166
|
+
'''The identifier of the directory used by the pool.'''
|
|
1165
1167
|
return typing.cast(builtins.str, jsii.get(self, "directoryId"))
|
|
1166
1168
|
|
|
1167
1169
|
@directory_id.setter
|
|
@@ -1174,6 +1176,7 @@ class CfnWorkspacesPool(
|
|
|
1174
1176
|
@builtins.property
|
|
1175
1177
|
@jsii.member(jsii_name="poolName")
|
|
1176
1178
|
def pool_name(self) -> builtins.str:
|
|
1179
|
+
'''The name of the pool.'''
|
|
1177
1180
|
return typing.cast(builtins.str, jsii.get(self, "poolName"))
|
|
1178
1181
|
|
|
1179
1182
|
@pool_name.setter
|
|
@@ -1188,6 +1191,7 @@ class CfnWorkspacesPool(
|
|
|
1188
1191
|
def application_settings(
|
|
1189
1192
|
self,
|
|
1190
1193
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspacesPool.ApplicationSettingsProperty"]]:
|
|
1194
|
+
'''The persistent application settings for users of the pool.'''
|
|
1191
1195
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspacesPool.ApplicationSettingsProperty"]], jsii.get(self, "applicationSettings"))
|
|
1192
1196
|
|
|
1193
1197
|
@application_settings.setter
|
|
@@ -1203,6 +1207,7 @@ class CfnWorkspacesPool(
|
|
|
1203
1207
|
@builtins.property
|
|
1204
1208
|
@jsii.member(jsii_name="description")
|
|
1205
1209
|
def description(self) -> typing.Optional[builtins.str]:
|
|
1210
|
+
'''The description of the pool.'''
|
|
1206
1211
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
|
|
1207
1212
|
|
|
1208
1213
|
@description.setter
|
|
@@ -1215,6 +1220,7 @@ class CfnWorkspacesPool(
|
|
|
1215
1220
|
@builtins.property
|
|
1216
1221
|
@jsii.member(jsii_name="tags")
|
|
1217
1222
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
1223
|
+
'''The tags for the pool.'''
|
|
1218
1224
|
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
1219
1225
|
|
|
1220
1226
|
@tags.setter
|
|
@@ -1229,6 +1235,7 @@ class CfnWorkspacesPool(
|
|
|
1229
1235
|
def timeout_settings(
|
|
1230
1236
|
self,
|
|
1231
1237
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspacesPool.TimeoutSettingsProperty"]]:
|
|
1238
|
+
'''The amount of time that a pool session remains active after users disconnect.'''
|
|
1232
1239
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspacesPool.TimeoutSettingsProperty"]], jsii.get(self, "timeoutSettings"))
|
|
1233
1240
|
|
|
1234
1241
|
@timeout_settings.setter
|
|
@@ -1253,9 +1260,10 @@ class CfnWorkspacesPool(
|
|
|
1253
1260
|
status: builtins.str,
|
|
1254
1261
|
settings_group: typing.Optional[builtins.str] = None,
|
|
1255
1262
|
) -> None:
|
|
1256
|
-
'''
|
|
1257
|
-
|
|
1258
|
-
:param
|
|
1263
|
+
'''The persistent application settings for users in the pool.
|
|
1264
|
+
|
|
1265
|
+
:param status: Enables or disables persistent application settings for users during their pool sessions.
|
|
1266
|
+
:param settings_group: The path prefix for the S3 bucket where users’ persistent application settings are stored.
|
|
1259
1267
|
|
|
1260
1268
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-applicationsettings.html
|
|
1261
1269
|
:exampleMetadata: fixture=_generated
|
|
@@ -1285,7 +1293,8 @@ class CfnWorkspacesPool(
|
|
|
1285
1293
|
|
|
1286
1294
|
@builtins.property
|
|
1287
1295
|
def status(self) -> builtins.str:
|
|
1288
|
-
'''
|
|
1296
|
+
'''Enables or disables persistent application settings for users during their pool sessions.
|
|
1297
|
+
|
|
1289
1298
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-applicationsettings.html#cfn-workspaces-workspacespool-applicationsettings-status
|
|
1290
1299
|
'''
|
|
1291
1300
|
result = self._values.get("status")
|
|
@@ -1294,7 +1303,8 @@ class CfnWorkspacesPool(
|
|
|
1294
1303
|
|
|
1295
1304
|
@builtins.property
|
|
1296
1305
|
def settings_group(self) -> typing.Optional[builtins.str]:
|
|
1297
|
-
'''
|
|
1306
|
+
'''The path prefix for the S3 bucket where users’ persistent application settings are stored.
|
|
1307
|
+
|
|
1298
1308
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-applicationsettings.html#cfn-workspaces-workspacespool-applicationsettings-settingsgroup
|
|
1299
1309
|
'''
|
|
1300
1310
|
result = self._values.get("settings_group")
|
|
@@ -1318,8 +1328,9 @@ class CfnWorkspacesPool(
|
|
|
1318
1328
|
)
|
|
1319
1329
|
class CapacityProperty:
|
|
1320
1330
|
def __init__(self, *, desired_user_sessions: jsii.Number) -> None:
|
|
1321
|
-
'''
|
|
1322
|
-
|
|
1331
|
+
'''Describes the user capacity for the pool.
|
|
1332
|
+
|
|
1333
|
+
:param desired_user_sessions: The desired number of user sessions for the WorkSpaces in the pool.
|
|
1323
1334
|
|
|
1324
1335
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-capacity.html
|
|
1325
1336
|
:exampleMetadata: fixture=_generated
|
|
@@ -1343,7 +1354,8 @@ class CfnWorkspacesPool(
|
|
|
1343
1354
|
|
|
1344
1355
|
@builtins.property
|
|
1345
1356
|
def desired_user_sessions(self) -> jsii.Number:
|
|
1346
|
-
'''
|
|
1357
|
+
'''The desired number of user sessions for the WorkSpaces in the pool.
|
|
1358
|
+
|
|
1347
1359
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-capacity.html#cfn-workspaces-workspacespool-capacity-desiredusersessions
|
|
1348
1360
|
'''
|
|
1349
1361
|
result = self._values.get("desired_user_sessions")
|
|
@@ -1378,10 +1390,11 @@ class CfnWorkspacesPool(
|
|
|
1378
1390
|
idle_disconnect_timeout_in_seconds: typing.Optional[jsii.Number] = None,
|
|
1379
1391
|
max_user_duration_in_seconds: typing.Optional[jsii.Number] = None,
|
|
1380
1392
|
) -> None:
|
|
1381
|
-
'''
|
|
1382
|
-
|
|
1383
|
-
:param
|
|
1384
|
-
:param
|
|
1393
|
+
'''Describes the timeout settings for the pool.
|
|
1394
|
+
|
|
1395
|
+
:param disconnect_timeout_in_seconds: Specifies the amount of time, in seconds, that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within the time set, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
|
|
1396
|
+
:param idle_disconnect_timeout_in_seconds: The amount of time in seconds a connection will stay active while idle.
|
|
1397
|
+
:param max_user_duration_in_seconds: Specifies the maximum amount of time, in seconds, that a streaming session can remain active. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
|
|
1385
1398
|
|
|
1386
1399
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html
|
|
1387
1400
|
:exampleMetadata: fixture=_generated
|
|
@@ -1413,7 +1426,10 @@ class CfnWorkspacesPool(
|
|
|
1413
1426
|
|
|
1414
1427
|
@builtins.property
|
|
1415
1428
|
def disconnect_timeout_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
1416
|
-
'''
|
|
1429
|
+
'''Specifies the amount of time, in seconds, that a streaming session remains active after users disconnect.
|
|
1430
|
+
|
|
1431
|
+
If users try to reconnect to the streaming session after a disconnection or network interruption within the time set, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
|
|
1432
|
+
|
|
1417
1433
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html#cfn-workspaces-workspacespool-timeoutsettings-disconnecttimeoutinseconds
|
|
1418
1434
|
'''
|
|
1419
1435
|
result = self._values.get("disconnect_timeout_in_seconds")
|
|
@@ -1421,7 +1437,8 @@ class CfnWorkspacesPool(
|
|
|
1421
1437
|
|
|
1422
1438
|
@builtins.property
|
|
1423
1439
|
def idle_disconnect_timeout_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
1424
|
-
'''
|
|
1440
|
+
'''The amount of time in seconds a connection will stay active while idle.
|
|
1441
|
+
|
|
1425
1442
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html#cfn-workspaces-workspacespool-timeoutsettings-idledisconnecttimeoutinseconds
|
|
1426
1443
|
'''
|
|
1427
1444
|
result = self._values.get("idle_disconnect_timeout_in_seconds")
|
|
@@ -1429,7 +1446,10 @@ class CfnWorkspacesPool(
|
|
|
1429
1446
|
|
|
1430
1447
|
@builtins.property
|
|
1431
1448
|
def max_user_duration_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
1432
|
-
'''
|
|
1449
|
+
'''Specifies the maximum amount of time, in seconds, that a streaming session can remain active.
|
|
1450
|
+
|
|
1451
|
+
If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
|
|
1452
|
+
|
|
1433
1453
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspacespool-timeoutsettings.html#cfn-workspaces-workspacespool-timeoutsettings-maxuserdurationinseconds
|
|
1434
1454
|
'''
|
|
1435
1455
|
result = self._values.get("max_user_duration_in_seconds")
|
|
@@ -1476,14 +1496,14 @@ class CfnWorkspacesPoolProps:
|
|
|
1476
1496
|
) -> None:
|
|
1477
1497
|
'''Properties for defining a ``CfnWorkspacesPool``.
|
|
1478
1498
|
|
|
1479
|
-
:param bundle_id:
|
|
1480
|
-
:param capacity:
|
|
1481
|
-
:param directory_id:
|
|
1482
|
-
:param pool_name:
|
|
1483
|
-
:param application_settings:
|
|
1484
|
-
:param description:
|
|
1485
|
-
:param tags:
|
|
1486
|
-
:param timeout_settings:
|
|
1499
|
+
:param bundle_id: The identifier of the bundle used by the pool.
|
|
1500
|
+
:param capacity: Describes the user capacity for the pool.
|
|
1501
|
+
:param directory_id: The identifier of the directory used by the pool.
|
|
1502
|
+
:param pool_name: The name of the pool.
|
|
1503
|
+
:param application_settings: The persistent application settings for users of the pool.
|
|
1504
|
+
:param description: The description of the pool.
|
|
1505
|
+
:param tags: The tags for the pool.
|
|
1506
|
+
:param timeout_settings: The amount of time that a pool session remains active after users disconnect. If they try to reconnect to the pool session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new pool instance.
|
|
1487
1507
|
|
|
1488
1508
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html
|
|
1489
1509
|
:exampleMetadata: fixture=_generated
|
|
@@ -1548,7 +1568,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1548
1568
|
|
|
1549
1569
|
@builtins.property
|
|
1550
1570
|
def bundle_id(self) -> builtins.str:
|
|
1551
|
-
'''
|
|
1571
|
+
'''The identifier of the bundle used by the pool.
|
|
1572
|
+
|
|
1552
1573
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-bundleid
|
|
1553
1574
|
'''
|
|
1554
1575
|
result = self._values.get("bundle_id")
|
|
@@ -1559,7 +1580,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1559
1580
|
def capacity(
|
|
1560
1581
|
self,
|
|
1561
1582
|
) -> typing.Union[_IResolvable_da3f097b, CfnWorkspacesPool.CapacityProperty]:
|
|
1562
|
-
'''
|
|
1583
|
+
'''Describes the user capacity for the pool.
|
|
1584
|
+
|
|
1563
1585
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-capacity
|
|
1564
1586
|
'''
|
|
1565
1587
|
result = self._values.get("capacity")
|
|
@@ -1568,7 +1590,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1568
1590
|
|
|
1569
1591
|
@builtins.property
|
|
1570
1592
|
def directory_id(self) -> builtins.str:
|
|
1571
|
-
'''
|
|
1593
|
+
'''The identifier of the directory used by the pool.
|
|
1594
|
+
|
|
1572
1595
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-directoryid
|
|
1573
1596
|
'''
|
|
1574
1597
|
result = self._values.get("directory_id")
|
|
@@ -1577,7 +1600,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1577
1600
|
|
|
1578
1601
|
@builtins.property
|
|
1579
1602
|
def pool_name(self) -> builtins.str:
|
|
1580
|
-
'''
|
|
1603
|
+
'''The name of the pool.
|
|
1604
|
+
|
|
1581
1605
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-poolname
|
|
1582
1606
|
'''
|
|
1583
1607
|
result = self._values.get("pool_name")
|
|
@@ -1588,7 +1612,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1588
1612
|
def application_settings(
|
|
1589
1613
|
self,
|
|
1590
1614
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspacesPool.ApplicationSettingsProperty]]:
|
|
1591
|
-
'''
|
|
1615
|
+
'''The persistent application settings for users of the pool.
|
|
1616
|
+
|
|
1592
1617
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-applicationsettings
|
|
1593
1618
|
'''
|
|
1594
1619
|
result = self._values.get("application_settings")
|
|
@@ -1596,7 +1621,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1596
1621
|
|
|
1597
1622
|
@builtins.property
|
|
1598
1623
|
def description(self) -> typing.Optional[builtins.str]:
|
|
1599
|
-
'''
|
|
1624
|
+
'''The description of the pool.
|
|
1625
|
+
|
|
1600
1626
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-description
|
|
1601
1627
|
'''
|
|
1602
1628
|
result = self._values.get("description")
|
|
@@ -1604,7 +1630,8 @@ class CfnWorkspacesPoolProps:
|
|
|
1604
1630
|
|
|
1605
1631
|
@builtins.property
|
|
1606
1632
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
1607
|
-
'''
|
|
1633
|
+
'''The tags for the pool.
|
|
1634
|
+
|
|
1608
1635
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-tags
|
|
1609
1636
|
'''
|
|
1610
1637
|
result = self._values.get("tags")
|
|
@@ -1614,7 +1641,10 @@ class CfnWorkspacesPoolProps:
|
|
|
1614
1641
|
def timeout_settings(
|
|
1615
1642
|
self,
|
|
1616
1643
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspacesPool.TimeoutSettingsProperty]]:
|
|
1617
|
-
'''
|
|
1644
|
+
'''The amount of time that a pool session remains active after users disconnect.
|
|
1645
|
+
|
|
1646
|
+
If they try to reconnect to the pool session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new pool instance.
|
|
1647
|
+
|
|
1618
1648
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html#cfn-workspaces-workspacespool-timeoutsettings
|
|
1619
1649
|
'''
|
|
1620
1650
|
result = self._values.get("timeout_settings")
|
|
@@ -158,7 +158,7 @@ The return value from `onEvent` must be a JSON object with the following fields:
|
|
|
158
158
|
| -------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
159
159
|
| `PhysicalResourceId` | String | No | The allocated/assigned physical ID of the resource. If omitted for `Create` events, the event's `RequestId` will be used. For `Update`, the current physical ID will be used. If a different value is returned, CloudFormation will follow with a subsequent `Delete` for the previous ID (resource replacement). For `Delete`, it will always return the current physical resource ID, and if the user returns a different one, an error will occur. |
|
|
160
160
|
| `Data` | JSON | No | Resource attributes, which can later be retrieved through `Fn::GetAtt` on the custom resource object. |
|
|
161
|
-
| `NoEcho` | Boolean | No | Whether to mask the output of the custom resource when retrieved by using the `Fn::GetAtt` function.
|
|
161
|
+
| `NoEcho` | Boolean | No | Whether to mask the output of the custom resource when retrieved by using the `Fn::GetAtt` function and to mask the `Data` values. |
|
|
162
162
|
| *any* | *any* | No | Any other field included in the response will be passed through to `isComplete`. This can sometimes be useful to pass state between the handlers. |
|
|
163
163
|
|
|
164
164
|
### Asynchronous Providers: isComplete
|
|
@@ -215,6 +215,48 @@ must return this name in `PhysicalResourceId` and make sure to handle
|
|
|
215
215
|
replacement properly. The `S3File` example demonstrates this
|
|
216
216
|
through the `objectKey` property.
|
|
217
217
|
|
|
218
|
+
### Masking the output of log statements
|
|
219
|
+
|
|
220
|
+
When using the Provider framework to create a custom resource, the request and response
|
|
221
|
+
objects are logged by the provider function.If secret values are returned in the custom
|
|
222
|
+
resource's Data object, it would be logged and exposed which possesses security threats.
|
|
223
|
+
|
|
224
|
+
To mask the output of log statements, you can utilize the `NoEcho` field in the custom
|
|
225
|
+
resource handler's response.
|
|
226
|
+
|
|
227
|
+
```python
|
|
228
|
+
# Create custom resource handler entrypoint
|
|
229
|
+
handler = lambda_.Function(self, "my-handler",
|
|
230
|
+
runtime=lambda_.Runtime.NODEJS_20_X,
|
|
231
|
+
handler="index.handler",
|
|
232
|
+
code=lambda_.Code.from_inline("""
|
|
233
|
+
exports.handler = async (event, context) => {
|
|
234
|
+
return {
|
|
235
|
+
PhysicalResourceId: '1234',
|
|
236
|
+
NoEcho: true,
|
|
237
|
+
Data: {
|
|
238
|
+
mySecret: 'secret-value',
|
|
239
|
+
hello: 'world',
|
|
240
|
+
ghToken: 'gho_xxxxxxx',
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
};""")
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Provision a custom resource provider framework
|
|
247
|
+
provider = cr.Provider(self, "my-provider",
|
|
248
|
+
on_event_handler=handler
|
|
249
|
+
)
|
|
250
|
+
|
|
251
|
+
CustomResource(self, "my-cr",
|
|
252
|
+
service_token=provider.service_token
|
|
253
|
+
)
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
When `NoEcho` field is set to `true` in the response of custom resource handler,
|
|
257
|
+
it will automatically mask all values in the `Data` object in the log statements
|
|
258
|
+
to asterisks (*****).
|
|
259
|
+
|
|
218
260
|
### When there are errors
|
|
219
261
|
|
|
220
262
|
As mentioned above, if any of the user handlers fail (i.e. throws an exception)
|
|
@@ -2011,18 +2053,31 @@ class Provider(
|
|
|
2011
2053
|
|
|
2012
2054
|
Example::
|
|
2013
2055
|
|
|
2014
|
-
#
|
|
2015
|
-
|
|
2016
|
-
|
|
2056
|
+
# Create custom resource handler entrypoint
|
|
2057
|
+
handler = lambda_.Function(self, "my-handler",
|
|
2058
|
+
runtime=lambda_.Runtime.NODEJS_20_X,
|
|
2059
|
+
handler="index.handler",
|
|
2060
|
+
code=lambda_.Code.from_inline("""
|
|
2061
|
+
exports.handler = async (event, context) => {
|
|
2062
|
+
return {
|
|
2063
|
+
PhysicalResourceId: '1234',
|
|
2064
|
+
NoEcho: true,
|
|
2065
|
+
Data: {
|
|
2066
|
+
mySecret: 'secret-value',
|
|
2067
|
+
hello: 'world',
|
|
2068
|
+
ghToken: 'gho_xxxxxxx',
|
|
2069
|
+
},
|
|
2070
|
+
};
|
|
2071
|
+
};""")
|
|
2072
|
+
)
|
|
2017
2073
|
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
provider_function_name="the-lambda-name"
|
|
2074
|
+
# Provision a custom resource provider framework
|
|
2075
|
+
provider = cr.Provider(self, "my-provider",
|
|
2076
|
+
on_event_handler=handler
|
|
2077
|
+
)
|
|
2078
|
+
|
|
2079
|
+
CustomResource(self, "my-cr",
|
|
2080
|
+
service_token=provider.service_token
|
|
2026
2081
|
)
|
|
2027
2082
|
'''
|
|
2028
2083
|
|
|
@@ -2166,18 +2221,31 @@ class ProviderProps:
|
|
|
2166
2221
|
|
|
2167
2222
|
Example::
|
|
2168
2223
|
|
|
2169
|
-
#
|
|
2170
|
-
|
|
2171
|
-
|
|
2224
|
+
# Create custom resource handler entrypoint
|
|
2225
|
+
handler = lambda_.Function(self, "my-handler",
|
|
2226
|
+
runtime=lambda_.Runtime.NODEJS_20_X,
|
|
2227
|
+
handler="index.handler",
|
|
2228
|
+
code=lambda_.Code.from_inline("""
|
|
2229
|
+
exports.handler = async (event, context) => {
|
|
2230
|
+
return {
|
|
2231
|
+
PhysicalResourceId: '1234',
|
|
2232
|
+
NoEcho: true,
|
|
2233
|
+
Data: {
|
|
2234
|
+
mySecret: 'secret-value',
|
|
2235
|
+
hello: 'world',
|
|
2236
|
+
ghToken: 'gho_xxxxxxx',
|
|
2237
|
+
},
|
|
2238
|
+
};
|
|
2239
|
+
};""")
|
|
2240
|
+
)
|
|
2241
|
+
|
|
2242
|
+
# Provision a custom resource provider framework
|
|
2243
|
+
provider = cr.Provider(self, "my-provider",
|
|
2244
|
+
on_event_handler=handler
|
|
2245
|
+
)
|
|
2172
2246
|
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
is_complete_handler=is_complete,
|
|
2176
|
-
log_group=logs.LogGroup(self, "MyProviderLogs",
|
|
2177
|
-
retention=logs.RetentionDays.ONE_DAY
|
|
2178
|
-
),
|
|
2179
|
-
role=my_role,
|
|
2180
|
-
provider_function_name="the-lambda-name"
|
|
2247
|
+
CustomResource(self, "my-cr",
|
|
2248
|
+
service_token=provider.service_token
|
|
2181
2249
|
)
|
|
2182
2250
|
'''
|
|
2183
2251
|
if isinstance(vpc_subnets, dict):
|
aws_cdk/pipelines/__init__.py
CHANGED
|
@@ -28,7 +28,7 @@ construct library directly.
|
|
|
28
28
|
> engines other than CodePipeline.
|
|
29
29
|
>
|
|
30
30
|
> The README for the original API, as well as a migration guide, can be found in
|
|
31
|
-
> [our GitHub repository](https://github.com/aws/aws-cdk/blob/main/packages
|
|
31
|
+
> [our GitHub repository](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/ORIGINAL_API.md).
|
|
32
32
|
|
|
33
33
|
## At a glance
|
|
34
34
|
|