aws-cdk-lib 2.186.0__py3-none-any.whl → 2.188.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.

Files changed (85) hide show
  1. aws_cdk/__init__.py +303 -119
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.188.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +136 -0
  5. aws_cdk/aws_apigateway/__init__.py +69 -17
  6. aws_cdk/aws_apigatewayv2/__init__.py +88 -0
  7. aws_cdk/aws_appconfig/__init__.py +30 -14
  8. aws_cdk/aws_appsync/__init__.py +14 -5
  9. aws_cdk/aws_arczonalshift/__init__.py +4 -4
  10. aws_cdk/aws_bedrock/__init__.py +637 -32
  11. aws_cdk/aws_budgets/__init__.py +8 -8
  12. aws_cdk/aws_cassandra/__init__.py +4 -2
  13. aws_cdk/aws_ce/__init__.py +2 -2
  14. aws_cdk/aws_cloudformation/__init__.py +3 -3
  15. aws_cdk/aws_cloudfront/__init__.py +11 -0
  16. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  17. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  18. aws_cdk/aws_codebuild/__init__.py +32 -1
  19. aws_cdk/aws_codepipeline/__init__.py +47 -32
  20. aws_cdk/aws_codepipeline_actions/__init__.py +2786 -1042
  21. aws_cdk/aws_codestarnotifications/__init__.py +16 -16
  22. aws_cdk/aws_cognito/__init__.py +8 -2
  23. aws_cdk/aws_config/__init__.py +2 -5
  24. aws_cdk/aws_datazone/__init__.py +287 -226
  25. aws_cdk/aws_detective/__init__.py +3 -3
  26. aws_cdk/aws_dynamodb/__init__.py +37 -0
  27. aws_cdk/aws_ec2/__init__.py +2448 -442
  28. aws_cdk/aws_ecr/__init__.py +143 -0
  29. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  30. aws_cdk/aws_ecs/__init__.py +51 -0
  31. aws_cdk/aws_eks/__init__.py +222 -6
  32. aws_cdk/aws_events/__init__.py +8 -11
  33. aws_cdk/aws_events_targets/__init__.py +136 -0
  34. aws_cdk/aws_forecast/__init__.py +1 -1
  35. aws_cdk/aws_fsx/__init__.py +2 -2
  36. aws_cdk/aws_gamelift/__init__.py +11 -11
  37. aws_cdk/aws_iam/__init__.py +6 -4
  38. aws_cdk/aws_identitystore/__init__.py +6 -4
  39. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  40. aws_cdk/aws_kinesisfirehose/__init__.py +38 -0
  41. aws_cdk/aws_kms/__init__.py +10 -11
  42. aws_cdk/aws_lakeformation/__init__.py +3 -3
  43. aws_cdk/aws_lambda/__init__.py +105 -4
  44. aws_cdk/aws_lambda_event_sources/__init__.py +87 -25
  45. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  46. aws_cdk/aws_lex/__init__.py +985 -5
  47. aws_cdk/aws_logs/__init__.py +18 -0
  48. aws_cdk/aws_logs_destinations/__init__.py +146 -0
  49. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  50. aws_cdk/aws_mwaa/__init__.py +9 -9
  51. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  52. aws_cdk/aws_notifications/__init__.py +4 -4
  53. aws_cdk/aws_omics/__init__.py +225 -1
  54. aws_cdk/aws_opensearchserverless/__init__.py +31 -23
  55. aws_cdk/aws_organizations/__init__.py +1 -1
  56. aws_cdk/aws_pcaconnectorad/__init__.py +3 -2
  57. aws_cdk/aws_quicksight/__init__.py +268 -50
  58. aws_cdk/aws_rds/__init__.py +186 -10
  59. aws_cdk/aws_route53/__init__.py +5 -5
  60. aws_cdk/aws_route53recoverycontrol/__init__.py +41 -2
  61. aws_cdk/aws_rum/__init__.py +13 -10
  62. aws_cdk/aws_s3/__init__.py +3 -6
  63. aws_cdk/aws_s3_assets/__init__.py +70 -1
  64. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  65. aws_cdk/aws_sagemaker/__init__.py +47 -4
  66. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  67. aws_cdk/aws_securitylake/__init__.py +2 -2
  68. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  69. aws_cdk/aws_sns/__init__.py +1 -1
  70. aws_cdk/aws_ssmincidents/__init__.py +10 -10
  71. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  72. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  73. aws_cdk/aws_synthetics/__init__.py +9 -0
  74. aws_cdk/aws_systemsmanagersap/__init__.py +160 -0
  75. aws_cdk/aws_transfer/__init__.py +19 -10
  76. aws_cdk/aws_wafv2/__init__.py +512 -1141
  77. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  78. aws_cdk/cx_api/__init__.py +38 -2
  79. aws_cdk/pipelines/__init__.py +52 -2
  80. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/METADATA +4 -4
  81. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/RECORD +85 -85
  82. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/WHEEL +1 -1
  83. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/LICENSE +0 -0
  84. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/NOTICE +0 -0
  85. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/top_level.txt +0 -0
