aws-cdk-lib 2.156.0__py3-none-any.whl → 2.158.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.
- aws_cdk/__init__.py +42 -23
- aws_cdk/_jsii/__init__.py +17 -2
- aws_cdk/_jsii/{aws-cdk-lib@2.156.0.jsii.tgz → aws-cdk-lib@2.158.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +16 -1
- aws_cdk/assertions/__init__.py +16 -1
- aws_cdk/aws_accessanalyzer/__init__.py +16 -1
- aws_cdk/aws_acmpca/__init__.py +26 -76
- aws_cdk/aws_amazonmq/__init__.py +16 -1
- aws_cdk/aws_amplify/__init__.py +122 -1
- aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
- aws_cdk/aws_apigateway/__init__.py +16 -1
- aws_cdk/aws_apigatewayv2/__init__.py +97 -14
- aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
- aws_cdk/aws_appconfig/__init__.py +16 -1
- aws_cdk/aws_appflow/__init__.py +16 -1
- aws_cdk/aws_appintegrations/__init__.py +30 -15
- aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
- aws_cdk/aws_applicationinsights/__init__.py +16 -1
- aws_cdk/aws_applicationsignals/__init__.py +766 -2
- aws_cdk/aws_appmesh/__init__.py +16 -1
- aws_cdk/aws_apprunner/__init__.py +16 -1
- aws_cdk/aws_appstream/__init__.py +16 -1
- aws_cdk/aws_appsync/__init__.py +66 -19
- aws_cdk/aws_apptest/__init__.py +16 -1
- aws_cdk/aws_aps/__init__.py +16 -1
- aws_cdk/aws_arczonalshift/__init__.py +16 -1
- aws_cdk/aws_athena/__init__.py +16 -1
- aws_cdk/aws_auditmanager/__init__.py +16 -1
- aws_cdk/aws_autoscaling/__init__.py +22 -7
- aws_cdk/aws_autoscaling_common/__init__.py +16 -1
- aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
- aws_cdk/aws_autoscalingplans/__init__.py +16 -1
- aws_cdk/aws_b2bi/__init__.py +16 -1
- aws_cdk/aws_backup/__init__.py +55 -1
- aws_cdk/aws_backupgateway/__init__.py +16 -1
- aws_cdk/aws_batch/__init__.py +57 -1
- aws_cdk/aws_bcmdataexports/__init__.py +16 -1
- aws_cdk/aws_bedrock/__init__.py +1529 -95
- aws_cdk/aws_billingconductor/__init__.py +16 -1
- aws_cdk/aws_budgets/__init__.py +16 -1
- aws_cdk/aws_cassandra/__init__.py +16 -1
- aws_cdk/aws_ce/__init__.py +16 -1
- aws_cdk/aws_certificatemanager/__init__.py +16 -1
- aws_cdk/aws_chatbot/__init__.py +22 -7
- aws_cdk/aws_cleanrooms/__init__.py +16 -1
- aws_cdk/aws_cleanroomsml/__init__.py +16 -1
- aws_cdk/aws_cloud9/__init__.py +16 -1
- aws_cdk/aws_cloudformation/__init__.py +38 -23
- aws_cdk/aws_cloudfront/__init__.py +16 -1
- aws_cdk/aws_cloudfront/experimental/__init__.py +46 -4
- aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
- aws_cdk/aws_cloudtrail/__init__.py +16 -1
- aws_cdk/aws_cloudwatch/__init__.py +16 -1
- aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
- aws_cdk/aws_codeartifact/__init__.py +16 -1
- aws_cdk/aws_codebuild/__init__.py +16 -1
- aws_cdk/aws_codecommit/__init__.py +16 -1
- aws_cdk/aws_codeconnections/__init__.py +16 -1
- aws_cdk/aws_codedeploy/__init__.py +16 -1
- aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
- aws_cdk/aws_codegurureviewer/__init__.py +16 -1
- aws_cdk/aws_codepipeline/__init__.py +16 -1
- aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
- aws_cdk/aws_codestar/__init__.py +16 -1
- aws_cdk/aws_codestarconnections/__init__.py +16 -1
- aws_cdk/aws_codestarnotifications/__init__.py +16 -1
- aws_cdk/aws_cognito/__init__.py +16 -1
- aws_cdk/aws_comprehend/__init__.py +16 -1
- aws_cdk/aws_config/__init__.py +16 -1
- aws_cdk/aws_connect/__init__.py +16 -1
- aws_cdk/aws_connectcampaigns/__init__.py +16 -1
- aws_cdk/aws_controltower/__init__.py +16 -1
- aws_cdk/aws_cur/__init__.py +16 -1
- aws_cdk/aws_customerprofiles/__init__.py +16 -1
- aws_cdk/aws_databrew/__init__.py +16 -1
- aws_cdk/aws_datapipeline/__init__.py +16 -1
- aws_cdk/aws_datasync/__init__.py +56 -30
- aws_cdk/aws_datazone/__init__.py +16 -1
- aws_cdk/aws_dax/__init__.py +16 -1
- aws_cdk/aws_deadline/__init__.py +16 -1
- aws_cdk/aws_detective/__init__.py +16 -1
- aws_cdk/aws_devicefarm/__init__.py +16 -1
- aws_cdk/aws_devopsguru/__init__.py +16 -1
- aws_cdk/aws_directoryservice/__init__.py +16 -1
- aws_cdk/aws_dlm/__init__.py +16 -1
- aws_cdk/aws_dms/__init__.py +16 -1
- aws_cdk/aws_docdb/__init__.py +16 -1
- aws_cdk/aws_docdbelastic/__init__.py +16 -1
- aws_cdk/aws_dynamodb/__init__.py +16 -1
- aws_cdk/aws_ec2/__init__.py +389 -50
- aws_cdk/aws_ecr/__init__.py +16 -1
- aws_cdk/aws_ecr_assets/__init__.py +16 -1
- aws_cdk/aws_ecs/__init__.py +269 -88
- aws_cdk/aws_ecs_patterns/__init__.py +16 -1
- aws_cdk/aws_efs/__init__.py +16 -1
- aws_cdk/aws_eks/__init__.py +16 -1
- aws_cdk/aws_elasticache/__init__.py +16 -1
- aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +20 -5
- aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
- aws_cdk/aws_elasticsearch/__init__.py +16 -1
- aws_cdk/aws_emr/__init__.py +16 -1
- aws_cdk/aws_emrcontainers/__init__.py +16 -1
- aws_cdk/aws_emrserverless/__init__.py +16 -1
- aws_cdk/aws_entityresolution/__init__.py +133 -5
- aws_cdk/aws_events/__init__.py +16 -1
- aws_cdk/aws_events_targets/__init__.py +16 -1
- aws_cdk/aws_eventschemas/__init__.py +16 -1
- aws_cdk/aws_evidently/__init__.py +16 -1
- aws_cdk/aws_finspace/__init__.py +16 -1
- aws_cdk/aws_fis/__init__.py +16 -1
- aws_cdk/aws_fms/__init__.py +16 -1
- aws_cdk/aws_forecast/__init__.py +16 -1
- aws_cdk/aws_frauddetector/__init__.py +16 -1
- aws_cdk/aws_fsx/__init__.py +16 -1
- aws_cdk/aws_gamelift/__init__.py +16 -1
- aws_cdk/aws_globalaccelerator/__init__.py +16 -1
- aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
- aws_cdk/aws_glue/__init__.py +16 -9
- aws_cdk/aws_grafana/__init__.py +16 -1
- aws_cdk/aws_greengrass/__init__.py +16 -1
- aws_cdk/aws_greengrassv2/__init__.py +16 -1
- aws_cdk/aws_groundstation/__init__.py +43 -17
- aws_cdk/aws_guardduty/__init__.py +42 -15
- aws_cdk/aws_healthimaging/__init__.py +16 -1
- aws_cdk/aws_healthlake/__init__.py +16 -1
- aws_cdk/aws_iam/__init__.py +16 -1
- aws_cdk/aws_identitystore/__init__.py +16 -1
- aws_cdk/aws_imagebuilder/__init__.py +16 -1
- aws_cdk/aws_inspector/__init__.py +16 -1
- aws_cdk/aws_inspectorv2/__init__.py +16 -1
- aws_cdk/aws_internetmonitor/__init__.py +16 -1
- aws_cdk/aws_iot/__init__.py +16 -1
- aws_cdk/aws_iot1click/__init__.py +16 -1
- aws_cdk/aws_iotanalytics/__init__.py +16 -1
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
- aws_cdk/aws_iotevents/__init__.py +16 -1
- aws_cdk/aws_iotfleethub/__init__.py +16 -1
- aws_cdk/aws_iotfleetwise/__init__.py +124 -1
- aws_cdk/aws_iotsitewise/__init__.py +16 -1
- aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
- aws_cdk/aws_iottwinmaker/__init__.py +16 -1
- aws_cdk/aws_iotwireless/__init__.py +16 -1
- aws_cdk/aws_ivs/__init__.py +16 -1
- aws_cdk/aws_ivschat/__init__.py +16 -1
- aws_cdk/aws_kafkaconnect/__init__.py +16 -1
- aws_cdk/aws_kendra/__init__.py +16 -1
- aws_cdk/aws_kendraranking/__init__.py +16 -1
- aws_cdk/aws_kinesis/__init__.py +16 -1
- aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
- aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
- aws_cdk/aws_kinesisvideo/__init__.py +16 -1
- aws_cdk/aws_kms/__init__.py +16 -1
- aws_cdk/aws_lakeformation/__init__.py +16 -1
- aws_cdk/aws_lambda/__init__.py +163 -18
- aws_cdk/aws_lambda_destinations/__init__.py +16 -1
- aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +46 -4
- aws_cdk/aws_launchwizard/__init__.py +16 -1
- aws_cdk/aws_lex/__init__.py +16 -1
- aws_cdk/aws_licensemanager/__init__.py +16 -1
- aws_cdk/aws_lightsail/__init__.py +16 -1
- aws_cdk/aws_location/__init__.py +16 -1
- aws_cdk/aws_logs/__init__.py +16 -1
- aws_cdk/aws_logs_destinations/__init__.py +16 -1
- aws_cdk/aws_lookoutequipment/__init__.py +16 -1
- aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
- aws_cdk/aws_lookoutvision/__init__.py +16 -1
- aws_cdk/aws_m2/__init__.py +16 -1
- aws_cdk/aws_macie/__init__.py +20 -5
- aws_cdk/aws_managedblockchain/__init__.py +16 -1
- aws_cdk/aws_mediaconnect/__init__.py +16 -1
- aws_cdk/aws_mediaconvert/__init__.py +16 -1
- aws_cdk/aws_medialive/__init__.py +364 -1
- aws_cdk/aws_mediapackage/__init__.py +16 -1
- aws_cdk/aws_mediapackagev2/__init__.py +54 -39
- aws_cdk/aws_mediastore/__init__.py +16 -1
- aws_cdk/aws_mediatailor/__init__.py +16 -1
- aws_cdk/aws_memorydb/__init__.py +16 -1
- aws_cdk/aws_msk/__init__.py +16 -1
- aws_cdk/aws_mwaa/__init__.py +16 -1
- aws_cdk/aws_neptune/__init__.py +30 -9
- aws_cdk/aws_neptunegraph/__init__.py +16 -1
- aws_cdk/aws_networkfirewall/__init__.py +16 -1
- aws_cdk/aws_networkmanager/__init__.py +16 -1
- aws_cdk/aws_nimblestudio/__init__.py +16 -1
- aws_cdk/aws_oam/__init__.py +16 -1
- aws_cdk/aws_omics/__init__.py +16 -1
- aws_cdk/aws_opensearchserverless/__init__.py +16 -1
- aws_cdk/aws_opensearchservice/__init__.py +210 -1
- aws_cdk/aws_opsworks/__init__.py +16 -1
- aws_cdk/aws_opsworkscm/__init__.py +16 -1
- aws_cdk/aws_organizations/__init__.py +16 -1
- aws_cdk/aws_osis/__init__.py +16 -1
- aws_cdk/aws_panorama/__init__.py +16 -1
- aws_cdk/aws_paymentcryptography/__init__.py +16 -1
- aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
- aws_cdk/aws_pcaconnectorscep/__init__.py +899 -0
- aws_cdk/aws_personalize/__init__.py +18 -3
- aws_cdk/aws_pinpoint/__init__.py +16 -1
- aws_cdk/aws_pinpointemail/__init__.py +16 -1
- aws_cdk/aws_pipes/__init__.py +38 -23
- aws_cdk/aws_proton/__init__.py +16 -1
- aws_cdk/aws_qbusiness/__init__.py +691 -7
- aws_cdk/aws_qldb/__init__.py +16 -1
- aws_cdk/aws_quicksight/__init__.py +3301 -1
- aws_cdk/aws_ram/__init__.py +16 -1
- aws_cdk/aws_rds/__init__.py +58 -5
- aws_cdk/aws_redshift/__init__.py +16 -1
- aws_cdk/aws_redshiftserverless/__init__.py +16 -1
- aws_cdk/aws_refactorspaces/__init__.py +16 -1
- aws_cdk/aws_rekognition/__init__.py +16 -1
- aws_cdk/aws_resiliencehub/__init__.py +16 -1
- aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
- aws_cdk/aws_resourcegroups/__init__.py +16 -1
- aws_cdk/aws_robomaker/__init__.py +16 -1
- aws_cdk/aws_rolesanywhere/__init__.py +16 -1
- aws_cdk/aws_route53/__init__.py +16 -1
- aws_cdk/aws_route53_patterns/__init__.py +16 -1
- aws_cdk/aws_route53_targets/__init__.py +16 -1
- aws_cdk/aws_route53profiles/__init__.py +16 -1
- aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
- aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
- aws_cdk/aws_route53resolver/__init__.py +16 -1
- aws_cdk/aws_rum/__init__.py +16 -1
- aws_cdk/aws_s3/__init__.py +16 -1
- aws_cdk/aws_s3_assets/__init__.py +16 -1
- aws_cdk/aws_s3_deployment/__init__.py +16 -1
- aws_cdk/aws_s3_notifications/__init__.py +16 -1
- aws_cdk/aws_s3express/__init__.py +16 -1
- aws_cdk/aws_s3objectlambda/__init__.py +16 -1
- aws_cdk/aws_s3outposts/__init__.py +16 -1
- aws_cdk/aws_sagemaker/__init__.py +1183 -1
- aws_cdk/aws_sam/__init__.py +16 -1
- aws_cdk/aws_scheduler/__init__.py +16 -1
- aws_cdk/aws_sdb/__init__.py +16 -1
- aws_cdk/aws_secretsmanager/__init__.py +18 -4
- aws_cdk/aws_securityhub/__init__.py +124 -104
- aws_cdk/aws_securitylake/__init__.py +16 -1
- aws_cdk/aws_servicecatalog/__init__.py +16 -1
- aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
- aws_cdk/aws_servicediscovery/__init__.py +16 -1
- aws_cdk/aws_ses/__init__.py +47 -1
- aws_cdk/aws_ses_actions/__init__.py +16 -1
- aws_cdk/aws_shield/__init__.py +16 -1
- aws_cdk/aws_signer/__init__.py +16 -1
- aws_cdk/aws_simspaceweaver/__init__.py +16 -1
- aws_cdk/aws_sns/__init__.py +35 -14
- aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
- aws_cdk/aws_sqs/__init__.py +16 -1
- aws_cdk/aws_ssm/__init__.py +26 -7
- aws_cdk/aws_ssmcontacts/__init__.py +16 -1
- aws_cdk/aws_ssmincidents/__init__.py +16 -1
- aws_cdk/aws_ssmquicksetup/__init__.py +982 -0
- aws_cdk/aws_sso/__init__.py +16 -1
- aws_cdk/aws_stepfunctions/__init__.py +16 -1
- aws_cdk/aws_stepfunctions_tasks/__init__.py +20 -5
- aws_cdk/aws_supportapp/__init__.py +16 -1
- aws_cdk/aws_synthetics/__init__.py +16 -1
- aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
- aws_cdk/aws_timestream/__init__.py +16 -1
- aws_cdk/aws_transfer/__init__.py +16 -1
- aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
- aws_cdk/aws_voiceid/__init__.py +16 -1
- aws_cdk/aws_vpclattice/__init__.py +16 -1
- aws_cdk/aws_waf/__init__.py +16 -1
- aws_cdk/aws_wafregional/__init__.py +16 -1
- aws_cdk/aws_wafv2/__init__.py +16 -1
- aws_cdk/aws_wisdom/__init__.py +16 -1
- aws_cdk/aws_workspaces/__init__.py +16 -1
- aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
- aws_cdk/aws_workspacesweb/__init__.py +16 -1
- aws_cdk/aws_xray/__init__.py +16 -1
- aws_cdk/cloud_assembly_schema/__init__.py +16 -1
- aws_cdk/cloudformation_include/__init__.py +16 -1
- aws_cdk/custom_resources/__init__.py +16 -1
- aws_cdk/cx_api/__init__.py +16 -1
- aws_cdk/lambda_layer_awscli/__init__.py +16 -1
- aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
- aws_cdk/pipelines/__init__.py +16 -1
- aws_cdk/region_info/__init__.py +16 -1
- aws_cdk/triggers/__init__.py +46 -4
- {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/METADATA +5 -5
- {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/NOTICE +27 -8
- aws_cdk_lib-2.158.0.dist-info/RECORD +294 -0
- aws_cdk_lib-2.156.0.dist-info/RECORD +0 -292
- {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.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
|
-
|
|
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
|
|
|
@@ -1489,6 +1504,1038 @@ class CfnAppProps:
|
|
|
1489
1504
|
)
|
|
1490
1505
|
|
|
1491
1506
|
|
|
1507
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
1508
|
+
class CfnCluster(
|
|
1509
|
+
_CfnResource_9df397a6,
|
|
1510
|
+
metaclass=jsii.JSIIMeta,
|
|
1511
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster",
|
|
1512
|
+
):
|
|
1513
|
+
'''Resource Type definition for AWS::SageMaker::Cluster.
|
|
1514
|
+
|
|
1515
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html
|
|
1516
|
+
:cloudformationResource: AWS::SageMaker::Cluster
|
|
1517
|
+
:exampleMetadata: fixture=_generated
|
|
1518
|
+
|
|
1519
|
+
Example::
|
|
1520
|
+
|
|
1521
|
+
# The code below shows an example of how to instantiate this type.
|
|
1522
|
+
# The values are placeholders you should change.
|
|
1523
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
1524
|
+
|
|
1525
|
+
cfn_cluster = sagemaker.CfnCluster(self, "MyCfnCluster",
|
|
1526
|
+
instance_groups=[sagemaker.CfnCluster.ClusterInstanceGroupProperty(
|
|
1527
|
+
execution_role="executionRole",
|
|
1528
|
+
instance_count=123,
|
|
1529
|
+
instance_group_name="instanceGroupName",
|
|
1530
|
+
instance_type="instanceType",
|
|
1531
|
+
life_cycle_config=sagemaker.CfnCluster.ClusterLifeCycleConfigProperty(
|
|
1532
|
+
on_create="onCreate",
|
|
1533
|
+
source_s3_uri="sourceS3Uri"
|
|
1534
|
+
),
|
|
1535
|
+
|
|
1536
|
+
# the properties below are optional
|
|
1537
|
+
current_count=123,
|
|
1538
|
+
instance_storage_configs=[sagemaker.CfnCluster.ClusterInstanceStorageConfigProperty(
|
|
1539
|
+
ebs_volume_config=sagemaker.CfnCluster.ClusterEbsVolumeConfigProperty(
|
|
1540
|
+
volume_size_in_gb=123
|
|
1541
|
+
)
|
|
1542
|
+
)],
|
|
1543
|
+
on_start_deep_health_checks=["onStartDeepHealthChecks"],
|
|
1544
|
+
threads_per_core=123
|
|
1545
|
+
)],
|
|
1546
|
+
|
|
1547
|
+
# the properties below are optional
|
|
1548
|
+
cluster_name="clusterName",
|
|
1549
|
+
node_recovery="nodeRecovery",
|
|
1550
|
+
orchestrator=sagemaker.CfnCluster.OrchestratorProperty(
|
|
1551
|
+
eks=sagemaker.CfnCluster.ClusterOrchestratorEksConfigProperty(
|
|
1552
|
+
cluster_arn="clusterArn"
|
|
1553
|
+
)
|
|
1554
|
+
),
|
|
1555
|
+
tags=[CfnTag(
|
|
1556
|
+
key="key",
|
|
1557
|
+
value="value"
|
|
1558
|
+
)],
|
|
1559
|
+
vpc_config=sagemaker.CfnCluster.VpcConfigProperty(
|
|
1560
|
+
security_group_ids=["securityGroupIds"],
|
|
1561
|
+
subnets=["subnets"]
|
|
1562
|
+
)
|
|
1563
|
+
)
|
|
1564
|
+
'''
|
|
1565
|
+
|
|
1566
|
+
def __init__(
|
|
1567
|
+
self,
|
|
1568
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1569
|
+
id: builtins.str,
|
|
1570
|
+
*,
|
|
1571
|
+
instance_groups: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ClusterInstanceGroupProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
1572
|
+
cluster_name: typing.Optional[builtins.str] = None,
|
|
1573
|
+
node_recovery: typing.Optional[builtins.str] = None,
|
|
1574
|
+
orchestrator: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.OrchestratorProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1575
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1576
|
+
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.VpcConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1577
|
+
) -> None:
|
|
1578
|
+
'''
|
|
1579
|
+
:param scope: Scope in which this resource is defined.
|
|
1580
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
1581
|
+
:param instance_groups: The instance groups of the SageMaker HyperPod cluster.
|
|
1582
|
+
:param cluster_name: The name of the HyperPod Cluster.
|
|
1583
|
+
: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.
|
|
1584
|
+
:param orchestrator: Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
|
|
1585
|
+
: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.
|
|
1586
|
+
: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.
|
|
1587
|
+
'''
|
|
1588
|
+
if __debug__:
|
|
1589
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b1441bbec1bb60460bda62b43765e140885fbb36e13b090ded31c919b4f27ca6)
|
|
1590
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1591
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1592
|
+
props = CfnClusterProps(
|
|
1593
|
+
instance_groups=instance_groups,
|
|
1594
|
+
cluster_name=cluster_name,
|
|
1595
|
+
node_recovery=node_recovery,
|
|
1596
|
+
orchestrator=orchestrator,
|
|
1597
|
+
tags=tags,
|
|
1598
|
+
vpc_config=vpc_config,
|
|
1599
|
+
)
|
|
1600
|
+
|
|
1601
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
1602
|
+
|
|
1603
|
+
@jsii.member(jsii_name="inspect")
|
|
1604
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
1605
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
1606
|
+
|
|
1607
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
1608
|
+
'''
|
|
1609
|
+
if __debug__:
|
|
1610
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c6bf38c830f5d60bc842320feb4dec3a217b386f6d517f4958fd6640eda19286)
|
|
1611
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
1612
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
1613
|
+
|
|
1614
|
+
@jsii.member(jsii_name="renderProperties")
|
|
1615
|
+
def _render_properties(
|
|
1616
|
+
self,
|
|
1617
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
1618
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1619
|
+
'''
|
|
1620
|
+
:param props: -
|
|
1621
|
+
'''
|
|
1622
|
+
if __debug__:
|
|
1623
|
+
type_hints = typing.get_type_hints(_typecheckingstub__23ff930ab861d82c5316349d3cb92e229dc76252f7fe321a81296dd8049216aa)
|
|
1624
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
1625
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
1626
|
+
|
|
1627
|
+
@jsii.python.classproperty
|
|
1628
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
1629
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
1630
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
1631
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
1632
|
+
|
|
1633
|
+
@builtins.property
|
|
1634
|
+
@jsii.member(jsii_name="attrClusterArn")
|
|
1635
|
+
def attr_cluster_arn(self) -> builtins.str:
|
|
1636
|
+
'''The Amazon Resource Name (ARN) of the HyperPod Cluster.
|
|
1637
|
+
|
|
1638
|
+
:cloudformationAttribute: ClusterArn
|
|
1639
|
+
'''
|
|
1640
|
+
return typing.cast(builtins.str, jsii.get(self, "attrClusterArn"))
|
|
1641
|
+
|
|
1642
|
+
@builtins.property
|
|
1643
|
+
@jsii.member(jsii_name="attrClusterStatus")
|
|
1644
|
+
def attr_cluster_status(self) -> builtins.str:
|
|
1645
|
+
'''The status of the HyperPod Cluster.
|
|
1646
|
+
|
|
1647
|
+
:cloudformationAttribute: ClusterStatus
|
|
1648
|
+
'''
|
|
1649
|
+
return typing.cast(builtins.str, jsii.get(self, "attrClusterStatus"))
|
|
1650
|
+
|
|
1651
|
+
@builtins.property
|
|
1652
|
+
@jsii.member(jsii_name="attrCreationTime")
|
|
1653
|
+
def attr_creation_time(self) -> builtins.str:
|
|
1654
|
+
'''The time at which the HyperPod cluster was created.
|
|
1655
|
+
|
|
1656
|
+
:cloudformationAttribute: CreationTime
|
|
1657
|
+
'''
|
|
1658
|
+
return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
|
|
1659
|
+
|
|
1660
|
+
@builtins.property
|
|
1661
|
+
@jsii.member(jsii_name="attrFailureMessage")
|
|
1662
|
+
def attr_failure_message(self) -> builtins.str:
|
|
1663
|
+
'''The failure message of the HyperPod Cluster.
|
|
1664
|
+
|
|
1665
|
+
:cloudformationAttribute: FailureMessage
|
|
1666
|
+
'''
|
|
1667
|
+
return typing.cast(builtins.str, jsii.get(self, "attrFailureMessage"))
|
|
1668
|
+
|
|
1669
|
+
@builtins.property
|
|
1670
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
1671
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
1672
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
1673
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
1674
|
+
|
|
1675
|
+
@builtins.property
|
|
1676
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
1677
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1678
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
1679
|
+
|
|
1680
|
+
@builtins.property
|
|
1681
|
+
@jsii.member(jsii_name="instanceGroups")
|
|
1682
|
+
def instance_groups(
|
|
1683
|
+
self,
|
|
1684
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterInstanceGroupProperty"]]]:
|
|
1685
|
+
'''The instance groups of the SageMaker HyperPod cluster.'''
|
|
1686
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterInstanceGroupProperty"]]], jsii.get(self, "instanceGroups"))
|
|
1687
|
+
|
|
1688
|
+
@instance_groups.setter
|
|
1689
|
+
def instance_groups(
|
|
1690
|
+
self,
|
|
1691
|
+
value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterInstanceGroupProperty"]]],
|
|
1692
|
+
) -> None:
|
|
1693
|
+
if __debug__:
|
|
1694
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4e78b567f109d38ee1f8221168fe230f3c378e24d69dab4b08d88a01e417dae5)
|
|
1695
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1696
|
+
jsii.set(self, "instanceGroups", value) # pyright: ignore[reportArgumentType]
|
|
1697
|
+
|
|
1698
|
+
@builtins.property
|
|
1699
|
+
@jsii.member(jsii_name="clusterName")
|
|
1700
|
+
def cluster_name(self) -> typing.Optional[builtins.str]:
|
|
1701
|
+
'''The name of the HyperPod Cluster.'''
|
|
1702
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clusterName"))
|
|
1703
|
+
|
|
1704
|
+
@cluster_name.setter
|
|
1705
|
+
def cluster_name(self, value: typing.Optional[builtins.str]) -> None:
|
|
1706
|
+
if __debug__:
|
|
1707
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8c72731c4fb9d1b248db78e05e403c022229ea39aa9884e7da88a1c9dd345bfb)
|
|
1708
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1709
|
+
jsii.set(self, "clusterName", value) # pyright: ignore[reportArgumentType]
|
|
1710
|
+
|
|
1711
|
+
@builtins.property
|
|
1712
|
+
@jsii.member(jsii_name="nodeRecovery")
|
|
1713
|
+
def node_recovery(self) -> typing.Optional[builtins.str]:
|
|
1714
|
+
'''If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected.'''
|
|
1715
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nodeRecovery"))
|
|
1716
|
+
|
|
1717
|
+
@node_recovery.setter
|
|
1718
|
+
def node_recovery(self, value: typing.Optional[builtins.str]) -> None:
|
|
1719
|
+
if __debug__:
|
|
1720
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4fbe65936cd747930256e6fb03ae406dcd4ea78b463b13ed47a475b84468f655)
|
|
1721
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1722
|
+
jsii.set(self, "nodeRecovery", value) # pyright: ignore[reportArgumentType]
|
|
1723
|
+
|
|
1724
|
+
@builtins.property
|
|
1725
|
+
@jsii.member(jsii_name="orchestrator")
|
|
1726
|
+
def orchestrator(
|
|
1727
|
+
self,
|
|
1728
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OrchestratorProperty"]]:
|
|
1729
|
+
'''Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.'''
|
|
1730
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OrchestratorProperty"]], jsii.get(self, "orchestrator"))
|
|
1731
|
+
|
|
1732
|
+
@orchestrator.setter
|
|
1733
|
+
def orchestrator(
|
|
1734
|
+
self,
|
|
1735
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OrchestratorProperty"]],
|
|
1736
|
+
) -> None:
|
|
1737
|
+
if __debug__:
|
|
1738
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b28b5799cdd1c859107ae372c1215ec60b0e0936d622ea46ffde5ae876779722)
|
|
1739
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1740
|
+
jsii.set(self, "orchestrator", value) # pyright: ignore[reportArgumentType]
|
|
1741
|
+
|
|
1742
|
+
@builtins.property
|
|
1743
|
+
@jsii.member(jsii_name="tags")
|
|
1744
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
1745
|
+
'''Custom tags for managing the SageMaker HyperPod cluster as an AWS resource.'''
|
|
1746
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
1747
|
+
|
|
1748
|
+
@tags.setter
|
|
1749
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
1750
|
+
if __debug__:
|
|
1751
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d084f139dda46e8f580a7b39f59ba1634670f397fa2aa5cb51e1f2f0cb2b6cbe)
|
|
1752
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1753
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
1754
|
+
|
|
1755
|
+
@builtins.property
|
|
1756
|
+
@jsii.member(jsii_name="vpcConfig")
|
|
1757
|
+
def vpc_config(
|
|
1758
|
+
self,
|
|
1759
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.VpcConfigProperty"]]:
|
|
1760
|
+
'''Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.'''
|
|
1761
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.VpcConfigProperty"]], jsii.get(self, "vpcConfig"))
|
|
1762
|
+
|
|
1763
|
+
@vpc_config.setter
|
|
1764
|
+
def vpc_config(
|
|
1765
|
+
self,
|
|
1766
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.VpcConfigProperty"]],
|
|
1767
|
+
) -> None:
|
|
1768
|
+
if __debug__:
|
|
1769
|
+
type_hints = typing.get_type_hints(_typecheckingstub__429f3349777c49353a90fb2e147d893a183eb1e53971ad423f88736afc16b14c)
|
|
1770
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1771
|
+
jsii.set(self, "vpcConfig", value) # pyright: ignore[reportArgumentType]
|
|
1772
|
+
|
|
1773
|
+
@jsii.data_type(
|
|
1774
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.ClusterEbsVolumeConfigProperty",
|
|
1775
|
+
jsii_struct_bases=[],
|
|
1776
|
+
name_mapping={"volume_size_in_gb": "volumeSizeInGb"},
|
|
1777
|
+
)
|
|
1778
|
+
class ClusterEbsVolumeConfigProperty:
|
|
1779
|
+
def __init__(
|
|
1780
|
+
self,
|
|
1781
|
+
*,
|
|
1782
|
+
volume_size_in_gb: typing.Optional[jsii.Number] = None,
|
|
1783
|
+
) -> None:
|
|
1784
|
+
'''Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group.
|
|
1785
|
+
|
|
1786
|
+
The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
|
|
1787
|
+
|
|
1788
|
+
: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.
|
|
1789
|
+
|
|
1790
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterebsvolumeconfig.html
|
|
1791
|
+
:exampleMetadata: fixture=_generated
|
|
1792
|
+
|
|
1793
|
+
Example::
|
|
1794
|
+
|
|
1795
|
+
# The code below shows an example of how to instantiate this type.
|
|
1796
|
+
# The values are placeholders you should change.
|
|
1797
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
1798
|
+
|
|
1799
|
+
cluster_ebs_volume_config_property = sagemaker.CfnCluster.ClusterEbsVolumeConfigProperty(
|
|
1800
|
+
volume_size_in_gb=123
|
|
1801
|
+
)
|
|
1802
|
+
'''
|
|
1803
|
+
if __debug__:
|
|
1804
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9c3cafd59fbc880606685f87e0e67d5a5ce5428cfebf3db8838122cd54c4a361)
|
|
1805
|
+
check_type(argname="argument volume_size_in_gb", value=volume_size_in_gb, expected_type=type_hints["volume_size_in_gb"])
|
|
1806
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1807
|
+
if volume_size_in_gb is not None:
|
|
1808
|
+
self._values["volume_size_in_gb"] = volume_size_in_gb
|
|
1809
|
+
|
|
1810
|
+
@builtins.property
|
|
1811
|
+
def volume_size_in_gb(self) -> typing.Optional[jsii.Number]:
|
|
1812
|
+
'''The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group.
|
|
1813
|
+
|
|
1814
|
+
The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
|
|
1815
|
+
|
|
1816
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterebsvolumeconfig.html#cfn-sagemaker-cluster-clusterebsvolumeconfig-volumesizeingb
|
|
1817
|
+
'''
|
|
1818
|
+
result = self._values.get("volume_size_in_gb")
|
|
1819
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1820
|
+
|
|
1821
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1822
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1823
|
+
|
|
1824
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1825
|
+
return not (rhs == self)
|
|
1826
|
+
|
|
1827
|
+
def __repr__(self) -> str:
|
|
1828
|
+
return "ClusterEbsVolumeConfigProperty(%s)" % ", ".join(
|
|
1829
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1830
|
+
)
|
|
1831
|
+
|
|
1832
|
+
@jsii.data_type(
|
|
1833
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.ClusterInstanceGroupProperty",
|
|
1834
|
+
jsii_struct_bases=[],
|
|
1835
|
+
name_mapping={
|
|
1836
|
+
"execution_role": "executionRole",
|
|
1837
|
+
"instance_count": "instanceCount",
|
|
1838
|
+
"instance_group_name": "instanceGroupName",
|
|
1839
|
+
"instance_type": "instanceType",
|
|
1840
|
+
"life_cycle_config": "lifeCycleConfig",
|
|
1841
|
+
"current_count": "currentCount",
|
|
1842
|
+
"instance_storage_configs": "instanceStorageConfigs",
|
|
1843
|
+
"on_start_deep_health_checks": "onStartDeepHealthChecks",
|
|
1844
|
+
"threads_per_core": "threadsPerCore",
|
|
1845
|
+
},
|
|
1846
|
+
)
|
|
1847
|
+
class ClusterInstanceGroupProperty:
|
|
1848
|
+
def __init__(
|
|
1849
|
+
self,
|
|
1850
|
+
*,
|
|
1851
|
+
execution_role: builtins.str,
|
|
1852
|
+
instance_count: jsii.Number,
|
|
1853
|
+
instance_group_name: builtins.str,
|
|
1854
|
+
instance_type: builtins.str,
|
|
1855
|
+
life_cycle_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ClusterLifeCycleConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
1856
|
+
current_count: typing.Optional[jsii.Number] = None,
|
|
1857
|
+
instance_storage_configs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ClusterInstanceStorageConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1858
|
+
on_start_deep_health_checks: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1859
|
+
threads_per_core: typing.Optional[jsii.Number] = None,
|
|
1860
|
+
) -> None:
|
|
1861
|
+
'''Details of an instance group in a SageMaker HyperPod cluster.
|
|
1862
|
+
|
|
1863
|
+
:param execution_role: The execution role for the instance group to assume.
|
|
1864
|
+
:param instance_count: The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.
|
|
1865
|
+
:param instance_group_name: The name of the instance group of a SageMaker HyperPod cluster.
|
|
1866
|
+
:param instance_type: The instance type of the instance group of a SageMaker HyperPod cluster.
|
|
1867
|
+
:param life_cycle_config: The lifecycle configuration for a SageMaker HyperPod cluster.
|
|
1868
|
+
:param current_count: The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.
|
|
1869
|
+
:param instance_storage_configs: The instance storage configuration for the instance group.
|
|
1870
|
+
: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.
|
|
1871
|
+
: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.
|
|
1872
|
+
|
|
1873
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html
|
|
1874
|
+
:exampleMetadata: fixture=_generated
|
|
1875
|
+
|
|
1876
|
+
Example::
|
|
1877
|
+
|
|
1878
|
+
# The code below shows an example of how to instantiate this type.
|
|
1879
|
+
# The values are placeholders you should change.
|
|
1880
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
1881
|
+
|
|
1882
|
+
cluster_instance_group_property = sagemaker.CfnCluster.ClusterInstanceGroupProperty(
|
|
1883
|
+
execution_role="executionRole",
|
|
1884
|
+
instance_count=123,
|
|
1885
|
+
instance_group_name="instanceGroupName",
|
|
1886
|
+
instance_type="instanceType",
|
|
1887
|
+
life_cycle_config=sagemaker.CfnCluster.ClusterLifeCycleConfigProperty(
|
|
1888
|
+
on_create="onCreate",
|
|
1889
|
+
source_s3_uri="sourceS3Uri"
|
|
1890
|
+
),
|
|
1891
|
+
|
|
1892
|
+
# the properties below are optional
|
|
1893
|
+
current_count=123,
|
|
1894
|
+
instance_storage_configs=[sagemaker.CfnCluster.ClusterInstanceStorageConfigProperty(
|
|
1895
|
+
ebs_volume_config=sagemaker.CfnCluster.ClusterEbsVolumeConfigProperty(
|
|
1896
|
+
volume_size_in_gb=123
|
|
1897
|
+
)
|
|
1898
|
+
)],
|
|
1899
|
+
on_start_deep_health_checks=["onStartDeepHealthChecks"],
|
|
1900
|
+
threads_per_core=123
|
|
1901
|
+
)
|
|
1902
|
+
'''
|
|
1903
|
+
if __debug__:
|
|
1904
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3a19719ba9f3f785eebfbcc6ee996f6178944dfe9cbd5d5cdf73341bd47bcc03)
|
|
1905
|
+
check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
|
|
1906
|
+
check_type(argname="argument instance_count", value=instance_count, expected_type=type_hints["instance_count"])
|
|
1907
|
+
check_type(argname="argument instance_group_name", value=instance_group_name, expected_type=type_hints["instance_group_name"])
|
|
1908
|
+
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
1909
|
+
check_type(argname="argument life_cycle_config", value=life_cycle_config, expected_type=type_hints["life_cycle_config"])
|
|
1910
|
+
check_type(argname="argument current_count", value=current_count, expected_type=type_hints["current_count"])
|
|
1911
|
+
check_type(argname="argument instance_storage_configs", value=instance_storage_configs, expected_type=type_hints["instance_storage_configs"])
|
|
1912
|
+
check_type(argname="argument on_start_deep_health_checks", value=on_start_deep_health_checks, expected_type=type_hints["on_start_deep_health_checks"])
|
|
1913
|
+
check_type(argname="argument threads_per_core", value=threads_per_core, expected_type=type_hints["threads_per_core"])
|
|
1914
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1915
|
+
"execution_role": execution_role,
|
|
1916
|
+
"instance_count": instance_count,
|
|
1917
|
+
"instance_group_name": instance_group_name,
|
|
1918
|
+
"instance_type": instance_type,
|
|
1919
|
+
"life_cycle_config": life_cycle_config,
|
|
1920
|
+
}
|
|
1921
|
+
if current_count is not None:
|
|
1922
|
+
self._values["current_count"] = current_count
|
|
1923
|
+
if instance_storage_configs is not None:
|
|
1924
|
+
self._values["instance_storage_configs"] = instance_storage_configs
|
|
1925
|
+
if on_start_deep_health_checks is not None:
|
|
1926
|
+
self._values["on_start_deep_health_checks"] = on_start_deep_health_checks
|
|
1927
|
+
if threads_per_core is not None:
|
|
1928
|
+
self._values["threads_per_core"] = threads_per_core
|
|
1929
|
+
|
|
1930
|
+
@builtins.property
|
|
1931
|
+
def execution_role(self) -> builtins.str:
|
|
1932
|
+
'''The execution role for the instance group to assume.
|
|
1933
|
+
|
|
1934
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-executionrole
|
|
1935
|
+
'''
|
|
1936
|
+
result = self._values.get("execution_role")
|
|
1937
|
+
assert result is not None, "Required property 'execution_role' is missing"
|
|
1938
|
+
return typing.cast(builtins.str, result)
|
|
1939
|
+
|
|
1940
|
+
@builtins.property
|
|
1941
|
+
def instance_count(self) -> jsii.Number:
|
|
1942
|
+
'''The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.
|
|
1943
|
+
|
|
1944
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-instancecount
|
|
1945
|
+
'''
|
|
1946
|
+
result = self._values.get("instance_count")
|
|
1947
|
+
assert result is not None, "Required property 'instance_count' is missing"
|
|
1948
|
+
return typing.cast(jsii.Number, result)
|
|
1949
|
+
|
|
1950
|
+
@builtins.property
|
|
1951
|
+
def instance_group_name(self) -> builtins.str:
|
|
1952
|
+
'''The name of the instance group of a SageMaker HyperPod cluster.
|
|
1953
|
+
|
|
1954
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-instancegroupname
|
|
1955
|
+
'''
|
|
1956
|
+
result = self._values.get("instance_group_name")
|
|
1957
|
+
assert result is not None, "Required property 'instance_group_name' is missing"
|
|
1958
|
+
return typing.cast(builtins.str, result)
|
|
1959
|
+
|
|
1960
|
+
@builtins.property
|
|
1961
|
+
def instance_type(self) -> builtins.str:
|
|
1962
|
+
'''The instance type of the instance group of a SageMaker HyperPod cluster.
|
|
1963
|
+
|
|
1964
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-instancetype
|
|
1965
|
+
'''
|
|
1966
|
+
result = self._values.get("instance_type")
|
|
1967
|
+
assert result is not None, "Required property 'instance_type' is missing"
|
|
1968
|
+
return typing.cast(builtins.str, result)
|
|
1969
|
+
|
|
1970
|
+
@builtins.property
|
|
1971
|
+
def life_cycle_config(
|
|
1972
|
+
self,
|
|
1973
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterLifeCycleConfigProperty"]:
|
|
1974
|
+
'''The lifecycle configuration for a SageMaker HyperPod cluster.
|
|
1975
|
+
|
|
1976
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-lifecycleconfig
|
|
1977
|
+
'''
|
|
1978
|
+
result = self._values.get("life_cycle_config")
|
|
1979
|
+
assert result is not None, "Required property 'life_cycle_config' is missing"
|
|
1980
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterLifeCycleConfigProperty"], result)
|
|
1981
|
+
|
|
1982
|
+
@builtins.property
|
|
1983
|
+
def current_count(self) -> typing.Optional[jsii.Number]:
|
|
1984
|
+
'''The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.
|
|
1985
|
+
|
|
1986
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-currentcount
|
|
1987
|
+
'''
|
|
1988
|
+
result = self._values.get("current_count")
|
|
1989
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1990
|
+
|
|
1991
|
+
@builtins.property
|
|
1992
|
+
def instance_storage_configs(
|
|
1993
|
+
self,
|
|
1994
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterInstanceStorageConfigProperty"]]]]:
|
|
1995
|
+
'''The instance storage configuration for the instance group.
|
|
1996
|
+
|
|
1997
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-instancestorageconfigs
|
|
1998
|
+
'''
|
|
1999
|
+
result = self._values.get("instance_storage_configs")
|
|
2000
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterInstanceStorageConfigProperty"]]]], result)
|
|
2001
|
+
|
|
2002
|
+
@builtins.property
|
|
2003
|
+
def on_start_deep_health_checks(
|
|
2004
|
+
self,
|
|
2005
|
+
) -> typing.Optional[typing.List[builtins.str]]:
|
|
2006
|
+
'''Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.
|
|
2007
|
+
|
|
2008
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-onstartdeephealthchecks
|
|
2009
|
+
'''
|
|
2010
|
+
result = self._values.get("on_start_deep_health_checks")
|
|
2011
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2012
|
+
|
|
2013
|
+
@builtins.property
|
|
2014
|
+
def threads_per_core(self) -> typing.Optional[jsii.Number]:
|
|
2015
|
+
'''The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading.
|
|
2016
|
+
|
|
2017
|
+
For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.
|
|
2018
|
+
|
|
2019
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancegroup.html#cfn-sagemaker-cluster-clusterinstancegroup-threadspercore
|
|
2020
|
+
'''
|
|
2021
|
+
result = self._values.get("threads_per_core")
|
|
2022
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2023
|
+
|
|
2024
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2025
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2026
|
+
|
|
2027
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2028
|
+
return not (rhs == self)
|
|
2029
|
+
|
|
2030
|
+
def __repr__(self) -> str:
|
|
2031
|
+
return "ClusterInstanceGroupProperty(%s)" % ", ".join(
|
|
2032
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2033
|
+
)
|
|
2034
|
+
|
|
2035
|
+
@jsii.data_type(
|
|
2036
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.ClusterInstanceStorageConfigProperty",
|
|
2037
|
+
jsii_struct_bases=[],
|
|
2038
|
+
name_mapping={"ebs_volume_config": "ebsVolumeConfig"},
|
|
2039
|
+
)
|
|
2040
|
+
class ClusterInstanceStorageConfigProperty:
|
|
2041
|
+
def __init__(
|
|
2042
|
+
self,
|
|
2043
|
+
*,
|
|
2044
|
+
ebs_volume_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ClusterEbsVolumeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2045
|
+
) -> None:
|
|
2046
|
+
'''Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.
|
|
2047
|
+
|
|
2048
|
+
: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.
|
|
2049
|
+
|
|
2050
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancestorageconfig.html
|
|
2051
|
+
:exampleMetadata: fixture=_generated
|
|
2052
|
+
|
|
2053
|
+
Example::
|
|
2054
|
+
|
|
2055
|
+
# The code below shows an example of how to instantiate this type.
|
|
2056
|
+
# The values are placeholders you should change.
|
|
2057
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
2058
|
+
|
|
2059
|
+
cluster_instance_storage_config_property = sagemaker.CfnCluster.ClusterInstanceStorageConfigProperty(
|
|
2060
|
+
ebs_volume_config=sagemaker.CfnCluster.ClusterEbsVolumeConfigProperty(
|
|
2061
|
+
volume_size_in_gb=123
|
|
2062
|
+
)
|
|
2063
|
+
)
|
|
2064
|
+
'''
|
|
2065
|
+
if __debug__:
|
|
2066
|
+
type_hints = typing.get_type_hints(_typecheckingstub__43caf7c774c2545f8cff945a7d450e1acd83d6c11b7011b4cab6d25bea696218)
|
|
2067
|
+
check_type(argname="argument ebs_volume_config", value=ebs_volume_config, expected_type=type_hints["ebs_volume_config"])
|
|
2068
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2069
|
+
if ebs_volume_config is not None:
|
|
2070
|
+
self._values["ebs_volume_config"] = ebs_volume_config
|
|
2071
|
+
|
|
2072
|
+
@builtins.property
|
|
2073
|
+
def ebs_volume_config(
|
|
2074
|
+
self,
|
|
2075
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterEbsVolumeConfigProperty"]]:
|
|
2076
|
+
'''Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group.
|
|
2077
|
+
|
|
2078
|
+
The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
|
|
2079
|
+
|
|
2080
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterinstancestorageconfig.html#cfn-sagemaker-cluster-clusterinstancestorageconfig-ebsvolumeconfig
|
|
2081
|
+
'''
|
|
2082
|
+
result = self._values.get("ebs_volume_config")
|
|
2083
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterEbsVolumeConfigProperty"]], result)
|
|
2084
|
+
|
|
2085
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2086
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2087
|
+
|
|
2088
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2089
|
+
return not (rhs == self)
|
|
2090
|
+
|
|
2091
|
+
def __repr__(self) -> str:
|
|
2092
|
+
return "ClusterInstanceStorageConfigProperty(%s)" % ", ".join(
|
|
2093
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2094
|
+
)
|
|
2095
|
+
|
|
2096
|
+
@jsii.data_type(
|
|
2097
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.ClusterLifeCycleConfigProperty",
|
|
2098
|
+
jsii_struct_bases=[],
|
|
2099
|
+
name_mapping={"on_create": "onCreate", "source_s3_uri": "sourceS3Uri"},
|
|
2100
|
+
)
|
|
2101
|
+
class ClusterLifeCycleConfigProperty:
|
|
2102
|
+
def __init__(
|
|
2103
|
+
self,
|
|
2104
|
+
*,
|
|
2105
|
+
on_create: builtins.str,
|
|
2106
|
+
source_s3_uri: builtins.str,
|
|
2107
|
+
) -> None:
|
|
2108
|
+
'''The lifecycle configuration for a SageMaker HyperPod cluster.
|
|
2109
|
+
|
|
2110
|
+
:param on_create: The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.
|
|
2111
|
+
:param source_s3_uri: An Amazon S3 bucket path where your lifecycle scripts are stored.
|
|
2112
|
+
|
|
2113
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterlifecycleconfig.html
|
|
2114
|
+
:exampleMetadata: fixture=_generated
|
|
2115
|
+
|
|
2116
|
+
Example::
|
|
2117
|
+
|
|
2118
|
+
# The code below shows an example of how to instantiate this type.
|
|
2119
|
+
# The values are placeholders you should change.
|
|
2120
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
2121
|
+
|
|
2122
|
+
cluster_life_cycle_config_property = sagemaker.CfnCluster.ClusterLifeCycleConfigProperty(
|
|
2123
|
+
on_create="onCreate",
|
|
2124
|
+
source_s3_uri="sourceS3Uri"
|
|
2125
|
+
)
|
|
2126
|
+
'''
|
|
2127
|
+
if __debug__:
|
|
2128
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9feca01a5855cd661f26c8dbf78069a1fe8e659c3851cf6144113cdfc3cdc58b)
|
|
2129
|
+
check_type(argname="argument on_create", value=on_create, expected_type=type_hints["on_create"])
|
|
2130
|
+
check_type(argname="argument source_s3_uri", value=source_s3_uri, expected_type=type_hints["source_s3_uri"])
|
|
2131
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2132
|
+
"on_create": on_create,
|
|
2133
|
+
"source_s3_uri": source_s3_uri,
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
@builtins.property
|
|
2137
|
+
def on_create(self) -> builtins.str:
|
|
2138
|
+
'''The file name of the entrypoint script of lifecycle scripts under SourceS3Uri.
|
|
2139
|
+
|
|
2140
|
+
This entrypoint script runs during cluster creation.
|
|
2141
|
+
|
|
2142
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterlifecycleconfig.html#cfn-sagemaker-cluster-clusterlifecycleconfig-oncreate
|
|
2143
|
+
'''
|
|
2144
|
+
result = self._values.get("on_create")
|
|
2145
|
+
assert result is not None, "Required property 'on_create' is missing"
|
|
2146
|
+
return typing.cast(builtins.str, result)
|
|
2147
|
+
|
|
2148
|
+
@builtins.property
|
|
2149
|
+
def source_s3_uri(self) -> builtins.str:
|
|
2150
|
+
'''An Amazon S3 bucket path where your lifecycle scripts are stored.
|
|
2151
|
+
|
|
2152
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterlifecycleconfig.html#cfn-sagemaker-cluster-clusterlifecycleconfig-sources3uri
|
|
2153
|
+
'''
|
|
2154
|
+
result = self._values.get("source_s3_uri")
|
|
2155
|
+
assert result is not None, "Required property 'source_s3_uri' is missing"
|
|
2156
|
+
return typing.cast(builtins.str, result)
|
|
2157
|
+
|
|
2158
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2159
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2160
|
+
|
|
2161
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2162
|
+
return not (rhs == self)
|
|
2163
|
+
|
|
2164
|
+
def __repr__(self) -> str:
|
|
2165
|
+
return "ClusterLifeCycleConfigProperty(%s)" % ", ".join(
|
|
2166
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2167
|
+
)
|
|
2168
|
+
|
|
2169
|
+
@jsii.data_type(
|
|
2170
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.ClusterOrchestratorEksConfigProperty",
|
|
2171
|
+
jsii_struct_bases=[],
|
|
2172
|
+
name_mapping={"cluster_arn": "clusterArn"},
|
|
2173
|
+
)
|
|
2174
|
+
class ClusterOrchestratorEksConfigProperty:
|
|
2175
|
+
def __init__(self, *, cluster_arn: builtins.str) -> None:
|
|
2176
|
+
'''Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,.
|
|
2177
|
+
|
|
2178
|
+
:param cluster_arn: The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster.
|
|
2179
|
+
|
|
2180
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterorchestratoreksconfig.html
|
|
2181
|
+
:exampleMetadata: fixture=_generated
|
|
2182
|
+
|
|
2183
|
+
Example::
|
|
2184
|
+
|
|
2185
|
+
# The code below shows an example of how to instantiate this type.
|
|
2186
|
+
# The values are placeholders you should change.
|
|
2187
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
2188
|
+
|
|
2189
|
+
cluster_orchestrator_eks_config_property = sagemaker.CfnCluster.ClusterOrchestratorEksConfigProperty(
|
|
2190
|
+
cluster_arn="clusterArn"
|
|
2191
|
+
)
|
|
2192
|
+
'''
|
|
2193
|
+
if __debug__:
|
|
2194
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3b374679c88beb50318d8d8daa787c0b2f669d656010f29c3a5f6b1e4aa2fe2e)
|
|
2195
|
+
check_type(argname="argument cluster_arn", value=cluster_arn, expected_type=type_hints["cluster_arn"])
|
|
2196
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2197
|
+
"cluster_arn": cluster_arn,
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
@builtins.property
|
|
2201
|
+
def cluster_arn(self) -> builtins.str:
|
|
2202
|
+
'''The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster.
|
|
2203
|
+
|
|
2204
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterorchestratoreksconfig.html#cfn-sagemaker-cluster-clusterorchestratoreksconfig-clusterarn
|
|
2205
|
+
'''
|
|
2206
|
+
result = self._values.get("cluster_arn")
|
|
2207
|
+
assert result is not None, "Required property 'cluster_arn' is missing"
|
|
2208
|
+
return typing.cast(builtins.str, result)
|
|
2209
|
+
|
|
2210
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2211
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2212
|
+
|
|
2213
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2214
|
+
return not (rhs == self)
|
|
2215
|
+
|
|
2216
|
+
def __repr__(self) -> str:
|
|
2217
|
+
return "ClusterOrchestratorEksConfigProperty(%s)" % ", ".join(
|
|
2218
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2219
|
+
)
|
|
2220
|
+
|
|
2221
|
+
@jsii.data_type(
|
|
2222
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.OrchestratorProperty",
|
|
2223
|
+
jsii_struct_bases=[],
|
|
2224
|
+
name_mapping={"eks": "eks"},
|
|
2225
|
+
)
|
|
2226
|
+
class OrchestratorProperty:
|
|
2227
|
+
def __init__(
|
|
2228
|
+
self,
|
|
2229
|
+
*,
|
|
2230
|
+
eks: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ClusterOrchestratorEksConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
2231
|
+
) -> None:
|
|
2232
|
+
'''Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
|
|
2233
|
+
|
|
2234
|
+
:param eks: Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,.
|
|
2235
|
+
|
|
2236
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-orchestrator.html
|
|
2237
|
+
:exampleMetadata: fixture=_generated
|
|
2238
|
+
|
|
2239
|
+
Example::
|
|
2240
|
+
|
|
2241
|
+
# The code below shows an example of how to instantiate this type.
|
|
2242
|
+
# The values are placeholders you should change.
|
|
2243
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
2244
|
+
|
|
2245
|
+
orchestrator_property = sagemaker.CfnCluster.OrchestratorProperty(
|
|
2246
|
+
eks=sagemaker.CfnCluster.ClusterOrchestratorEksConfigProperty(
|
|
2247
|
+
cluster_arn="clusterArn"
|
|
2248
|
+
)
|
|
2249
|
+
)
|
|
2250
|
+
'''
|
|
2251
|
+
if __debug__:
|
|
2252
|
+
type_hints = typing.get_type_hints(_typecheckingstub__bd76c8323d4b86bae18d24faa04bdbae1945db1d8ba5ca351b2ce27ff07f8aa6)
|
|
2253
|
+
check_type(argname="argument eks", value=eks, expected_type=type_hints["eks"])
|
|
2254
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2255
|
+
"eks": eks,
|
|
2256
|
+
}
|
|
2257
|
+
|
|
2258
|
+
@builtins.property
|
|
2259
|
+
def eks(
|
|
2260
|
+
self,
|
|
2261
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterOrchestratorEksConfigProperty"]:
|
|
2262
|
+
'''Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,.
|
|
2263
|
+
|
|
2264
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-orchestrator.html#cfn-sagemaker-cluster-orchestrator-eks
|
|
2265
|
+
'''
|
|
2266
|
+
result = self._values.get("eks")
|
|
2267
|
+
assert result is not None, "Required property 'eks' is missing"
|
|
2268
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnCluster.ClusterOrchestratorEksConfigProperty"], result)
|
|
2269
|
+
|
|
2270
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2271
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2272
|
+
|
|
2273
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2274
|
+
return not (rhs == self)
|
|
2275
|
+
|
|
2276
|
+
def __repr__(self) -> str:
|
|
2277
|
+
return "OrchestratorProperty(%s)" % ", ".join(
|
|
2278
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2279
|
+
)
|
|
2280
|
+
|
|
2281
|
+
@jsii.data_type(
|
|
2282
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnCluster.VpcConfigProperty",
|
|
2283
|
+
jsii_struct_bases=[],
|
|
2284
|
+
name_mapping={"security_group_ids": "securityGroupIds", "subnets": "subnets"},
|
|
2285
|
+
)
|
|
2286
|
+
class VpcConfigProperty:
|
|
2287
|
+
def __init__(
|
|
2288
|
+
self,
|
|
2289
|
+
*,
|
|
2290
|
+
security_group_ids: typing.Sequence[builtins.str],
|
|
2291
|
+
subnets: typing.Sequence[builtins.str],
|
|
2292
|
+
) -> None:
|
|
2293
|
+
'''Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.
|
|
2294
|
+
|
|
2295
|
+
You can control access to and from your resources by configuring a VPC.
|
|
2296
|
+
|
|
2297
|
+
: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.
|
|
2298
|
+
:param subnets: The ID of the subnets in the VPC to which you want to connect your training job or model.
|
|
2299
|
+
|
|
2300
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-vpcconfig.html
|
|
2301
|
+
:exampleMetadata: fixture=_generated
|
|
2302
|
+
|
|
2303
|
+
Example::
|
|
2304
|
+
|
|
2305
|
+
# The code below shows an example of how to instantiate this type.
|
|
2306
|
+
# The values are placeholders you should change.
|
|
2307
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
2308
|
+
|
|
2309
|
+
vpc_config_property = sagemaker.CfnCluster.VpcConfigProperty(
|
|
2310
|
+
security_group_ids=["securityGroupIds"],
|
|
2311
|
+
subnets=["subnets"]
|
|
2312
|
+
)
|
|
2313
|
+
'''
|
|
2314
|
+
if __debug__:
|
|
2315
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c25c63e6108b86a8b4d868c1bea98ca33c486d394309500187dda4d53e294a1a)
|
|
2316
|
+
check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
|
|
2317
|
+
check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
|
|
2318
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2319
|
+
"security_group_ids": security_group_ids,
|
|
2320
|
+
"subnets": subnets,
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2323
|
+
@builtins.property
|
|
2324
|
+
def security_group_ids(self) -> typing.List[builtins.str]:
|
|
2325
|
+
'''The VPC security group IDs, in the form sg-xxxxxxxx.
|
|
2326
|
+
|
|
2327
|
+
Specify the security groups for the VPC that is specified in the Subnets field.
|
|
2328
|
+
|
|
2329
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-vpcconfig.html#cfn-sagemaker-cluster-vpcconfig-securitygroupids
|
|
2330
|
+
'''
|
|
2331
|
+
result = self._values.get("security_group_ids")
|
|
2332
|
+
assert result is not None, "Required property 'security_group_ids' is missing"
|
|
2333
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
2334
|
+
|
|
2335
|
+
@builtins.property
|
|
2336
|
+
def subnets(self) -> typing.List[builtins.str]:
|
|
2337
|
+
'''The ID of the subnets in the VPC to which you want to connect your training job or model.
|
|
2338
|
+
|
|
2339
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-vpcconfig.html#cfn-sagemaker-cluster-vpcconfig-subnets
|
|
2340
|
+
'''
|
|
2341
|
+
result = self._values.get("subnets")
|
|
2342
|
+
assert result is not None, "Required property 'subnets' is missing"
|
|
2343
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
2344
|
+
|
|
2345
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2346
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2347
|
+
|
|
2348
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2349
|
+
return not (rhs == self)
|
|
2350
|
+
|
|
2351
|
+
def __repr__(self) -> str:
|
|
2352
|
+
return "VpcConfigProperty(%s)" % ", ".join(
|
|
2353
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2354
|
+
)
|
|
2355
|
+
|
|
2356
|
+
|
|
2357
|
+
@jsii.data_type(
|
|
2358
|
+
jsii_type="aws-cdk-lib.aws_sagemaker.CfnClusterProps",
|
|
2359
|
+
jsii_struct_bases=[],
|
|
2360
|
+
name_mapping={
|
|
2361
|
+
"instance_groups": "instanceGroups",
|
|
2362
|
+
"cluster_name": "clusterName",
|
|
2363
|
+
"node_recovery": "nodeRecovery",
|
|
2364
|
+
"orchestrator": "orchestrator",
|
|
2365
|
+
"tags": "tags",
|
|
2366
|
+
"vpc_config": "vpcConfig",
|
|
2367
|
+
},
|
|
2368
|
+
)
|
|
2369
|
+
class CfnClusterProps:
|
|
2370
|
+
def __init__(
|
|
2371
|
+
self,
|
|
2372
|
+
*,
|
|
2373
|
+
instance_groups: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterInstanceGroupProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
2374
|
+
cluster_name: typing.Optional[builtins.str] = None,
|
|
2375
|
+
node_recovery: typing.Optional[builtins.str] = None,
|
|
2376
|
+
orchestrator: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.OrchestratorProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2377
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2378
|
+
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.VpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2379
|
+
) -> None:
|
|
2380
|
+
'''Properties for defining a ``CfnCluster``.
|
|
2381
|
+
|
|
2382
|
+
:param instance_groups: The instance groups of the SageMaker HyperPod cluster.
|
|
2383
|
+
:param cluster_name: The name of the HyperPod Cluster.
|
|
2384
|
+
: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.
|
|
2385
|
+
:param orchestrator: Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
|
|
2386
|
+
: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.
|
|
2387
|
+
: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.
|
|
2388
|
+
|
|
2389
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html
|
|
2390
|
+
:exampleMetadata: fixture=_generated
|
|
2391
|
+
|
|
2392
|
+
Example::
|
|
2393
|
+
|
|
2394
|
+
# The code below shows an example of how to instantiate this type.
|
|
2395
|
+
# The values are placeholders you should change.
|
|
2396
|
+
from aws_cdk import aws_sagemaker as sagemaker
|
|
2397
|
+
|
|
2398
|
+
cfn_cluster_props = sagemaker.CfnClusterProps(
|
|
2399
|
+
instance_groups=[sagemaker.CfnCluster.ClusterInstanceGroupProperty(
|
|
2400
|
+
execution_role="executionRole",
|
|
2401
|
+
instance_count=123,
|
|
2402
|
+
instance_group_name="instanceGroupName",
|
|
2403
|
+
instance_type="instanceType",
|
|
2404
|
+
life_cycle_config=sagemaker.CfnCluster.ClusterLifeCycleConfigProperty(
|
|
2405
|
+
on_create="onCreate",
|
|
2406
|
+
source_s3_uri="sourceS3Uri"
|
|
2407
|
+
),
|
|
2408
|
+
|
|
2409
|
+
# the properties below are optional
|
|
2410
|
+
current_count=123,
|
|
2411
|
+
instance_storage_configs=[sagemaker.CfnCluster.ClusterInstanceStorageConfigProperty(
|
|
2412
|
+
ebs_volume_config=sagemaker.CfnCluster.ClusterEbsVolumeConfigProperty(
|
|
2413
|
+
volume_size_in_gb=123
|
|
2414
|
+
)
|
|
2415
|
+
)],
|
|
2416
|
+
on_start_deep_health_checks=["onStartDeepHealthChecks"],
|
|
2417
|
+
threads_per_core=123
|
|
2418
|
+
)],
|
|
2419
|
+
|
|
2420
|
+
# the properties below are optional
|
|
2421
|
+
cluster_name="clusterName",
|
|
2422
|
+
node_recovery="nodeRecovery",
|
|
2423
|
+
orchestrator=sagemaker.CfnCluster.OrchestratorProperty(
|
|
2424
|
+
eks=sagemaker.CfnCluster.ClusterOrchestratorEksConfigProperty(
|
|
2425
|
+
cluster_arn="clusterArn"
|
|
2426
|
+
)
|
|
2427
|
+
),
|
|
2428
|
+
tags=[CfnTag(
|
|
2429
|
+
key="key",
|
|
2430
|
+
value="value"
|
|
2431
|
+
)],
|
|
2432
|
+
vpc_config=sagemaker.CfnCluster.VpcConfigProperty(
|
|
2433
|
+
security_group_ids=["securityGroupIds"],
|
|
2434
|
+
subnets=["subnets"]
|
|
2435
|
+
)
|
|
2436
|
+
)
|
|
2437
|
+
'''
|
|
2438
|
+
if __debug__:
|
|
2439
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c8126a53dc1741a2edde75d8d4eca79c53a2294746ea237dfba0097a758522ce)
|
|
2440
|
+
check_type(argname="argument instance_groups", value=instance_groups, expected_type=type_hints["instance_groups"])
|
|
2441
|
+
check_type(argname="argument cluster_name", value=cluster_name, expected_type=type_hints["cluster_name"])
|
|
2442
|
+
check_type(argname="argument node_recovery", value=node_recovery, expected_type=type_hints["node_recovery"])
|
|
2443
|
+
check_type(argname="argument orchestrator", value=orchestrator, expected_type=type_hints["orchestrator"])
|
|
2444
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
2445
|
+
check_type(argname="argument vpc_config", value=vpc_config, expected_type=type_hints["vpc_config"])
|
|
2446
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2447
|
+
"instance_groups": instance_groups,
|
|
2448
|
+
}
|
|
2449
|
+
if cluster_name is not None:
|
|
2450
|
+
self._values["cluster_name"] = cluster_name
|
|
2451
|
+
if node_recovery is not None:
|
|
2452
|
+
self._values["node_recovery"] = node_recovery
|
|
2453
|
+
if orchestrator is not None:
|
|
2454
|
+
self._values["orchestrator"] = orchestrator
|
|
2455
|
+
if tags is not None:
|
|
2456
|
+
self._values["tags"] = tags
|
|
2457
|
+
if vpc_config is not None:
|
|
2458
|
+
self._values["vpc_config"] = vpc_config
|
|
2459
|
+
|
|
2460
|
+
@builtins.property
|
|
2461
|
+
def instance_groups(
|
|
2462
|
+
self,
|
|
2463
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.ClusterInstanceGroupProperty]]]:
|
|
2464
|
+
'''The instance groups of the SageMaker HyperPod cluster.
|
|
2465
|
+
|
|
2466
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-instancegroups
|
|
2467
|
+
'''
|
|
2468
|
+
result = self._values.get("instance_groups")
|
|
2469
|
+
assert result is not None, "Required property 'instance_groups' is missing"
|
|
2470
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.ClusterInstanceGroupProperty]]], result)
|
|
2471
|
+
|
|
2472
|
+
@builtins.property
|
|
2473
|
+
def cluster_name(self) -> typing.Optional[builtins.str]:
|
|
2474
|
+
'''The name of the HyperPod Cluster.
|
|
2475
|
+
|
|
2476
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-clustername
|
|
2477
|
+
'''
|
|
2478
|
+
result = self._values.get("cluster_name")
|
|
2479
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2480
|
+
|
|
2481
|
+
@builtins.property
|
|
2482
|
+
def node_recovery(self) -> typing.Optional[builtins.str]:
|
|
2483
|
+
'''If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected.
|
|
2484
|
+
|
|
2485
|
+
If set to false, nodes will be labelled when a fault is detected.
|
|
2486
|
+
|
|
2487
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-noderecovery
|
|
2488
|
+
'''
|
|
2489
|
+
result = self._values.get("node_recovery")
|
|
2490
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2491
|
+
|
|
2492
|
+
@builtins.property
|
|
2493
|
+
def orchestrator(
|
|
2494
|
+
self,
|
|
2495
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.OrchestratorProperty]]:
|
|
2496
|
+
'''Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
|
|
2497
|
+
|
|
2498
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-orchestrator
|
|
2499
|
+
'''
|
|
2500
|
+
result = self._values.get("orchestrator")
|
|
2501
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.OrchestratorProperty]], result)
|
|
2502
|
+
|
|
2503
|
+
@builtins.property
|
|
2504
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
2505
|
+
'''Custom tags for managing the SageMaker HyperPod cluster as an AWS resource.
|
|
2506
|
+
|
|
2507
|
+
You can add tags to your cluster in the same way you add them in other AWS services that support tagging.
|
|
2508
|
+
|
|
2509
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-tags
|
|
2510
|
+
'''
|
|
2511
|
+
result = self._values.get("tags")
|
|
2512
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
2513
|
+
|
|
2514
|
+
@builtins.property
|
|
2515
|
+
def vpc_config(
|
|
2516
|
+
self,
|
|
2517
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.VpcConfigProperty]]:
|
|
2518
|
+
'''Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.
|
|
2519
|
+
|
|
2520
|
+
You can control access to and from your resources by configuring a VPC.
|
|
2521
|
+
|
|
2522
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html#cfn-sagemaker-cluster-vpcconfig
|
|
2523
|
+
'''
|
|
2524
|
+
result = self._values.get("vpc_config")
|
|
2525
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.VpcConfigProperty]], result)
|
|
2526
|
+
|
|
2527
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2528
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2529
|
+
|
|
2530
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2531
|
+
return not (rhs == self)
|
|
2532
|
+
|
|
2533
|
+
def __repr__(self) -> str:
|
|
2534
|
+
return "CfnClusterProps(%s)" % ", ".join(
|
|
2535
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2536
|
+
)
|
|
2537
|
+
|
|
2538
|
+
|
|
1492
2539
|
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
1493
2540
|
class CfnCodeRepository(
|
|
1494
2541
|
_CfnResource_9df397a6,
|
|
@@ -46123,6 +47170,8 @@ __all__ = [
|
|
|
46123
47170
|
"CfnAppImageConfig",
|
|
46124
47171
|
"CfnAppImageConfigProps",
|
|
46125
47172
|
"CfnAppProps",
|
|
47173
|
+
"CfnCluster",
|
|
47174
|
+
"CfnClusterProps",
|
|
46126
47175
|
"CfnCodeRepository",
|
|
46127
47176
|
"CfnCodeRepositoryProps",
|
|
46128
47177
|
"CfnDataQualityJobDefinition",
|
|
@@ -46393,6 +47442,139 @@ def _typecheckingstub__2f03f5ccb1b2c4633c9ef3bee30e7429d047ef909520efe2cbcf88d12
|
|
|
46393
47442
|
"""Type checking stubs"""
|
|
46394
47443
|
pass
|
|
46395
47444
|
|
|
47445
|
+
def _typecheckingstub__b1441bbec1bb60460bda62b43765e140885fbb36e13b090ded31c919b4f27ca6(
|
|
47446
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
47447
|
+
id: builtins.str,
|
|
47448
|
+
*,
|
|
47449
|
+
instance_groups: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterInstanceGroupProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
47450
|
+
cluster_name: typing.Optional[builtins.str] = None,
|
|
47451
|
+
node_recovery: typing.Optional[builtins.str] = None,
|
|
47452
|
+
orchestrator: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.OrchestratorProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47453
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47454
|
+
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.VpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47455
|
+
) -> None:
|
|
47456
|
+
"""Type checking stubs"""
|
|
47457
|
+
pass
|
|
47458
|
+
|
|
47459
|
+
def _typecheckingstub__c6bf38c830f5d60bc842320feb4dec3a217b386f6d517f4958fd6640eda19286(
|
|
47460
|
+
inspector: _TreeInspector_488e0dd5,
|
|
47461
|
+
) -> None:
|
|
47462
|
+
"""Type checking stubs"""
|
|
47463
|
+
pass
|
|
47464
|
+
|
|
47465
|
+
def _typecheckingstub__23ff930ab861d82c5316349d3cb92e229dc76252f7fe321a81296dd8049216aa(
|
|
47466
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
47467
|
+
) -> None:
|
|
47468
|
+
"""Type checking stubs"""
|
|
47469
|
+
pass
|
|
47470
|
+
|
|
47471
|
+
def _typecheckingstub__4e78b567f109d38ee1f8221168fe230f3c378e24d69dab4b08d88a01e417dae5(
|
|
47472
|
+
value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.ClusterInstanceGroupProperty]]],
|
|
47473
|
+
) -> None:
|
|
47474
|
+
"""Type checking stubs"""
|
|
47475
|
+
pass
|
|
47476
|
+
|
|
47477
|
+
def _typecheckingstub__8c72731c4fb9d1b248db78e05e403c022229ea39aa9884e7da88a1c9dd345bfb(
|
|
47478
|
+
value: typing.Optional[builtins.str],
|
|
47479
|
+
) -> None:
|
|
47480
|
+
"""Type checking stubs"""
|
|
47481
|
+
pass
|
|
47482
|
+
|
|
47483
|
+
def _typecheckingstub__4fbe65936cd747930256e6fb03ae406dcd4ea78b463b13ed47a475b84468f655(
|
|
47484
|
+
value: typing.Optional[builtins.str],
|
|
47485
|
+
) -> None:
|
|
47486
|
+
"""Type checking stubs"""
|
|
47487
|
+
pass
|
|
47488
|
+
|
|
47489
|
+
def _typecheckingstub__b28b5799cdd1c859107ae372c1215ec60b0e0936d622ea46ffde5ae876779722(
|
|
47490
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.OrchestratorProperty]],
|
|
47491
|
+
) -> None:
|
|
47492
|
+
"""Type checking stubs"""
|
|
47493
|
+
pass
|
|
47494
|
+
|
|
47495
|
+
def _typecheckingstub__d084f139dda46e8f580a7b39f59ba1634670f397fa2aa5cb51e1f2f0cb2b6cbe(
|
|
47496
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
47497
|
+
) -> None:
|
|
47498
|
+
"""Type checking stubs"""
|
|
47499
|
+
pass
|
|
47500
|
+
|
|
47501
|
+
def _typecheckingstub__429f3349777c49353a90fb2e147d893a183eb1e53971ad423f88736afc16b14c(
|
|
47502
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.VpcConfigProperty]],
|
|
47503
|
+
) -> None:
|
|
47504
|
+
"""Type checking stubs"""
|
|
47505
|
+
pass
|
|
47506
|
+
|
|
47507
|
+
def _typecheckingstub__9c3cafd59fbc880606685f87e0e67d5a5ce5428cfebf3db8838122cd54c4a361(
|
|
47508
|
+
*,
|
|
47509
|
+
volume_size_in_gb: typing.Optional[jsii.Number] = None,
|
|
47510
|
+
) -> None:
|
|
47511
|
+
"""Type checking stubs"""
|
|
47512
|
+
pass
|
|
47513
|
+
|
|
47514
|
+
def _typecheckingstub__3a19719ba9f3f785eebfbcc6ee996f6178944dfe9cbd5d5cdf73341bd47bcc03(
|
|
47515
|
+
*,
|
|
47516
|
+
execution_role: builtins.str,
|
|
47517
|
+
instance_count: jsii.Number,
|
|
47518
|
+
instance_group_name: builtins.str,
|
|
47519
|
+
instance_type: builtins.str,
|
|
47520
|
+
life_cycle_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterLifeCycleConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
47521
|
+
current_count: typing.Optional[jsii.Number] = None,
|
|
47522
|
+
instance_storage_configs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterInstanceStorageConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
47523
|
+
on_start_deep_health_checks: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
47524
|
+
threads_per_core: typing.Optional[jsii.Number] = None,
|
|
47525
|
+
) -> None:
|
|
47526
|
+
"""Type checking stubs"""
|
|
47527
|
+
pass
|
|
47528
|
+
|
|
47529
|
+
def _typecheckingstub__43caf7c774c2545f8cff945a7d450e1acd83d6c11b7011b4cab6d25bea696218(
|
|
47530
|
+
*,
|
|
47531
|
+
ebs_volume_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterEbsVolumeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47532
|
+
) -> None:
|
|
47533
|
+
"""Type checking stubs"""
|
|
47534
|
+
pass
|
|
47535
|
+
|
|
47536
|
+
def _typecheckingstub__9feca01a5855cd661f26c8dbf78069a1fe8e659c3851cf6144113cdfc3cdc58b(
|
|
47537
|
+
*,
|
|
47538
|
+
on_create: builtins.str,
|
|
47539
|
+
source_s3_uri: builtins.str,
|
|
47540
|
+
) -> None:
|
|
47541
|
+
"""Type checking stubs"""
|
|
47542
|
+
pass
|
|
47543
|
+
|
|
47544
|
+
def _typecheckingstub__3b374679c88beb50318d8d8daa787c0b2f669d656010f29c3a5f6b1e4aa2fe2e(
|
|
47545
|
+
*,
|
|
47546
|
+
cluster_arn: builtins.str,
|
|
47547
|
+
) -> None:
|
|
47548
|
+
"""Type checking stubs"""
|
|
47549
|
+
pass
|
|
47550
|
+
|
|
47551
|
+
def _typecheckingstub__bd76c8323d4b86bae18d24faa04bdbae1945db1d8ba5ca351b2ce27ff07f8aa6(
|
|
47552
|
+
*,
|
|
47553
|
+
eks: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterOrchestratorEksConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
47554
|
+
) -> None:
|
|
47555
|
+
"""Type checking stubs"""
|
|
47556
|
+
pass
|
|
47557
|
+
|
|
47558
|
+
def _typecheckingstub__c25c63e6108b86a8b4d868c1bea98ca33c486d394309500187dda4d53e294a1a(
|
|
47559
|
+
*,
|
|
47560
|
+
security_group_ids: typing.Sequence[builtins.str],
|
|
47561
|
+
subnets: typing.Sequence[builtins.str],
|
|
47562
|
+
) -> None:
|
|
47563
|
+
"""Type checking stubs"""
|
|
47564
|
+
pass
|
|
47565
|
+
|
|
47566
|
+
def _typecheckingstub__c8126a53dc1741a2edde75d8d4eca79c53a2294746ea237dfba0097a758522ce(
|
|
47567
|
+
*,
|
|
47568
|
+
instance_groups: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ClusterInstanceGroupProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
47569
|
+
cluster_name: typing.Optional[builtins.str] = None,
|
|
47570
|
+
node_recovery: typing.Optional[builtins.str] = None,
|
|
47571
|
+
orchestrator: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.OrchestratorProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47572
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47573
|
+
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.VpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
47574
|
+
) -> None:
|
|
47575
|
+
"""Type checking stubs"""
|
|
47576
|
+
pass
|
|
47577
|
+
|
|
46396
47578
|
def _typecheckingstub__5d17e8e1fa9515a89c3b89e14e1cbaa1aa86352b6f00eb195b7e040e28d143bb(
|
|
46397
47579
|
scope: _constructs_77d1e7e8.Construct,
|
|
46398
47580
|
id: builtins.str,
|