aws-cdk-lib 2.157.0__py3-none-any.whl → 2.159.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 (294) hide show
  1. aws_cdk/__init__.py +52 -20
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.157.0.jsii.tgz → aws-cdk-lib@2.159.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +16 -1
  5. aws_cdk/assertions/__init__.py +16 -1
  6. aws_cdk/aws_accessanalyzer/__init__.py +16 -1
  7. aws_cdk/aws_acmpca/__init__.py +16 -1
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +38 -9
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
  11. aws_cdk/aws_apigateway/__init__.py +16 -1
  12. aws_cdk/aws_apigatewayv2/__init__.py +46 -1
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
  15. aws_cdk/aws_appconfig/__init__.py +19 -4
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +16 -1
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +560 -5
  20. aws_cdk/aws_applicationsignals/__init__.py +186 -143
  21. aws_cdk/aws_appmesh/__init__.py +16 -1
  22. aws_cdk/aws_apprunner/__init__.py +16 -1
  23. aws_cdk/aws_appstream/__init__.py +16 -1
  24. aws_cdk/aws_appsync/__init__.py +16 -1
  25. aws_cdk/aws_apptest/__init__.py +16 -1
  26. aws_cdk/aws_aps/__init__.py +16 -1
  27. aws_cdk/aws_arczonalshift/__init__.py +16 -1
  28. aws_cdk/aws_athena/__init__.py +31 -16
  29. aws_cdk/aws_auditmanager/__init__.py +21 -6
  30. aws_cdk/aws_autoscaling/__init__.py +16 -1
  31. aws_cdk/aws_autoscaling_common/__init__.py +16 -1
  32. aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
  33. aws_cdk/aws_autoscalingplans/__init__.py +16 -1
  34. aws_cdk/aws_b2bi/__init__.py +16 -1
  35. aws_cdk/aws_backup/__init__.py +16 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +16 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +23 -8
  40. aws_cdk/aws_billingconductor/__init__.py +16 -1
  41. aws_cdk/aws_budgets/__init__.py +16 -1
  42. aws_cdk/aws_cassandra/__init__.py +16 -1
  43. aws_cdk/aws_ce/__init__.py +16 -1
  44. aws_cdk/aws_certificatemanager/__init__.py +16 -1
  45. aws_cdk/aws_chatbot/__init__.py +16 -1
  46. aws_cdk/aws_cleanrooms/__init__.py +16 -1
  47. aws_cdk/aws_cleanroomsml/__init__.py +16 -1
  48. aws_cdk/aws_cloud9/__init__.py +16 -1
  49. aws_cdk/aws_cloudformation/__init__.py +16 -1
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +16 -1
  52. aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
  53. aws_cdk/aws_cloudtrail/__init__.py +16 -1
  54. aws_cdk/aws_cloudwatch/__init__.py +16 -1
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
  56. aws_cdk/aws_codeartifact/__init__.py +16 -1
  57. aws_cdk/aws_codebuild/__init__.py +55 -19
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +17 -2
  60. aws_cdk/aws_codedeploy/__init__.py +16 -1
  61. aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
  62. aws_cdk/aws_codegurureviewer/__init__.py +16 -1
  63. aws_cdk/aws_codepipeline/__init__.py +16 -1
  64. aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
  65. aws_cdk/aws_codestar/__init__.py +16 -1
  66. aws_cdk/aws_codestarconnections/__init__.py +16 -1
  67. aws_cdk/aws_codestarnotifications/__init__.py +16 -1
  68. aws_cdk/aws_cognito/__init__.py +406 -204
  69. aws_cdk/aws_comprehend/__init__.py +16 -1
  70. aws_cdk/aws_config/__init__.py +16 -1
  71. aws_cdk/aws_connect/__init__.py +1695 -153
  72. aws_cdk/aws_connectcampaigns/__init__.py +16 -1
  73. aws_cdk/aws_controltower/__init__.py +16 -1
  74. aws_cdk/aws_cur/__init__.py +16 -1
  75. aws_cdk/aws_customerprofiles/__init__.py +16 -1
  76. aws_cdk/aws_databrew/__init__.py +16 -1
  77. aws_cdk/aws_datapipeline/__init__.py +16 -1
  78. aws_cdk/aws_datasync/__init__.py +16 -1
  79. aws_cdk/aws_datazone/__init__.py +681 -41
  80. aws_cdk/aws_dax/__init__.py +16 -1
  81. aws_cdk/aws_deadline/__init__.py +16 -1
  82. aws_cdk/aws_detective/__init__.py +16 -1
  83. aws_cdk/aws_devicefarm/__init__.py +16 -1
  84. aws_cdk/aws_devopsguru/__init__.py +16 -1
  85. aws_cdk/aws_directoryservice/__init__.py +16 -1
  86. aws_cdk/aws_dlm/__init__.py +16 -1
  87. aws_cdk/aws_dms/__init__.py +16 -1
  88. aws_cdk/aws_docdb/__init__.py +22 -2
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +21 -6
  91. aws_cdk/aws_ec2/__init__.py +137 -37
  92. aws_cdk/aws_ecr/__init__.py +30 -7
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +36 -21
  95. aws_cdk/aws_ecs_patterns/__init__.py +16 -1
  96. aws_cdk/aws_efs/__init__.py +16 -1
  97. aws_cdk/aws_eks/__init__.py +16 -1
  98. aws_cdk/aws_elasticache/__init__.py +16 -1
  99. aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
  100. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
  101. aws_cdk/aws_elasticloadbalancingv2/__init__.py +183 -21
  102. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
  103. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
  104. aws_cdk/aws_elasticsearch/__init__.py +16 -1
  105. aws_cdk/aws_emr/__init__.py +24 -9
  106. aws_cdk/aws_emrcontainers/__init__.py +16 -1
  107. aws_cdk/aws_emrserverless/__init__.py +16 -1
  108. aws_cdk/aws_entityresolution/__init__.py +16 -1
  109. aws_cdk/aws_events/__init__.py +35 -18
  110. aws_cdk/aws_events_targets/__init__.py +181 -86
  111. aws_cdk/aws_eventschemas/__init__.py +16 -1
  112. aws_cdk/aws_evidently/__init__.py +16 -1
  113. aws_cdk/aws_finspace/__init__.py +16 -1
  114. aws_cdk/aws_fis/__init__.py +16 -1
  115. aws_cdk/aws_fms/__init__.py +75 -1
  116. aws_cdk/aws_forecast/__init__.py +16 -1
  117. aws_cdk/aws_frauddetector/__init__.py +16 -1
  118. aws_cdk/aws_fsx/__init__.py +19 -4
  119. aws_cdk/aws_gamelift/__init__.py +56 -53
  120. aws_cdk/aws_globalaccelerator/__init__.py +38 -30
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -1
  123. aws_cdk/aws_grafana/__init__.py +16 -1
  124. aws_cdk/aws_greengrass/__init__.py +16 -1
  125. aws_cdk/aws_greengrassv2/__init__.py +16 -1
  126. aws_cdk/aws_groundstation/__init__.py +16 -1
  127. aws_cdk/aws_guardduty/__init__.py +16 -1
  128. aws_cdk/aws_healthimaging/__init__.py +16 -1
  129. aws_cdk/aws_healthlake/__init__.py +16 -1
  130. aws_cdk/aws_iam/__init__.py +38 -21
  131. aws_cdk/aws_identitystore/__init__.py +16 -1
  132. aws_cdk/aws_imagebuilder/__init__.py +16 -1
  133. aws_cdk/aws_inspector/__init__.py +16 -1
  134. aws_cdk/aws_inspectorv2/__init__.py +16 -1
  135. aws_cdk/aws_internetmonitor/__init__.py +16 -1
  136. aws_cdk/aws_iot/__init__.py +16 -1
  137. aws_cdk/aws_iot1click/__init__.py +16 -1
  138. aws_cdk/aws_iotanalytics/__init__.py +16 -1
  139. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
  140. aws_cdk/aws_iotevents/__init__.py +16 -1
  141. aws_cdk/aws_iotfleethub/__init__.py +16 -1
  142. aws_cdk/aws_iotfleetwise/__init__.py +435 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +106 -2
  144. aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
  145. aws_cdk/aws_iottwinmaker/__init__.py +16 -1
  146. aws_cdk/aws_iotwireless/__init__.py +221 -1
  147. aws_cdk/aws_ivs/__init__.py +16 -1
  148. aws_cdk/aws_ivschat/__init__.py +16 -1
  149. aws_cdk/aws_kafkaconnect/__init__.py +16 -1
  150. aws_cdk/aws_kendra/__init__.py +16 -1
  151. aws_cdk/aws_kendraranking/__init__.py +16 -1
  152. aws_cdk/aws_kinesis/__init__.py +16 -1
  153. aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
  154. aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
  155. aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
  156. aws_cdk/aws_kinesisvideo/__init__.py +16 -1
  157. aws_cdk/aws_kms/__init__.py +16 -1
  158. aws_cdk/aws_lakeformation/__init__.py +16 -1
  159. aws_cdk/aws_lambda/__init__.py +145 -17
  160. aws_cdk/aws_lambda_destinations/__init__.py +16 -1
  161. aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +16 -1
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +31 -2
  165. aws_cdk/aws_licensemanager/__init__.py +16 -1
  166. aws_cdk/aws_lightsail/__init__.py +16 -1
  167. aws_cdk/aws_location/__init__.py +16 -1
  168. aws_cdk/aws_logs/__init__.py +17 -2
  169. aws_cdk/aws_logs_destinations/__init__.py +16 -1
  170. aws_cdk/aws_lookoutequipment/__init__.py +16 -1
  171. aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
  172. aws_cdk/aws_lookoutvision/__init__.py +16 -1
  173. aws_cdk/aws_m2/__init__.py +16 -1
  174. aws_cdk/aws_macie/__init__.py +16 -1
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +127 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +8004 -3263
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +16 -1
  181. aws_cdk/aws_mediastore/__init__.py +16 -1
  182. aws_cdk/aws_mediatailor/__init__.py +16 -1
  183. aws_cdk/aws_memorydb/__init__.py +16 -1
  184. aws_cdk/aws_msk/__init__.py +303 -480
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +16 -1
  187. aws_cdk/aws_neptunegraph/__init__.py +16 -1
  188. aws_cdk/aws_networkfirewall/__init__.py +16 -1
  189. aws_cdk/aws_networkmanager/__init__.py +16 -1
  190. aws_cdk/aws_nimblestudio/__init__.py +16 -1
  191. aws_cdk/aws_oam/__init__.py +16 -1
  192. aws_cdk/aws_omics/__init__.py +16 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +16 -1
  194. aws_cdk/aws_opensearchservice/__init__.py +22 -1
  195. aws_cdk/aws_opsworks/__init__.py +16 -1
  196. aws_cdk/aws_opsworkscm/__init__.py +16 -1
  197. aws_cdk/aws_organizations/__init__.py +16 -1
  198. aws_cdk/aws_osis/__init__.py +16 -1
  199. aws_cdk/aws_panorama/__init__.py +16 -1
  200. aws_cdk/aws_paymentcryptography/__init__.py +16 -1
  201. aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +85 -31
  203. aws_cdk/aws_personalize/__init__.py +16 -1
  204. aws_cdk/aws_pinpoint/__init__.py +16 -1
  205. aws_cdk/aws_pinpointemail/__init__.py +16 -1
  206. aws_cdk/aws_pipes/__init__.py +65 -1
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +27 -15
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +654 -100
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +78 -32
  213. aws_cdk/aws_redshift/__init__.py +16 -1
  214. aws_cdk/aws_redshiftserverless/__init__.py +16 -1
  215. aws_cdk/aws_refactorspaces/__init__.py +16 -1
  216. aws_cdk/aws_rekognition/__init__.py +16 -1
  217. aws_cdk/aws_resiliencehub/__init__.py +16 -1
  218. aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
  219. aws_cdk/aws_resourcegroups/__init__.py +16 -1
  220. aws_cdk/aws_robomaker/__init__.py +16 -1
  221. aws_cdk/aws_rolesanywhere/__init__.py +16 -1
  222. aws_cdk/aws_route53/__init__.py +16 -1
  223. aws_cdk/aws_route53_patterns/__init__.py +16 -1
  224. aws_cdk/aws_route53_targets/__init__.py +16 -1
  225. aws_cdk/aws_route53profiles/__init__.py +16 -1
  226. aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
  227. aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
  228. aws_cdk/aws_route53resolver/__init__.py +16 -1
  229. aws_cdk/aws_rum/__init__.py +16 -1
  230. aws_cdk/aws_s3/__init__.py +231 -34
  231. aws_cdk/aws_s3_assets/__init__.py +16 -1
  232. aws_cdk/aws_s3_deployment/__init__.py +16 -1
  233. aws_cdk/aws_s3_notifications/__init__.py +16 -1
  234. aws_cdk/aws_s3express/__init__.py +16 -1
  235. aws_cdk/aws_s3objectlambda/__init__.py +18 -3
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +888 -59
  238. aws_cdk/aws_sam/__init__.py +16 -1
  239. aws_cdk/aws_scheduler/__init__.py +16 -1
  240. aws_cdk/aws_sdb/__init__.py +16 -1
  241. aws_cdk/aws_secretsmanager/__init__.py +38 -9
  242. aws_cdk/aws_securityhub/__init__.py +277 -20
  243. aws_cdk/aws_securitylake/__init__.py +343 -8
  244. aws_cdk/aws_servicecatalog/__init__.py +16 -1
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
  246. aws_cdk/aws_servicediscovery/__init__.py +21 -6
  247. aws_cdk/aws_ses/__init__.py +16 -1
  248. aws_cdk/aws_ses_actions/__init__.py +16 -1
  249. aws_cdk/aws_shield/__init__.py +16 -1
  250. aws_cdk/aws_signer/__init__.py +16 -1
  251. aws_cdk/aws_simspaceweaver/__init__.py +16 -1
  252. aws_cdk/aws_sns/__init__.py +16 -9
  253. aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
  254. aws_cdk/aws_sqs/__init__.py +16 -1
  255. aws_cdk/aws_ssm/__init__.py +36 -13
  256. aws_cdk/aws_ssmcontacts/__init__.py +16 -1
  257. aws_cdk/aws_ssmincidents/__init__.py +16 -1
  258. aws_cdk/aws_ssmquicksetup/__init__.py +16 -1
  259. aws_cdk/aws_sso/__init__.py +16 -1
  260. aws_cdk/aws_stepfunctions/__init__.py +16 -1
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +52 -1
  262. aws_cdk/aws_supportapp/__init__.py +16 -1
  263. aws_cdk/aws_synthetics/__init__.py +16 -1
  264. aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
  265. aws_cdk/aws_timestream/__init__.py +16 -1
  266. aws_cdk/aws_transfer/__init__.py +16 -1
  267. aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
  268. aws_cdk/aws_voiceid/__init__.py +16 -1
  269. aws_cdk/aws_vpclattice/__init__.py +16 -1
  270. aws_cdk/aws_waf/__init__.py +16 -1
  271. aws_cdk/aws_wafregional/__init__.py +16 -1
  272. aws_cdk/aws_wafv2/__init__.py +16 -1
  273. aws_cdk/aws_wisdom/__init__.py +16 -1
  274. aws_cdk/aws_workspaces/__init__.py +16 -1
  275. aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
  276. aws_cdk/aws_workspacesweb/__init__.py +16 -1
  277. aws_cdk/aws_xray/__init__.py +16 -1
  278. aws_cdk/cloud_assembly_schema/__init__.py +16 -1
  279. aws_cdk/cloudformation_include/__init__.py +16 -1
  280. aws_cdk/custom_resources/__init__.py +16 -1
  281. aws_cdk/cx_api/__init__.py +35 -1
  282. aws_cdk/lambda_layer_awscli/__init__.py +16 -1
  283. aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
  284. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
  285. aws_cdk/pipelines/__init__.py +16 -1
  286. aws_cdk/region_info/__init__.py +16 -1
  287. aws_cdk/triggers/__init__.py +16 -1
  288. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.159.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.157.0.dist-info/RECORD +0 -294
  292. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/top_level.txt +0 -0
