aws-cdk-lib 2.114.0__py3-none-any.whl → 2.115.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 (47) hide show
  1. aws_cdk/__init__.py +7 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.114.0.jsii.tgz → aws-cdk-lib@2.115.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +6 -0
  5. aws_cdk/aws_apigatewayv2/__init__.py +223 -574
  6. aws_cdk/aws_autoscaling/__init__.py +99 -86
  7. aws_cdk/aws_bedrock/__init__.py +355 -0
  8. aws_cdk/aws_billingconductor/__init__.py +41 -0
  9. aws_cdk/aws_cleanrooms/__init__.py +46 -20
  10. aws_cdk/aws_cloudformation/__init__.py +5 -1
  11. aws_cdk/aws_cloudtrail/__init__.py +89 -0
  12. aws_cdk/aws_codedeploy/__init__.py +233 -1
  13. aws_cdk/aws_connect/__init__.py +49 -2
  14. aws_cdk/aws_dlm/__init__.py +8 -11
  15. aws_cdk/aws_dms/__init__.py +3861 -1643
  16. aws_cdk/aws_ec2/__init__.py +91 -47
  17. aws_cdk/aws_ecs/__init__.py +18 -0
  18. aws_cdk/aws_efs/__init__.py +1 -1
  19. aws_cdk/aws_eks/__init__.py +26 -13
  20. aws_cdk/aws_elasticloadbalancingv2/__init__.py +110 -54
  21. aws_cdk/aws_emr/__init__.py +287 -18
  22. aws_cdk/aws_eventschemas/__init__.py +1 -1
  23. aws_cdk/aws_fis/__init__.py +466 -34
  24. aws_cdk/aws_iam/__init__.py +47 -35
  25. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  26. aws_cdk/aws_lightsail/__init__.py +4 -2
  27. aws_cdk/aws_logs/__init__.py +5 -4
  28. aws_cdk/aws_opensearchservice/__init__.py +47 -0
  29. aws_cdk/aws_osis/__init__.py +272 -32
  30. aws_cdk/aws_rds/__init__.py +205 -87
  31. aws_cdk/aws_resiliencehub/__init__.py +9 -14
  32. aws_cdk/aws_rolesanywhere/__init__.py +41 -53
  33. aws_cdk/aws_route53/__init__.py +3 -3
  34. aws_cdk/aws_route53_targets/__init__.py +2 -2
  35. aws_cdk/aws_s3/__init__.py +2 -6
  36. aws_cdk/aws_s3express/__init__.py +3 -3
  37. aws_cdk/aws_sagemaker/__init__.py +82 -11
  38. aws_cdk/aws_sns/__init__.py +181 -0
  39. aws_cdk/aws_stepfunctions/__init__.py +16 -8
  40. aws_cdk/aws_stepfunctions_tasks/__init__.py +975 -139
  41. aws_cdk/aws_workspacesthinclient/__init__.py +44 -35
  42. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/METADATA +2 -2
  43. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/RECORD +47 -46
  44. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/top_level.txt +0 -0
