aws-cdk-lib 2.202.0__py3-none-any.whl → 2.203.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 (62) hide show
  1. aws_cdk/__init__.py +46 -47
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.202.0.jsii.tgz → aws-cdk-lib@2.203.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +310 -4
  5. aws_cdk/aws_aiops/__init__.py +964 -0
  6. aws_cdk/aws_amplify/__init__.py +127 -0
  7. aws_cdk/aws_arczonalshift/__init__.py +8 -8
  8. aws_cdk/aws_b2bi/__init__.py +782 -3
  9. aws_cdk/aws_backup/__init__.py +22 -0
  10. aws_cdk/aws_batch/__init__.py +53 -1
  11. aws_cdk/aws_bedrock/__init__.py +123 -9
  12. aws_cdk/aws_cleanrooms/__init__.py +157 -154
  13. aws_cdk/aws_cloudformation/__init__.py +28 -28
  14. aws_cdk/aws_cloudfront/__init__.py +61 -18
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +37 -3
  16. aws_cdk/aws_cloudwatch/__init__.py +228 -2
  17. aws_cdk/aws_connect/__init__.py +120 -8
  18. aws_cdk/aws_connectcampaignsv2/__init__.py +25 -4
  19. aws_cdk/aws_customerprofiles/__init__.py +140 -20
  20. aws_cdk/aws_datazone/__init__.py +23 -4
  21. aws_cdk/aws_deadline/__init__.py +4 -4
  22. aws_cdk/aws_dsql/__init__.py +148 -0
  23. aws_cdk/aws_ec2/__init__.py +159 -7
  24. aws_cdk/aws_ecr/__init__.py +3 -3
  25. aws_cdk/aws_ecs/__init__.py +48 -13
  26. aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -2
  27. aws_cdk/aws_emrserverless/__init__.py +118 -0
  28. aws_cdk/aws_fsx/__init__.py +891 -0
  29. aws_cdk/aws_iam/__init__.py +8 -8
  30. aws_cdk/aws_inspectorv2/__init__.py +442 -3
  31. aws_cdk/aws_kendra/__init__.py +10 -5
  32. aws_cdk/aws_kms/__init__.py +14 -8
  33. aws_cdk/aws_lambda/__init__.py +191 -24
  34. aws_cdk/aws_lambda_nodejs/__init__.py +37 -3
  35. aws_cdk/aws_lex/__init__.py +703 -0
  36. aws_cdk/aws_logs/__init__.py +144 -0
  37. aws_cdk/aws_mediatailor/__init__.py +399 -0
  38. aws_cdk/aws_mpa/__init__.py +1475 -0
  39. aws_cdk/aws_networkfirewall/__init__.py +4 -2
  40. aws_cdk/aws_networkmanager/__init__.py +51 -3
  41. aws_cdk/aws_opsworkscm/__init__.py +44 -2
  42. aws_cdk/aws_rds/__init__.py +171 -41
  43. aws_cdk/aws_redshiftserverless/__init__.py +632 -0
  44. aws_cdk/aws_route53resolver/__init__.py +58 -10
  45. aws_cdk/aws_s3/__init__.py +3 -1
  46. aws_cdk/aws_s3tables/__init__.py +230 -0
  47. aws_cdk/aws_sagemaker/__init__.py +6 -2
  48. aws_cdk/aws_securityhub/__init__.py +2887 -56
  49. aws_cdk/aws_synthetics/__init__.py +21 -0
  50. aws_cdk/aws_vpclattice/__init__.py +6 -4
  51. aws_cdk/aws_wafv2/__init__.py +156 -51
  52. aws_cdk/aws_workspacesinstances/__init__.py +3243 -0
  53. aws_cdk/cloud_assembly_schema/__init__.py +200 -4
  54. aws_cdk/cx_api/__init__.py +15 -14
  55. aws_cdk/pipelines/__init__.py +31 -3
  56. aws_cdk/triggers/__init__.py +41 -4
  57. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/RECORD +62 -59
  59. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/top_level.txt +0 -0
