aws-cdk-lib 2.200.2__py3-none-any.whl → 2.202.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 +129 -37
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +227 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +38 -38
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  16. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  18. aws_cdk/aws_connect/__init__.py +5 -5
  19. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  20. aws_cdk/aws_datasync/__init__.py +189 -160
  21. aws_cdk/aws_datazone/__init__.py +512 -170
  22. aws_cdk/aws_deadline/__init__.py +32 -4
  23. aws_cdk/aws_dsql/__init__.py +150 -10
  24. aws_cdk/aws_ec2/__init__.py +1191 -304
  25. aws_cdk/aws_ecs/__init__.py +94 -11
  26. aws_cdk/aws_efs/__init__.py +103 -12
  27. aws_cdk/aws_eks/__init__.py +337 -168
  28. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  29. aws_cdk/aws_emr/__init__.py +10 -4
  30. aws_cdk/aws_entityresolution/__init__.py +25 -10
  31. aws_cdk/aws_evs/__init__.py +2204 -0
  32. aws_cdk/aws_fsx/__init__.py +7 -7
  33. aws_cdk/aws_glue/__init__.py +58 -24
  34. aws_cdk/aws_iam/__init__.py +3 -3
  35. aws_cdk/aws_kms/__init__.py +10 -4
  36. aws_cdk/aws_lambda/__init__.py +1167 -55
  37. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  38. aws_cdk/aws_lightsail/__init__.py +17 -13
  39. aws_cdk/aws_logs/__init__.py +1 -0
  40. aws_cdk/aws_msk/__init__.py +21 -2
  41. aws_cdk/aws_mwaa/__init__.py +45 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  44. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  45. aws_cdk/aws_rds/__init__.py +287 -87
  46. aws_cdk/aws_s3/__init__.py +39 -15
  47. aws_cdk/aws_sagemaker/__init__.py +223 -3
  48. aws_cdk/aws_securityhub/__init__.py +18 -34
  49. aws_cdk/aws_ssm/__init__.py +83 -1
  50. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  51. aws_cdk/aws_synthetics/__init__.py +74 -0
  52. aws_cdk/aws_transfer/__init__.py +3 -3
  53. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  54. aws_cdk/aws_wafv2/__init__.py +770 -7
  55. aws_cdk/cx_api/__init__.py +14 -0
  56. aws_cdk/pipelines/__init__.py +147 -38
  57. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
@@ -152,6 +152,22 @@ bucket.grant_read_write(my_lambda)
152
152
  Will give the Lambda's execution role permissions to read and write
153
153
  from the bucket.
154
154
 
155
+ ### Understanding "grant" Methods
156
+
157
+ The S3 construct library provides several grant methods for the `Bucket` resource, but two of them have a special behavior. This two accept an `objectsKeyPattern` parameter to restrict granted permissions to specific resources:
158
+
159
+ * `grantRead`
160
+ * `grantReadWrite`
161
+
162
+ When examining the synthesized policy, you'll notice it includes both your specified object key patterns and the bucket itself.
163
+ This is by design. Some permissions (like `s3:ListBucket`) apply at the bucket level, while others (like `s3:GetObject`) apply to specific objects.
164
+
165
+ Specifically, the [`s3:ListBucket` action operates on bucket resources](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-bucket)
166
+ and requires the bucket ARN to work properly. This might be seen as a bug, giving the impression that more permissions were granted than the ones you intended, but the reality is that the policy does not ignore your `objectsKeyPattern` - object-specific actions like `s3:GetObject`
167
+ will still be limited to the resources defined in your pattern.
168
+
169
+ If you need to restrict the `s3:ListBucket` action to specific paths, you can add a `Condition` to your policy that limits the `objectsKeyPattern` to specific folders. For more details and examples, see the [AWS documentation on bucket policies](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-folders).
170
+
155
171
  ## AWS Foundational Security Best Practices
156
172
 
157
173
  ### Enforcing SSL
