## cdk-aws-sagemaker-role-manager ## Usage ### Create Role from ML Activity with VPC and KMS conditions ```ts import { Stack } from 'aws-cdk-lib'; import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager'; const stack = new Stack(app, 'CdkRoleManagerDemo'); const activity = Activity.manageJobs(stack, 'id1', { rolesToPass: [iam.Role.fromRoleName('Enter Name')], subnets: [ec2.Subnet.fromSubnetId('Enter Id')], securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('Enter Id')], dataKeys: [kms.Key.fromKeyArn('Enter Key Arn')], volumeKeys: [kms.Key.fromKeyArn('Enter Key Arn')], }); activity.createRole(stack, 'role id', 'Enter Name'); ``` ### Create Role from ML Activity without VPC and KMS conditions ```ts import { Stack } from 'aws-cdk-lib'; import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager'; const stack = new Stack(app, 'CdkRoleManagerDemo'); const activity = Activity.manageJobs(this, 'id1', { rolesToPass: [iam.Role.fromRoleName('Enter Name')], }); activity.createRole(this, 'role id', 'Enter Name', 'Enter Description'); ``` ### Create Role from Data Scientist ML Persona ```ts import { Stack } from 'aws-cdk-lib'; import { Activity, Persona } from '@cdklabs/cdk-aws-sagemaker-role-manager'; const stack = new Stack(app, 'CdkRoleManagerDemo'); let persona = new Persona(this, 'persona id', { activities: [ Activity.useStudioApps(), Activity.manageJobs(this, 'id1', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.manageModels(this, 'id2', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.manageExperiments(this, 'id3', {}), Activity.searchExperiments(this, 'id4', {}), Activity.accessBuckets(this, 'id5', {buckets: [s3.S3Bucket.fromBucketName('Enter Name')]}) ], subnets: [ec2.Subnet.fromSubnetId('Enter Id')], securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('Enter Id')], dataKeys: [kms.Key.fromKeyArn('Enter Key Arn')], volumeKeys: [kms.Key.fromKeyArn('Enter Key Arn')], }); persona.createRole(this, 'role id', 'Enter Name', 'Enter Description'); ``` ### Create Role from Data Scientist ML Persona without vpc and kms global conditions ```ts import { Stack } from 'aws-cdk-lib'; import { Activity, Persona } from '@cdklabs/cdk-aws-sagemaker-role-manager'; const stack = new Stack(app, 'CdkRoleManagerDemo'); // Please see below how to create the Data Scientist ML Persona using its ML Activities. // You can update the following list with changes matching your usecase. let persona = new Persona(this, 'persona id', { activities: [ Activity.useStudioApps(), Activity.manageJobs(this, 'id1', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.manageModels(this, 'id2', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.manageExperiments(this, 'id3', {}), Activity.searchExperiments(this, 'id4', {}), Activity.accessBuckets(this, 'id5', {buckets: [s3.S3Bucket.fromBucketName('Enter Name')]}) ], }); // We can create a role with Data Scientist persona permissions const role = persona.createRole(this, 'role id', 'Enter Name', 'Enter Description'); ``` ### Create Role MLOps ML Persona ```ts import { Stack } from 'aws-cdk-lib'; import { Activity, Persona } from '@cdklabs/cdk-aws-sagemaker-role-manager'; const stack = new Stack(app, 'CdkRoleManagerDemo'); let persona = new Persona(this, 'persona id', { activities: [ Activity.useStudioApps(this, 'id1', {}), Activity.manageModels(this, 'id2', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.manageEndpoints(this, 'id3',{rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.managePipelines(this, 'id4', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.searchExperiments(this, 'id5', {}) ], subnets: [ec2.Subnet.fromSubnetId('Enter Id')], securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('Enter Id')], dataKeys: [kms.Key.fromKeyArn('Enter Key Arn')], volumeKeys: [kms.Key.fromKeyArn('Enter Key Arn')], }); const role = persona.createRole(this, 'role id', 'Enter Name', 'Enter Description'); ``` ### Create Role from MLOps ML Persona without vpc and kms global conditions ```ts import { Stack } from 'aws-cdk-lib'; import { Activity, Persona } from '@cdklabs/cdk-aws-sagemaker-role-manager'; const stack = new Stack(app, 'CdkRoleManagerDemo'); let persona = new Persona(this, 'persona id', { activities: [ Activity.useStudioApps(this, 'id1', {}), Activity.manageModels(this, 'id2', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.manageEndpoints(this, 'id3',{rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.managePipelines(this, 'id4', {rolesToPass: [iam.Role.fromRoleName('Enter Name')]}), Activity.searchExperiments(this, 'id5', {}) ], }); const role = persona.createRole(this, 'role id', 'Enter Name', 'Enter Description'); ``` ## Available ML Activities | ML Activity Name | ML Activity Interface | ML Activity Description | ML Activity Required Parameters | |------------------|---------------------------------|-----------------------------------------------------------------------------------------------------------|---------------------------------| | Access Required AWS Services | Activity.accessAwsServices() | Permissions to access S3, ECR, Cloudwatch and EC2. Required for execution roles for jobs and endpoints. | ecrRepositories, s3Buckets | | Run Studio Applications | Activity.runStudioApps() | Permissions to operate within a Studio environment. Required for domain and user-profile execution roles. | rolesToPass | | Manage ML Jobs | Activity.manageJobs() | Permissions to manage SageMaker jobs across their lifecycles. | rolesToPass | | Manage Models | Activity.manageModels() | Permissions to manage SageMaker models and Model Registry. | rolesToPass | | Manage Endpoints | Activity.manageEndpoints() | Permissions to manage SageMaker Endpoint deployments and updates. | No required parameters | | Manage Pipelines | Activity.managePipelines() | Permissions to manage SageMaker Pipelines and pipeline executions. | rolesToPass | | Manage Experiments | Activity.manageExperiments() | Permissions to manage experiments and trials. | No required parameters | | Search and visualize experiments | Activity.visualizeExperiments() | Permissions to audit, query lineage and visualize experiments. | No required parameters | | Manage Model Monitoring | Activity.monitorModels() | Permissions to manage monitoring schedules for SageMaker Model Monitor. | rolesToPass | | S3 Full Access | Activity.accessS3AllResources() | Permissions to perform all S3 operations | No required parameters | | S3 Bucket Access | Activity.accessS3Buckets() | Permissions to perform operations on specified buckets. | s3Buckets | | Query Athena Workgroups | Activity.queryAthenaGroups() | Permissions to execute and manage Amazon Athena queries. | athenaWorkgroupNames | | Manage Glue Tables | Activity.manageGlueTables() | Permissions to create and manage Glue tables for SageMaker Feature Store and Data Wrangler. | s3Buckets, glueDatabaseNames | ## Security See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information. ## License This project is licensed under the Apache-2.0 License. # API Reference ## Constructs ### Activity #### Methods | **Name** | **Description** | | --- | --- | | toString | Returns a string representation of this construct. | | createPolicy | Creates policy with permissions of activity. | | createPrincipal | Creates ML Activity service principal using ML Activity trust template. | | createRole | Creates role with permissions of activity. | | customizeKMS | *No description.* | | customizeVPC | *No description.* | | grantPermissionsTo | Grant permissions of activity to identity. | --- ##### `toString` ```typescript public toString(): string ``` Returns a string representation of this construct. ##### `createPolicy` ```typescript public createPolicy(scope: Construct): Policy ``` Creates policy with permissions of activity. ###### `scope`Required - *Type:* constructs.Construct the Construct scope. --- ##### `createPrincipal` ```typescript public createPrincipal(): ServicePrincipal ``` Creates ML Activity service principal using ML Activity trust template. ##### `createRole` ```typescript public createRole(scope: Construct, id: string, roleNameSuffix: string, roleDescription?: string): IRole ``` Creates role with permissions of activity. ###### `scope`Required - *Type:* constructs.Construct the Construct scope. --- ###### `id`Required - *Type:* string the resource id. --- ###### `roleNameSuffix`Required - *Type:* string the name suffix of the role that will be created, if empty the role will have the name of the activity. --- ###### `roleDescription`Optional - *Type:* string the description of the role that will be created. --- ##### `customizeKMS` ```typescript public customizeKMS(dataKeys?: IKey[], volumeKeys?: IKey[]): void ``` ###### `dataKeys`Optional - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ###### `volumeKeys`Optional - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `customizeVPC` ```typescript public customizeVPC(subnets?: ISubnet[], securityGroups?: ISecurityGroup[]): void ``` ###### `subnets`Optional - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ###### `securityGroups`Optional - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `grantPermissionsTo` ```typescript public grantPermissionsTo(identity: IGrantable): Grant ``` Grant permissions of activity to identity. ###### `identity`Required - *Type:* aws-cdk-lib.aws_iam.IGrantable identity to be granted permissions. --- #### Static Functions | **Name** | **Description** | | --- | --- | | isConstruct | Checks if `x` is a construct. | | accessAwsServices | *No description.* | | accessS3AllResources | *No description.* | | accessS3AllResourcesV2 | *No description.* | | accessS3Buckets | *No description.* | | manageEndpoints | *No description.* | | manageExperiments | *No description.* | | manageGlueTables | *No description.* | | manageJobs | *No description.* | | manageModels | *No description.* | | managePipelines | *No description.* | | monitorModels | *No description.* | | queryAthenaGroups | *No description.* | | runStudioApps | *No description.* | | runStudioAppsV2 | *No description.* | | visualizeExperiments | *No description.* | --- ##### ~~`isConstruct`~~ ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`Required - *Type:* any Any object. --- ##### `accessAwsServices` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.accessAwsServices(scope: Construct, id: string, options: AccessAwsServicesOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* AccessAwsServicesOptions --- ##### `accessS3AllResources` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.accessS3AllResources(scope: Construct, id: string, options: AccessS3AllResourcesOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* AccessS3AllResourcesOptions --- ##### `accessS3AllResourcesV2` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.accessS3AllResourcesV2(scope: Construct, id: string, options: AccessS3AllResourcesV2Options) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* AccessS3AllResourcesV2Options --- ##### `accessS3Buckets` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.accessS3Buckets(scope: Construct, id: string, options: AccessS3BucketsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* AccessS3BucketsOptions --- ##### `manageEndpoints` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.manageEndpoints(scope: Construct, id: string, options: ManageEndpointsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* ManageEndpointsOptions --- ##### `manageExperiments` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.manageExperiments(scope: Construct, id: string, options: ManageExperimentsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* ManageExperimentsOptions --- ##### `manageGlueTables` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.manageGlueTables(scope: Construct, id: string, options: ManageGlueTablesOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* ManageGlueTablesOptions --- ##### `manageJobs` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.manageJobs(scope: Construct, id: string, options: ManageJobsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* ManageJobsOptions --- ##### `manageModels` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.manageModels(scope: Construct, id: string, options: ManageModelsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* ManageModelsOptions --- ##### `managePipelines` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.managePipelines(scope: Construct, id: string, options: ManagePipelinesOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* ManagePipelinesOptions --- ##### `monitorModels` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.monitorModels(scope: Construct, id: string, options: MonitorModelsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* MonitorModelsOptions --- ##### `queryAthenaGroups` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.queryAthenaGroups(scope: Construct, id: string, options: QueryAthenaGroupsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* QueryAthenaGroupsOptions --- ##### `runStudioApps` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.runStudioApps(scope: Construct, id: string, options: RunStudioAppsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* RunStudioAppsOptions --- ##### `runStudioAppsV2` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.runStudioAppsV2(scope: Construct, id: string, options: RunStudioAppsV2Options) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* RunStudioAppsV2Options --- ##### `visualizeExperiments` ```typescript import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager' Activity.visualizeExperiments(scope: Construct, id: string, options: VisualizeExperimentsOptions) ``` ###### `scope`Required - *Type:* constructs.Construct --- ###### `id`Required - *Type:* string --- ###### `options`Required - *Type:* VisualizeExperimentsOptions --- #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | node | constructs.Node | The tree node. | | activityName | string | *No description.* | | version | number | *No description.* | | isKMSCustomized | boolean | *No description.* | | isVPCCustomized | boolean | *No description.* | --- ##### `node`Required ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `activityName`Required ```typescript public readonly activityName: string; ``` - *Type:* string --- ##### `version`Required ```typescript public readonly version: number; ``` - *Type:* number --- ##### `isKMSCustomized`Required ```typescript public readonly isKMSCustomized: boolean; ``` - *Type:* boolean --- ##### `isVPCCustomized`Required ```typescript public readonly isVPCCustomized: boolean; ``` - *Type:* boolean --- #### Constants | **Name** | **Type** | **Description** | | --- | --- | --- | | ACCESS_AWS_SERVICES | string | *No description.* | | ACCESS_S3_ALL_RESOURCES | string | *No description.* | | ACCESS_S3_BUCKETS | string | *No description.* | | ATHENA_WORKGROUP_NAMES_DEFAULT_VALUE | string[] | *No description.* | | MANAGE_ENDPOINTS_ACTIVITY_NAME | string | *No description.* | | MANAGE_EXPERIMENTS_ACTIVITY_NAME | string | *No description.* | | MANAGE_GLUE_TABLES_ACTIVITY_NAME | string | *No description.* | | MANAGE_JOBS_ACTIVITY_NAME | string | *No description.* | | MANAGE_MODELS_ACTIVITY_NAME | string | *No description.* | | MANAGE_PIPELINES_ACTIVITY_NAME | string | *No description.* | | MONITOR_MODELS_ACTIVITY_NAME | string | *No description.* | | QUERY_ATHENA_WORKGROUPS | string | *No description.* | | RUN_STUDIO_APPS | string | *No description.* | | VISUALIZE_EXPERIMENTS | string | *No description.* | --- ##### `ACCESS_AWS_SERVICES`Required ```typescript public readonly ACCESS_AWS_SERVICES: string; ``` - *Type:* string --- ##### `ACCESS_S3_ALL_RESOURCES`Required ```typescript public readonly ACCESS_S3_ALL_RESOURCES: string; ``` - *Type:* string --- ##### `ACCESS_S3_BUCKETS`Required ```typescript public readonly ACCESS_S3_BUCKETS: string; ``` - *Type:* string --- ##### `ATHENA_WORKGROUP_NAMES_DEFAULT_VALUE`Required ```typescript public readonly ATHENA_WORKGROUP_NAMES_DEFAULT_VALUE: string[]; ``` - *Type:* string[] --- ##### `MANAGE_ENDPOINTS_ACTIVITY_NAME`Required ```typescript public readonly MANAGE_ENDPOINTS_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `MANAGE_EXPERIMENTS_ACTIVITY_NAME`Required ```typescript public readonly MANAGE_EXPERIMENTS_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `MANAGE_GLUE_TABLES_ACTIVITY_NAME`Required ```typescript public readonly MANAGE_GLUE_TABLES_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `MANAGE_JOBS_ACTIVITY_NAME`Required ```typescript public readonly MANAGE_JOBS_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `MANAGE_MODELS_ACTIVITY_NAME`Required ```typescript public readonly MANAGE_MODELS_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `MANAGE_PIPELINES_ACTIVITY_NAME`Required ```typescript public readonly MANAGE_PIPELINES_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `MONITOR_MODELS_ACTIVITY_NAME`Required ```typescript public readonly MONITOR_MODELS_ACTIVITY_NAME: string; ``` - *Type:* string --- ##### `QUERY_ATHENA_WORKGROUPS`Required ```typescript public readonly QUERY_ATHENA_WORKGROUPS: string; ``` - *Type:* string --- ##### `RUN_STUDIO_APPS`Required ```typescript public readonly RUN_STUDIO_APPS: string; ``` - *Type:* string --- ##### `VISUALIZE_EXPERIMENTS`Required ```typescript public readonly VISUALIZE_EXPERIMENTS: string; ``` - *Type:* string --- ### Persona #### Initializers ```typescript import { Persona } from '@cdklabs/cdk-aws-sagemaker-role-manager' new Persona(scope: Construct, id: string, props: PersonaProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | scope | constructs.Construct | *No description.* | | id | string | *No description.* | | props | PersonaProps | *No description.* | --- ##### `scope`Required - *Type:* constructs.Construct --- ##### `id`Required - *Type:* string --- ##### `props`Required - *Type:* PersonaProps --- #### Methods | **Name** | **Description** | | --- | --- | | toString | Returns a string representation of this construct. | | createRole | Creates role with permissions of persona. | | customizeKMS | *No description.* | | customizeVPC | *No description.* | | grantPermissionsTo | Grant permissions of activity to identity. | --- ##### `toString` ```typescript public toString(): string ``` Returns a string representation of this construct. ##### `createRole` ```typescript public createRole(scope: Construct, id: string, roleNameSuffix: string, roleDescription?: string): IRole ``` Creates role with permissions of persona. ###### `scope`Required - *Type:* constructs.Construct the Construct scope. --- ###### `id`Required - *Type:* string the resource id. --- ###### `roleNameSuffix`Required - *Type:* string the name suffix of the role that will be created, if empty the role will have the name of the activity. --- ###### `roleDescription`Optional - *Type:* string the description of the role that will be created. --- ##### `customizeKMS` ```typescript public customizeKMS(dataKeys?: IKey[], volumeKeys?: IKey[]): void ``` ###### `dataKeys`Optional - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ###### `volumeKeys`Optional - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `customizeVPC` ```typescript public customizeVPC(subnets?: ISubnet[], securityGroups?: ISecurityGroup[]): void ``` ###### `subnets`Optional - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ###### `securityGroups`Optional - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `grantPermissionsTo` ```typescript public grantPermissionsTo(identity: IGrantable): Grant ``` Grant permissions of activity to identity. ###### `identity`Required - *Type:* aws-cdk-lib.aws_iam.IGrantable identity to be granted permissions. --- #### Static Functions | **Name** | **Description** | | --- | --- | | isConstruct | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ ```typescript import { Persona } from '@cdklabs/cdk-aws-sagemaker-role-manager' Persona.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`Required - *Type:* any Any object. --- #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | node | constructs.Node | The tree node. | | activities | Activity[] | *No description.* | --- ##### `node`Required ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `activities`Required ```typescript public readonly activities: Activity[]; ``` - *Type:* Activity[] --- ## Structs ### AccessAwsServicesOptions SageMaker Activity Static Function Options. #### Initializer ```typescript import { AccessAwsServicesOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const accessAwsServicesOptions: AccessAwsServicesOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | ecrRepositories | aws-cdk-lib.aws_ecr.IRepository[] | *No description.* | | s3Buckets | aws-cdk-lib.aws_s3.IBucket[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `ecrRepositories`Required ```typescript public readonly ecrRepositories: IRepository[]; ``` - *Type:* aws-cdk-lib.aws_ecr.IRepository[] --- ##### `s3Buckets`Required ```typescript public readonly s3Buckets: IBucket[]; ``` - *Type:* aws-cdk-lib.aws_s3.IBucket[] --- ### AccessS3AllResourcesOptions #### Initializer ```typescript import { AccessS3AllResourcesOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const accessS3AllResourcesOptions: AccessS3AllResourcesOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### AccessS3AllResourcesV2Options #### Initializer ```typescript import { AccessS3AllResourcesV2Options } from '@cdklabs/cdk-aws-sagemaker-role-manager' const accessS3AllResourcesV2Options: AccessS3AllResourcesV2Options = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### AccessS3BucketsOptions #### Initializer ```typescript import { AccessS3BucketsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const accessS3BucketsOptions: AccessS3BucketsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | s3Buckets | aws-cdk-lib.aws_s3.IBucket[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `s3Buckets`Required ```typescript public readonly s3Buckets: IBucket[]; ``` - *Type:* aws-cdk-lib.aws_s3.IBucket[] --- ### ActivityProps #### Initializer ```typescript import { ActivityProps } from '@cdklabs/cdk-aws-sagemaker-role-manager' const activityProps: ActivityProps = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | activityName | string | Name of the SageMaker Activity. | | isCustomizationAvailableForKMS | boolean | Whether the activity supports customization for kms data keys and volume keys. | | isCustomizationAvailableForVPC | boolean | Whether the activity supports customization for vpc subnets and vpc security groups. | | athenaWorkgroupNames | string[] | Names of the Athena workgroups to give query permissions. | | ecrRepositories | aws-cdk-lib.aws_ecr.IRepository[] | ECR Repositories to give image pull permissions. | | glueDatabaseNames | string[] | Names of the Glue Databases to give permissions to search tables. | | rolesToPass | aws-cdk-lib.aws_iam.IRole[] | Roles to allow passing as passed roles to actions. | | s3Buckets | aws-cdk-lib.aws_s3.IBucket[] | S3 Buckets to give read and write permissions. | | version | number | Version of the SageMaker Activity. | --- ##### `activityName`Required ```typescript public readonly activityName: string; ``` - *Type:* string Name of the SageMaker Activity. This name will be used to name the IAM policy that is created from this Activity. --- ##### `isCustomizationAvailableForKMS`Required ```typescript public readonly isCustomizationAvailableForKMS: boolean; ``` - *Type:* boolean - *Default:* false Whether the activity supports customization for kms data keys and volume keys. --- ##### `isCustomizationAvailableForVPC`Required ```typescript public readonly isCustomizationAvailableForVPC: boolean; ``` - *Type:* boolean - *Default:* false Whether the activity supports customization for vpc subnets and vpc security groups. --- ##### `athenaWorkgroupNames`Optional ```typescript public readonly athenaWorkgroupNames: string[]; ``` - *Type:* string[] - *Default:* none Names of the Athena workgroups to give query permissions. --- ##### `ecrRepositories`Optional ```typescript public readonly ecrRepositories: IRepository[]; ``` - *Type:* aws-cdk-lib.aws_ecr.IRepository[] - *Default:* none ECR Repositories to give image pull permissions. --- ##### `glueDatabaseNames`Optional ```typescript public readonly glueDatabaseNames: string[]; ``` - *Type:* string[] - *Default:* none Names of the Glue Databases to give permissions to search tables. --- ##### `rolesToPass`Optional ```typescript public readonly rolesToPass: IRole[]; ``` - *Type:* aws-cdk-lib.aws_iam.IRole[] - *Default:* none Roles to allow passing as passed roles to actions. --- ##### `s3Buckets`Optional ```typescript public readonly s3Buckets: IBucket[]; ``` - *Type:* aws-cdk-lib.aws_s3.IBucket[] - *Default:* none S3 Buckets to give read and write permissions. --- ##### `version`Optional ```typescript public readonly version: number; ``` - *Type:* number - *Default:* 1 Version of the SageMaker Activity. This version will be used to fetch the policy template that corresponds to the Activity. --- ### KMSOptions #### Initializer ```typescript import { KMSOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const kMSOptions: KMSOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### ManageEndpointsOptions #### Initializer ```typescript import { ManageEndpointsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const manageEndpointsOptions: ManageEndpointsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### ManageExperimentsOptions #### Initializer ```typescript import { ManageExperimentsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const manageExperimentsOptions: ManageExperimentsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### ManageGlueTablesOptions #### Initializer ```typescript import { ManageGlueTablesOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const manageGlueTablesOptions: ManageGlueTablesOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | glueDatabaseNames | string[] | *No description.* | | s3Buckets | aws-cdk-lib.aws_s3.IBucket[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `glueDatabaseNames`Required ```typescript public readonly glueDatabaseNames: string[]; ``` - *Type:* string[] --- ##### `s3Buckets`Required ```typescript public readonly s3Buckets: IBucket[]; ``` - *Type:* aws-cdk-lib.aws_s3.IBucket[] --- ### ManageJobsOptions #### Initializer ```typescript import { ManageJobsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const manageJobsOptions: ManageJobsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | rolesToPass | aws-cdk-lib.aws_iam.IRole[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `rolesToPass`Required ```typescript public readonly rolesToPass: IRole[]; ``` - *Type:* aws-cdk-lib.aws_iam.IRole[] --- ### ManageModelsOptions #### Initializer ```typescript import { ManageModelsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const manageModelsOptions: ManageModelsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | rolesToPass | aws-cdk-lib.aws_iam.IRole[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `rolesToPass`Required ```typescript public readonly rolesToPass: IRole[]; ``` - *Type:* aws-cdk-lib.aws_iam.IRole[] --- ### ManagePipelinesOptions #### Initializer ```typescript import { ManagePipelinesOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const managePipelinesOptions: ManagePipelinesOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | rolesToPass | aws-cdk-lib.aws_iam.IRole[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `rolesToPass`Required ```typescript public readonly rolesToPass: IRole[]; ``` - *Type:* aws-cdk-lib.aws_iam.IRole[] --- ### MonitorModelsOptions #### Initializer ```typescript import { MonitorModelsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const monitorModelsOptions: MonitorModelsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | rolesToPass | aws-cdk-lib.aws_iam.IRole[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `rolesToPass`Required ```typescript public readonly rolesToPass: IRole[]; ``` - *Type:* aws-cdk-lib.aws_iam.IRole[] --- ### PersonaProps #### Initializer ```typescript import { PersonaProps } from '@cdklabs/cdk-aws-sagemaker-role-manager' const personaProps: PersonaProps = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | activities | Activity[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `activities`Required ```typescript public readonly activities: Activity[]; ``` - *Type:* Activity[] --- ### QueryAthenaGroupsOptions #### Initializer ```typescript import { QueryAthenaGroupsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const queryAthenaGroupsOptions: QueryAthenaGroupsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | athenaWorkgroupNames | string[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `athenaWorkgroupNames`Required ```typescript public readonly athenaWorkgroupNames: string[]; ``` - *Type:* string[] --- ### RunStudioAppsOptions #### Initializer ```typescript import { RunStudioAppsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const runStudioAppsOptions: RunStudioAppsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | rolesToPass | aws-cdk-lib.aws_iam.IRole[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `rolesToPass`Required ```typescript public readonly rolesToPass: IRole[]; ``` - *Type:* aws-cdk-lib.aws_iam.IRole[] --- ### RunStudioAppsV2Options #### Initializer ```typescript import { RunStudioAppsV2Options } from '@cdklabs/cdk-aws-sagemaker-role-manager' const runStudioAppsV2Options: RunStudioAppsV2Options = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### VisualizeExperimentsOptions #### Initializer ```typescript import { VisualizeExperimentsOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const visualizeExperimentsOptions: VisualizeExperimentsOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | | dataKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | | volumeKeys | aws-cdk-lib.aws_kms.IKey[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] --- ##### `dataKeys`Optional ```typescript public readonly dataKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ##### `volumeKeys`Optional ```typescript public readonly volumeKeys: IKey[]; ``` - *Type:* aws-cdk-lib.aws_kms.IKey[] --- ### VPCOptions Global Condition Customization Options. #### Initializer ```typescript import { VPCOptions } from '@cdklabs/cdk-aws-sagemaker-role-manager' const vPCOptions: VPCOptions = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | securityGroups | aws-cdk-lib.aws_ec2.ISecurityGroup[] | *No description.* | | subnets | aws-cdk-lib.aws_ec2.ISubnet[] | *No description.* | --- ##### `securityGroups`Optional ```typescript public readonly securityGroups: ISecurityGroup[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[] --- ##### `subnets`Optional ```typescript public readonly subnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] ---