@@ -43,7 +43,22 @@ import jsii
43
43
  import publication
44
44
  import typing_extensions
45
45
 
46
- from typeguard import check_type
46
+ import typeguard
47
+ from importlib.metadata import version as _metadata_package_version
48
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
49
+
50
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
51
+ if TYPEGUARD_MAJOR_VERSION <= 2:
52
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
53
+ else:
54
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
55
+ pass
56
+ else:
57
+ if TYPEGUARD_MAJOR_VERSION == 3:
58
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
59
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
60
+ else:
61
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
47
62
 
48
63
  from .._jsii import *
49
64
 
@@ -1495,7 +1510,9 @@ class CfnCluster(
1495
1510
  metaclass=jsii.JSIIMeta,
1496
1511
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster",
1497
1512
  ):
1498
- '''Resource Type definition for AWS::SageMaker::Cluster.
1513
+ '''Creates a SageMaker HyperPod cluster.
1514
+
1515
+ SageMaker HyperPod is a capability of SageMaker for creating and managing persistent clusters for developing large machine learning models, such as large language models (LLMs) and diffusion models. To learn more, see `Amazon SageMaker HyperPod <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod.html>`_ in the *Amazon SageMaker Developer Guide* .
1499
1516
 
1500
1517
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html
1501
1518
  :cloudformationResource: AWS::SageMaker::Cluster