@@ -9264,22 +9264,21 @@ class Policy(
9264
9264
 
9265
9265
  Example::
9266
9266
 
9267
- # books: apigateway.Resource
9268
- # iam_user: iam.User
9267
+ # post_auth_fn: lambda.Function
9269
9268
 
9270
9269
 
9271
- get_books = books.add_method("GET", apigateway.HttpIntegration("http://amazon.com"),
9272
- authorization_type=apigateway.AuthorizationType.IAM
9270
+ userpool = cognito.UserPool(self, "myuserpool",
9271
+ lambda_triggers=cognito.UserPoolTriggers(
9272
+ post_authentication=post_auth_fn
9273
+ )
9273
9274
  )
9274
9275
 
9275
- iam_user.attach_inline_policy(iam.Policy(self, "AllowBooks",
9276
- statements=[
9277
- iam.PolicyStatement(
9278
- actions=["execute-api:Invoke"],
9279
- effect=iam.Effect.ALLOW,
9280
- resources=[get_books.method_arn]
9281
- )
9282
- ]
9276
+ # provide permissions to describe the user pool scoped to the ARN the user pool
9277
+ post_auth_fn.role.attach_inline_policy(iam.Policy(self, "userpool-policy",
9278
+ statements=[iam.PolicyStatement(
9279
+ actions=["cognito-idp:DescribeUserPool"],
9280
+ resources=[userpool.user_pool_arn]
9281
+ )]
9283
9282
  ))
9284
9283
  '''
9285
9284
 
@@ -9870,27 +9869,34 @@ class PolicyStatement(
9870
9869
  ):
9871
9870
  '''Represents a statement in an IAM policy document.
9872
9871
 
9873
- :exampleMetadata: infused
9872
+ :exampleMetadata: lit=aws-ec2/test/integ.vpc-endpoint.lit.ts infused
9874
9873
 
9875
9874
  Example::
9876
9875
 
9877
- cross_account_role_arn = "arn:aws:iam::OTHERACCOUNT:role/CrossAccountRoleName" # arn of role deployed in separate account
9876
+ # Add gateway endpoints when creating the VPC
9877
+ vpc = ec2.Vpc(self, "MyVpc",
9878
+ gateway_endpoints={
9879
+ "S3": cdk.aws_ec2.GatewayVpcEndpointOptions(
9880
+ service=ec2.GatewayVpcEndpointAwsService.S3
9881
+ )
9882
+ }
9883
+ )
9878
9884
 
9879
- call_region = "us-west-1" # sdk call to be made in specified region (optional)
9885
+ # Alternatively gateway endpoints can be added on the VPC
9886
+ dynamo_db_endpoint = vpc.add_gateway_endpoint("DynamoDbEndpoint",
9887
+ service=ec2.GatewayVpcEndpointAwsService.DYNAMODB
9888
+ )
9880
9889
 
9881
- cr.AwsCustomResource(self, "CrossAccount",
9882
- on_create=cr.AwsSdkCall(
9883
- assumed_role_arn=cross_account_role_arn,
9884
- region=call_region, # optional
9885
- service="sts",
9886
- action="GetCallerIdentity",
9887
- physical_resource_id=cr.PhysicalResourceId.of("id")
9888
- ),
9889
- policy=cr.AwsCustomResourcePolicy.from_statements([iam.PolicyStatement.from_json({
9890
- "Effect": "Allow",
9891
- "Action": "sts:AssumeRole",
9892
- "Resource": cross_account_role_arn
9893
- })])
9890
+ # This allows to customize the endpoint policy
9891
+ dynamo_db_endpoint.add_to_policy(
9892
+ iam.PolicyStatement( # Restrict to listing and describing tables
9893
+ principals=[iam.AnyPrincipal()],
9894
+ actions=["dynamodb:DescribeTable", "dynamodb:ListTables"],
9895
+ resources=["*"]))
9896
+
9897
+ # Add an interface endpoint
9898
+ vpc.add_interface_endpoint("EcrDockerEndpoint",
9899
+ service=ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER
9894
9900
  )
9895
9901
  '''
9896
9902
 
@@ -13717,21 +13723,27 @@ class ArnPrincipal(
13717
13723
 
13718
13724
  Example::
13719
13725
 
13720
- # Option 3: Create a new role that allows the account root principal to assume. Add this role in the `system:masters` and witch to this role from the AWS console.
13721
- # cluster: eks.Cluster
13726
+ # Option 2: create your custom mastersRole with scoped assumeBy arn as the Cluster prop. Switch to this role from the AWS console.
13727
+ from aws_cdk.lambda_layer_kubectl_v28 import KubectlV28Layer
13728
+ # vpc: ec2.Vpc
13722
13729
 
13723
13730
 
13724
- console_read_only_role = iam.Role(self, "ConsoleReadOnlyRole",
13731
+ masters_role = iam.Role(self, "MastersRole",
13725
13732
  assumed_by=iam.ArnPrincipal("arn_for_trusted_principal")
13726
13733
  )
13727
- console_read_only_role.add_to_policy(iam.PolicyStatement(
13734
+
13735
+ cluster = eks.Cluster(self, "EksCluster",
13736
+ vpc=vpc,
13737
+ version=eks.KubernetesVersion.V1_28,
13738
+ kubectl_layer=KubectlV28Layer(self, "KubectlLayer"),
13739
+ masters_role=masters_role
13740
+ )
13741
+
13742
+ masters_role.add_to_policy(iam.PolicyStatement(
13728
13743
  actions=["eks:AccessKubernetesApi", "eks:Describe*", "eks:List*"
13729
13744
  ],
13730
13745
  resources=[cluster.cluster_arn]
13731
13746
  ))
13732
-
13733
- # Add this role to system:masters RBAC group
13734
- cluster.aws_auth.add_masters_role(console_read_only_role)
13735
13747
  '''
13736
13748
 
13737
13749
  def __init__(self, arn: builtins.str) -> None:
@@ -537,7 +537,7 @@ class CfnMonitor(
537
537
  ) -> None:
538
538
  '''Publish internet measurements to an Amazon S3 bucket in addition to CloudWatch Logs.
539
539
 
540
- :param s3_config: The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.
540
+ :param s3_config: The configuration information for publishing Internet Monitor internet measurements to Amazon S3. The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ``ENABLED`` or ``DISABLED`` , depending on whether you choose to deliver internet measurements to S3 logs.
541
541
 
542
542
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-internetmeasurementslogdelivery.html
543
543
  :exampleMetadata: fixture=_generated
@@ -567,7 +567,9 @@ class CfnMonitor(
567
567
  def s3_config(
568
568
  self,
569
569
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMonitor.S3ConfigProperty"]]:
570
- '''The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.
570
+ '''The configuration information for publishing Internet Monitor internet measurements to Amazon S3.
571
+
572
+ The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ``ENABLED`` or ``DISABLED`` , depending on whether you choose to deliver internet measurements to S3 logs.
571
573
 
572
574
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-internetmeasurementslogdelivery.html#cfn-internetmonitor-monitor-internetmeasurementslogdelivery-s3config
573
575
  '''
@@ -703,13 +705,11 @@ class CfnMonitor(
703
705
  ) -> None:
704
706
  '''The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.
705
707
 
706
- The configuration includes the bucket name and (optionally) bucket prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ``ENABLED`` if you choose to deliver internet measurements to S3 logs, and ``DISABLED`` otherwise.
708
+ The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ``ENABLED`` or ``DISABLED`` , depending on whether you choose to deliver internet measurements to S3 logs.
707
709
 
708
- The measurements are also published to Amazon CloudWatch Logs.
709
-
710
- :param bucket_name: The Amazon S3 bucket name for internet measurements publishing.
711
- :param bucket_prefix: An optional Amazon S3 bucket prefix for internet measurements publishing.
712
- :param log_delivery_status: The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket. The delivery status is ``ENABLED`` if you choose to deliver internet measurements to an S3 bucket, and ``DISABLED`` otherwise.
710
+ :param bucket_name: The Amazon S3 bucket name.
711
+ :param bucket_prefix: The Amazon S3 bucket prefix.
712
+ :param log_delivery_status: The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket.
713
713
 
714
714
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html
715
715
  :exampleMetadata: fixture=_generated
@@ -741,7 +741,7 @@ class CfnMonitor(
741
741
 
742
742
  @builtins.property
743
743
  def bucket_name(self) -> typing.Optional[builtins.str]:
744
- '''The Amazon S3 bucket name for internet measurements publishing.
744
+ '''The Amazon S3 bucket name.
745
745
 
746
746
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html#cfn-internetmonitor-monitor-s3config-bucketname
747
747
  '''
@@ -750,7 +750,7 @@ class CfnMonitor(
750
750
 
751
751
  @builtins.property
752
752
  def bucket_prefix(self) -> typing.Optional[builtins.str]:
753
- '''An optional Amazon S3 bucket prefix for internet measurements publishing.
753
+ '''The Amazon S3 bucket prefix.
754
754
 
755
755
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html#cfn-internetmonitor-monitor-s3config-bucketprefix
756
756
  '''
@@ -761,8 +761,6 @@ class CfnMonitor(
761
761
  def log_delivery_status(self) -> typing.Optional[builtins.str]:
762
762
  '''The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket.
763
763
 
764
- The delivery status is ``ENABLED`` if you choose to deliver internet measurements to an S3 bucket, and ``DISABLED`` otherwise.
765
-
766
764
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html#cfn-internetmonitor-monitor-s3config-logdeliverystatus
767
765
  '''
768
766
  result = self._values.get("log_delivery_status")
@@ -2879,7 +2879,7 @@ class CfnDatabase(
2879
2879
  :param relational_database_bundle_id: The bundle ID for the database (for example, ``medium_1_0`` ).
2880
2880
  :param relational_database_name: The name of the instance.
2881
2881
  :param availability_zone: The Availability Zone for the database.
2882
- :param backup_retention: A Boolean value indicating whether automated backup retention is enabled for the database.
2882
+ :param backup_retention: A Boolean value indicating whether automated backup retention is enabled for the database. Data Import Mode is enabled when ``BackupRetention`` is set to ``false`` , and is disabled when ``BackupRetention`` is set to ``true`` .
2883
2883
  :param ca_certificate_identifier: The certificate associated with the database.
2884
2884
  :param master_user_password: The password for the primary user of the database. The password can include any printable ASCII character except the following: /, ", or
2885
2885
  :param preferred_backup_window: The daily time range during which automated backups are created for the database (for example, ``16:00-16:30`` ).
@@ -3404,7 +3404,7 @@ class CfnDatabaseProps:
3404
3404
  :param relational_database_bundle_id: The bundle ID for the database (for example, ``medium_1_0`` ).
3405
3405
  :param relational_database_name: The name of the instance.
3406
3406
  :param availability_zone: The Availability Zone for the database.
3407
- :param backup_retention: A Boolean value indicating whether automated backup retention is enabled for the database.
3407
+ :param backup_retention: A Boolean value indicating whether automated backup retention is enabled for the database. Data Import Mode is enabled when ``BackupRetention`` is set to ``false`` , and is disabled when ``BackupRetention`` is set to ``true`` .
3408
3408
  :param ca_certificate_identifier: The certificate associated with the database.
3409
3409
  :param master_user_password: The password for the primary user of the database. The password can include any printable ASCII character except the following: /, ", or
3410
3410
  :param preferred_backup_window: The daily time range during which automated backups are created for the database (for example, ``16:00-16:30`` ).
@@ -3611,6 +3611,8 @@ class CfnDatabaseProps:
3611
3611
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3612
3612
  '''A Boolean value indicating whether automated backup retention is enabled for the database.
3613
3613
 
3614
+ Data Import Mode is enabled when ``BackupRetention`` is set to ``false`` , and is disabled when ``BackupRetention`` is set to ``true`` .
3615
+
3614
3616
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html#cfn-lightsail-database-backupretention
3615
3617
  '''
3616
3618
  result = self._values.get("backup_retention")
@@ -6000,7 +6000,7 @@ class LogGroup(
6000
6000
  :param id: -
6001
6001
  :param data_protection_policy: Data Protection Policy for this log group. Default: - no data protection policy
6002
6002
  :param encryption_key: The KMS customer managed key to encrypt the log group with. Default: Server-side encrpytion managed by the CloudWatch Logs service
6003
- :param log_group_class: The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. Default: LogGroupClass.STANDARD
6003
+ :param log_group_class: The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. The logGroupClass property cannot be changed once the log group is created. Default: LogGroupClass.STANDARD
6004
6004
  :param log_group_name: Name of the log group. Default: Automatically generated
6005
6005
  :param removal_policy: Determine the removal policy of this log group. Normally you want to retain the log group so you can diagnose issues from logs even after a deployment that no longer includes the log group. In that case, use the normal date-based retention policy to age out your logs. Default: RemovalPolicy.Retain
6006
6006
  :param retention: How long, in days, the log contents will be retained. To retain all logs, set this value to RetentionDays.INFINITE. Default: RetentionDays.TWO_YEARS
@@ -6294,7 +6294,7 @@ class LogGroupProps:
6294
6294
 
6295
6295
  :param data_protection_policy: Data Protection Policy for this log group. Default: - no data protection policy
6296
6296
  :param encryption_key: The KMS customer managed key to encrypt the log group with. Default: Server-side encrpytion managed by the CloudWatch Logs service
6297
- :param log_group_class: The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. Default: LogGroupClass.STANDARD
6297
+ :param log_group_class: The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. The logGroupClass property cannot be changed once the log group is created. Default: LogGroupClass.STANDARD
6298
6298
  :param log_group_name: Name of the log group. Default: Automatically generated
6299
6299
  :param removal_policy: Determine the removal policy of this log group. Normally you want to retain the log group so you can diagnose issues from logs even after a deployment that no longer includes the log group. In that case, use the normal date-based retention policy to age out your logs. Default: RemovalPolicy.Retain
6300
6300
  :param retention: How long, in days, the log contents will be retained. To retain all logs, set this value to RetentionDays.INFINITE. Default: RetentionDays.TWO_YEARS
@@ -6376,8 +6376,9 @@ class LogGroupProps:
6376
6376
  def log_group_class(self) -> typing.Optional[LogGroupClass]:
6377
6377
  '''The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS.
6378
6378
 
6379
- INFREQUENT_ACCESS class provides customers a cost-effective way to
6380
- consolidate logs which supports querying using Logs Insights.
6379
+ INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate
6380
+ logs which supports querying using Logs Insights. The logGroupClass property cannot
6381
+ be changed once the log group is created.
6381
6382
 
6382
6383
  :default: LogGroupClass.STANDARD
6383
6384
  '''
@@ -900,6 +900,7 @@ class CfnDomain(
900
900
  kms_key_id="kmsKeyId"
901
901
  ),
902
902
  engine_version="engineVersion",
903
+ ip_address_type="ipAddressType",
903
904
  log_publishing_options={
904
905
  "log_publishing_options_key": opensearchservice.CfnDomain.LogPublishingOptionProperty(
905
906
  cloud_watch_logs_log_group_arn="cloudWatchLogsLogGroupArn",
@@ -951,6 +952,7 @@ class CfnDomain(
951
952
  ebs_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.EBSOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
952
953
  encryption_at_rest_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.EncryptionAtRestOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
953
954
  engine_version: typing.Optional[builtins.str] = None,
955
+ ip_address_type: typing.Optional[builtins.str] = None,
954
956
  log_publishing_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.LogPublishingOptionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
955
957
  node_to_node_encryption_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.NodeToNodeEncryptionOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
956
958
  off_peak_window_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.OffPeakWindowOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -973,6 +975,7 @@ class CfnDomain(
973
975
  :param ebs_options: The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain. For more information, see `EBS volume size limits <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html#ebsresource>`_ in the *Amazon OpenSearch Service Developer Guide* .
974
976
  :param encryption_at_rest_options: Whether the domain should encrypt data at rest, and if so, the AWS KMS key to use. See `Encryption of data at rest for Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html>`_ .
975
977
  :param engine_version: The version of OpenSearch to use. The value must be in the format ``OpenSearch_X.Y`` or ``Elasticsearch_X.Y`` . If not specified, the latest version of OpenSearch is used. For information about the versions that OpenSearch Service supports, see `Supported versions of OpenSearch and Elasticsearch <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html#choosing-version>`_ in the *Amazon OpenSearch Service Developer Guide* . If you set the `EnableVersionUpgrade <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain>`_ update policy to ``true`` , you can update ``EngineVersion`` without interruption. When ``EnableVersionUpgrade`` is set to ``false`` , or is not specified, updating ``EngineVersion`` results in `replacement <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement>`_ .
978
+ :param ip_address_type:
976
979
  :param log_publishing_options: An object with one or more of the following keys: ``SEARCH_SLOW_LOGS`` , ``ES_APPLICATION_LOGS`` , ``INDEX_SLOW_LOGS`` , ``AUDIT_LOGS`` , depending on the types of logs you want to publish. Each key needs a valid ``LogPublishingOption`` value. For the full syntax, see the `examples <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html#aws-resource-opensearchservice-domain--examples>`_ .
977
980
  :param node_to_node_encryption_options: Specifies whether node-to-node encryption is enabled. See `Node-to-node encryption for Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ntn.html>`_ .
978
981
  :param off_peak_window_options: Options for a domain's off-peak window, during which OpenSearch Service can perform mandatory configuration changes on the domain.
@@ -997,6 +1000,7 @@ class CfnDomain(
997
1000
  ebs_options=ebs_options,
998
1001
  encryption_at_rest_options=encryption_at_rest_options,
999
1002
  engine_version=engine_version,
1003
+ ip_address_type=ip_address_type,
1000
1004
  log_publishing_options=log_publishing_options,
1001
1005
  node_to_node_encryption_options=node_to_node_encryption_options,
1002
1006
  off_peak_window_options=off_peak_window_options,
@@ -1074,6 +1078,14 @@ class CfnDomain(
1074
1078
  '''
1075
1079
  return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrDomainEndpoints"))
1076
1080
 
1081
+ @builtins.property
1082
+ @jsii.member(jsii_name="attrDomainEndpointV2")
1083
+ def attr_domain_endpoint_v2(self) -> builtins.str:
1084
+ '''
1085
+ :cloudformationAttribute: DomainEndpointV2
1086
+ '''
1087
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainEndpointV2"))
1088
+
1077
1089
  @builtins.property
1078
1090
  @jsii.member(jsii_name="attrId")
1079
1091
  def attr_id(self) -> builtins.str:
@@ -1348,6 +1360,18 @@ class CfnDomain(
1348
1360
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1349
1361
  jsii.set(self, "engineVersion", value)
1350
1362
 
1363
+ @builtins.property
1364
+ @jsii.member(jsii_name="ipAddressType")
1365
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
1366
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
1367
+
1368
+ @ip_address_type.setter
1369
+ def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
1370
+ if __debug__:
1371
+ type_hints = typing.get_type_hints(_typecheckingstub__15de3b6bee67c94e6a9ff942356ecb4f67771482ab0d1655f673b885868135c2)
1372
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1373
+ jsii.set(self, "ipAddressType", value)
1374
+
1351
1375
  @builtins.property
1352
1376
  @jsii.member(jsii_name="logPublishingOptions")
1353
1377
  def log_publishing_options(
@@ -3490,6 +3514,7 @@ class CfnDomain(
3490
3514
  "ebs_options": "ebsOptions",
3491
3515
  "encryption_at_rest_options": "encryptionAtRestOptions",
3492
3516
  "engine_version": "engineVersion",
3517
+ "ip_address_type": "ipAddressType",
3493
3518
  "log_publishing_options": "logPublishingOptions",
3494
3519
  "node_to_node_encryption_options": "nodeToNodeEncryptionOptions",
3495
3520
  "off_peak_window_options": "offPeakWindowOptions",
@@ -3514,6 +3539,7 @@ class CfnDomainProps:
3514
3539
  ebs_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.EBSOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3515
3540
  encryption_at_rest_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.EncryptionAtRestOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3516
3541
  engine_version: typing.Optional[builtins.str] = None,
3542
+ ip_address_type: typing.Optional[builtins.str] = None,
3517
3543
  log_publishing_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.LogPublishingOptionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3518
3544
  node_to_node_encryption_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.NodeToNodeEncryptionOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3519
3545
  off_peak_window_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.OffPeakWindowOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -3535,6 +3561,7 @@ class CfnDomainProps:
3535
3561
  :param ebs_options: The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain. For more information, see `EBS volume size limits <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html#ebsresource>`_ in the *Amazon OpenSearch Service Developer Guide* .
3536
3562
  :param encryption_at_rest_options: Whether the domain should encrypt data at rest, and if so, the AWS KMS key to use. See `Encryption of data at rest for Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html>`_ .
3537
3563
  :param engine_version: The version of OpenSearch to use. The value must be in the format ``OpenSearch_X.Y`` or ``Elasticsearch_X.Y`` . If not specified, the latest version of OpenSearch is used. For information about the versions that OpenSearch Service supports, see `Supported versions of OpenSearch and Elasticsearch <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html#choosing-version>`_ in the *Amazon OpenSearch Service Developer Guide* . If you set the `EnableVersionUpgrade <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain>`_ update policy to ``true`` , you can update ``EngineVersion`` without interruption. When ``EnableVersionUpgrade`` is set to ``false`` , or is not specified, updating ``EngineVersion`` results in `replacement <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement>`_ .
3564
+ :param ip_address_type:
3538
3565
  :param log_publishing_options: An object with one or more of the following keys: ``SEARCH_SLOW_LOGS`` , ``ES_APPLICATION_LOGS`` , ``INDEX_SLOW_LOGS`` , ``AUDIT_LOGS`` , depending on the types of logs you want to publish. Each key needs a valid ``LogPublishingOption`` value. For the full syntax, see the `examples <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html#aws-resource-opensearchservice-domain--examples>`_ .
3539
3566
  :param node_to_node_encryption_options: Specifies whether node-to-node encryption is enabled. See `Node-to-node encryption for Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ntn.html>`_ .
3540
3567
  :param off_peak_window_options: Options for a domain's off-peak window, during which OpenSearch Service can perform mandatory configuration changes on the domain.
@@ -3624,6 +3651,7 @@ class CfnDomainProps:
3624
3651
  kms_key_id="kmsKeyId"
3625
3652
  ),
3626
3653
  engine_version="engineVersion",
3654
+ ip_address_type="ipAddressType",
3627
3655
  log_publishing_options={
3628
3656
  "log_publishing_options_key": opensearchservice.CfnDomain.LogPublishingOptionProperty(
3629
3657
  cloud_watch_logs_log_group_arn="cloudWatchLogsLogGroupArn",
@@ -3671,6 +3699,7 @@ class CfnDomainProps:
3671
3699
  check_type(argname="argument ebs_options", value=ebs_options, expected_type=type_hints["ebs_options"])
3672
3700
  check_type(argname="argument encryption_at_rest_options", value=encryption_at_rest_options, expected_type=type_hints["encryption_at_rest_options"])
3673
3701
  check_type(argname="argument engine_version", value=engine_version, expected_type=type_hints["engine_version"])
3702
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
3674
3703
  check_type(argname="argument log_publishing_options", value=log_publishing_options, expected_type=type_hints["log_publishing_options"])
3675
3704
  check_type(argname="argument node_to_node_encryption_options", value=node_to_node_encryption_options, expected_type=type_hints["node_to_node_encryption_options"])
3676
3705
  check_type(argname="argument off_peak_window_options", value=off_peak_window_options, expected_type=type_hints["off_peak_window_options"])
@@ -3701,6 +3730,8 @@ class CfnDomainProps:
3701
3730
  self._values["encryption_at_rest_options"] = encryption_at_rest_options
3702
3731
  if engine_version is not None:
3703
3732
  self._values["engine_version"] = engine_version
3733
+ if ip_address_type is not None:
3734
+ self._values["ip_address_type"] = ip_address_type
3704
3735
  if log_publishing_options is not None:
3705
3736
  self._values["log_publishing_options"] = log_publishing_options
3706
3737
  if node_to_node_encryption_options is not None:
@@ -3849,6 +3880,14 @@ class CfnDomainProps:
3849
3880
  result = self._values.get("engine_version")
3850
3881
  return typing.cast(typing.Optional[builtins.str], result)
3851
3882
 
3883
+ @builtins.property
3884
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
3885
+ '''
3886
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html#cfn-opensearchservice-domain-ipaddresstype
3887
+ '''
3888
+ result = self._values.get("ip_address_type")
3889
+ return typing.cast(typing.Optional[builtins.str], result)
3890
+
3852
3891
  @builtins.property
3853
3892
  def log_publishing_options(
3854
3893
  self,
@@ -8113,6 +8152,7 @@ def _typecheckingstub__6fcd2545392b3f48f314c640881e38e167b5936f1165d2eb1ce21766d
8113
8152
  ebs_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.EBSOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8114
8153
  encryption_at_rest_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.EncryptionAtRestOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8115
8154
  engine_version: typing.Optional[builtins.str] = None,
8155
+ ip_address_type: typing.Optional[builtins.str] = None,
8116
8156
  log_publishing_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.LogPublishingOptionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8117
8157
  node_to_node_encryption_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.NodeToNodeEncryptionOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8118
8158
  off_peak_window_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.OffPeakWindowOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -8202,6 +8242,12 @@ def _typecheckingstub__88301df742e18b9ab560ac04b99b966a761eeee663731308b40ab8ca4
8202
8242
  """Type checking stubs"""
8203
8243
  pass
8204
8244
 
8245
+ def _typecheckingstub__15de3b6bee67c94e6a9ff942356ecb4f67771482ab0d1655f673b885868135c2(
8246
+ value: typing.Optional[builtins.str],
8247
+ ) -> None:
8248
+ """Type checking stubs"""
8249
+ pass
8250
+
8205
8251
  def _typecheckingstub__7ad842d30b972e4535042c97d9a43923a473c809de18faef95c075764d365933(
8206
8252
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, CfnDomain.LogPublishingOptionProperty]]]],
8207
8253
  ) -> None:
@@ -8437,6 +8483,7 @@ def _typecheckingstub__4a3bbf8db74762f8d49d2ee572e0b31eef8650964dd0e8a168a5fe2d6
8437
8483
  ebs_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.EBSOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8438
8484
  encryption_at_rest_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.EncryptionAtRestOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8439
8485
  engine_version: typing.Optional[builtins.str] = None,
8486
+ ip_address_type: typing.Optional[builtins.str] = None,
8440
8487
  log_publishing_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.LogPublishingOptionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8441
8488
  node_to_node_encryption_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.NodeToNodeEncryptionOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8442
8489
  off_peak_window_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.OffPeakWindowOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,