@@ -1086,8 +1102,15 @@ class BlockPublicAccess(
1086
1102
 
1087
1103
  Example::
1088
1104
 
1089
- bucket = s3.Bucket(self, "MyBlockedBucket",
1090
- block_public_access=s3.BlockPublicAccess(block_public_policy=False)
1105
+ from aws_cdk import RemovalPolicy
1106
+
1107
+
1108
+ s3.Bucket(scope, "Bucket",
1109
+ block_public_access=s3.BlockPublicAccess.BLOCK_ALL,
1110
+ encryption=s3.BucketEncryption.S3_MANAGED,
1111
+ enforce_sSL=True,
1112
+ versioned=True,
1113
+ removal_policy=RemovalPolicy.RETAIN
1091
1114
  )
1092
1115
  '''
1093
1116
 
@@ -1607,16 +1630,17 @@ class BucketEncryption(enum.Enum):
1607
1630
 
1608
1631
  Example::
1609
1632
 
1610
- from aws_cdk.aws_s3 import BucketEncryption
1633
+ # application: appconfig.Application
1611
1634
 
1612
1635
 
1613
- app = App(
1614
- default_stack_synthesizer=AppStagingSynthesizer.default_resources(
1615
- app_id="my-app-id",
1616
- staging_bucket_encryption=BucketEncryption.S3_MANAGED,
1617
- file_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/S3Access"),
1618
- image_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/ECRAccess")
1619
- )
1636
+ bucket = s3.Bucket(self, "MyBucket",
1637
+ versioned=True,
1638
+ encryption=s3.BucketEncryption.KMS
1639
+ )
1640
+
1641
+ appconfig.SourcedConfiguration(self, "MySourcedConfiguration",
1642
+ application=application,
1643
+ location=appconfig.ConfigurationSource.from_bucket(bucket, "path/to/file.json")
1620
1644
  )
1621
1645
  '''
1622
1646
 
@@ -9179,7 +9203,7 @@ class CfnBucket(
9179
9203
  For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.
9180
9204
 
9181
9205
  :param http_error_code_returned_equals: The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.
9182
- :param key_prefix_equals: The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be ``/docs`` , which identifies all objects in the docs/ folder. Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
9206
+ :param key_prefix_equals: The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be ``docs/`` , which identifies all objects in the docs/ folder. Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
9183
9207
 
9184
9208
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-routingrulecondition.html
9185
9209
  :exampleMetadata: fixture=_generated
@@ -9222,7 +9246,7 @@ class CfnBucket(
9222
9246
  def key_prefix_equals(self) -> typing.Optional[builtins.str]:
9223
9247
  '''The object key name prefix when the redirect is applied.
9224
9248
 
9225
- For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be ``/docs`` , which identifies all objects in the docs/ folder.
9249
+ For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be ``docs/`` , which identifies all objects in the docs/ folder.
9226
9250
 
9227
9251
  Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
9228
9252
 
@@ -17994,7 +18018,7 @@ class LifecycleRule:
17994
18018
  :param id: A unique identifier for this rule. The value cannot be more than 255 characters.
17995
18019
  :param noncurrent_version_expiration: Time between when a new version of the object is uploaded to the bucket and when old versions of the object expire. For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time. The underlying configuration is expressed in whole numbers of days. Providing a Duration that does not represent a whole number of days will result in a runtime or deployment error. Default: - No noncurrent version expiration
17996
18020
  :param noncurrent_versions_to_retain: Indicates a maximum number of noncurrent versions to retain. If there are this many more noncurrent versions, Amazon S3 permanently deletes them. Default: - No noncurrent versions to retain
17997
- :param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for for buckets with versioning enabled (or suspended). If you specify a transition and expiration time, the expiration time must be later than the transition time.
18021
+ :param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for buckets with versioning enabled (or suspended). If you specify a transition and expiration time, the expiration time must be later than the transition time.
17998
18022
  :param object_size_greater_than: Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. Default: - No rule
17999
18023
  :param object_size_less_than: Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. Default: - No rule
18000
18024
  :param prefix: Object key prefix that identifies one or more objects to which this rule applies. Default: - Rule applies to all objects
@@ -18206,7 +18230,7 @@ class LifecycleRule:
18206
18230
  ) -> typing.Optional[typing.List["NoncurrentVersionTransition"]]:
18207
18231
  '''One or more transition rules that specify when non-current objects transition to a specified storage class.
18208
18232
 
18209
- Only for for buckets with versioning enabled (or suspended).
18233
+ Only for buckets with versioning enabled (or suspended).
18210
18234
 
18211
18235
  If you specify a transition and expiration time, the expiration time
18212
18236
  must be later than the transition time.
@@ -21337,7 +21361,7 @@ class Bucket(
21337
21361
  :param id: A unique identifier for this rule. The value cannot be more than 255 characters.
21338
21362
  :param noncurrent_version_expiration: Time between when a new version of the object is uploaded to the bucket and when old versions of the object expire. For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time. The underlying configuration is expressed in whole numbers of days. Providing a Duration that does not represent a whole number of days will result in a runtime or deployment error. Default: - No noncurrent version expiration
21339
21363
  :param noncurrent_versions_to_retain: Indicates a maximum number of noncurrent versions to retain. If there are this many more noncurrent versions, Amazon S3 permanently deletes them. Default: - No noncurrent versions to retain
21340
- :param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for for buckets with versioning enabled (or suspended). If you specify a transition and expiration time, the expiration time must be later than the transition time.
21364
+ :param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for buckets with versioning enabled (or suspended). If you specify a transition and expiration time, the expiration time must be later than the transition time.
21341
21365
  :param object_size_greater_than: Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. Default: - No rule
21342
21366
  :param object_size_less_than: Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. Default: - No rule
21343
21367
  :param prefix: Object key prefix that identifies one or more objects to which this rule applies. Default: - Rule applies to all objects
@@ -6395,7 +6395,16 @@ class CfnDomain(
6395
6395
  r_studio_connect_url="rStudioConnectUrl",
6396
6396
  r_studio_package_manager_url="rStudioPackageManagerUrl"
6397
6397
  ),
6398
- security_group_ids=["securityGroupIds"]
6398
+ security_group_ids=["securityGroupIds"],
6399
+ unified_studio_settings=sagemaker.CfnDomain.UnifiedStudioSettingsProperty(
6400
+ domain_account_id="domainAccountId",
6401
+ domain_id="domainId",
6402
+ domain_region="domainRegion",
6403
+ environment_id="environmentId",
6404
+ project_id="projectId",
6405
+ project_s3_path="projectS3Path",
6406
+ studio_web_portal_access="studioWebPortalAccess"
6407
+ )
6399
6408
  ),
6400
6409
  kms_key_id="kmsKeyId",
6401
6410
  tag_propagation="tagPropagation",
@@ -7733,6 +7742,7 @@ class CfnDomain(
7733
7742
  "execution_role_identity_config": "executionRoleIdentityConfig",
7734
7743
  "r_studio_server_pro_domain_settings": "rStudioServerProDomainSettings",
7735
7744
  "security_group_ids": "securityGroupIds",
7745
+ "unified_studio_settings": "unifiedStudioSettings",
7736
7746
  },
7737
7747
  )
7738
7748
  class DomainSettingsProperty:
@@ -7743,6 +7753,7 @@ class CfnDomain(
7743
7753
  execution_role_identity_config: typing.Optional[builtins.str] = None,
7744
7754
  r_studio_server_pro_domain_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.RStudioServerProDomainSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7745
7755
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
7756
+ unified_studio_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.UnifiedStudioSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7746
7757
  ) -> None:
7747
7758
  '''A collection of settings that apply to the ``SageMaker Domain`` .
7748
7759
 
@@ -7752,6 +7763,7 @@ class CfnDomain(
7752
7763
  :param execution_role_identity_config: The configuration for attaching a SageMaker AI user profile name to the execution role as a `sts:SourceIdentity key <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html>`_ .
7753
7764
  :param r_studio_server_pro_domain_settings: A collection of settings that configure the ``RStudioServerPro`` Domain-level app.
7754
7765
  :param security_group_ids: The security groups for the Amazon Virtual Private Cloud that the ``Domain`` uses for communication between Domain-level apps and user apps.
7766
+ :param unified_studio_settings: The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.
7755
7767
 
7756
7768
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-domainsettings.html
7757
7769
  :exampleMetadata: fixture=_generated
@@ -7781,7 +7793,16 @@ class CfnDomain(
7781
7793
  r_studio_connect_url="rStudioConnectUrl",
7782
7794
  r_studio_package_manager_url="rStudioPackageManagerUrl"
7783
7795
  ),
7784
- security_group_ids=["securityGroupIds"]
7796
+ security_group_ids=["securityGroupIds"],
7797
+ unified_studio_settings=sagemaker.CfnDomain.UnifiedStudioSettingsProperty(
7798
+ domain_account_id="domainAccountId",
7799
+ domain_id="domainId",
7800
+ domain_region="domainRegion",
7801
+ environment_id="environmentId",
7802
+ project_id="projectId",
7803
+ project_s3_path="projectS3Path",
7804
+ studio_web_portal_access="studioWebPortalAccess"
7805
+ )
7785
7806
  )
7786
7807
  '''
7787
7808
  if __debug__:
@@ -7790,6 +7811,7 @@ class CfnDomain(
7790
7811
  check_type(argname="argument execution_role_identity_config", value=execution_role_identity_config, expected_type=type_hints["execution_role_identity_config"])
7791
7812
  check_type(argname="argument r_studio_server_pro_domain_settings", value=r_studio_server_pro_domain_settings, expected_type=type_hints["r_studio_server_pro_domain_settings"])
7792
7813
  check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
7814
+ check_type(argname="argument unified_studio_settings", value=unified_studio_settings, expected_type=type_hints["unified_studio_settings"])
7793
7815
  self._values: typing.Dict[builtins.str, typing.Any] = {}
7794
7816
  if docker_settings is not None:
7795
7817
  self._values["docker_settings"] = docker_settings
@@ -7799,6 +7821,8 @@ class CfnDomain(
7799
7821
  self._values["r_studio_server_pro_domain_settings"] = r_studio_server_pro_domain_settings
7800
7822
  if security_group_ids is not None:
7801
7823
  self._values["security_group_ids"] = security_group_ids
7824
+ if unified_studio_settings is not None:
7825
+ self._values["unified_studio_settings"] = unified_studio_settings
7802
7826
 
7803
7827
  @builtins.property
7804
7828
  def docker_settings(
@@ -7840,6 +7864,17 @@ class CfnDomain(
7840
7864
  result = self._values.get("security_group_ids")
7841
7865
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
7842
7866
 
7867
+ @builtins.property
7868
+ def unified_studio_settings(
7869
+ self,
7870
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.UnifiedStudioSettingsProperty"]]:
7871
+ '''The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.
7872
+
7873
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-domainsettings.html#cfn-sagemaker-domain-domainsettings-unifiedstudiosettings
7874
+ '''
7875
+ result = self._values.get("unified_studio_settings")
7876
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.UnifiedStudioSettingsProperty"]], result)
7877
+
7843
7878
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
7844
7879
  return isinstance(rhs, self.__class__) and rhs._values == self._values
7845
7880
 
@@ -9156,6 +9191,168 @@ class CfnDomain(
9156
9191
  k + "=" + repr(v) for k, v in self._values.items()
9157
9192
  )
9158
9193
 
9194
+ @jsii.data_type(
9195
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnDomain.UnifiedStudioSettingsProperty",
9196
+ jsii_struct_bases=[],
9197
+ name_mapping={
9198
+ "domain_account_id": "domainAccountId",
9199
+ "domain_id": "domainId",
9200
+ "domain_region": "domainRegion",
9201
+ "environment_id": "environmentId",
9202
+ "project_id": "projectId",
9203
+ "project_s3_path": "projectS3Path",
9204
+ "studio_web_portal_access": "studioWebPortalAccess",
9205
+ },
9206
+ )
9207
+ class UnifiedStudioSettingsProperty:
9208
+ def __init__(
9209
+ self,
9210
+ *,
9211
+ domain_account_id: typing.Optional[builtins.str] = None,
9212
+ domain_id: typing.Optional[builtins.str] = None,
9213
+ domain_region: typing.Optional[builtins.str] = None,
9214
+ environment_id: typing.Optional[builtins.str] = None,
9215
+ project_id: typing.Optional[builtins.str] = None,
9216
+ project_s3_path: typing.Optional[builtins.str] = None,
9217
+ studio_web_portal_access: typing.Optional[builtins.str] = None,
9218
+ ) -> None:
9219
+ '''The settings that apply to an Amazon SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.
9220
+
9221
+ :param domain_account_id: The ID of the AWS account that has the Amazon SageMaker Unified Studio domain. The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.
9222
+ :param domain_id: The ID of the Amazon SageMaker Unified Studio domain associated with this domain.
9223
+ :param domain_region: The AWS Region where the domain is located in Amazon SageMaker Unified Studio. The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.
9224
+ :param environment_id: The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.
9225
+ :param project_id: The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.
9226
+ :param project_s3_path: The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.
9227
+ :param studio_web_portal_access: Sets whether you can access the domain in Amazon SageMaker Studio:. - **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces. - **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface. To migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.
9228
+
9229
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html
9230
+ :exampleMetadata: fixture=_generated
9231
+
9232
+ Example::
9233
+
9234
+ # The code below shows an example of how to instantiate this type.
9235
+ # The values are placeholders you should change.
9236
+ from aws_cdk import aws_sagemaker as sagemaker
9237
+
9238
+ unified_studio_settings_property = sagemaker.CfnDomain.UnifiedStudioSettingsProperty(
9239
+ domain_account_id="domainAccountId",
9240
+ domain_id="domainId",
9241
+ domain_region="domainRegion",
9242
+ environment_id="environmentId",
9243
+ project_id="projectId",
9244
+ project_s3_path="projectS3Path",
9245
+ studio_web_portal_access="studioWebPortalAccess"
9246
+ )
9247
+ '''
9248
+ if __debug__:
9249
+ type_hints = typing.get_type_hints(_typecheckingstub__b4dad77d25b548827f5bcfd63cb5788816c5db5845110e1912053632c788fa19)
9250
+ check_type(argname="argument domain_account_id", value=domain_account_id, expected_type=type_hints["domain_account_id"])
9251
+ check_type(argname="argument domain_id", value=domain_id, expected_type=type_hints["domain_id"])
9252
+ check_type(argname="argument domain_region", value=domain_region, expected_type=type_hints["domain_region"])
9253
+ check_type(argname="argument environment_id", value=environment_id, expected_type=type_hints["environment_id"])
9254
+ check_type(argname="argument project_id", value=project_id, expected_type=type_hints["project_id"])
9255
+ check_type(argname="argument project_s3_path", value=project_s3_path, expected_type=type_hints["project_s3_path"])
9256
+ check_type(argname="argument studio_web_portal_access", value=studio_web_portal_access, expected_type=type_hints["studio_web_portal_access"])
9257
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9258
+ if domain_account_id is not None:
9259
+ self._values["domain_account_id"] = domain_account_id
9260
+ if domain_id is not None:
9261
+ self._values["domain_id"] = domain_id
9262
+ if domain_region is not None:
9263
+ self._values["domain_region"] = domain_region
9264
+ if environment_id is not None:
9265
+ self._values["environment_id"] = environment_id
9266
+ if project_id is not None:
9267
+ self._values["project_id"] = project_id
9268
+ if project_s3_path is not None:
9269
+ self._values["project_s3_path"] = project_s3_path
9270
+ if studio_web_portal_access is not None:
9271
+ self._values["studio_web_portal_access"] = studio_web_portal_access
9272
+
9273
+ @builtins.property
9274
+ def domain_account_id(self) -> typing.Optional[builtins.str]:
9275
+ '''The ID of the AWS account that has the Amazon SageMaker Unified Studio domain.
9276
+
9277
+ The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.
9278
+
9279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-domainaccountid
9280
+ '''
9281
+ result = self._values.get("domain_account_id")
9282
+ return typing.cast(typing.Optional[builtins.str], result)
9283
+
9284
+ @builtins.property
9285
+ def domain_id(self) -> typing.Optional[builtins.str]:
9286
+ '''The ID of the Amazon SageMaker Unified Studio domain associated with this domain.
9287
+
9288
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-domainid
9289
+ '''
9290
+ result = self._values.get("domain_id")
9291
+ return typing.cast(typing.Optional[builtins.str], result)
9292
+
9293
+ @builtins.property
9294
+ def domain_region(self) -> typing.Optional[builtins.str]:
9295
+ '''The AWS Region where the domain is located in Amazon SageMaker Unified Studio.
9296
+
9297
+ The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.
9298
+
9299
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-domainregion
9300
+ '''
9301
+ result = self._values.get("domain_region")
9302
+ return typing.cast(typing.Optional[builtins.str], result)
9303
+
9304
+ @builtins.property
9305
+ def environment_id(self) -> typing.Optional[builtins.str]:
9306
+ '''The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.
9307
+
9308
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-environmentid
9309
+ '''
9310
+ result = self._values.get("environment_id")
9311
+ return typing.cast(typing.Optional[builtins.str], result)
9312
+
9313
+ @builtins.property
9314
+ def project_id(self) -> typing.Optional[builtins.str]:
9315
+ '''The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.
9316
+
9317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-projectid
9318
+ '''
9319
+ result = self._values.get("project_id")
9320
+ return typing.cast(typing.Optional[builtins.str], result)
9321
+
9322
+ @builtins.property
9323
+ def project_s3_path(self) -> typing.Optional[builtins.str]:
9324
+ '''The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.
9325
+
9326
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-projects3path
9327
+ '''
9328
+ result = self._values.get("project_s3_path")
9329
+ return typing.cast(typing.Optional[builtins.str], result)
9330
+
9331
+ @builtins.property
9332
+ def studio_web_portal_access(self) -> typing.Optional[builtins.str]:
9333
+ '''Sets whether you can access the domain in Amazon SageMaker Studio:.
9334
+
9335
+ - **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces.
9336
+ - **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface.
9337
+
9338
+ To migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.
9339
+
9340
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-studiowebportalaccess
9341
+ '''
9342
+ result = self._values.get("studio_web_portal_access")
9343
+ return typing.cast(typing.Optional[builtins.str], result)
9344
+
9345
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9346
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9347
+
9348
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9349
+ return not (rhs == self)
9350
+
9351
+ def __repr__(self) -> str:
9352
+ return "UnifiedStudioSettingsProperty(%s)" % ", ".join(
9353
+ k + "=" + repr(v) for k, v in self._values.items()
9354
+ )
9355
+
9159
9356
  @jsii.data_type(
9160
9357
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnDomain.UserSettingsProperty",
9161
9358
  jsii_struct_bases=[],
@@ -9954,7 +10151,16 @@ class CfnDomainProps:
9954
10151
  r_studio_connect_url="rStudioConnectUrl",
9955
10152
  r_studio_package_manager_url="rStudioPackageManagerUrl"
9956
10153
  ),
9957
- security_group_ids=["securityGroupIds"]
10154
+ security_group_ids=["securityGroupIds"],
10155
+ unified_studio_settings=sagemaker.CfnDomain.UnifiedStudioSettingsProperty(
10156
+ domain_account_id="domainAccountId",
10157
+ domain_id="domainId",
10158
+ domain_region="domainRegion",
10159
+ environment_id="environmentId",
10160
+ project_id="projectId",
10161
+ project_s3_path="projectS3Path",
10162
+ studio_web_portal_access="studioWebPortalAccess"
10163
+ )
9958
10164
  ),
9959
10165
  kms_key_id="kmsKeyId",
9960
10166
  tag_propagation="tagPropagation",
@@ -51181,6 +51387,7 @@ def _typecheckingstub__b23323cc301476d59d77a279da88bfc3d14a3c21fb8709a0ecc6db607
51181
51387
  execution_role_identity_config: typing.Optional[builtins.str] = None,
51182
51388
  r_studio_server_pro_domain_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.RStudioServerProDomainSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
51183
51389
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
51390
+ unified_studio_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.UnifiedStudioSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
51184
51391
  ) -> None:
51185
51392
  """Type checking stubs"""
51186
51393
  pass
@@ -51303,6 +51510,19 @@ def _typecheckingstub__8a8ec723792b0ed26599d28b5d7a21fbc89e286f4d03c0e5a17ecf559
51303
51510
  """Type checking stubs"""
51304
51511
  pass
51305
51512
 
51513
+ def _typecheckingstub__b4dad77d25b548827f5bcfd63cb5788816c5db5845110e1912053632c788fa19(
51514
+ *,
51515
+ domain_account_id: typing.Optional[builtins.str] = None,
51516
+ domain_id: typing.Optional[builtins.str] = None,
51517
+ domain_region: typing.Optional[builtins.str] = None,
51518
+ environment_id: typing.Optional[builtins.str] = None,
51519
+ project_id: typing.Optional[builtins.str] = None,
51520
+ project_s3_path: typing.Optional[builtins.str] = None,
51521
+ studio_web_portal_access: typing.Optional[builtins.str] = None,
51522
+ ) -> None:
51523
+ """Type checking stubs"""
51524
+ pass
51525
+
51306
51526
  def _typecheckingstub__88423e90a647fb1fb625855a5ca5160b5e8125e664363a24f90939664cc2d507(
51307
51527
  *,
51308
51528
  execution_role: builtins.str,
@@ -89,9 +89,6 @@ class CfnAutomationRule(
89
89
  # The values are placeholders you should change.
90
90
  from aws_cdk import aws_securityhub as securityhub
91
91
 
92
- # id: Any
93
- # updated_by: Any
94
-
95
92
  cfn_automation_rule = securityhub.CfnAutomationRule(self, "MyCfnAutomationRule",
96
93
  actions=[securityhub.CfnAutomationRule.AutomationRulesActionProperty(
97
94
  finding_fields_update=securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
@@ -99,10 +96,10 @@ class CfnAutomationRule(
99
96
  criticality=123,
100
97
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
101
98
  text="text",
102
- updated_by=updated_by
99
+ updated_by="updatedBy"
103
100
  ),
104
101
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
105
- id=id,
102
+ id="id",
106
103
  product_arn="productArn"
107
104
  )],
108
105
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -577,19 +574,16 @@ class CfnAutomationRule(
577
574
  # The values are placeholders you should change.
578
575
  from aws_cdk import aws_securityhub as securityhub
579
576
 
580
- # id: Any
581
- # updated_by: Any
582
-
583
577
  automation_rules_action_property = securityhub.CfnAutomationRule.AutomationRulesActionProperty(
584
578
  finding_fields_update=securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
585
579
  confidence=123,
586
580
  criticality=123,
587
581
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
588
582
  text="text",
589
- updated_by=updated_by
583
+ updated_by="updatedBy"
590
584
  ),
591
585
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
592
- id=id,
586
+ id="id",
593
587
  product_arn="productArn"
594
588
  )],
595
589
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -701,18 +695,15 @@ class CfnAutomationRule(
701
695
  # The values are placeholders you should change.
702
696
  from aws_cdk import aws_securityhub as securityhub
703
697
 
704
- # id: Any
705
- # updated_by: Any
706
-
707
698
  automation_rules_finding_fields_update_property = securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
708
699
  confidence=123,
709
700
  criticality=123,
710
701
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
711
702
  text="text",
712
- updated_by=updated_by
703
+ updated_by="updatedBy"
713
704
  ),
714
705
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
715
- id=id,
706
+ id="id",
716
707
  product_arn="productArn"
717
708
  )],
718
709
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -2036,7 +2027,7 @@ class CfnAutomationRule(
2036
2027
  name_mapping={"text": "text", "updated_by": "updatedBy"},
2037
2028
  )
2038
2029
  class NoteUpdateProperty:
2039
- def __init__(self, *, text: builtins.str, updated_by: typing.Any) -> None:
2030
+ def __init__(self, *, text: builtins.str, updated_by: builtins.str) -> None:
2040
2031
  '''The updated note.
2041
2032
 
2042
2033
  :param text: The updated note text.
@@ -2051,11 +2042,9 @@ class CfnAutomationRule(
2051
2042
  # The values are placeholders you should change.
2052
2043
  from aws_cdk import aws_securityhub as securityhub
2053
2044
 
2054
- # updated_by: Any
2055
-
2056
2045
  note_update_property = securityhub.CfnAutomationRule.NoteUpdateProperty(
2057
2046
  text="text",
2058
- updated_by=updated_by
2047
+ updated_by="updatedBy"
2059
2048
  )
2060
2049
  '''
2061
2050
  if __debug__:
@@ -2078,14 +2067,14 @@ class CfnAutomationRule(
2078
2067
  return typing.cast(builtins.str, result)
2079
2068
 
2080
2069
  @builtins.property
2081
- def updated_by(self) -> typing.Any:
2070
+ def updated_by(self) -> builtins.str:
2082
2071
  '''The principal that updated the note.
2083
2072
 
2084
2073
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-noteupdate.html#cfn-securityhub-automationrule-noteupdate-updatedby
2085
2074
  '''
2086
2075
  result = self._values.get("updated_by")
2087
2076
  assert result is not None, "Required property 'updated_by' is missing"
2088
- return typing.cast(typing.Any, result)
2077
+ return typing.cast(builtins.str, result)
2089
2078
 
2090
2079
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2091
2080
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2189,7 +2178,7 @@ class CfnAutomationRule(
2189
2178
  name_mapping={"id": "id", "product_arn": "productArn"},
2190
2179
  )
2191
2180
  class RelatedFindingProperty:
2192
- def __init__(self, *, id: typing.Any, product_arn: builtins.str) -> None:
2181
+ def __init__(self, *, id: builtins.str, product_arn: builtins.str) -> None:
2193
2182
  '''Provides details about a list of findings that the current finding relates to.
2194
2183
 
2195
2184
  :param id: The product-generated identifier for a related finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
@@ -2204,10 +2193,8 @@ class CfnAutomationRule(
2204
2193
  # The values are placeholders you should change.
2205
2194
  from aws_cdk import aws_securityhub as securityhub
2206
2195
 
2207
- # id: Any
2208
-
2209
2196
  related_finding_property = securityhub.CfnAutomationRule.RelatedFindingProperty(
2210
- id=id,
2197
+ id="id",
2211
2198
  product_arn="productArn"
2212
2199
  )
2213
2200
  '''
@@ -2221,7 +2208,7 @@ class CfnAutomationRule(
2221
2208
  }
2222
2209
 
2223
2210
  @builtins.property
2224
- def id(self) -> typing.Any:
2211
+ def id(self) -> builtins.str:
2225
2212
  '''The product-generated identifier for a related finding.
2226
2213
 
2227
2214
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
@@ -2230,7 +2217,7 @@ class CfnAutomationRule(
2230
2217
  '''
2231
2218
  result = self._values.get("id")
2232
2219
  assert result is not None, "Required property 'id' is missing"
2233
- return typing.cast(typing.Any, result)
2220
+ return typing.cast(builtins.str, result)
2234
2221
 
2235
2222
  @builtins.property
2236
2223
  def product_arn(self) -> builtins.str:
@@ -2567,9 +2554,6 @@ class CfnAutomationRuleProps:
2567
2554
  # The values are placeholders you should change.
2568
2555
  from aws_cdk import aws_securityhub as securityhub
2569
2556
 
2570
- # id: Any
2571
- # updated_by: Any
2572
-
2573
2557
  cfn_automation_rule_props = securityhub.CfnAutomationRuleProps(
2574
2558
  actions=[securityhub.CfnAutomationRule.AutomationRulesActionProperty(
2575
2559
  finding_fields_update=securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
@@ -2577,10 +2561,10 @@ class CfnAutomationRuleProps:
2577
2561
  criticality=123,
2578
2562
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
2579
2563
  text="text",
2580
- updated_by=updated_by
2564
+ updated_by="updatedBy"
2581
2565
  ),
2582
2566
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
2583
- id=id,
2567
+ id="id",
2584
2568
  product_arn="productArn"
2585
2569
  )],
2586
2570
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -10633,7 +10617,7 @@ def _typecheckingstub__91f36875bd267215fe022e63a4ce087a699536cdc1b9f8b3c84b53aa8
10633
10617
  def _typecheckingstub__1f01ce6428aaccb76a4dd3111c6a58270f1129efa37f87f346378055261a8a01(
10634
10618
  *,
10635
10619
  text: builtins.str,
10636
- updated_by: typing.Any,
10620
+ updated_by: builtins.str,
10637
10621
  ) -> None:
10638
10622
  """Type checking stubs"""
10639
10623
  pass
@@ -10649,7 +10633,7 @@ def _typecheckingstub__000b578e595fbfb6609bb2cf3b90f42c91b01240906d31c22b9f1dd98
10649
10633
 
10650
10634
  def _typecheckingstub__9df6b75e5070bcb08d999a08b3bd84da05079be466527b5ce60bbe470f59dd64(
10651
10635
  *,
10652
- id: typing.Any,
10636
+ id: builtins.str,
10653
10637
  product_arn: builtins.str,
10654
10638
  ) -> None:
10655
10639
  """Type checking stubs"""