@@ -1396,6 +1396,19 @@ endpoint.add_route("Route",
1396
1396
 
1397
1397
  Use the `connections` object of the endpoint to allow traffic to other security groups.
1398
1398
 
1399
+ To enable [client route enforcement](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-cre.html), configure the `clientRouteEnforcementOptions.enforced` prop to `true`:
1400
+
1401
+ ```python
1402
+ endpoint = vpc.add_client_vpn_endpoint("Endpoint",
1403
+ cidr="10.100.0.0/16",
1404
+ server_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id",
1405
+ client_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/client-certificate-id",
1406
+ client_route_enforcement_options=ec2.ClientRouteEnforcementOptions(
1407
+ enforced=True
1408
+ )
1409
+ )
1410
+ ```
1411
+
1399
1412
  ## Instances
1400
1413
 
1401
1414
  You can use the `Instance` class to start up a single EC2 instance. For production setups, we recommend
@@ -41004,9 +41017,7 @@ class CfnNetworkInterfacePermission(
41004
41017
  metaclass=jsii.JSIIMeta,
41005
41018
  jsii_type="aws-cdk-lib.aws_ec2.CfnNetworkInterfacePermission",
41006
41019
  ):
41007
- '''Specifies a permission for an Amazon EC2 network interface.
41008
-
41009
- For example, you can grant an AWS authorized partner account permission to attach the specified network interface to an instance in their account.
41020
+ '''Specifies a permission for the network interface, For example, you can grant an AWS -authorized account permission to attach the network interface to an instance in their account.
41010
41021
 
41011
41022
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html
41012
41023
  :cloudformationResource: AWS::EC2::NetworkInterfacePermission
@@ -53087,8 +53098,9 @@ class CfnSubnet(
53087
53098
  *,
53088
53099
  internet_gateway_block_mode: typing.Optional[builtins.str] = None,
53089
53100
  ) -> None:
53090
- '''
53091
- :param internet_gateway_block_mode: The mode of VPC BPA. Options here are off, block-bidirectional, block-ingress
53101
+ '''The state of VPC Block Public Access (BPA).
53102
+
53103
+ :param internet_gateway_block_mode: The mode of VPC BPA. - ``off`` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region. - ``block-bidirectional`` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets). - ``block-ingress`` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
53092
53104
 
53093
53105
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-blockpublicaccessstates.html
53094
53106
  :exampleMetadata: fixture=_generated