@@ -1564,11 +1581,11 @@ class CfnCluster(
1564
1581
  :param scope: Scope in which this resource is defined.
1565
1582
  :param id: Construct identifier for this resource (unique in its scope).
1566
1583
  :param instance_groups: The instance groups of the SageMaker HyperPod cluster.
1567
- :param cluster_name: The name of the HyperPod Cluster.
1568
- :param node_recovery: If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.
1569
- :param orchestrator: Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
1570
- :param tags: Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.
1571
- :param vpc_config: Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.
1584
+ :param cluster_name: The name of the SageMaker HyperPod cluster.
1585
+ :param node_recovery: Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are ``Automatic`` for enabling and ``None`` for disabling.
1586
+ :param orchestrator: The orchestrator type for the SageMaker HyperPod cluster. Currently, ``'eks'`` is the only available option.
1587
+ :param tags: A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see `AddTags <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html>`_ . For more information on adding metadata to your AWS resources with tagging, see `Tagging AWS resources <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . For advice on best practices for managing AWS resources with tagging, see `Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy <https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf>`_ .
1588
+ :param vpc_config: Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see `Give SageMaker Access to Resources in your Amazon VPC <https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html>`_ .
1572
1589
  '''
1573
1590
  if __debug__:
1574
1591
  type_hints = typing.get_type_hints(_typecheckingstub__b1441bbec1bb60460bda62b43765e140885fbb36e13b090ded31c919b4f27ca6)
@@ -1618,7 +1635,7 @@ class CfnCluster(
1618
1635
  @builtins.property
1619
1636
  @jsii.member(jsii_name="attrClusterArn")
1620
1637
  def attr_cluster_arn(self) -> builtins.str:
1621
- '''The Amazon Resource Name (ARN) of the HyperPod Cluster.
1638
+ '''The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.
1622
1639
 
1623
1640
  :cloudformationAttribute: ClusterArn
1624
1641
  '''
@@ -1627,7 +1644,7 @@ class CfnCluster(
1627
1644
  @builtins.property
1628
1645
  @jsii.member(jsii_name="attrClusterStatus")
1629
1646
  def attr_cluster_status(self) -> builtins.str:
1630
- '''The status of the HyperPod Cluster.
1647
+ '''The status of the SageMaker HyperPod cluster.
1631
1648
 
1632
1649
  :cloudformationAttribute: ClusterStatus
1633
1650
  '''
@@ -1636,7 +1653,7 @@ class CfnCluster(
1636
1653
  @builtins.property
1637
1654
  @jsii.member(jsii_name="attrCreationTime")
1638
1655
  def attr_creation_time(self) -> builtins.str:
1639
- '''The time at which the HyperPod cluster was created.
1656
+ '''The time when the SageMaker HyperPod cluster is created.
1640
1657
 
1641
1658
  :cloudformationAttribute: CreationTime
1642
1659
  '''
@@ -1645,7 +1662,7 @@ class CfnCluster(
1645
1662
  @builtins.property
1646
1663
  @jsii.member(jsii_name="attrFailureMessage")
1647
1664
  def attr_failure_message(self) -> builtins.str:
1648
- '''The failure message of the HyperPod Cluster.
1665
+ '''The failure message of the SageMaker HyperPod cluster.
1649
1666
 
1650
1667
  :cloudformationAttribute: FailureMessage
1651
1668
  '''
@@ -1683,7 +1700,7 @@ class CfnCluster(
1683
1700
  @builtins.property
1684
1701
  @jsii.member(jsii_name="clusterName")
1685
1702
  def cluster_name(self) -> typing.Optional[builtins.str]:
1686
- '''The name of the HyperPod Cluster.'''
1703
+ '''The name of the SageMaker HyperPod cluster.'''
1687
1704
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clusterName"))
1688
1705
 
1689
1706
  @cluster_name.setter
@@ -1696,7 +1713,7 @@ class CfnCluster(
1696
1713
  @builtins.property
1697
1714
  @jsii.member(jsii_name="nodeRecovery")
1698
1715
  def node_recovery(self) -> typing.Optional[builtins.str]:
1699
- '''If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected.'''
1716
+ '''Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod.'''
1700
1717
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nodeRecovery"))
1701
1718
 
1702
1719
  @node_recovery.setter
@@ -1711,7 +1728,7 @@ class CfnCluster(
1711
1728
  def orchestrator(
1712
1729
  self,
1713
1730
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OrchestratorProperty"]]:
1714
- '''Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.'''
1731
+ '''The orchestrator type for the SageMaker HyperPod cluster.'''
1715
1732
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OrchestratorProperty"]], jsii.get(self, "orchestrator"))
1716
1733
 
1717
1734
  @orchestrator.setter
@@ -1727,7 +1744,7 @@ class CfnCluster(
1727
1744
  @builtins.property
1728
1745
  @jsii.member(jsii_name="tags")
1729
1746
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1730
- '''Custom tags for managing the SageMaker HyperPod cluster as an AWS resource.'''
1747
+ '''A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.'''
1731
1748
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1732
1749
 
1733
1750
  @tags.setter
@@ -1766,11 +1783,11 @@ class CfnCluster(
1766
1783
  *,
1767
1784
  volume_size_in_gb: typing.Optional[jsii.Number] = None,
1768
1785
  ) -> None:
1769
- '''Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group.
1786
+ '''Defines the configuration for attaching an additional Amazon Elastic Block Store (EBS) volume to each instance of the SageMaker HyperPod cluster instance group.
1770
1787
 
1771
- The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
1788
+ To learn more, see `SageMaker HyperPod release notes: June 20, 2024 <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620>`_ .
1772
1789
 
1773
- :param volume_size_in_gb: The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
1790
+ :param volume_size_in_gb: The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to ``/opt/sagemaker`` .
1774
1791
 
1775
1792
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterebsvolumeconfig.html
1776
1793
  :exampleMetadata: fixture=_generated
@@ -1796,7 +1813,7 @@ class CfnCluster(
1796
1813
  def volume_size_in_gb(self) -> typing.Optional[jsii.Number]:
1797
1814
  '''The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group.
1798
1815
 
1799
- The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
1816
+ The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to ``/opt/sagemaker`` .
1800
1817
 
1801
1818
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterebsvolumeconfig.html#cfn-sagemaker-cluster-clusterebsvolumeconfig-volumesizeingb
1802
1819
  '''
@@ -1843,17 +1860,17 @@ class CfnCluster(
1843
1860
  on_start_deep_health_checks: typing.Optional[typing.Sequence[builtins.str]] = None,
1844
1861
  threads_per_core: typing.Optional[jsii.Number] = None,
1845
1862
  ) -> None:
1846
- '''Details of an instance group in a SageMaker HyperPod cluster.
1863
+ '''The configuration information of the instance group within the HyperPod cluster.
1847
1864
 
1848
1865
  :param execution_role: The execution role for the instance group to assume.
1849
- :param instance_count: The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.
1866
+ :param instance_count: The number of instances in an instance group of the SageMaker HyperPod cluster.
1850
1867
  :param instance_group_name: The name of the instance group of a SageMaker HyperPod cluster.
1851
1868
  :param instance_type: The instance type of the instance group of a SageMaker HyperPod cluster.
1852
1869
  :param life_cycle_config: The lifecycle configuration for a SageMaker HyperPod cluster.
1853
1870
  :param current_count: The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.
1854
- :param instance_storage_configs: The instance storage configuration for the instance group.
1855
- :param on_start_deep_health_checks: Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.
1856
- :param threads_per_core: The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.
1871
+ :param instance_storage_configs: The configurations of additional storage specified to the instance group where the instance (node) is launched.
1872
+ :param on_start_deep_health_checks: A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated. Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.
1873
+ :param threads_per_core: The number of threads per CPU core you specified under ``CreateCluster`` .
1857
1874
 
1858
1875
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html
1859
1876
  :exampleMetadata: fixture=_generated
@@ -1924,7 +1941,7 @@ class CfnCluster(
1924
1941
 
1925
1942
  @builtins.property
1926
1943
  def instance_count(self) -> jsii.Number:
1927
- '''The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.
1944
+ '''The number of instances in an instance group of the SageMaker HyperPod cluster.
1928
1945
 
1929
1946
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-instancecount
1930
1947
  '''
@@ -1977,7 +1994,7 @@ class CfnCluster(
1977
1994
  def instance_storage_configs(
1978
1995
  self,
1979
1996
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterInstanceStorageConfigProperty"]]]]:
1980
- '''The instance storage configuration for the instance group.
1997
+ '''The configurations of additional storage specified to the instance group where the instance (node) is launched.
1981
1998
 
1982
1999
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-instancestorageconfigs
1983
2000
  '''
@@ -1988,7 +2005,9 @@ class CfnCluster(
1988
2005
  def on_start_deep_health_checks(
1989
2006
  self,
1990
2007
  ) -> typing.Optional[typing.List[builtins.str]]:
1991
- '''Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.
2008
+ '''A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated.
2009
+
2010
+ Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.
1992
2011
 
1993
2012
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-onstartdeephealthchecks
1994
2013
  '''
@@ -1997,9 +2016,7 @@ class CfnCluster(
1997
2016
 
1998
2017
  @builtins.property
1999
2018
  def threads_per_core(self) -> typing.Optional[jsii.Number]:
2000
- '''The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading.
2001
-
2002
- For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.
2019
+ '''The number of threads per CPU core you specified under ``CreateCluster`` .
2003
2020
 
2004
2021
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-threadspercore
2005
2022
  '''
@@ -2030,7 +2047,9 @@ class CfnCluster(
2030
2047
  ) -> None:
2031
2048
  '''Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.
2032
2049
 
2033
- :param ebs_volume_config: Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
2050
+ To learn more, see `SageMaker HyperPod release notes: June 20, 2024 <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620>`_ .
2051
+
2052
+ :param ebs_volume_config: Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to ``/opt/sagemaker`` .
2034
2053
 
2035
2054
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancestorageconfig.html
2036
2055
  :exampleMetadata: fixture=_generated
@@ -2060,7 +2079,7 @@ class CfnCluster(
2060
2079
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterEbsVolumeConfigProperty"]]:
2061
2080
  '''Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group.
2062
2081
 
2063
- The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
2082
+ The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to ``/opt/sagemaker`` .
2064
2083
 
2065
2084
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancestorageconfig.html#cfn-sagemaker-cluster-clusterinstancestorageconfig-ebsvolumeconfig
2066
2085
  '''
@@ -2092,8 +2111,8 @@ class CfnCluster(
2092
2111
  ) -> None:
2093
2112
  '''The lifecycle configuration for a SageMaker HyperPod cluster.
2094
2113
 
2095
- :param on_create: The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.
2096
- :param source_s3_uri: An Amazon S3 bucket path where your lifecycle scripts are stored.
2114
+ :param on_create: The file name of the entrypoint script of lifecycle scripts under ``SourceS3Uri`` . This entrypoint script runs during cluster creation.
2115
+ :param source_s3_uri: An Amazon S3 bucket path where your lifecycle scripts are stored. .. epigraph:: Make sure that the S3 bucket path starts with ``s3://sagemaker-`` . The `IAM role for SageMaker HyperPod <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod>`_ has the managed ```AmazonSageMakerClusterInstanceRolePolicy`` <https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html>`_ attached, which allows access to S3 buckets with the specific prefix ``sagemaker-`` .
2097
2116
 
2098
2117
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterlifecycleconfig.html
2099
2118
  :exampleMetadata: fixture=_generated
@@ -2120,7 +2139,7 @@ class CfnCluster(
2120
2139
 
2121
2140
  @builtins.property
2122
2141
  def on_create(self) -> builtins.str:
2123
- '''The file name of the entrypoint script of lifecycle scripts under SourceS3Uri.
2142
+ '''The file name of the entrypoint script of lifecycle scripts under ``SourceS3Uri`` .
2124
2143
 
2125
2144
  This entrypoint script runs during cluster creation.
2126
2145
 
@@ -2134,6 +2153,10 @@ class CfnCluster(
2134
2153
  def source_s3_uri(self) -> builtins.str:
2135
2154
  '''An Amazon S3 bucket path where your lifecycle scripts are stored.
2136
2155
 
2156
+ .. epigraph::
2157
+
2158
+ Make sure that the S3 bucket path starts with ``s3://sagemaker-`` . The `IAM role for SageMaker HyperPod <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod>`_ has the managed ```AmazonSageMakerClusterInstanceRolePolicy`` <https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html>`_ attached, which allows access to S3 buckets with the specific prefix ``sagemaker-`` .
2159
+
2137
2160
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterlifecycleconfig.html#cfn-sagemaker-cluster-clusterlifecycleconfig-sources3uri
2138
2161
  '''
2139
2162
  result = self._values.get("source_s3_uri")
@@ -2158,9 +2181,11 @@ class CfnCluster(
2158
2181
  )
2159
2182
  class ClusterOrchestratorEksConfigProperty:
2160
2183
  def __init__(self, *, cluster_arn: builtins.str) -> None:
2161
- '''Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,.
2184
+ '''The configuration for the Amazon EKS cluster that is used as the orchestrator for the SageMaker HyperPod cluster.
2185
+
2186
+ This includes the Amazon Resource Name (ARN) of the EKS cluster
2162
2187
 
2163
- :param cluster_arn: The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster.
2188
+ :param cluster_arn: The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.
2164
2189
 
2165
2190
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterorchestratoreksconfig.html
2166
2191
  :exampleMetadata: fixture=_generated
@@ -2184,7 +2209,7 @@ class CfnCluster(
2184
2209
 
2185
2210
  @builtins.property
2186
2211
  def cluster_arn(self) -> builtins.str:
2187
- '''The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster.
2212
+ '''The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.
2188
2213
 
2189
2214
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterorchestratoreksconfig.html#cfn-sagemaker-cluster-clusterorchestratoreksconfig-clusterarn
2190
2215
  '''
@@ -2214,9 +2239,9 @@ class CfnCluster(
2214
2239
  *,
2215
2240
  eks: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ClusterOrchestratorEksConfigProperty", typing.Dict[builtins.str, typing.Any]]],
2216
2241
  ) -> None:
2217
- '''Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
2242
+ '''The orchestrator for a SageMaker HyperPod cluster.
2218
2243
 
2219
- :param eks: Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,.
2244
+ :param eks: The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.
2220
2245
 
2221
2246
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-orchestrator.html
2222
2247
  :exampleMetadata: fixture=_generated
@@ -2244,7 +2269,7 @@ class CfnCluster(
2244
2269
  def eks(
2245
2270
  self,
2246
2271
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterOrchestratorEksConfigProperty"]:
2247
- '''Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,.
2272
+ '''The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.
2248
2273
 
2249
2274
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-orchestrator.html#cfn-sagemaker-cluster-orchestrator-eks
2250
2275
  '''
@@ -2277,10 +2302,10 @@ class CfnCluster(
2277
2302
  ) -> None:
2278
2303
  '''Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.
2279
2304
 
2280
- You can control access to and from your resources by configuring a VPC.
2305
+ You can control access to and from your resources by configuring a VPC. For more information, see `Give SageMaker Access to Resources in your Amazon VPC <https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html>`_ .
2281
2306
 
2282
- :param security_group_ids: The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.
2283
- :param subnets: The ID of the subnets in the VPC to which you want to connect your training job or model.
2307
+ :param security_group_ids: The VPC security group IDs, in the form ``sg-xxxxxxxx`` . Specify the security groups for the VPC that is specified in the ``Subnets`` field.
2308
+ :param subnets: The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see `Supported Instance Types and Availability Zones <https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html>`_ .
2284
2309
 
2285
2310
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-vpcconfig.html
2286
2311
  :exampleMetadata: fixture=_generated
@@ -2307,9 +2332,9 @@ class CfnCluster(
2307
2332
 
2308
2333
  @builtins.property
2309
2334
  def security_group_ids(self) -> typing.List[builtins.str]:
2310
- '''The VPC security group IDs, in the form sg-xxxxxxxx.
2335
+ '''The VPC security group IDs, in the form ``sg-xxxxxxxx`` .
2311
2336
 
2312
- Specify the security groups for the VPC that is specified in the Subnets field.
2337
+ Specify the security groups for the VPC that is specified in the ``Subnets`` field.
2313
2338
 
2314
2339
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-vpcconfig.html#cfn-sagemaker-cluster-vpcconfig-securitygroupids
2315
2340
  '''
@@ -2321,6 +2346,8 @@ class CfnCluster(
2321
2346
  def subnets(self) -> typing.List[builtins.str]:
2322
2347
  '''The ID of the subnets in the VPC to which you want to connect your training job or model.
2323
2348
 
2349
+ For information about the availability of specific instance types, see `Supported Instance Types and Availability Zones <https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html>`_ .
2350
+
2324
2351
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-vpcconfig.html#cfn-sagemaker-cluster-vpcconfig-subnets
2325
2352
  '''
2326
2353
  result = self._values.get("subnets")
@@ -2365,11 +2392,11 @@ class CfnClusterProps:
2365
2392
  '''Properties for defining a ``CfnCluster``.
2366
2393
 
2367
2394
  :param instance_groups: The instance groups of the SageMaker HyperPod cluster.
2368
- :param cluster_name: The name of the HyperPod Cluster.
2369
- :param node_recovery: If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.
2370
- :param orchestrator: Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
2371
- :param tags: Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.
2372
- :param vpc_config: Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.
2395
+ :param cluster_name: The name of the SageMaker HyperPod cluster.
2396
+ :param node_recovery: Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are ``Automatic`` for enabling and ``None`` for disabling.
2397
+ :param orchestrator: The orchestrator type for the SageMaker HyperPod cluster. Currently, ``'eks'`` is the only available option.
2398
+ :param tags: A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see `AddTags <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html>`_ . For more information on adding metadata to your AWS resources with tagging, see `Tagging AWS resources <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . For advice on best practices for managing AWS resources with tagging, see `Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy <https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf>`_ .
2399
+ :param vpc_config: Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see `Give SageMaker Access to Resources in your Amazon VPC <https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html>`_ .
2373
2400
 
2374
2401
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html
2375
2402
  :exampleMetadata: fixture=_generated
@@ -2456,7 +2483,7 @@ class CfnClusterProps:
2456
2483
 
2457
2484
  @builtins.property
2458
2485
  def cluster_name(self) -> typing.Optional[builtins.str]:
2459
- '''The name of the HyperPod Cluster.
2486
+ '''The name of the SageMaker HyperPod cluster.
2460
2487
 
2461
2488
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-clustername
2462
2489
  '''
@@ -2465,9 +2492,9 @@ class CfnClusterProps:
2465
2492
 
2466
2493
  @builtins.property
2467
2494
  def node_recovery(self) -> typing.Optional[builtins.str]:
2468
- '''If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected.
2495
+ '''Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod.
2469
2496
 
2470
- If set to false, nodes will be labelled when a fault is detected.
2497
+ Available values are ``Automatic`` for enabling and ``None`` for disabling.
2471
2498
 
2472
2499
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-noderecovery
2473
2500
  '''
@@ -2478,7 +2505,9 @@ class CfnClusterProps:
2478
2505
  def orchestrator(
2479
2506
  self,
2480
2507
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.OrchestratorProperty]]:
2481
- '''Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
2508
+ '''The orchestrator type for the SageMaker HyperPod cluster.
2509
+
2510
+ Currently, ``'eks'`` is the only available option.
2482
2511
 
2483
2512
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-orchestrator
2484
2513
  '''
@@ -2487,9 +2516,11 @@ class CfnClusterProps:
2487
2516
 
2488
2517
  @builtins.property
2489
2518
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2490
- '''Custom tags for managing the SageMaker HyperPod cluster as an AWS resource.
2519
+ '''A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.
2520
+
2521
+ You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see `AddTags <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html>`_ .
2491
2522
 
2492
- You can add tags to your cluster in the same way you add them in other AWS services that support tagging.
2523
+ For more information on adding metadata to your AWS resources with tagging, see `Tagging AWS resources <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . For advice on best practices for managing AWS resources with tagging, see `Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy <https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf>`_ .
2493
2524
 
2494
2525
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-tags
2495
2526
  '''
@@ -2502,7 +2533,7 @@ class CfnClusterProps:
2502
2533
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.VpcConfigProperty]]:
2503
2534
  '''Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.
2504
2535
 
2505
- You can control access to and from your resources by configuring a VPC.
2536
+ You can control access to and from your resources by configuring a VPC. For more information, see `Give SageMaker Access to Resources in your Amazon VPC <https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html>`_ .
2506
2537
 
2507
2538
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-vpcconfig
2508
2539
  '''