@@ -2254,7 +2254,7 @@ class CfnHostedZone(
2254
2254
  :param scope: Scope in which this resource is defined.
2255
2255
  :param id: Construct identifier for this resource (unique in its scope).
2256
2256
  :param hosted_zone_config: A complex type that contains an optional comment. If you don't want to specify a comment, omit the ``HostedZoneConfig`` and ``Comment`` elements.
2257
- :param hosted_zone_tags: Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *AWS Billing and Cost Management User Guide* .
2257
+ :param hosted_zone_tags: Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *Billing and Cost Management User Guide* .
2258
2258
  :param name: The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical. If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of ``NameServers`` that are returned by the ``Fn::GetAtt`` intrinsic function.
2259
2259
  :param query_logging_config: Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: - Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as ``NoError`` or ``ServFail`` - **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations. .. epigraph:: If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. - Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: - You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example: ``/aws/route53/ *hosted zone name*`` In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example: ``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`` To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: - For ``aws:SourceArn`` , supply the hosted zone ARN used in creating the query logging configuration. For example, ``aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID`` . - For ``aws:SourceAccount`` , supply the account ID for the account that creates the query logging configuration. For example, ``aws:SourceAccount:111111111111`` . For more information, see `The confused deputy problem <https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html>`_ in the *AWS IAM User Guide* . .. epigraph:: You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following: - Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: ``*hosted zone ID* / *edge location code*`` The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the `Route 53 Product Details <https://docs.aws.amazon.com/route53/details/>`_ page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see `Routing Internet Traffic to Your Website or Web Application <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html>`_ in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see `Logging DNS Queries <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html>`_ in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see `Amazon CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see `DeleteQueryLoggingConfig <https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html>`_ .
2260
2260
  :param vpcs: *Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone. .. epigraph:: For public hosted zones, omit ``VPCs`` , ``VPCId`` , and ``VPCRegion`` .
@@ -2702,7 +2702,7 @@ class CfnHostedZoneProps:
2702
2702
  '''Properties for defining a ``CfnHostedZone``.
2703
2703
 
2704
2704
  :param hosted_zone_config: A complex type that contains an optional comment. If you don't want to specify a comment, omit the ``HostedZoneConfig`` and ``Comment`` elements.
2705
- :param hosted_zone_tags: Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *AWS Billing and Cost Management User Guide* .
2705
+ :param hosted_zone_tags: Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *Billing and Cost Management User Guide* .
2706
2706
  :param name: The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical. If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of ``NameServers`` that are returned by the ``Fn::GetAtt`` intrinsic function.
2707
2707
  :param query_logging_config: Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: - Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as ``NoError`` or ``ServFail`` - **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations. .. epigraph:: If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. - Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: - You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example: ``/aws/route53/ *hosted zone name*`` In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example: ``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`` To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: - For ``aws:SourceArn`` , supply the hosted zone ARN used in creating the query logging configuration. For example, ``aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID`` . - For ``aws:SourceAccount`` , supply the account ID for the account that creates the query logging configuration. For example, ``aws:SourceAccount:111111111111`` . For more information, see `The confused deputy problem <https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html>`_ in the *AWS IAM User Guide* . .. epigraph:: You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following: - Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: ``*hosted zone ID* / *edge location code*`` The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the `Route 53 Product Details <https://docs.aws.amazon.com/route53/details/>`_ page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see `Routing Internet Traffic to Your Website or Web Application <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html>`_ in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see `Logging DNS Queries <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html>`_ in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see `Amazon CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see `DeleteQueryLoggingConfig <https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html>`_ .
2708
2708
  :param vpcs: *Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone. .. epigraph:: For public hosted zones, omit ``VPCs`` , ``VPCId`` , and ``VPCRegion`` .
@@ -2772,7 +2772,7 @@ class CfnHostedZoneProps:
2772
2772
  ) -> typing.Optional[typing.List[CfnHostedZone.HostedZoneTagProperty]]:
2773
2773
  '''Adds, edits, or deletes tags for a health check or a hosted zone.
2774
2774
 
2775
- For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *AWS Billing and Cost Management User Guide* .
2775
+ For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *Billing and Cost Management User Guide* .
2776
2776
 
2777
2777
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzonetags
2778
2778
  '''