@@ -53114,7 +53126,9 @@ class CfnSubnet(
53114
53126
  def internet_gateway_block_mode(self) -> typing.Optional[builtins.str]:
53115
53127
  '''The mode of VPC BPA.
53116
53128
 
53117
- Options here are off, block-bidirectional, block-ingress
53129
+ - ``off`` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.
53130
+ - ``block-bidirectional`` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).
53131
+ - ``block-ingress`` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
53118
53132
 
53119
53133
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-blockpublicaccessstates.html#cfn-ec2-subnet-blockpublicaccessstates-internetgatewayblockmode
53120
53134
  '''
@@ -54354,7 +54368,8 @@ class CfnTrafficMirrorFilter(
54354
54368
  @builtins.property
54355
54369
  @jsii.member(jsii_name="attrId")
54356
54370
  def attr_id(self) -> builtins.str:
54357
- '''
54371
+ '''The ID of a traffic mirror filter.
54372
+
54358
54373
  :cloudformationAttribute: Id
54359
54374
  '''
54360
54375
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -54646,6 +54661,15 @@ class CfnTrafficMirrorFilterRule(
54646
54661
  '''
54647
54662
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
54648
54663
 
54664
+ @builtins.property
54665
+ @jsii.member(jsii_name="attrTrafficMirrorFilterRuleId")
54666
+ def attr_traffic_mirror_filter_rule_id(self) -> builtins.str:
54667
+ '''The ID of the Traffic Mirror Filter rule.
54668
+
54669
+ :cloudformationAttribute: TrafficMirrorFilterRuleId
54670
+ '''
54671
+ return typing.cast(builtins.str, jsii.get(self, "attrTrafficMirrorFilterRuleId"))
54672
+
54649
54673
  @builtins.property
54650
54674
  @jsii.member(jsii_name="cdkTagManager")
54651
54675
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -71494,6 +71518,59 @@ class CfnVolumeProps:
71494
71518
  )
71495
71519
 
71496
71520
 
71521
+ @jsii.data_type(
71522
+ jsii_type="aws-cdk-lib.aws_ec2.ClientRouteEnforcementOptions",
71523
+ jsii_struct_bases=[],
71524
+ name_mapping={"enforced": "enforced"},
71525
+ )
71526
+ class ClientRouteEnforcementOptions:
71527
+ def __init__(self, *, enforced: builtins.bool) -> None:
71528
+ '''Options for Client Route Enforcement.
71529
+
71530
+ :param enforced: Enable or disable Client Route Enforcement. The state can either be true (enabled) or false (disabled).
71531
+
71532
+ :exampleMetadata: fixture=client-vpn infused
71533
+
71534
+ Example::
71535
+
71536
+ endpoint = vpc.add_client_vpn_endpoint("Endpoint",
71537
+ cidr="10.100.0.0/16",
71538
+ server_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id",
71539
+ client_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/client-certificate-id",
71540
+ client_route_enforcement_options=ec2.ClientRouteEnforcementOptions(
71541
+ enforced=True
71542
+ )
71543
+ )
71544
+ '''
71545
+ if __debug__:
71546
+ type_hints = typing.get_type_hints(_typecheckingstub__ff75a2d8f5c6dd9dde18d6e1933265e0d20a4b21489fde8d4735778facaad902)
71547
+ check_type(argname="argument enforced", value=enforced, expected_type=type_hints["enforced"])
71548
+ self._values: typing.Dict[builtins.str, typing.Any] = {
71549
+ "enforced": enforced,
71550
+ }
71551
+
71552
+ @builtins.property
71553
+ def enforced(self) -> builtins.bool:
71554
+ '''Enable or disable Client Route Enforcement.
71555
+
71556
+ The state can either be true (enabled) or false (disabled).
71557
+ '''
71558
+ result = self._values.get("enforced")
71559
+ assert result is not None, "Required property 'enforced' is missing"
71560
+ return typing.cast(builtins.bool, result)
71561
+
71562
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
71563
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
71564
+
71565
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
71566
+ return not (rhs == self)
71567
+
71568
+ def __repr__(self) -> str:
71569
+ return "ClientRouteEnforcementOptions(%s)" % ", ".join(
71570
+ k + "=" + repr(v) for k, v in self._values.items()
71571
+ )
71572
+
71573
+
71497
71574
  class ClientVpnAuthorizationRule(
71498
71575
  _Resource_45bc6135,
71499
71576
  metaclass=jsii.JSIIMeta,
@@ -71828,6 +71905,7 @@ class ClientVpnEndpointAttributes:
71828
71905
  "client_certificate_arn": "clientCertificateArn",
71829
71906
  "client_connection_handler": "clientConnectionHandler",
71830
71907
  "client_login_banner": "clientLoginBanner",
71908
+ "client_route_enforcement_options": "clientRouteEnforcementOptions",
71831
71909
  "description": "description",
71832
71910
  "dns_servers": "dnsServers",
71833
71911
  "logging": "logging",
@@ -71853,6 +71931,7 @@ class ClientVpnEndpointOptions:
71853
71931
  client_certificate_arn: typing.Optional[builtins.str] = None,
71854
71932
  client_connection_handler: typing.Optional["IClientVpnConnectionHandler"] = None,
71855
71933
  client_login_banner: typing.Optional[builtins.str] = None,
71934
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
71856
71935
  description: typing.Optional[builtins.str] = None,
71857
71936
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
71858
71937
  logging: typing.Optional[builtins.bool] = None,
@@ -71875,6 +71954,7 @@ class ClientVpnEndpointOptions:
71875
71954
  :param client_certificate_arn: The ARN of the client certificate for mutual authentication. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Default: - use user-based authentication
71876
71955
  :param client_connection_handler: The AWS Lambda function used for connection authorization. The name of the Lambda function must begin with the ``AWSClientVPN-`` prefix Default: - no connection handler
71877
71956
  :param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
71957
+ :param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
71878
71958
  :param description: A brief description of the Client VPN endpoint. Default: - no description
71879
71959
  :param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
71880
71960
  :param logging: Whether to enable connections logging. Default: true
@@ -71905,6 +71985,8 @@ class ClientVpnEndpointOptions:
71905
71985
  group_id="group-id"
71906
71986
  )
71907
71987
  '''
71988
+ if isinstance(client_route_enforcement_options, dict):
71989
+ client_route_enforcement_options = ClientRouteEnforcementOptions(**client_route_enforcement_options)
71908
71990
  if isinstance(vpc_subnets, dict):
71909
71991
  vpc_subnets = SubnetSelection(**vpc_subnets)
71910
71992
  if __debug__:
@@ -71915,6 +71997,7 @@ class ClientVpnEndpointOptions:
71915
71997
  check_type(argname="argument client_certificate_arn", value=client_certificate_arn, expected_type=type_hints["client_certificate_arn"])
71916
71998
  check_type(argname="argument client_connection_handler", value=client_connection_handler, expected_type=type_hints["client_connection_handler"])
71917
71999
  check_type(argname="argument client_login_banner", value=client_login_banner, expected_type=type_hints["client_login_banner"])
72000
+ check_type(argname="argument client_route_enforcement_options", value=client_route_enforcement_options, expected_type=type_hints["client_route_enforcement_options"])
71918
72001
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
71919
72002
  check_type(argname="argument dns_servers", value=dns_servers, expected_type=type_hints["dns_servers"])
71920
72003
  check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
@@ -71940,6 +72023,8 @@ class ClientVpnEndpointOptions:
71940
72023
  self._values["client_connection_handler"] = client_connection_handler
71941
72024
  if client_login_banner is not None:
71942
72025
  self._values["client_login_banner"] = client_login_banner
72026
+ if client_route_enforcement_options is not None:
72027
+ self._values["client_route_enforcement_options"] = client_route_enforcement_options
71943
72028
  if description is not None:
71944
72029
  self._values["description"] = description
71945
72030
  if dns_servers is not None:
@@ -72037,6 +72122,22 @@ class ClientVpnEndpointOptions:
72037
72122
  result = self._values.get("client_login_banner")
72038
72123
  return typing.cast(typing.Optional[builtins.str], result)
72039
72124
 
72125
+ @builtins.property
72126
+ def client_route_enforcement_options(
72127
+ self,
72128
+ ) -> typing.Optional[ClientRouteEnforcementOptions]:
72129
+ '''Options for Client Route Enforcement.
72130
+
72131
+ Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN.
72132
+ This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.
72133
+
72134
+ :default: undefined - AWS Client VPN default setting is disable client route enforcement
72135
+
72136
+ :see: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-cre.html
72137
+ '''
72138
+ result = self._values.get("client_route_enforcement_options")
72139
+ return typing.cast(typing.Optional[ClientRouteEnforcementOptions], result)
72140
+
72040
72141
  @builtins.property
72041
72142
  def description(self) -> typing.Optional[builtins.str]:
72042
72143
  '''A brief description of the Client VPN endpoint.
@@ -72184,6 +72285,7 @@ class ClientVpnEndpointOptions:
72184
72285
  "client_certificate_arn": "clientCertificateArn",
72185
72286
  "client_connection_handler": "clientConnectionHandler",
72186
72287
  "client_login_banner": "clientLoginBanner",
72288
+ "client_route_enforcement_options": "clientRouteEnforcementOptions",
72187
72289
  "description": "description",
72188
72290
  "dns_servers": "dnsServers",
72189
72291
  "logging": "logging",
@@ -72210,6 +72312,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72210
72312
  client_certificate_arn: typing.Optional[builtins.str] = None,
72211
72313
  client_connection_handler: typing.Optional["IClientVpnConnectionHandler"] = None,
72212
72314
  client_login_banner: typing.Optional[builtins.str] = None,
72315
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
72213
72316
  description: typing.Optional[builtins.str] = None,
72214
72317
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
72215
72318
  logging: typing.Optional[builtins.bool] = None,
@@ -72233,6 +72336,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72233
72336
  :param client_certificate_arn: The ARN of the client certificate for mutual authentication. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Default: - use user-based authentication
72234
72337
  :param client_connection_handler: The AWS Lambda function used for connection authorization. The name of the Lambda function must begin with the ``AWSClientVPN-`` prefix Default: - no connection handler
72235
72338
  :param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
72339
+ :param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
72236
72340
  :param description: A brief description of the Client VPN endpoint. Default: - no description
72237
72341
  :param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
72238
72342
  :param logging: Whether to enable connections logging. Default: true
@@ -72276,6 +72380,9 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72276
72380
  client_certificate_arn="clientCertificateArn",
72277
72381
  client_connection_handler=client_vpn_connection_handler,
72278
72382
  client_login_banner="clientLoginBanner",
72383
+ client_route_enforcement_options=ec2.ClientRouteEnforcementOptions(
72384
+ enforced=False
72385
+ ),
72279
72386
  description="description",
72280
72387
  dns_servers=["dnsServers"],
72281
72388
  logging=False,
@@ -72298,6 +72405,8 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72298
72405
  )