@@ -6028,6 +6059,14 @@ class CfnDomain(
6028
6059
 
6029
6060
  # the properties below are optional
6030
6061
  code_editor_app_settings=sagemaker.CfnDomain.CodeEditorAppSettingsProperty(
6062
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
6063
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
6064
+ idle_timeout_in_minutes=123,
6065
+ lifecycle_management="lifecycleManagement",
6066
+ max_idle_timeout_in_minutes=123,
6067
+ min_idle_timeout_in_minutes=123
6068
+ )
6069
+ ),
6031
6070
  custom_images=[sagemaker.CfnDomain.CustomImageProperty(
6032
6071
  app_image_config_name="appImageConfigName",
6033
6072
  image_name="imageName",
@@ -6057,6 +6096,14 @@ class CfnDomain(
6057
6096
  ),
6058
6097
  default_landing_uri="defaultLandingUri",
6059
6098
  jupyter_lab_app_settings=sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
6099
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
6100
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
6101
+ idle_timeout_in_minutes=123,
6102
+ lifecycle_management="lifecycleManagement",
6103
+ max_idle_timeout_in_minutes=123,
6104
+ min_idle_timeout_in_minutes=123
6105
+ )
6106
+ ),
6060
6107
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
6061
6108
  repository_url="repositoryUrl"
6062
6109
  )],
@@ -6161,6 +6208,14 @@ class CfnDomain(
6161
6208
  uid=123
6162
6209
  ),
6163
6210
  jupyter_lab_app_settings=sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
6211
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
6212
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
6213
+ idle_timeout_in_minutes=123,
6214
+ lifecycle_management="lifecycleManagement",
6215
+ max_idle_timeout_in_minutes=123,
6216
+ min_idle_timeout_in_minutes=123
6217
+ )
6218
+ ),
6164
6219
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
6165
6220
  repository_url="repositoryUrl"
6166
6221
  )],