@@ -3319,7 +3319,7 @@ class CfnRecordSet(
3319
3319
  @builtins.property
3320
3320
  @jsii.member(jsii_name="attrId")
3321
3321
  def attr_id(self) -> builtins.str:
3322
- '''Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth.
3322
+ '''This element contains an ID that you use when performing a ``GetChange`` action to get detailed information about the change.
3323
3323
 
3324
3324
  :cloudformationAttribute: Id
3325
3325
  '''
@@ -4286,7 +4286,7 @@ class CfnRecordSetGroup(
4286
4286
  @builtins.property
4287
4287
  @jsii.member(jsii_name="attrId")
4288
4288
  def attr_id(self) -> builtins.str:
4289
- '''Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth.
4289
+ '''This element contains an ID that you use when performing a ``GetChange`` action to get detailed information about the change.
4290
4290
 
4291
4291
  :cloudformationAttribute: Id
4292
4292
  '''
@@ -93,6 +93,7 @@ class CfnCluster(
93
93
  name="name",
94
94
 
95
95
  # the properties below are optional
96
+ network_type="networkType",
96
97
  tags=[CfnTag(
97
98
  key="key",
98
99
  value="value"
@@ -106,19 +107,21 @@ class CfnCluster(
106
107
  id: builtins.str,
107
108
  *,
108
109
  name: builtins.str,
110
+ network_type: typing.Optional[builtins.str] = None,
109
111
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
110
112
  ) -> None:
111
113
  '''
112
114
  :param scope: Scope in which this resource is defined.
113
115
  :param id: Construct identifier for this resource (unique in its scope).
114
116
  :param name: Name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon).
117
+ :param network_type: The network-type can either be IPV4 or DUALSTACK.
115
118
  :param tags: The tags associated with the cluster.
116
119
  '''
117
120
  if __debug__:
118
121
  type_hints = typing.get_type_hints(_typecheckingstub__a22ce3cb989f0084b0215729b9e32485e8f3c7d8c5b66e19c5d569e7319889ca)
119
122
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
120
123
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
121
- props = CfnClusterProps(name=name, tags=tags)
124
+ props = CfnClusterProps(name=name, network_type=network_type, tags=tags)
122
125
 
123
126
  jsii.create(self.__class__, self, [scope, id, props])
124
127
 
@@ -207,6 +210,19 @@ class CfnCluster(
207
210
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
208
211
  jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
209
212
 
213
+ @builtins.property
214
+ @jsii.member(jsii_name="networkType")
215
+ def network_type(self) -> typing.Optional[builtins.str]:
216
+ '''The network-type can either be IPV4 or DUALSTACK.'''
217
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkType"))
218
+
219
+ @network_type.setter
220
+ def network_type(self, value: typing.Optional[builtins.str]) -> None:
221
+ if __debug__:
222
+ type_hints = typing.get_type_hints(_typecheckingstub__74c93f15d95285d08220407a27806cfcda4c141a344adc3ac15370b18b03a26c)
223
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
224
+ jsii.set(self, "networkType", value) # pyright: ignore[reportArgumentType]
225
+
210
226
  @builtins.property
211
227
  @jsii.member(jsii_name="tagsRaw")
212
228
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -298,18 +314,20 @@ class CfnCluster(
298
314
  @jsii.data_type(
299
315
  jsii_type="aws-cdk-lib.aws_route53recoverycontrol.CfnClusterProps",
300
316
  jsii_struct_bases=[],
301
- name_mapping={"name": "name", "tags": "tags"},
317
+ name_mapping={"name": "name", "network_type": "networkType", "tags": "tags"},
302
318
  )
303
319
  class CfnClusterProps:
304
320
  def __init__(
305
321
  self,
306
322
  *,
307
323
  name: builtins.str,
324
+ network_type: typing.Optional[builtins.str] = None,
308
325
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
309
326
  ) -> None:
310
327
  '''Properties for defining a ``CfnCluster``.
311
328
 
312
329
  :param name: Name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon).
330
+ :param network_type: The network-type can either be IPV4 or DUALSTACK.
313
331
  :param tags: The tags associated with the cluster.
314
332
 
315
333
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html
@@ -325,6 +343,7 @@ class CfnClusterProps:
325
343
  name="name",
326
344
 
327
345
  # the properties below are optional
346
+ network_type="networkType",
328
347
  tags=[CfnTag(
329
348
  key="key",
330
349
  value="value"
@@ -334,10 +353,13 @@ class CfnClusterProps:
334
353
  if __debug__:
335
354
  type_hints = typing.get_type_hints(_typecheckingstub__24ce2dce26c7c141f1b9e0e5bcda1dc9d1ab67320e0af4676b77cea0c5569d52)
336
355
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
356
+ check_type(argname="argument network_type", value=network_type, expected_type=type_hints["network_type"])
337
357
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
338
358
  self._values: typing.Dict[builtins.str, typing.Any] = {
339
359
  "name": name,
340
360
  }
361
+ if network_type is not None:
362
+ self._values["network_type"] = network_type
341
363
  if tags is not None:
342
364
  self._values["tags"] = tags
343
365
 
@@ -353,6 +375,15 @@ class CfnClusterProps:
353
375
  assert result is not None, "Required property 'name' is missing"
354
376
  return typing.cast(builtins.str, result)
355
377
 
378
+ @builtins.property
379
+ def network_type(self) -> typing.Optional[builtins.str]:
380
+ '''The network-type can either be IPV4 or DUALSTACK.
381
+
382
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html#cfn-route53recoverycontrol-cluster-networktype
383
+ '''
384
+ result = self._values.get("network_type")
385
+ return typing.cast(typing.Optional[builtins.str], result)
386
+
356
387
  @builtins.property
357
388
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
358
389
  '''The tags associated with the cluster.
@@ -1597,6 +1628,7 @@ def _typecheckingstub__a22ce3cb989f0084b0215729b9e32485e8f3c7d8c5b66e19c5d569e73
1597
1628
  id: builtins.str,
1598
1629
  *,
1599
1630
  name: builtins.str,
1631
+ network_type: typing.Optional[builtins.str] = None,
1600
1632
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1601
1633
  ) -> None:
1602
1634
  """Type checking stubs"""
@@ -1620,6 +1652,12 @@ def _typecheckingstub__1c1256c59e47b758559a89c3e22392b86499c611a6b2d3207ea90be49
1620
1652
  """Type checking stubs"""
1621
1653
  pass
1622
1654
 
1655
+ def _typecheckingstub__74c93f15d95285d08220407a27806cfcda4c141a344adc3ac15370b18b03a26c(
1656
+ value: typing.Optional[builtins.str],
1657
+ ) -> None:
1658
+ """Type checking stubs"""
1659
+ pass
1660
+
1623
1661
  def _typecheckingstub__07baed78448e49810892cf249edb0e6836f52fd39d85bd39a03b4d9a5c018f83(
1624
1662
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
1625
1663
  ) -> None:
@@ -1637,6 +1675,7 @@ def _typecheckingstub__417623fb2e8bf530a95eb326a2e5d219300a55ce5482328b4bf15990d
1637
1675
  def _typecheckingstub__24ce2dce26c7c141f1b9e0e5bcda1dc9d1ab67320e0af4676b77cea0c5569d52(
1638
1676
  *,
1639
1677
  name: builtins.str,
1678
+ network_type: typing.Optional[builtins.str] = None,
1640
1679
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1641
1680
  ) -> None:
1642
1681
  """Type checking stubs"""
@@ -175,8 +175,8 @@ class CfnAppMonitor(
175
175
  :param custom_events: Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are ``DISABLED`` .
176
176
  :param cw_log_enabled: Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. If you omit this parameter, the default is ``false`` .
177
177
  :param deobfuscation_configuration: A structure that contains the configuration for how an app monitor can deobfuscate stack traces.
178
- :param domain: The top-level internet domain name for which your application has administrative authority. This parameter is required.
179
- :param domain_list: The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.
178
+ :param domain: The top-level internet domain name for which your application has administrative authority. This parameter or the ``DomainList`` parameter is required.
179
+ :param domain_list: List the domain names for which your application has administrative authority. This parameter or the ``Domain`` parameter is required. You can have a minimum of 1 and a maximum of 5 ``Domain`` under ``DomainList`` . Each ``Domain`` must be a minimum length of 1 and a maximum of 253 characters.
180
180
  :param resource_policy: Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see `Using resource-based policies with CloudWatch RUM <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html>`_ .
181
181
  :param tags: Assigns one or more tags (key-value pairs) to the app monitor. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can associate as many as 50 tags with an app monitor. For more information, see `Tagging AWS resources <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ .
182
182
  '''
@@ -349,7 +349,10 @@ class CfnAppMonitor(
349
349
  @builtins.property
350
350
  @jsii.member(jsii_name="domainList")
351
351
  def domain_list(self) -> typing.Optional[typing.List[builtins.str]]:
352
- '''The top-level internet domain names for which your application has administrative authority.'''
352
+ '''List the domain names for which your application has administrative authority.
353
+
354
+ This parameter or the ``Domain`` parameter is required.
355
+ '''
353
356
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "domainList"))
354
357
 
355
358
  @domain_list.setter
@@ -762,7 +765,7 @@ class CfnAppMonitor(
762
765
  ) -> None:
763
766
  '''A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.
764
767
 
765
- :param status: Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED
768
+ :param status: Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be ``DISABLED`` .
766
769
  :param s3_uri: The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.
767
770
 
768
771
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-javascriptsourcemaps.html
@@ -795,7 +798,7 @@ class CfnAppMonitor(
795
798
  def status(self) -> builtins.str:
796
799
  '''Specifies whether JavaScript error stack traces should be unminified for this app monitor.
797
800
 
798
- The default is for JavaScript error stack trace unminification to be DISABLED
801
+ The default is for JavaScript error stack trace unminification to be ``DISABLED`` .
799
802
 
800
803
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-javascriptsourcemaps.html#cfn-rum-appmonitor-javascriptsourcemaps-status
801
804
  '''
@@ -1252,8 +1255,8 @@ class CfnAppMonitorProps:
1252
1255
  :param custom_events: Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are ``DISABLED`` .
1253
1256
  :param cw_log_enabled: Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. If you omit this parameter, the default is ``false`` .
1254
1257
  :param deobfuscation_configuration: A structure that contains the configuration for how an app monitor can deobfuscate stack traces.
1255
- :param domain: The top-level internet domain name for which your application has administrative authority. This parameter is required.
1256
- :param domain_list: The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.
1258
+ :param domain: The top-level internet domain name for which your application has administrative authority. This parameter or the ``DomainList`` parameter is required.
1259
+ :param domain_list: List the domain names for which your application has administrative authority. This parameter or the ``Domain`` parameter is required. You can have a minimum of 1 and a maximum of 5 ``Domain`` under ``DomainList`` . Each ``Domain`` must be a minimum length of 1 and a maximum of 253 characters.
1257
1260
  :param resource_policy: Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see `Using resource-based policies with CloudWatch RUM <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html>`_ .
1258
1261
  :param tags: Assigns one or more tags (key-value pairs) to the app monitor. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can associate as many as 50 tags with an app monitor. For more information, see `Tagging AWS resources <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ .
1259
1262
 
@@ -1427,7 +1430,7 @@ class CfnAppMonitorProps:
1427
1430
  def domain(self) -> typing.Optional[builtins.str]:
1428
1431
  '''The top-level internet domain name for which your application has administrative authority.
1429
1432
 
1430
- This parameter is required.
1433
+ This parameter or the ``DomainList`` parameter is required.
1431
1434
 
1432
1435
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-domain
1433
1436
  '''
@@ -1436,9 +1439,9 @@ class CfnAppMonitorProps:
1436
1439
 
1437
1440
  @builtins.property
1438
1441
  def domain_list(self) -> typing.Optional[typing.List[builtins.str]]:
1439
- '''The top-level internet domain names for which your application has administrative authority.
1442
+ '''List the domain names for which your application has administrative authority. This parameter or the ``Domain`` parameter is required.
1440
1443
 
1441
- The CreateAppMonitor requires either the domain or the domain list.
1444
+ You can have a minimum of 1 and a maximum of 5 ``Domain`` under ``DomainList`` . Each ``Domain`` must be a minimum length of 1 and a maximum of 253 characters.
1442
1445
 
1443
1446
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-domainlist
1444
1447
  '''
@@ -2087,7 +2087,7 @@ class BucketProps:
2087
2087
  :param bucket_key_enabled: Whether Amazon S3 should use its own intermediary key to generate data keys. Only relevant when using KMS for encryption. - If not enabled, every object GET and PUT will cause an API call to KMS (with the attendant cost implications of that). - If enabled, S3 will use its own time-limited key instead. Only relevant, when Encryption is not set to ``BucketEncryption.UNENCRYPTED``. Default: - false
2088
2088
  :param bucket_name: Physical name of this bucket. Default: - Assigned by CloudFormation (recommended).
2089
2089
  :param cors: The CORS configuration of this bucket. Default: - No CORS configuration.
2090
- :param encryption: The kind of server-side encryption to apply to this bucket. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryption key is not specified, a key will automatically be created. Default: - ``KMS`` if ``encryptionKey`` is specified, or ``UNENCRYPTED`` otherwise. But if ``UNENCRYPTED`` is specified, the bucket will be encrypted as ``S3_MANAGED`` automatically.
2090
+ :param encryption: The kind of server-side encryption to apply to this bucket. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryption key is not specified, a key will automatically be created. Default: - ``KMS`` if ``encryptionKey`` is specified, or ``S3_MANAGED`` otherwise.
2091
2091
  :param encryption_key: External KMS key to use for bucket encryption. The ``encryption`` property must be either not specified or set to ``KMS`` or ``DSSE``. An error will be emitted if ``encryption`` is set to ``UNENCRYPTED`` or ``S3_MANAGED``. Default: - If ``encryption`` is set to ``KMS`` and this property is undefined, a new KMS key will be created and associated with this bucket.
2092
2092
  :param enforce_ssl: Enforces SSL for requests. S3.5 of the AWS Foundational Security Best Practices Regarding S3. Default: false
2093
2093
  :param event_bridge_enabled: Whether this bucket should send notifications to Amazon EventBridge or not. Default: false
@@ -2325,10 +2325,7 @@ class BucketProps:
2325
2325
  If you choose KMS, you can specify a KMS key via ``encryptionKey``. If
2326
2326
  encryption key is not specified, a key will automatically be created.
2327
2327
 
2328
- :default:
2329
-
2330
- - ``KMS`` if ``encryptionKey`` is specified, or ``UNENCRYPTED`` otherwise.
2331
- But if ``UNENCRYPTED`` is specified, the bucket will be encrypted as ``S3_MANAGED`` automatically.
2328
+ :default: - ``KMS`` if ``encryptionKey`` is specified, or ``S3_MANAGED`` otherwise.
2332
2329
  '''
2333
2330
  result = self._values.get("encryption")
2334
2331
  return typing.cast(typing.Optional[BucketEncryption], result)
@@ -20670,7 +20667,7 @@ class Bucket(
20670
20667
  :param bucket_key_enabled: Whether Amazon S3 should use its own intermediary key to generate data keys. Only relevant when using KMS for encryption. - If not enabled, every object GET and PUT will cause an API call to KMS (with the attendant cost implications of that). - If enabled, S3 will use its own time-limited key instead. Only relevant, when Encryption is not set to ``BucketEncryption.UNENCRYPTED``. Default: - false
20671
20668
  :param bucket_name: Physical name of this bucket. Default: - Assigned by CloudFormation (recommended).
20672
20669
  :param cors: The CORS configuration of this bucket. Default: - No CORS configuration.
20673
- :param encryption: The kind of server-side encryption to apply to this bucket. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryption key is not specified, a key will automatically be created. Default: - ``KMS`` if ``encryptionKey`` is specified, or ``UNENCRYPTED`` otherwise. But if ``UNENCRYPTED`` is specified, the bucket will be encrypted as ``S3_MANAGED`` automatically.
20670
+ :param encryption: The kind of server-side encryption to apply to this bucket. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryption key is not specified, a key will automatically be created. Default: - ``KMS`` if ``encryptionKey`` is specified, or ``S3_MANAGED`` otherwise.
20674
20671
  :param encryption_key: External KMS key to use for bucket encryption. The ``encryption`` property must be either not specified or set to ``KMS`` or ``DSSE``. An error will be emitted if ``encryption`` is set to ``UNENCRYPTED`` or ``S3_MANAGED``. Default: - If ``encryption`` is set to ``KMS`` and this property is undefined, a new KMS key will be created and associated with this bucket.
20675
20672
  :param enforce_ssl: Enforces SSL for requests. S3.5 of the AWS Foundational Security Best Practices Regarding S3. Default: false
20676
20673
  :param event_bridge_enabled: Whether this bucket should send notifications to Amazon EventBridge or not. Default: false
@@ -24,7 +24,10 @@ to an S3 bucket during deployment.
24
24
 
25
25
  ```python
26
26
  asset = assets.Asset(self, "SampleAsset",
27
- path=path.join(__dirname, "file-asset.txt")
27
+ path=path.join(__dirname, "file-asset.txt"),
28
+
29
+ # Optional: describe the purpose of the asset with a human-readable string
30
+ display_name="My file"
28
31
  )
29
32
  ```
30
33
 
@@ -294,6 +297,7 @@ class Asset(
294
297
  *,
295
298
  path: builtins.str,
296
299
  deploy_time: typing.Optional[builtins.bool] = None,
300
+ display_name: typing.Optional[builtins.str] = None,
297
301
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
298
302
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
299
303
  asset_hash: typing.Optional[builtins.str] = None,
@@ -308,6 +312,7 @@ class Asset(
308
312
  :param id: -
309
313
  :param path: The disk location of the asset. The path should refer to one of the following: - A regular file or a .zip file, in which case the file will be uploaded as-is to S3. - A directory, in which case it will be archived into a .zip file and uploaded to S3.
310
314
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
315
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
311
316
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
312
317
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
313
318
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -324,6 +329,7 @@ class Asset(
324
329
  props = AssetProps(
325
330
  path=path,
326
331
  deploy_time=deploy_time,
332
+ display_name=display_name,
327
333
  readers=readers,
328
334
  source_kms_key=source_kms_key,
329
335
  asset_hash=asset_hash,
@@ -462,6 +468,7 @@ class Asset(
462
468
  "follow_symlinks": "followSymlinks",
463
469
  "ignore_mode": "ignoreMode",
464
470
  "deploy_time": "deployTime",
471
+ "display_name": "displayName",
465
472
  "readers": "readers",
466
473
  "source_kms_key": "sourceKMSKey",
467
474
  },
@@ -477,6 +484,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
477
484
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
478
485
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
479
486
  deploy_time: typing.Optional[builtins.bool] = None,
487
+ display_name: typing.Optional[builtins.str] = None,
480
488
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
481
489
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
482
490
  ) -> None:
@@ -488,6 +496,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
488
496
  :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
489
497
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
490
498
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
499
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
491
500
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
492
501
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
493
502
 
@@ -518,6 +527,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
518
527
  check_type(argname="argument follow_symlinks", value=follow_symlinks, expected_type=type_hints["follow_symlinks"])
519
528
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
520
529
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
530
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
521
531
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
522
532
  check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
523
533
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -535,6 +545,8 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
535
545
  self._values["ignore_mode"] = ignore_mode
536
546
  if deploy_time is not None:
537
547
  self._values["deploy_time"] = deploy_time
548
+ if display_name is not None:
549
+ self._values["display_name"] = display_name
538
550
  if readers is not None:
539
551
  self._values["readers"] = readers
540
552
  if source_kms_key is not None:
@@ -641,6 +653,30 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
641
653
  result = self._values.get("deploy_time")
642
654
  return typing.cast(typing.Optional[builtins.bool], result)
643
655
 
656
+ @builtins.property
657
+ def display_name(self) -> typing.Optional[builtins.str]:
658
+ '''A display name for this asset.
659
+
660
+ If supplied, the display name will be used in locations where the asset
661
+ identifier is printed, like in the CLI progress information. If the same
662
+ asset is added multiple times, the display name of the first occurrence is
663
+ used.
664
+
665
+ The default is the construct path of the Asset construct, with respect to
666
+ the enclosing stack. If the asset is produced by a construct helper
667
+ function (such as ``lambda.Code.fromAsset()``), this will look like
668
+ ``MyFunction/Code``.
669
+
670
+ We use the stack-relative construct path so that in the common case where
671
+ you have multiple stacks with the same asset, we won't show something like
672
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
673
+ production.
674
+
675
+ :default: - Stack-relative construct path
676
+ '''
677
+ result = self._values.get("display_name")
678
+ return typing.cast(typing.Optional[builtins.str], result)
679
+
644
680
  @builtins.property
645
681
  def readers(self) -> typing.Optional[typing.List[_IGrantable_71c4f5de]]:
646
682
  '''A list of principals that should be able to read this asset from S3.
@@ -684,6 +720,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
684
720
  "follow_symlinks": "followSymlinks",
685
721
  "ignore_mode": "ignoreMode",
686
722
  "deploy_time": "deployTime",
723
+ "display_name": "displayName",
687
724
  "readers": "readers",
688
725
  "source_kms_key": "sourceKMSKey",
689
726
  "path": "path",
@@ -700,6 +737,7 @@ class AssetProps(AssetOptions):
700
737
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
701
738
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
702
739
  deploy_time: typing.Optional[builtins.bool] = None,
740
+ display_name: typing.Optional[builtins.str] = None,
703
741
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
704
742
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
705
743
  path: builtins.str,
@@ -712,6 +750,7 @@ class AssetProps(AssetOptions):
712
750
  :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
713
751
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
714
752
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
753
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
715
754
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
716
755
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
717
756
  :param path: The disk location of the asset. The path should refer to one of the following: - A regular file or a .zip file, in which case the file will be uploaded as-is to S3. - A directory, in which case it will be archived into a .zip file and uploaded to S3.
@@ -743,6 +782,7 @@ class AssetProps(AssetOptions):
743
782
  check_type(argname="argument follow_symlinks", value=follow_symlinks, expected_type=type_hints["follow_symlinks"])
744
783
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
745
784
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
785
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
746
786
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
747
787
  check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
748
788
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
@@ -763,6 +803,8 @@ class AssetProps(AssetOptions):
763
803
  self._values["ignore_mode"] = ignore_mode
764
804
  if deploy_time is not None:
765
805
  self._values["deploy_time"] = deploy_time
806
+ if display_name is not None:
807
+ self._values["display_name"] = display_name
766
808
  if readers is not None:
767
809
  self._values["readers"] = readers
768
810
  if source_kms_key is not None:
@@ -869,6 +911,30 @@ class AssetProps(AssetOptions):
869
911
  result = self._values.get("deploy_time")
870
912
  return typing.cast(typing.Optional[builtins.bool], result)
871
913
 
914
+ @builtins.property
915
+ def display_name(self) -> typing.Optional[builtins.str]:
916
+ '''A display name for this asset.
917
+
918
+ If supplied, the display name will be used in locations where the asset
919
+ identifier is printed, like in the CLI progress information. If the same
920
+ asset is added multiple times, the display name of the first occurrence is
921
+ used.
922
+
923
+ The default is the construct path of the Asset construct, with respect to
924
+ the enclosing stack. If the asset is produced by a construct helper
925
+ function (such as ``lambda.Code.fromAsset()``), this will look like
926
+ ``MyFunction/Code``.
927
+
928
+ We use the stack-relative construct path so that in the common case where
929
+ you have multiple stacks with the same asset, we won't show something like
930
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
931
+ production.
932
+
933
+ :default: - Stack-relative construct path
934
+ '''
935
+ result = self._values.get("display_name")
936
+ return typing.cast(typing.Optional[builtins.str], result)
937
+
872
938
  @builtins.property
873
939
  def readers(self) -> typing.Optional[typing.List[_IGrantable_71c4f5de]]:
874
940
  '''A list of principals that should be able to read this asset from S3.
@@ -928,6 +994,7 @@ def _typecheckingstub__00df81fd3b746cf2ee52c0e7a23b6fdc1b45db97673ca7e25a9651e7e
928
994
  *,
929
995
  path: builtins.str,
930
996
  deploy_time: typing.Optional[builtins.bool] = None,
997
+ display_name: typing.Optional[builtins.str] = None,
931
998
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
932
999
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
933
1000
  asset_hash: typing.Optional[builtins.str] = None,
@@ -962,6 +1029,7 @@ def _typecheckingstub__11950fe0327642dd25ddfeb2c620bb33847718475fe489bf003d096a0
962
1029
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
963
1030
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
964
1031
  deploy_time: typing.Optional[builtins.bool] = None,
1032
+ display_name: typing.Optional[builtins.str] = None,
965
1033
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
966
1034
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
967
1035
  ) -> None:
@@ -977,6 +1045,7 @@ def _typecheckingstub__f879318d3885bc2e9c71c124fac7ad5a955812e438be7c03244c3aad7
977
1045
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
978
1046
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
979
1047
  deploy_time: typing.Optional[builtins.bool] = None,
1048
+ display_name: typing.Optional[builtins.str] = None,
980
1049
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
981
1050
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
982
1051
  path: builtins.str,
@@ -1952,6 +1952,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
1952
1952
  path: builtins.str,
1953
1953
  *,
1954
1954
  deploy_time: typing.Optional[builtins.bool] = None,
1955
+ display_name: typing.Optional[builtins.str] = None,
1955
1956
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
1956
1957
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
1957
1958
  asset_hash: typing.Optional[builtins.str] = None,
@@ -1968,6 +1969,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
1968
1969
 
1969
1970
  :param path: The path to a local .zip file or a directory.
1970
1971
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
1972
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
1971
1973
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
1972
1974
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
1973
1975
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -1982,6 +1984,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
1982
1984
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
1983
1985
  options = _AssetOptions_2aa69621(
1984
1986
  deploy_time=deploy_time,
1987
+ display_name=display_name,
1985
1988
  readers=readers,
1986
1989
  source_kms_key=source_kms_key,
1987
1990
  asset_hash=asset_hash,
@@ -2443,6 +2446,7 @@ def _typecheckingstub__fc877c69568cee7364ec77003356fc6818118602dda64adf3dbf38ff7
2443
2446
  path: builtins.str,
2444
2447
  *,
2445
2448
  deploy_time: typing.Optional[builtins.bool] = None,
2449
+ display_name: typing.Optional[builtins.str] = None,
2446
2450
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
2447
2451
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
2448
2452
  asset_hash: typing.Optional[builtins.str] = None,