72299
72406
  )
72300
72407
  '''
72408
+ if isinstance(client_route_enforcement_options, dict):
72409
+ client_route_enforcement_options = ClientRouteEnforcementOptions(**client_route_enforcement_options)
72301
72410
  if isinstance(vpc_subnets, dict):
72302
72411
  vpc_subnets = SubnetSelection(**vpc_subnets)
72303
72412
  if __debug__:
@@ -72308,6 +72417,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72308
72417
  check_type(argname="argument client_certificate_arn", value=client_certificate_arn, expected_type=type_hints["client_certificate_arn"])
72309
72418
  check_type(argname="argument client_connection_handler", value=client_connection_handler, expected_type=type_hints["client_connection_handler"])
72310
72419
  check_type(argname="argument client_login_banner", value=client_login_banner, expected_type=type_hints["client_login_banner"])
72420
+ check_type(argname="argument client_route_enforcement_options", value=client_route_enforcement_options, expected_type=type_hints["client_route_enforcement_options"])
72311
72421
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
72312
72422
  check_type(argname="argument dns_servers", value=dns_servers, expected_type=type_hints["dns_servers"])
72313
72423
  check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
@@ -72335,6 +72445,8 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72335
72445
  self._values["client_connection_handler"] = client_connection_handler
72336
72446
  if client_login_banner is not None:
72337
72447
  self._values["client_login_banner"] = client_login_banner
72448
+ if client_route_enforcement_options is not None:
72449
+ self._values["client_route_enforcement_options"] = client_route_enforcement_options
72338
72450
  if description is not None:
72339
72451
  self._values["description"] = description
72340
72452
  if dns_servers is not None:
@@ -72432,6 +72544,22 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
72432
72544
  result = self._values.get("client_login_banner")
72433
72545
  return typing.cast(typing.Optional[builtins.str], result)
72434
72546
 
72547
+ @builtins.property
72548
+ def client_route_enforcement_options(
72549
+ self,
72550
+ ) -> typing.Optional[ClientRouteEnforcementOptions]:
72551
+ '''Options for Client Route Enforcement.
72552
+
72553
+ Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN.
72554
+ This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.
72555
+
72556
+ :default: undefined - AWS Client VPN default setting is disable client route enforcement
72557
+
72558
+ :see: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-cre.html
72559
+ '''
72560
+ result = self._values.get("client_route_enforcement_options")
72561
+ return typing.cast(typing.Optional[ClientRouteEnforcementOptions], result)
72562
+
72435
72563
  @builtins.property
72436
72564
  def description(self) -> typing.Optional[builtins.str]:
72437
72565
  '''A brief description of the Client VPN endpoint.