@@ -6562,10 +6617,73 @@ class CfnDomain(
6562
6617
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6563
6618
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
6564
6619
 
6620
+ @jsii.data_type(
6621
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnDomain.AppLifecycleManagementProperty",
6622
+ jsii_struct_bases=[],
6623
+ name_mapping={"idle_settings": "idleSettings"},
6624
+ )
6625
+ class AppLifecycleManagementProperty:
6626
+ def __init__(
6627
+ self,
6628
+ *,
6629
+ idle_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.IdleSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6630
+ ) -> None:
6631
+ '''Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications.
6632
+
6633
+ :param idle_settings: Settings related to idle shutdown of Studio applications.
6634
+
6635
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-applifecyclemanagement.html
6636
+ :exampleMetadata: fixture=_generated
6637
+
6638
+ Example::
6639
+
6640
+ # The code below shows an example of how to instantiate this type.
6641
+ # The values are placeholders you should change.
6642
+ from aws_cdk import aws_sagemaker as sagemaker
6643
+
6644
+ app_lifecycle_management_property = sagemaker.CfnDomain.AppLifecycleManagementProperty(
6645
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
6646
+ idle_timeout_in_minutes=123,
6647
+ lifecycle_management="lifecycleManagement",
6648
+ max_idle_timeout_in_minutes=123,
6649
+ min_idle_timeout_in_minutes=123
6650
+ )
6651
+ )
6652
+ '''
6653
+ if __debug__:
6654
+ type_hints = typing.get_type_hints(_typecheckingstub__7effd4411e9cef3285cdb58cb66208ce801332047fd17028be8db70aea812d86)
6655
+ check_type(argname="argument idle_settings", value=idle_settings, expected_type=type_hints["idle_settings"])
6656
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6657
+ if idle_settings is not None:
6658
+ self._values["idle_settings"] = idle_settings
6659
+
6660
+ @builtins.property
6661
+ def idle_settings(
6662
+ self,
6663
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.IdleSettingsProperty"]]:
6664
+ '''Settings related to idle shutdown of Studio applications.
6665
+
6666
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-applifecyclemanagement.html#cfn-sagemaker-domain-applifecyclemanagement-idlesettings
6667
+ '''
6668
+ result = self._values.get("idle_settings")
6669
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.IdleSettingsProperty"]], result)
6670
+
6671
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6672
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6673
+
6674
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6675
+ return not (rhs == self)
6676
+
6677
+ def __repr__(self) -> str:
6678
+ return "AppLifecycleManagementProperty(%s)" % ", ".join(
6679
+ k + "=" + repr(v) for k, v in self._values.items()
6680
+ )
6681
+
6565
6682
  @jsii.data_type(
6566
6683
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnDomain.CodeEditorAppSettingsProperty",
6567
6684
  jsii_struct_bases=[],
6568
6685
  name_mapping={
6686
+ "app_lifecycle_management": "appLifecycleManagement",
6569
6687
  "custom_images": "customImages",
6570
6688
  "default_resource_spec": "defaultResourceSpec",
6571
6689
  "lifecycle_config_arns": "lifecycleConfigArns",
@@ -6575,6 +6693,7 @@ class CfnDomain(
6575
6693
  def __init__(
6576
6694
  self,
6577
6695
  *,
6696
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.AppLifecycleManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6578
6697
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.CustomImageProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6579
6698
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.ResourceSpecProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6580
6699
  lifecycle_config_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -6583,6 +6702,7 @@ class CfnDomain(
6583
6702
 
6584
6703
  For more information about Code Editor, see `Get started with Code Editor in Amazon SageMaker <https://docs.aws.amazon.com/sagemaker/latest/dg/code-editor.html>`_ .
6585
6704
 
6705
+ :param app_lifecycle_management: Settings that are used to configure and manage the lifecycle of CodeEditor applications.
6586
6706
  :param custom_images: A list of custom SageMaker images that are configured to run as a Code Editor app.
6587
6707
  :param default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.
6588
6708
  :param lifecycle_config_arns: The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.
@@ -6597,6 +6717,14 @@ class CfnDomain(
6597
6717
  from aws_cdk import aws_sagemaker as sagemaker
6598
6718
 
6599
6719
  code_editor_app_settings_property = sagemaker.CfnDomain.CodeEditorAppSettingsProperty(
6720
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
6721
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
6722
+ idle_timeout_in_minutes=123,
6723
+ lifecycle_management="lifecycleManagement",
6724
+ max_idle_timeout_in_minutes=123,
6725
+ min_idle_timeout_in_minutes=123
6726
+ )
6727
+ ),
6600
6728
  custom_images=[sagemaker.CfnDomain.CustomImageProperty(
6601
6729
  app_image_config_name="appImageConfigName",
6602
6730
  image_name="imageName",
@@ -6615,10 +6743,13 @@ class CfnDomain(
6615
6743
  '''
6616
6744
  if __debug__:
6617
6745
  type_hints = typing.get_type_hints(_typecheckingstub__fc744bb58e49877db429fbdcea73e31d9e5326375463940bb48321473f97dfaa)
6746
+ check_type(argname="argument app_lifecycle_management", value=app_lifecycle_management, expected_type=type_hints["app_lifecycle_management"])
6618
6747
  check_type(argname="argument custom_images", value=custom_images, expected_type=type_hints["custom_images"])
6619
6748
  check_type(argname="argument default_resource_spec", value=default_resource_spec, expected_type=type_hints["default_resource_spec"])
6620
6749
  check_type(argname="argument lifecycle_config_arns", value=lifecycle_config_arns, expected_type=type_hints["lifecycle_config_arns"])
6621
6750
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6751
+ if app_lifecycle_management is not None:
6752
+ self._values["app_lifecycle_management"] = app_lifecycle_management
6622
6753
  if custom_images is not None:
6623
6754
  self._values["custom_images"] = custom_images
6624
6755
  if default_resource_spec is not None:
@@ -6626,6 +6757,17 @@ class CfnDomain(
6626
6757
  if lifecycle_config_arns is not None:
6627
6758
  self._values["lifecycle_config_arns"] = lifecycle_config_arns
6628
6759
 
6760
+ @builtins.property
6761
+ def app_lifecycle_management(
6762
+ self,
6763
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.AppLifecycleManagementProperty"]]:
6764
+ '''Settings that are used to configure and manage the lifecycle of CodeEditor applications.
6765
+
6766
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-codeeditorappsettings.html#cfn-sagemaker-domain-codeeditorappsettings-applifecyclemanagement
6767
+ '''
6768
+ result = self._values.get("app_lifecycle_management")
6769
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.AppLifecycleManagementProperty"]], result)
6770
+
6629
6771
  @builtins.property
6630
6772
  def custom_images(
6631
6773
  self,
@@ -7084,6 +7226,14 @@ class CfnDomain(
7084
7226
  uid=123
7085
7227
  ),
7086
7228
  jupyter_lab_app_settings=sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
7229
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
7230
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
7231
+ idle_timeout_in_minutes=123,
7232
+ lifecycle_management="lifecycleManagement",
7233
+ max_idle_timeout_in_minutes=123,
7234
+ min_idle_timeout_in_minutes=123
7235
+ )
7236
+ ),
7087
7237
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
7088
7238
  repository_url="repositoryUrl"
7089
7239
  )],
@@ -7584,10 +7734,116 @@ class CfnDomain(
7584
7734
  k + "=" + repr(v) for k, v in self._values.items()
7585
7735
  )
7586
7736
 
7737
+ @jsii.data_type(
7738
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnDomain.IdleSettingsProperty",
7739
+ jsii_struct_bases=[],
7740
+ name_mapping={
7741
+ "idle_timeout_in_minutes": "idleTimeoutInMinutes",
7742
+ "lifecycle_management": "lifecycleManagement",
7743
+ "max_idle_timeout_in_minutes": "maxIdleTimeoutInMinutes",
7744
+ "min_idle_timeout_in_minutes": "minIdleTimeoutInMinutes",
7745
+ },
7746
+ )
7747
+ class IdleSettingsProperty:
7748
+ def __init__(
7749
+ self,
7750
+ *,
7751
+ idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
7752
+ lifecycle_management: typing.Optional[builtins.str] = None,
7753
+ max_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
7754
+ min_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
7755
+ ) -> None:
7756
+ '''Settings related to idle shutdown of Studio applications.
7757
+
7758
+ :param idle_timeout_in_minutes: The time that SageMaker waits after the application becomes idle before shutting it down.
7759
+ :param lifecycle_management: Indicates whether idle shutdown is activated for the application type.
7760
+ :param max_idle_timeout_in_minutes: The maximum value in minutes that custom idle shutdown can be set to by the user.
7761
+ :param min_idle_timeout_in_minutes: The minimum value in minutes that custom idle shutdown can be set to by the user.
7762
+
7763
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-idlesettings.html
7764
+ :exampleMetadata: fixture=_generated
7765
+
7766
+ Example::
7767
+
7768
+ # The code below shows an example of how to instantiate this type.
7769
+ # The values are placeholders you should change.
7770
+ from aws_cdk import aws_sagemaker as sagemaker
7771
+
7772
+ idle_settings_property = sagemaker.CfnDomain.IdleSettingsProperty(
7773
+ idle_timeout_in_minutes=123,
7774
+ lifecycle_management="lifecycleManagement",
7775
+ max_idle_timeout_in_minutes=123,
7776
+ min_idle_timeout_in_minutes=123
7777
+ )
7778
+ '''
7779
+ if __debug__:
7780
+ type_hints = typing.get_type_hints(_typecheckingstub__9e3d0f1226c122e790812fdc875a758ed55021588a3e9f6f3227062284b60c8b)
7781
+ check_type(argname="argument idle_timeout_in_minutes", value=idle_timeout_in_minutes, expected_type=type_hints["idle_timeout_in_minutes"])
7782
+ check_type(argname="argument lifecycle_management", value=lifecycle_management, expected_type=type_hints["lifecycle_management"])
7783
+ check_type(argname="argument max_idle_timeout_in_minutes", value=max_idle_timeout_in_minutes, expected_type=type_hints["max_idle_timeout_in_minutes"])
7784
+ check_type(argname="argument min_idle_timeout_in_minutes", value=min_idle_timeout_in_minutes, expected_type=type_hints["min_idle_timeout_in_minutes"])
7785
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
7786
+ if idle_timeout_in_minutes is not None:
7787
+ self._values["idle_timeout_in_minutes"] = idle_timeout_in_minutes
7788
+ if lifecycle_management is not None:
7789
+ self._values["lifecycle_management"] = lifecycle_management
7790
+ if max_idle_timeout_in_minutes is not None:
7791
+ self._values["max_idle_timeout_in_minutes"] = max_idle_timeout_in_minutes
7792
+ if min_idle_timeout_in_minutes is not None:
7793
+ self._values["min_idle_timeout_in_minutes"] = min_idle_timeout_in_minutes
7794
+
7795
+ @builtins.property
7796
+ def idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
7797
+ '''The time that SageMaker waits after the application becomes idle before shutting it down.
7798
+
7799
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-idlesettings.html#cfn-sagemaker-domain-idlesettings-idletimeoutinminutes
7800
+ '''
7801
+ result = self._values.get("idle_timeout_in_minutes")
7802
+ return typing.cast(typing.Optional[jsii.Number], result)
7803
+
7804
+ @builtins.property
7805
+ def lifecycle_management(self) -> typing.Optional[builtins.str]:
7806
+ '''Indicates whether idle shutdown is activated for the application type.
7807
+
7808
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-idlesettings.html#cfn-sagemaker-domain-idlesettings-lifecyclemanagement
7809
+ '''
7810
+ result = self._values.get("lifecycle_management")
7811
+ return typing.cast(typing.Optional[builtins.str], result)
7812
+
7813
+ @builtins.property
7814
+ def max_idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
7815
+ '''The maximum value in minutes that custom idle shutdown can be set to by the user.
7816
+
7817
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-idlesettings.html#cfn-sagemaker-domain-idlesettings-maxidletimeoutinminutes
7818
+ '''
7819
+ result = self._values.get("max_idle_timeout_in_minutes")
7820
+ return typing.cast(typing.Optional[jsii.Number], result)
7821
+
7822
+ @builtins.property
7823
+ def min_idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
7824
+ '''The minimum value in minutes that custom idle shutdown can be set to by the user.
7825
+
7826
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-idlesettings.html#cfn-sagemaker-domain-idlesettings-minidletimeoutinminutes
7827
+ '''
7828
+ result = self._values.get("min_idle_timeout_in_minutes")
7829
+ return typing.cast(typing.Optional[jsii.Number], result)
7830
+
7831
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7832
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7833
+
7834
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7835
+ return not (rhs == self)
7836
+
7837
+ def __repr__(self) -> str:
7838
+ return "IdleSettingsProperty(%s)" % ", ".join(
7839
+ k + "=" + repr(v) for k, v in self._values.items()
7840
+ )
7841
+
7587
7842
  @jsii.data_type(
7588
7843
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnDomain.JupyterLabAppSettingsProperty",
7589
7844
  jsii_struct_bases=[],
7590
7845
  name_mapping={
7846
+ "app_lifecycle_management": "appLifecycleManagement",
7591
7847
  "code_repositories": "codeRepositories",
7592
7848
  "custom_images": "customImages",
7593
7849
  "default_resource_spec": "defaultResourceSpec",
@@ -7598,6 +7854,7 @@ class CfnDomain(
7598
7854
  def __init__(
7599
7855
  self,
7600
7856
  *,
7857
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.AppLifecycleManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7601
7858
  code_repositories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.CodeRepositoryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
7602
7859
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.CustomImageProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
7603
7860
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.ResourceSpecProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -7605,6 +7862,7 @@ class CfnDomain(
7605
7862
  ) -> None:
7606
7863
  '''The settings for the JupyterLab application.
7607
7864
 
7865
+ :param app_lifecycle_management: Indicates whether idle shutdown is activated for JupyterLab applications.
7608
7866
  :param code_repositories: A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.
7609
7867
  :param custom_images: A list of custom SageMaker images that are configured to run as a JupyterLab app.
7610
7868
  :param default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.
@@ -7620,6 +7878,14 @@ class CfnDomain(
7620
7878
  from aws_cdk import aws_sagemaker as sagemaker
7621
7879
 
7622
7880
  jupyter_lab_app_settings_property = sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
7881
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
7882
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
7883
+ idle_timeout_in_minutes=123,
7884
+ lifecycle_management="lifecycleManagement",
7885
+ max_idle_timeout_in_minutes=123,
7886
+ min_idle_timeout_in_minutes=123
7887
+ )
7888
+ ),
7623
7889
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
7624
7890
  repository_url="repositoryUrl"
7625
7891
  )],
@@ -7641,11 +7907,14 @@ class CfnDomain(
7641
7907
  '''
7642
7908
  if __debug__:
7643
7909
  type_hints = typing.get_type_hints(_typecheckingstub__3cd086b89fbe936eaaa5fb775d9cbd0e29ad00fb21eb2a45265c217414f406d1)
7910
+ check_type(argname="argument app_lifecycle_management", value=app_lifecycle_management, expected_type=type_hints["app_lifecycle_management"])
7644
7911
  check_type(argname="argument code_repositories", value=code_repositories, expected_type=type_hints["code_repositories"])
7645
7912
  check_type(argname="argument custom_images", value=custom_images, expected_type=type_hints["custom_images"])
7646
7913
  check_type(argname="argument default_resource_spec", value=default_resource_spec, expected_type=type_hints["default_resource_spec"])
7647
7914
  check_type(argname="argument lifecycle_config_arns", value=lifecycle_config_arns, expected_type=type_hints["lifecycle_config_arns"])
7648
7915
  self._values: typing.Dict[builtins.str, typing.Any] = {}
7916
+ if app_lifecycle_management is not None:
7917
+ self._values["app_lifecycle_management"] = app_lifecycle_management
7649
7918
  if code_repositories is not None:
7650
7919
  self._values["code_repositories"] = code_repositories
7651
7920
  if custom_images is not None:
@@ -7655,6 +7924,17 @@ class CfnDomain(
7655
7924
  if lifecycle_config_arns is not None:
7656
7925
  self._values["lifecycle_config_arns"] = lifecycle_config_arns
7657
7926
 
7927
+ @builtins.property
7928
+ def app_lifecycle_management(
7929
+ self,
7930
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.AppLifecycleManagementProperty"]]:
7931
+ '''Indicates whether idle shutdown is activated for JupyterLab applications.
7932
+
7933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterlabappsettings.html#cfn-sagemaker-domain-jupyterlabappsettings-applifecyclemanagement
7934
+ '''
7935
+ result = self._values.get("app_lifecycle_management")
7936
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomain.AppLifecycleManagementProperty"]], result)
7937
+
7658
7938
  @builtins.property
7659
7939
  def code_repositories(
7660
7940
  self,
@@ -8538,6 +8818,14 @@ class CfnDomain(
8538
8818
 
8539
8819
  # the properties below are optional
8540
8820
  code_editor_app_settings=sagemaker.CfnDomain.CodeEditorAppSettingsProperty(
8821
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
8822
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
8823
+ idle_timeout_in_minutes=123,
8824
+ lifecycle_management="lifecycleManagement",
8825
+ max_idle_timeout_in_minutes=123,
8826
+ min_idle_timeout_in_minutes=123
8827
+ )
8828
+ ),
8541
8829
  custom_images=[sagemaker.CfnDomain.CustomImageProperty(
8542
8830
  app_image_config_name="appImageConfigName",
8543
8831
  image_name="imageName",
@@ -8567,6 +8855,14 @@ class CfnDomain(
8567
8855
  ),
8568
8856
  default_landing_uri="defaultLandingUri",
8569
8857
  jupyter_lab_app_settings=sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
8858
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
8859
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
8860
+ idle_timeout_in_minutes=123,
8861
+ lifecycle_management="lifecycleManagement",
8862
+ max_idle_timeout_in_minutes=123,
8863
+ min_idle_timeout_in_minutes=123
8864
+ )
8865
+ ),
8570
8866
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
8571
8867
  repository_url="repositoryUrl"
8572
8868
  )],
@@ -8945,6 +9241,14 @@ class CfnDomainProps:
8945
9241
 
8946
9242
  # the properties below are optional
8947
9243
  code_editor_app_settings=sagemaker.CfnDomain.CodeEditorAppSettingsProperty(
9244
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
9245
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
9246
+ idle_timeout_in_minutes=123,
9247
+ lifecycle_management="lifecycleManagement",
9248
+ max_idle_timeout_in_minutes=123,
9249
+ min_idle_timeout_in_minutes=123
9250
+ )
9251
+ ),
8948
9252
  custom_images=[sagemaker.CfnDomain.CustomImageProperty(
8949
9253
  app_image_config_name="appImageConfigName",
8950
9254
  image_name="imageName",
@@ -8974,6 +9278,14 @@ class CfnDomainProps:
8974
9278
  ),
8975
9279
  default_landing_uri="defaultLandingUri",
8976
9280
  jupyter_lab_app_settings=sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
9281
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
9282
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
9283
+ idle_timeout_in_minutes=123,
9284
+ lifecycle_management="lifecycleManagement",
9285
+ max_idle_timeout_in_minutes=123,
9286
+ min_idle_timeout_in_minutes=123
9287
+ )
9288
+ ),
8977
9289
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
8978
9290
  repository_url="repositoryUrl"
8979
9291
  )],
@@ -9078,6 +9390,14 @@ class CfnDomainProps:
9078
9390
  uid=123
9079
9391
  ),
9080
9392
  jupyter_lab_app_settings=sagemaker.CfnDomain.JupyterLabAppSettingsProperty(
9393
+ app_lifecycle_management=sagemaker.CfnDomain.AppLifecycleManagementProperty(
9394
+ idle_settings=sagemaker.CfnDomain.IdleSettingsProperty(
9395
+ idle_timeout_in_minutes=123,
9396
+ lifecycle_management="lifecycleManagement",
9397
+ max_idle_timeout_in_minutes=123,
9398
+ min_idle_timeout_in_minutes=123
9399
+ )
9400
+ ),
9081
9401
  code_repositories=[sagemaker.CfnDomain.CodeRepositoryProperty(
9082
9402
  repository_url="repositoryUrl"
9083
9403
  )],
@@ -42183,6 +42503,11 @@ class CfnSpace(
42183
42503
  space_settings=sagemaker.CfnSpace.SpaceSettingsProperty(
42184
42504
  app_type="appType",
42185
42505
  code_editor_app_settings=sagemaker.CfnSpace.SpaceCodeEditorAppSettingsProperty(
42506
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
42507
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
42508
+ idle_timeout_in_minutes=123
42509
+ )
42510
+ ),
42186
42511
  default_resource_spec=sagemaker.CfnSpace.ResourceSpecProperty(
42187
42512
  instance_type="instanceType",
42188
42513
  lifecycle_config_arn="lifecycleConfigArn",
@@ -42196,6 +42521,11 @@ class CfnSpace(
42196
42521
  )
42197
42522
  )],
42198
42523
  jupyter_lab_app_settings=sagemaker.CfnSpace.SpaceJupyterLabAppSettingsProperty(
42524
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
42525
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
42526
+ idle_timeout_in_minutes=123
42527
+ )
42528
+ ),
42199
42529
  code_repositories=[sagemaker.CfnSpace.CodeRepositoryProperty(
42200
42530
  repository_url="repositoryUrl"
42201
42531
  )],
@@ -43137,19 +43467,83 @@ class CfnSpace(
43137
43467
  k + "=" + repr(v) for k, v in self._values.items()
43138
43468
  )
43139
43469
 
43470
+ @jsii.data_type(
43471
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty",
43472
+ jsii_struct_bases=[],
43473
+ name_mapping={"idle_settings": "idleSettings"},
43474
+ )
43475
+ class SpaceAppLifecycleManagementProperty:
43476
+ def __init__(
43477
+ self,
43478
+ *,
43479
+ idle_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpace.SpaceIdleSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
43480
+ ) -> None:
43481
+ '''Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications in a space.
43482
+
43483
+ :param idle_settings: Settings related to idle shutdown of Studio applications.
43484
+
43485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spaceapplifecyclemanagement.html
43486
+ :exampleMetadata: fixture=_generated
43487
+
43488
+ Example::
43489
+
43490
+ # The code below shows an example of how to instantiate this type.
43491
+ # The values are placeholders you should change.
43492
+ from aws_cdk import aws_sagemaker as sagemaker
43493
+
43494
+ space_app_lifecycle_management_property = sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
43495
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
43496
+ idle_timeout_in_minutes=123
43497
+ )
43498
+ )
43499
+ '''
43500
+ if __debug__:
43501
+ type_hints = typing.get_type_hints(_typecheckingstub__a3fb258f8d778b7e45356a74e30d0b582d97ae5caa19a37e7c19fc07737b346d)
43502
+ check_type(argname="argument idle_settings", value=idle_settings, expected_type=type_hints["idle_settings"])
43503
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
43504
+ if idle_settings is not None:
43505
+ self._values["idle_settings"] = idle_settings
43506
+
43507
+ @builtins.property
43508
+ def idle_settings(
43509
+ self,
43510
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpace.SpaceIdleSettingsProperty"]]:
43511
+ '''Settings related to idle shutdown of Studio applications.
43512
+
43513
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spaceapplifecyclemanagement.html#cfn-sagemaker-space-spaceapplifecyclemanagement-idlesettings
43514
+ '''
43515
+ result = self._values.get("idle_settings")
43516
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpace.SpaceIdleSettingsProperty"]], result)
43517
+
43518
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
43519
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
43520
+
43521
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
43522
+ return not (rhs == self)
43523
+
43524
+ def __repr__(self) -> str:
43525
+ return "SpaceAppLifecycleManagementProperty(%s)" % ", ".join(
43526
+ k + "=" + repr(v) for k, v in self._values.items()
43527
+ )
43528
+
43140
43529
  @jsii.data_type(
43141
43530
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnSpace.SpaceCodeEditorAppSettingsProperty",
43142
43531
  jsii_struct_bases=[],
43143
- name_mapping={"default_resource_spec": "defaultResourceSpec"},
43532
+ name_mapping={
43533
+ "app_lifecycle_management": "appLifecycleManagement",
43534
+ "default_resource_spec": "defaultResourceSpec",
43535
+ },
43144
43536
  )
43145
43537
  class SpaceCodeEditorAppSettingsProperty:
43146
43538
  def __init__(
43147
43539
  self,
43148
43540
  *,
43541
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpace.SpaceAppLifecycleManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
43149
43542
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpace.ResourceSpecProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
43150
43543
  ) -> None:
43151
43544
  '''The application settings for a Code Editor space.
43152
43545
 
43546
+ :param app_lifecycle_management: Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.
43153
43547
  :param default_resource_spec: Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.
43154
43548
 
43155
43549
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spacecodeeditorappsettings.html
@@ -43162,6 +43556,11 @@ class CfnSpace(
43162
43556
  from aws_cdk import aws_sagemaker as sagemaker
43163
43557
 
43164
43558
  space_code_editor_app_settings_property = sagemaker.CfnSpace.SpaceCodeEditorAppSettingsProperty(
43559
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
43560
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
43561
+ idle_timeout_in_minutes=123
43562
+ )
43563
+ ),
43165
43564
  default_resource_spec=sagemaker.CfnSpace.ResourceSpecProperty(
43166
43565
  instance_type="instanceType",
43167
43566
  lifecycle_config_arn="lifecycleConfigArn",
@@ -43172,11 +43571,25 @@ class CfnSpace(
43172
43571
  '''
43173
43572
  if __debug__:
43174
43573
  type_hints = typing.get_type_hints(_typecheckingstub__1ccdbe16ad464b21c1c01c798a58ed7a704f69ec08bdbedc54b19a13b70b847a)
43574
+ check_type(argname="argument app_lifecycle_management", value=app_lifecycle_management, expected_type=type_hints["app_lifecycle_management"])
43175
43575
  check_type(argname="argument default_resource_spec", value=default_resource_spec, expected_type=type_hints["default_resource_spec"])
43176
43576
  self._values: typing.Dict[builtins.str, typing.Any] = {}
43577
+ if app_lifecycle_management is not None:
43578
+ self._values["app_lifecycle_management"] = app_lifecycle_management
43177
43579
  if default_resource_spec is not None:
43178
43580
  self._values["default_resource_spec"] = default_resource_spec
43179
43581
 
43582
+ @builtins.property
43583
+ def app_lifecycle_management(
43584
+ self,
43585
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpace.SpaceAppLifecycleManagementProperty"]]:
43586
+ '''Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.
43587
+
43588
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spacecodeeditorappsettings.html#cfn-sagemaker-space-spacecodeeditorappsettings-applifecyclemanagement
43589
+ '''
43590
+ result = self._values.get("app_lifecycle_management")
43591
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpace.SpaceAppLifecycleManagementProperty"]], result)
43592
+
43180
43593
  @builtins.property
43181
43594
  def default_resource_spec(
43182
43595
  self,
@@ -43199,10 +43612,66 @@ class CfnSpace(
43199
43612
  k + "=" + repr(v) for k, v in self._values.items()
43200
43613
  )
43201
43614
 
43615
+ @jsii.data_type(
43616
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnSpace.SpaceIdleSettingsProperty",
43617
+ jsii_struct_bases=[],
43618
+ name_mapping={"idle_timeout_in_minutes": "idleTimeoutInMinutes"},
43619
+ )
43620
+ class SpaceIdleSettingsProperty:
43621
+ def __init__(
43622
+ self,
43623
+ *,
43624
+ idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
43625
+ ) -> None:
43626
+ '''Settings related to idle shutdown of Studio applications in a space.
43627
+
43628
+ :param idle_timeout_in_minutes: The time that SageMaker waits after the application becomes idle before shutting it down.
43629
+
43630
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spaceidlesettings.html
43631
+ :exampleMetadata: fixture=_generated
43632
+
43633
+ Example::
43634
+
43635
+ # The code below shows an example of how to instantiate this type.
43636
+ # The values are placeholders you should change.
43637
+ from aws_cdk import aws_sagemaker as sagemaker
43638
+
43639
+ space_idle_settings_property = sagemaker.CfnSpace.SpaceIdleSettingsProperty(
43640
+ idle_timeout_in_minutes=123
43641
+ )
43642
+ '''
43643
+ if __debug__:
43644
+ type_hints = typing.get_type_hints(_typecheckingstub__ba45760d28cbd41dde96f4e7bf5fb24c44ae1d86607db1388cb082115e380aee)
43645
+ check_type(argname="argument idle_timeout_in_minutes", value=idle_timeout_in_minutes, expected_type=type_hints["idle_timeout_in_minutes"])
43646
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
43647
+ if idle_timeout_in_minutes is not None:
43648
+ self._values["idle_timeout_in_minutes"] = idle_timeout_in_minutes
43649
+
43650
+ @builtins.property
43651
+ def idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
43652
+ '''The time that SageMaker waits after the application becomes idle before shutting it down.
43653
+
43654
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spaceidlesettings.html#cfn-sagemaker-space-spaceidlesettings-idletimeoutinminutes
43655
+ '''
43656
+ result = self._values.get("idle_timeout_in_minutes")
43657
+ return typing.cast(typing.Optional[jsii.Number], result)
43658
+
43659
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
43660
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
43661
+
43662
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
43663
+ return not (rhs == self)
43664
+
43665
+ def __repr__(self) -> str:
43666
+ return "SpaceIdleSettingsProperty(%s)" % ", ".join(
43667
+ k + "=" + repr(v) for k, v in self._values.items()
43668
+ )
43669
+
43202
43670
  @jsii.data_type(
43203
43671
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnSpace.SpaceJupyterLabAppSettingsProperty",
43204
43672
  jsii_struct_bases=[],
43205
43673
  name_mapping={
43674
+ "app_lifecycle_management": "appLifecycleManagement",
43206
43675
  "code_repositories": "codeRepositories",
43207
43676
  "default_resource_spec": "defaultResourceSpec",
43208
43677
  },
@@ -43211,11 +43680,13 @@ class CfnSpace(
43211
43680
  def __init__(
43212
43681
  self,
43213
43682
  *,
43683
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpace.SpaceAppLifecycleManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
43214
43684
  code_repositories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpace.CodeRepositoryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
43215
43685
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpace.ResourceSpecProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
43216
43686
  ) -> None:
43217
43687
  '''The settings for the JupyterLab application within a space.
43218
43688
 
43689
+ :param app_lifecycle_management: Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.
43219
43690
  :param code_repositories: A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.
43220
43691
  :param default_resource_spec: Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.
43221
43692
 
@@ -43229,6 +43700,11 @@ class CfnSpace(
43229
43700
  from aws_cdk import aws_sagemaker as sagemaker
43230
43701
 
43231
43702
  space_jupyter_lab_app_settings_property = sagemaker.CfnSpace.SpaceJupyterLabAppSettingsProperty(
43703
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
43704
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
43705
+ idle_timeout_in_minutes=123
43706
+ )
43707
+ ),
43232
43708
  code_repositories=[sagemaker.CfnSpace.CodeRepositoryProperty(
43233
43709
  repository_url="repositoryUrl"
43234
43710
  )],
@@ -43242,14 +43718,28 @@ class CfnSpace(
43242
43718
  '''
43243
43719
  if __debug__:
43244
43720
  type_hints = typing.get_type_hints(_typecheckingstub__a41dc337f9d1d8489c3a20e3b4e83371071cb50a7748a0d97f725a95f5f41aca)
43721
+ check_type(argname="argument app_lifecycle_management", value=app_lifecycle_management, expected_type=type_hints["app_lifecycle_management"])
43245
43722
  check_type(argname="argument code_repositories", value=code_repositories, expected_type=type_hints["code_repositories"])
43246
43723
  check_type(argname="argument default_resource_spec", value=default_resource_spec, expected_type=type_hints["default_resource_spec"])
43247
43724
  self._values: typing.Dict[builtins.str, typing.Any] = {}
43725
+ if app_lifecycle_management is not None:
43726
+ self._values["app_lifecycle_management"] = app_lifecycle_management
43248
43727
  if code_repositories is not None:
43249
43728
  self._values["code_repositories"] = code_repositories
43250
43729
  if default_resource_spec is not None:
43251
43730
  self._values["default_resource_spec"] = default_resource_spec
43252
43731
 
43732
+ @builtins.property
43733
+ def app_lifecycle_management(
43734
+ self,
43735
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpace.SpaceAppLifecycleManagementProperty"]]:
43736
+ '''Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.
43737
+
43738
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-space-spacejupyterlabappsettings.html#cfn-sagemaker-space-spacejupyterlabappsettings-applifecyclemanagement
43739
+ '''
43740
+ result = self._values.get("app_lifecycle_management")
43741
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpace.SpaceAppLifecycleManagementProperty"]], result)
43742
+
43253
43743
  @builtins.property
43254
43744
  def code_repositories(
43255
43745
  self,
@@ -43330,6 +43820,11 @@ class CfnSpace(
43330
43820
  space_settings_property = sagemaker.CfnSpace.SpaceSettingsProperty(
43331
43821
  app_type="appType",
43332
43822
  code_editor_app_settings=sagemaker.CfnSpace.SpaceCodeEditorAppSettingsProperty(
43823
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
43824
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
43825
+ idle_timeout_in_minutes=123
43826
+ )
43827
+ ),
43333
43828
  default_resource_spec=sagemaker.CfnSpace.ResourceSpecProperty(
43334
43829
  instance_type="instanceType",
43335
43830
  lifecycle_config_arn="lifecycleConfigArn",
@@ -43343,6 +43838,11 @@ class CfnSpace(
43343
43838
  )
43344
43839
  )],
43345
43840
  jupyter_lab_app_settings=sagemaker.CfnSpace.SpaceJupyterLabAppSettingsProperty(
43841
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
43842
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
43843
+ idle_timeout_in_minutes=123
43844
+ )
43845
+ ),
43346
43846
  code_repositories=[sagemaker.CfnSpace.CodeRepositoryProperty(
43347
43847
  repository_url="repositoryUrl"
43348
43848
  )],
@@ -43666,6 +44166,11 @@ class CfnSpaceProps:
43666
44166
  space_settings=sagemaker.CfnSpace.SpaceSettingsProperty(
43667
44167
  app_type="appType",
43668
44168
  code_editor_app_settings=sagemaker.CfnSpace.SpaceCodeEditorAppSettingsProperty(
44169
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
44170
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
44171
+ idle_timeout_in_minutes=123
44172
+ )
44173
+ ),
43669
44174
  default_resource_spec=sagemaker.CfnSpace.ResourceSpecProperty(
43670
44175
  instance_type="instanceType",
43671
44176
  lifecycle_config_arn="lifecycleConfigArn",
@@ -43679,6 +44184,11 @@ class CfnSpaceProps:
43679
44184
  )
43680
44185
  )],
43681
44186
  jupyter_lab_app_settings=sagemaker.CfnSpace.SpaceJupyterLabAppSettingsProperty(
44187
+ app_lifecycle_management=sagemaker.CfnSpace.SpaceAppLifecycleManagementProperty(
44188
+ idle_settings=sagemaker.CfnSpace.SpaceIdleSettingsProperty(
44189
+ idle_timeout_in_minutes=123
44190
+ )
44191
+ ),
43682
44192
  code_repositories=[sagemaker.CfnSpace.CodeRepositoryProperty(
43683
44193
  repository_url="repositoryUrl"
43684
44194
  )],
@@ -44151,6 +44661,14 @@ class CfnUserProfile(
44151
44661
  )],
44152
44662
  user_settings=sagemaker.CfnUserProfile.UserSettingsProperty(
44153
44663
  code_editor_app_settings=sagemaker.CfnUserProfile.CodeEditorAppSettingsProperty(
44664
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
44665
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
44666
+ idle_timeout_in_minutes=123,
44667
+ lifecycle_management="lifecycleManagement",
44668
+ max_idle_timeout_in_minutes=123,
44669
+ min_idle_timeout_in_minutes=123
44670
+ )
44671
+ ),
44154
44672
  custom_images=[sagemaker.CfnUserProfile.CustomImageProperty(
44155
44673
  app_image_config_name="appImageConfigName",
44156
44674
  image_name="imageName",
@@ -44181,6 +44699,14 @@ class CfnUserProfile(
44181
44699
  default_landing_uri="defaultLandingUri",
44182
44700
  execution_role="executionRole",
44183
44701
  jupyter_lab_app_settings=sagemaker.CfnUserProfile.JupyterLabAppSettingsProperty(
44702
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
44703
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
44704
+ idle_timeout_in_minutes=123,
44705
+ lifecycle_management="lifecycleManagement",
44706
+ max_idle_timeout_in_minutes=123,
44707
+ min_idle_timeout_in_minutes=123
44708
+ )
44709
+ ),
44184
44710
  code_repositories=[sagemaker.CfnUserProfile.CodeRepositoryProperty(
44185
44711
  repository_url="repositoryUrl"
44186
44712
  )],
@@ -44422,10 +44948,73 @@ class CfnUserProfile(
44422
44948
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
44423
44949
  jsii.set(self, "userSettings", value) # pyright: ignore[reportArgumentType]
44424
44950
 
44951
+ @jsii.data_type(
44952
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnUserProfile.AppLifecycleManagementProperty",
44953
+ jsii_struct_bases=[],
44954
+ name_mapping={"idle_settings": "idleSettings"},
44955
+ )
44956
+ class AppLifecycleManagementProperty:
44957
+ def __init__(
44958
+ self,
44959
+ *,
44960
+ idle_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.IdleSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
44961
+ ) -> None:
44962
+ '''Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications.
44963
+
44964
+ :param idle_settings: Settings related to idle shutdown of Studio applications.
44965
+
44966
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-applifecyclemanagement.html
44967
+ :exampleMetadata: fixture=_generated
44968
+
44969
+ Example::
44970
+
44971
+ # The code below shows an example of how to instantiate this type.
44972
+ # The values are placeholders you should change.
44973
+ from aws_cdk import aws_sagemaker as sagemaker
44974
+
44975
+ app_lifecycle_management_property = sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
44976
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
44977
+ idle_timeout_in_minutes=123,
44978
+ lifecycle_management="lifecycleManagement",
44979
+ max_idle_timeout_in_minutes=123,
44980
+ min_idle_timeout_in_minutes=123
44981
+ )
44982
+ )
44983
+ '''
44984
+ if __debug__:
44985
+ type_hints = typing.get_type_hints(_typecheckingstub__1de2f359712adb79d9133bada8d874676f1cf8ddb79c11623d797df1bc8c721b)
44986
+ check_type(argname="argument idle_settings", value=idle_settings, expected_type=type_hints["idle_settings"])
44987
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
44988
+ if idle_settings is not None:
44989
+ self._values["idle_settings"] = idle_settings
44990
+
44991
+ @builtins.property
44992
+ def idle_settings(
44993
+ self,
44994
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserProfile.IdleSettingsProperty"]]:
44995
+ '''Settings related to idle shutdown of Studio applications.
44996
+
44997
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-applifecyclemanagement.html#cfn-sagemaker-userprofile-applifecyclemanagement-idlesettings
44998
+ '''
44999
+ result = self._values.get("idle_settings")
45000
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserProfile.IdleSettingsProperty"]], result)
45001
+
45002
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
45003
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
45004
+
45005
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
45006
+ return not (rhs == self)
45007
+
45008
+ def __repr__(self) -> str:
45009
+ return "AppLifecycleManagementProperty(%s)" % ", ".join(
45010
+ k + "=" + repr(v) for k, v in self._values.items()
45011
+ )
45012
+
44425
45013
  @jsii.data_type(
44426
45014
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnUserProfile.CodeEditorAppSettingsProperty",
44427
45015
  jsii_struct_bases=[],
44428
45016
  name_mapping={
45017
+ "app_lifecycle_management": "appLifecycleManagement",
44429
45018
  "custom_images": "customImages",
44430
45019
  "default_resource_spec": "defaultResourceSpec",
44431
45020
  "lifecycle_config_arns": "lifecycleConfigArns",
@@ -44435,6 +45024,7 @@ class CfnUserProfile(
44435
45024
  def __init__(
44436
45025
  self,
44437
45026
  *,
45027
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.AppLifecycleManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
44438
45028
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.CustomImageProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
44439
45029
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.ResourceSpecProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
44440
45030
  lifecycle_config_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -44443,6 +45033,7 @@ class CfnUserProfile(
44443
45033
 
44444
45034
  For more information about Code Editor, see `Get started with Code Editor in Amazon SageMaker <https://docs.aws.amazon.com/sagemaker/latest/dg/code-editor.html>`_ .
44445
45035
 
45036
+ :param app_lifecycle_management: Settings that are used to configure and manage the lifecycle of CodeEditor applications.
44446
45037
  :param custom_images: A list of custom SageMaker images that are configured to run as a Code Editor app.
44447
45038
  :param default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.
44448
45039
  :param lifecycle_config_arns: The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.
@@ -44457,6 +45048,14 @@ class CfnUserProfile(
44457
45048
  from aws_cdk import aws_sagemaker as sagemaker
44458
45049
 
44459
45050
  code_editor_app_settings_property = sagemaker.CfnUserProfile.CodeEditorAppSettingsProperty(
45051
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
45052
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
45053
+ idle_timeout_in_minutes=123,
45054
+ lifecycle_management="lifecycleManagement",
45055
+ max_idle_timeout_in_minutes=123,
45056
+ min_idle_timeout_in_minutes=123
45057
+ )
45058
+ ),
44460
45059
  custom_images=[sagemaker.CfnUserProfile.CustomImageProperty(
44461
45060
  app_image_config_name="appImageConfigName",
44462
45061
  image_name="imageName",
@@ -44475,10 +45074,13 @@ class CfnUserProfile(
44475
45074
  '''
44476
45075
  if __debug__:
44477
45076
  type_hints = typing.get_type_hints(_typecheckingstub__9102031486b9c90cb4b3d6ac33ecdb4030f0a3c090fb394765dc1cb6cdb4e9b5)
45077
+ check_type(argname="argument app_lifecycle_management", value=app_lifecycle_management, expected_type=type_hints["app_lifecycle_management"])
44478
45078
  check_type(argname="argument custom_images", value=custom_images, expected_type=type_hints["custom_images"])
44479
45079
  check_type(argname="argument default_resource_spec", value=default_resource_spec, expected_type=type_hints["default_resource_spec"])
44480
45080
  check_type(argname="argument lifecycle_config_arns", value=lifecycle_config_arns, expected_type=type_hints["lifecycle_config_arns"])
44481
45081
  self._values: typing.Dict[builtins.str, typing.Any] = {}
45082
+ if app_lifecycle_management is not None:
45083
+ self._values["app_lifecycle_management"] = app_lifecycle_management
44482
45084
  if custom_images is not None:
44483
45085
  self._values["custom_images"] = custom_images
44484
45086
  if default_resource_spec is not None:
@@ -44486,6 +45088,17 @@ class CfnUserProfile(
44486
45088
  if lifecycle_config_arns is not None:
44487
45089
  self._values["lifecycle_config_arns"] = lifecycle_config_arns
44488
45090
 
45091
+ @builtins.property
45092
+ def app_lifecycle_management(
45093
+ self,
45094
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserProfile.AppLifecycleManagementProperty"]]:
45095
+ '''Settings that are used to configure and manage the lifecycle of CodeEditor applications.
45096
+
45097
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-codeeditorappsettings.html#cfn-sagemaker-userprofile-codeeditorappsettings-applifecyclemanagement
45098
+ '''
45099
+ result = self._values.get("app_lifecycle_management")
45100
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserProfile.AppLifecycleManagementProperty"]], result)
45101
+
44489
45102
  @builtins.property
44490
45103
  def custom_images(
44491
45104
  self,
@@ -45018,10 +45631,116 @@ class CfnUserProfile(
45018
45631
  k + "=" + repr(v) for k, v in self._values.items()
45019
45632
  )
45020
45633
 
45634
+ @jsii.data_type(
45635
+ jsii_type="aws-cdk-lib.aws_sagemaker.CfnUserProfile.IdleSettingsProperty",
45636
+ jsii_struct_bases=[],
45637
+ name_mapping={
45638
+ "idle_timeout_in_minutes": "idleTimeoutInMinutes",
45639
+ "lifecycle_management": "lifecycleManagement",
45640
+ "max_idle_timeout_in_minutes": "maxIdleTimeoutInMinutes",
45641
+ "min_idle_timeout_in_minutes": "minIdleTimeoutInMinutes",
45642
+ },
45643
+ )
45644
+ class IdleSettingsProperty:
45645
+ def __init__(
45646
+ self,
45647
+ *,
45648
+ idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
45649
+ lifecycle_management: typing.Optional[builtins.str] = None,
45650
+ max_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
45651
+ min_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
45652
+ ) -> None:
45653
+ '''Settings related to idle shutdown of Studio applications.
45654
+
45655
+ :param idle_timeout_in_minutes: The time that SageMaker waits after the application becomes idle before shutting it down.
45656
+ :param lifecycle_management: Indicates whether idle shutdown is activated for the application type.
45657
+ :param max_idle_timeout_in_minutes: The maximum value in minutes that custom idle shutdown can be set to by the user.
45658
+ :param min_idle_timeout_in_minutes: The minimum value in minutes that custom idle shutdown can be set to by the user.
45659
+
45660
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-idlesettings.html
45661
+ :exampleMetadata: fixture=_generated
45662
+
45663
+ Example::
45664
+
45665
+ # The code below shows an example of how to instantiate this type.
45666
+ # The values are placeholders you should change.
45667
+ from aws_cdk import aws_sagemaker as sagemaker
45668
+
45669
+ idle_settings_property = sagemaker.CfnUserProfile.IdleSettingsProperty(
45670
+ idle_timeout_in_minutes=123,
45671
+ lifecycle_management="lifecycleManagement",
45672
+ max_idle_timeout_in_minutes=123,
45673
+ min_idle_timeout_in_minutes=123
45674
+ )
45675
+ '''
45676
+ if __debug__:
45677
+ type_hints = typing.get_type_hints(_typecheckingstub__a4f947a25801ba152e8f9b88cabae6d5acefc670d4af60084ef7a8f1a7e21e9f)
45678
+ check_type(argname="argument idle_timeout_in_minutes", value=idle_timeout_in_minutes, expected_type=type_hints["idle_timeout_in_minutes"])
45679
+ check_type(argname="argument lifecycle_management", value=lifecycle_management, expected_type=type_hints["lifecycle_management"])
45680
+ check_type(argname="argument max_idle_timeout_in_minutes", value=max_idle_timeout_in_minutes, expected_type=type_hints["max_idle_timeout_in_minutes"])
45681
+ check_type(argname="argument min_idle_timeout_in_minutes", value=min_idle_timeout_in_minutes, expected_type=type_hints["min_idle_timeout_in_minutes"])
45682
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
45683
+ if idle_timeout_in_minutes is not None:
45684
+ self._values["idle_timeout_in_minutes"] = idle_timeout_in_minutes
45685
+ if lifecycle_management is not None:
45686
+ self._values["lifecycle_management"] = lifecycle_management
45687
+ if max_idle_timeout_in_minutes is not None:
45688
+ self._values["max_idle_timeout_in_minutes"] = max_idle_timeout_in_minutes
45689
+ if min_idle_timeout_in_minutes is not None:
45690
+ self._values["min_idle_timeout_in_minutes"] = min_idle_timeout_in_minutes
45691
+
45692
+ @builtins.property
45693
+ def idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
45694
+ '''The time that SageMaker waits after the application becomes idle before shutting it down.
45695
+
45696
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-idlesettings.html#cfn-sagemaker-userprofile-idlesettings-idletimeoutinminutes
45697
+ '''
45698
+ result = self._values.get("idle_timeout_in_minutes")
45699
+ return typing.cast(typing.Optional[jsii.Number], result)
45700
+
45701
+ @builtins.property
45702
+ def lifecycle_management(self) -> typing.Optional[builtins.str]:
45703
+ '''Indicates whether idle shutdown is activated for the application type.
45704
+
45705
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-idlesettings.html#cfn-sagemaker-userprofile-idlesettings-lifecyclemanagement
45706
+ '''
45707
+ result = self._values.get("lifecycle_management")
45708
+ return typing.cast(typing.Optional[builtins.str], result)
45709
+
45710
+ @builtins.property
45711
+ def max_idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
45712
+ '''The maximum value in minutes that custom idle shutdown can be set to by the user.
45713
+
45714
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-idlesettings.html#cfn-sagemaker-userprofile-idlesettings-maxidletimeoutinminutes
45715
+ '''
45716
+ result = self._values.get("max_idle_timeout_in_minutes")
45717
+ return typing.cast(typing.Optional[jsii.Number], result)
45718
+
45719
+ @builtins.property
45720
+ def min_idle_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
45721
+ '''The minimum value in minutes that custom idle shutdown can be set to by the user.
45722
+
45723
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-idlesettings.html#cfn-sagemaker-userprofile-idlesettings-minidletimeoutinminutes
45724
+ '''
45725
+ result = self._values.get("min_idle_timeout_in_minutes")
45726
+ return typing.cast(typing.Optional[jsii.Number], result)
45727
+
45728
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
45729
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
45730
+
45731
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
45732
+ return not (rhs == self)
45733
+
45734
+ def __repr__(self) -> str:
45735
+ return "IdleSettingsProperty(%s)" % ", ".join(
45736
+ k + "=" + repr(v) for k, v in self._values.items()
45737
+ )
45738
+
45021
45739
  @jsii.data_type(
45022
45740
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnUserProfile.JupyterLabAppSettingsProperty",
45023
45741
  jsii_struct_bases=[],
45024
45742
  name_mapping={
45743
+ "app_lifecycle_management": "appLifecycleManagement",
45025
45744
  "code_repositories": "codeRepositories",
45026
45745
  "custom_images": "customImages",
45027
45746
  "default_resource_spec": "defaultResourceSpec",
@@ -45032,6 +45751,7 @@ class CfnUserProfile(
45032
45751
  def __init__(
45033
45752
  self,
45034
45753
  *,
45754
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.AppLifecycleManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
45035
45755
  code_repositories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.CodeRepositoryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
45036
45756
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.CustomImageProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
45037
45757
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserProfile.ResourceSpecProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -45039,6 +45759,7 @@ class CfnUserProfile(
45039
45759
  ) -> None:
45040
45760
  '''The settings for the JupyterLab application.
45041
45761
 
45762
+ :param app_lifecycle_management: Indicates whether idle shutdown is activated for JupyterLab applications.
45042
45763
  :param code_repositories: A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.
45043
45764
  :param custom_images: A list of custom SageMaker images that are configured to run as a JupyterLab app.
45044
45765
  :param default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.
@@ -45054,6 +45775,14 @@ class CfnUserProfile(
45054
45775
  from aws_cdk import aws_sagemaker as sagemaker
45055
45776
 
45056
45777
  jupyter_lab_app_settings_property = sagemaker.CfnUserProfile.JupyterLabAppSettingsProperty(
45778
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
45779
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
45780
+ idle_timeout_in_minutes=123,
45781
+ lifecycle_management="lifecycleManagement",
45782
+ max_idle_timeout_in_minutes=123,
45783
+ min_idle_timeout_in_minutes=123
45784
+ )
45785
+ ),
45057
45786
  code_repositories=[sagemaker.CfnUserProfile.CodeRepositoryProperty(
45058
45787
  repository_url="repositoryUrl"
45059
45788
  )],
@@ -45075,11 +45804,14 @@ class CfnUserProfile(
45075
45804
  '''
45076
45805
  if __debug__:
45077
45806
  type_hints = typing.get_type_hints(_typecheckingstub__8fbb8b52ced6fc617c616b643ca1ddc3673e837117aaeaf2063654aaa5ad3b72)
45807
+ check_type(argname="argument app_lifecycle_management", value=app_lifecycle_management, expected_type=type_hints["app_lifecycle_management"])
45078
45808
  check_type(argname="argument code_repositories", value=code_repositories, expected_type=type_hints["code_repositories"])
45079
45809
  check_type(argname="argument custom_images", value=custom_images, expected_type=type_hints["custom_images"])
45080
45810
  check_type(argname="argument default_resource_spec", value=default_resource_spec, expected_type=type_hints["default_resource_spec"])
45081
45811
  check_type(argname="argument lifecycle_config_arns", value=lifecycle_config_arns, expected_type=type_hints["lifecycle_config_arns"])
45082
45812
  self._values: typing.Dict[builtins.str, typing.Any] = {}
45813
+ if app_lifecycle_management is not None:
45814
+ self._values["app_lifecycle_management"] = app_lifecycle_management
45083
45815
  if code_repositories is not None:
45084
45816
  self._values["code_repositories"] = code_repositories
45085
45817
  if custom_images is not None:
@@ -45089,6 +45821,17 @@ class CfnUserProfile(
45089
45821
  if lifecycle_config_arns is not None:
45090
45822
  self._values["lifecycle_config_arns"] = lifecycle_config_arns
45091
45823
 
45824
+ @builtins.property
45825
+ def app_lifecycle_management(
45826
+ self,
45827
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserProfile.AppLifecycleManagementProperty"]]:
45828
+ '''Indicates whether idle shutdown is activated for JupyterLab applications.
45829
+
45830
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterlabappsettings.html#cfn-sagemaker-userprofile-jupyterlabappsettings-applifecyclemanagement
45831
+ '''
45832
+ result = self._values.get("app_lifecycle_management")
45833
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserProfile.AppLifecycleManagementProperty"]], result)
45834
+
45092
45835
  @builtins.property
45093
45836
  def code_repositories(
45094
45837
  self,
@@ -45763,6 +46506,14 @@ class CfnUserProfile(
45763
46506
 
45764
46507
  user_settings_property = sagemaker.CfnUserProfile.UserSettingsProperty(
45765
46508
  code_editor_app_settings=sagemaker.CfnUserProfile.CodeEditorAppSettingsProperty(
46509
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
46510
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
46511
+ idle_timeout_in_minutes=123,
46512
+ lifecycle_management="lifecycleManagement",
46513
+ max_idle_timeout_in_minutes=123,
46514
+ min_idle_timeout_in_minutes=123
46515
+ )
46516
+ ),
45766
46517
  custom_images=[sagemaker.CfnUserProfile.CustomImageProperty(
45767
46518
  app_image_config_name="appImageConfigName",
45768
46519
  image_name="imageName",
@@ -45793,6 +46544,14 @@ class CfnUserProfile(
45793
46544
  default_landing_uri="defaultLandingUri",
45794
46545
  execution_role="executionRole",
45795
46546
  jupyter_lab_app_settings=sagemaker.CfnUserProfile.JupyterLabAppSettingsProperty(
46547
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
46548
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
46549
+ idle_timeout_in_minutes=123,
46550
+ lifecycle_management="lifecycleManagement",
46551
+ max_idle_timeout_in_minutes=123,
46552
+ min_idle_timeout_in_minutes=123
46553
+ )
46554
+ ),
45796
46555
  code_repositories=[sagemaker.CfnUserProfile.CodeRepositoryProperty(
45797
46556
  repository_url="repositoryUrl"
45798
46557
  )],
@@ -46132,6 +46891,14 @@ class CfnUserProfileProps:
46132
46891
  )],
46133
46892
  user_settings=sagemaker.CfnUserProfile.UserSettingsProperty(
46134
46893
  code_editor_app_settings=sagemaker.CfnUserProfile.CodeEditorAppSettingsProperty(
46894
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
46895
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
46896
+ idle_timeout_in_minutes=123,
46897
+ lifecycle_management="lifecycleManagement",
46898
+ max_idle_timeout_in_minutes=123,
46899
+ min_idle_timeout_in_minutes=123
46900
+ )
46901
+ ),
46135
46902
  custom_images=[sagemaker.CfnUserProfile.CustomImageProperty(
46136
46903
  app_image_config_name="appImageConfigName",
46137
46904
  image_name="imageName",
@@ -46162,6 +46929,14 @@ class CfnUserProfileProps:
46162
46929
  default_landing_uri="defaultLandingUri",
46163
46930
  execution_role="executionRole",
46164
46931
  jupyter_lab_app_settings=sagemaker.CfnUserProfile.JupyterLabAppSettingsProperty(
46932
+ app_lifecycle_management=sagemaker.CfnUserProfile.AppLifecycleManagementProperty(
46933
+ idle_settings=sagemaker.CfnUserProfile.IdleSettingsProperty(
46934
+ idle_timeout_in_minutes=123,
46935
+ lifecycle_management="lifecycleManagement",
46936
+ max_idle_timeout_in_minutes=123,
46937
+ min_idle_timeout_in_minutes=123
46938
+ )
46939
+ ),
46165
46940
  code_repositories=[sagemaker.CfnUserProfile.CodeRepositoryProperty(
46166
46941
  repository_url="repositoryUrl"
46167
46942
  )],
@@ -48117,8 +48892,16 @@ def _typecheckingstub__6d1a70c209913231f1eb30dba814eb3a3bc58f6f4341ea1392c5061d8
48117
48892
  """Type checking stubs"""
48118
48893
  pass
48119
48894
 
48895
+ def _typecheckingstub__7effd4411e9cef3285cdb58cb66208ce801332047fd17028be8db70aea812d86(
48896
+ *,
48897
+ idle_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.IdleSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
48898
+ ) -> None:
48899
+ """Type checking stubs"""
48900
+ pass
48901
+
48120
48902
  def _typecheckingstub__fc744bb58e49877db429fbdcea73e31d9e5326375463940bb48321473f97dfaa(
48121
48903
  *,
48904
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.AppLifecycleManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
48122
48905
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.CustomImageProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
48123
48906
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.ResourceSpecProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
48124
48907
  lifecycle_config_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -48211,8 +48994,19 @@ def _typecheckingstub__f58dbfc3d8dc294c7e7f3e4dbd80fef3d00950f110fa9f391ce587b6d
48211
48994
  """Type checking stubs"""
48212
48995
  pass
48213
48996
 
48997
+ def _typecheckingstub__9e3d0f1226c122e790812fdc875a758ed55021588a3e9f6f3227062284b60c8b(
48998
+ *,
48999
+ idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
49000
+ lifecycle_management: typing.Optional[builtins.str] = None,
49001
+ max_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
49002
+ min_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
49003
+ ) -> None:
49004
+ """Type checking stubs"""
49005
+ pass
49006
+
48214
49007
  def _typecheckingstub__3cd086b89fbe936eaaa5fb775d9cbd0e29ad00fb21eb2a45265c217414f406d1(
48215
49008
  *,
49009
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.AppLifecycleManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
48216
49010
  code_repositories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.CodeRepositoryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
48217
49011
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.CustomImageProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
48218
49012
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.ResourceSpecProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -52292,15 +53086,31 @@ def _typecheckingstub__79b889d20ec4ee307fedce4172f7c39782dc99bf76625acfdf5b00983
52292
53086
  """Type checking stubs"""
52293
53087
  pass
52294
53088
 
53089
+ def _typecheckingstub__a3fb258f8d778b7e45356a74e30d0b582d97ae5caa19a37e7c19fc07737b346d(
53090
+ *,
53091
+ idle_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpace.SpaceIdleSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
53092
+ ) -> None:
53093
+ """Type checking stubs"""
53094
+ pass
53095
+
52295
53096
  def _typecheckingstub__1ccdbe16ad464b21c1c01c798a58ed7a704f69ec08bdbedc54b19a13b70b847a(
52296
53097
  *,
53098
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpace.SpaceAppLifecycleManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52297
53099
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpace.ResourceSpecProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52298
53100
  ) -> None:
52299
53101
  """Type checking stubs"""
52300
53102
  pass
52301
53103
 
53104
+ def _typecheckingstub__ba45760d28cbd41dde96f4e7bf5fb24c44ae1d86607db1388cb082115e380aee(
53105
+ *,
53106
+ idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
53107
+ ) -> None:
53108
+ """Type checking stubs"""
53109
+ pass
53110
+
52302
53111
  def _typecheckingstub__a41dc337f9d1d8489c3a20e3b4e83371071cb50a7748a0d97f725a95f5f41aca(
52303
53112
  *,
53113
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpace.SpaceAppLifecycleManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52304
53114
  code_repositories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpace.CodeRepositoryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
52305
53115
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpace.ResourceSpecProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52306
53116
  ) -> None:
@@ -52467,8 +53277,16 @@ def _typecheckingstub__406091aa6a2a94d5bbf06575babcd4456ed92c8bbf6d0265ac1061bf9
52467
53277
  """Type checking stubs"""
52468
53278
  pass
52469
53279
 
53280
+ def _typecheckingstub__1de2f359712adb79d9133bada8d874676f1cf8ddb79c11623d797df1bc8c721b(
53281
+ *,
53282
+ idle_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.IdleSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
53283
+ ) -> None:
53284
+ """Type checking stubs"""
53285
+ pass
53286
+
52470
53287
  def _typecheckingstub__9102031486b9c90cb4b3d6ac33ecdb4030f0a3c090fb394765dc1cb6cdb4e9b5(
52471
53288
  *,
53289
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.AppLifecycleManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52472
53290
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.CustomImageProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
52473
53291
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.ResourceSpecProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52474
53292
  lifecycle_config_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -52530,8 +53348,19 @@ def _typecheckingstub__a31e83e9dc4907dba90a688b8095eb32a7c29ae9f1d2f32e4d18c55b8
52530
53348
  """Type checking stubs"""
52531
53349
  pass
52532
53350
 
53351
+ def _typecheckingstub__a4f947a25801ba152e8f9b88cabae6d5acefc670d4af60084ef7a8f1a7e21e9f(
53352
+ *,
53353
+ idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
53354
+ lifecycle_management: typing.Optional[builtins.str] = None,
53355
+ max_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
53356
+ min_idle_timeout_in_minutes: typing.Optional[jsii.Number] = None,
53357
+ ) -> None:
53358
+ """Type checking stubs"""
53359
+ pass
53360
+
52533
53361
  def _typecheckingstub__8fbb8b52ced6fc617c616b643ca1ddc3673e837117aaeaf2063654aaa5ad3b72(
52534
53362
  *,
53363
+ app_lifecycle_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.AppLifecycleManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
52535
53364
  code_repositories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.CodeRepositoryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
52536
53365
  custom_images: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.CustomImageProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
52537
53366
  default_resource_spec: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserProfile.ResourceSpecProperty, typing.Dict[builtins.str, typing.Any]]]] = None,