@@ -77085,6 +77213,7 @@ class IVpc(_IResource_c80c4260, typing_extensions.Protocol):
77085
77213
  client_certificate_arn: typing.Optional[builtins.str] = None,
77086
77214
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
77087
77215
  client_login_banner: typing.Optional[builtins.str] = None,
77216
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
77088
77217
  description: typing.Optional[builtins.str] = None,
77089
77218
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
77090
77219
  logging: typing.Optional[builtins.bool] = None,
@@ -77108,6 +77237,7 @@ class IVpc(_IResource_c80c4260, typing_extensions.Protocol):
77108
77237
  :param client_certificate_arn: The ARN of the client certificate for mutual authentication. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Default: - use user-based authentication
77109
77238
  :param client_connection_handler: The AWS Lambda function used for connection authorization. The name of the Lambda function must begin with the ``AWSClientVPN-`` prefix Default: - no connection handler
77110
77239
  :param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
77240
+ :param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
77111
77241
  :param description: A brief description of the Client VPN endpoint. Default: - no description
77112
77242
  :param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
77113
77243
  :param logging: Whether to enable connections logging. Default: true
@@ -77331,6 +77461,7 @@ class _IVpcProxy(
77331
77461
  client_certificate_arn: typing.Optional[builtins.str] = None,
77332
77462
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
77333
77463
  client_login_banner: typing.Optional[builtins.str] = None,
77464
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
77334
77465
  description: typing.Optional[builtins.str] = None,
77335
77466
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
77336
77467
  logging: typing.Optional[builtins.bool] = None,
@@ -77354,6 +77485,7 @@ class _IVpcProxy(
77354
77485
  :param client_certificate_arn: The ARN of the client certificate for mutual authentication. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Default: - use user-based authentication
77355
77486
  :param client_connection_handler: The AWS Lambda function used for connection authorization. The name of the Lambda function must begin with the ``AWSClientVPN-`` prefix Default: - no connection handler
77356
77487
  :param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
77488
+ :param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
77357
77489
  :param description: A brief description of the Client VPN endpoint. Default: - no description
77358
77490
  :param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
77359
77491
  :param logging: Whether to enable connections logging. Default: true
@@ -77378,6 +77510,7 @@ class _IVpcProxy(
77378
77510
  client_certificate_arn=client_certificate_arn,
77379
77511
  client_connection_handler=client_connection_handler,
77380
77512
  client_login_banner=client_login_banner,
77513
+ client_route_enforcement_options=client_route_enforcement_options,
77381
77514
  description=description,
77382
77515
  dns_servers=dns_servers,
77383
77516
  logging=logging,
@@ -95057,6 +95190,7 @@ class Vpc(
95057
95190
  client_certificate_arn: typing.Optional[builtins.str] = None,
95058
95191
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
95059
95192
  client_login_banner: typing.Optional[builtins.str] = None,
95193
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
95060
95194
  description: typing.Optional[builtins.str] = None,
95061
95195
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
95062
95196
  logging: typing.Optional[builtins.bool] = None,
@@ -95080,6 +95214,7 @@ class Vpc(
95080
95214
  :param client_certificate_arn: The ARN of the client certificate for mutual authentication. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Default: - use user-based authentication
95081
95215
  :param client_connection_handler: The AWS Lambda function used for connection authorization. The name of the Lambda function must begin with the ``AWSClientVPN-`` prefix Default: - no connection handler
95082
95216
  :param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
95217
+ :param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
95083
95218
  :param description: A brief description of the Client VPN endpoint. Default: - no description
95084
95219
  :param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
95085
95220
  :param logging: Whether to enable connections logging. Default: true
@@ -95104,6 +95239,7 @@ class Vpc(
95104
95239
  client_certificate_arn=client_certificate_arn,
95105
95240
  client_connection_handler=client_connection_handler,
95106
95241
  client_login_banner=client_login_banner,
95242
+ client_route_enforcement_options=client_route_enforcement_options,
95107
95243
  description=description,
95108
95244
  dns_servers=dns_servers,
95109
95245
  logging=logging,
@@ -103607,6 +103743,7 @@ class ClientVpnEndpoint(
103607
103743
  client_certificate_arn: typing.Optional[builtins.str] = None,
103608
103744
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
103609
103745
  client_login_banner: typing.Optional[builtins.str] = None,
103746
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
103610
103747
  description: typing.Optional[builtins.str] = None,
103611
103748
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
103612
103749
  logging: typing.Optional[builtins.bool] = None,
@@ -103631,6 +103768,7 @@ class ClientVpnEndpoint(
103631
103768
  :param client_certificate_arn: The ARN of the client certificate for mutual authentication. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Default: - use user-based authentication
103632
103769
  :param client_connection_handler: The AWS Lambda function used for connection authorization. The name of the Lambda function must begin with the ``AWSClientVPN-`` prefix Default: - no connection handler
103633
103770
  :param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
103771
+ :param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
103634
103772
  :param description: A brief description of the Client VPN endpoint. Default: - no description
103635
103773
  :param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
103636
103774
  :param logging: Whether to enable connections logging. Default: true
@@ -103657,6 +103795,7 @@ class ClientVpnEndpoint(
103657
103795
  client_certificate_arn=client_certificate_arn,
103658
103796
  client_connection_handler=client_connection_handler,
103659
103797
  client_login_banner=client_login_banner,
103798
+ client_route_enforcement_options=client_route_enforcement_options,
103660
103799
  description=description,
103661
103800
  dns_servers=dns_servers,
103662
103801
  logging=logging,
@@ -104142,6 +104281,7 @@ __all__ = [
104142
104281
  "CfnVolumeAttachment",
104143
104282
  "CfnVolumeAttachmentProps",
104144
104283
  "CfnVolumeProps",
104284
+ "ClientRouteEnforcementOptions",
104145
104285
  "ClientVpnAuthorizationRule",
104146
104286
  "ClientVpnAuthorizationRuleOptions",
104147
104287
  "ClientVpnAuthorizationRuleProps",
@@ -114316,6 +114456,13 @@ def _typecheckingstub__df1f84bfc2d41a9f2d283d6a706150686c01c8f45a742c92af54cbee7
114316
114456
  """Type checking stubs"""
114317
114457
  pass
114318
114458
 
114459
+ def _typecheckingstub__ff75a2d8f5c6dd9dde18d6e1933265e0d20a4b21489fde8d4735778facaad902(
114460
+ *,
114461
+ enforced: builtins.bool,
114462
+ ) -> None:
114463
+ """Type checking stubs"""
114464
+ pass
114465
+
114319
114466
  def _typecheckingstub__6f8556471b9878ffc0a31155bd24890dd137dc2f25f5faa23ec8adbfb35154db(
114320
114467
  scope: _constructs_77d1e7e8.Construct,
114321
114468
  id: builtins.str,
@@ -114363,6 +114510,7 @@ def _typecheckingstub__73f8593e2e6199f8ae542cff4cbe02f0be09fd9043b8072cbb652d5b0
114363
114510
  client_certificate_arn: typing.Optional[builtins.str] = None,
114364
114511
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
114365
114512
  client_login_banner: typing.Optional[builtins.str] = None,
114513
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
114366
114514
  description: typing.Optional[builtins.str] = None,
114367
114515
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
114368
114516
  logging: typing.Optional[builtins.bool] = None,
@@ -114388,6 +114536,7 @@ def _typecheckingstub__8e89ba9082e1bc80500c526e8522c5a90e2a91bd17d985f5932611e0b
114388
114536
  client_certificate_arn: typing.Optional[builtins.str] = None,
114389
114537
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
114390
114538
  client_login_banner: typing.Optional[builtins.str] = None,
114539
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
114391
114540
  description: typing.Optional[builtins.str] = None,
114392
114541
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
114393
114542
  logging: typing.Optional[builtins.bool] = None,
@@ -114821,6 +114970,7 @@ def _typecheckingstub__19cdaa7bec0f733a863944b2be6c76392b1e518714158a913370b8de7
114821
114970
  client_certificate_arn: typing.Optional[builtins.str] = None,
114822
114971
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
114823
114972
  client_login_banner: typing.Optional[builtins.str] = None,
114973
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
114824
114974
  description: typing.Optional[builtins.str] = None,
114825
114975
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
114826
114976
  logging: typing.Optional[builtins.bool] = None,
@@ -116704,6 +116854,7 @@ def _typecheckingstub__04f8b7e933af74b695401b45c9c6b308e4684ecde3cb9a2a1e358a336
116704
116854
  client_certificate_arn: typing.Optional[builtins.str] = None,
116705
116855
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
116706
116856
  client_login_banner: typing.Optional[builtins.str] = None,
116857
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
116707
116858
  description: typing.Optional[builtins.str] = None,
116708
116859
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
116709
116860
  logging: typing.Optional[builtins.bool] = None,
@@ -117575,6 +117726,7 @@ def _typecheckingstub__9a2422e1dfabadbd7f572317ed37670a87714b6f36fe9da2a01f1e26e
117575
117726
  client_certificate_arn: typing.Optional[builtins.str] = None,
117576
117727
  client_connection_handler: typing.Optional[IClientVpnConnectionHandler] = None,
117577
117728
  client_login_banner: typing.Optional[builtins.str] = None,
117729
+ client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
117578
117730
  description: typing.Optional[builtins.str] = None,
117579
117731
  dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
117580
117732
  logging: typing.Optional[builtins.bool] = None,
@@ -2667,7 +2667,7 @@ class CfnRepositoryCreationTemplate(
2667
2667
  :param custom_role_arn: The ARN of the role to be assumed by Amazon ECR. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.
2668
2668
  :param description: The description associated with the repository creation template.
2669
2669
  :param encryption_configuration: The encryption configuration associated with the repository creation template.
2670
- :param image_tag_mutability: The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
2670
+ :param image_tag_mutability: The tag mutability setting for the repository. If this parameter is omitted, the default setting of ``MUTABLE`` will be used which will allow image tags to be overwritten. If ``IMMUTABLE`` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
2671
2671
  :param lifecycle_policy: The lifecycle policy to use for repositories created using the template.
2672
2672
  :param repository_policy: The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
2673
2673
  :param resource_tags: The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
@@ -2994,7 +2994,7 @@ class CfnRepositoryCreationTemplateProps:
2994
2994
  :param custom_role_arn: The ARN of the role to be assumed by Amazon ECR. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.
2995
2995
  :param description: The description associated with the repository creation template.
2996
2996
  :param encryption_configuration: The encryption configuration associated with the repository creation template.
2997
- :param image_tag_mutability: The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
2997
+ :param image_tag_mutability: The tag mutability setting for the repository. If this parameter is omitted, the default setting of ``MUTABLE`` will be used which will allow image tags to be overwritten. If ``IMMUTABLE`` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
2998
2998
  :param lifecycle_policy: The lifecycle policy to use for repositories created using the template.
2999
2999
  :param repository_policy: The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
3000
3000
  :param resource_tags: The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
@@ -3117,7 +3117,7 @@ class CfnRepositoryCreationTemplateProps:
3117
3117
  def image_tag_mutability(self) -> typing.Optional[builtins.str]:
3118
3118
  '''The tag mutability setting for the repository.
3119
3119
 
3120
- If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
3120
+ If this parameter is omitted, the default setting of ``MUTABLE`` will be used which will allow image tags to be overwritten. If ``IMMUTABLE`` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
3121
3121
 
3122
3122
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#cfn-ecr-repositorycreationtemplate-imagetagmutability
3123
3123
  '''