Class: AWSCDK::Sagemaker::CfnUserProfile::UserSettingsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sagemaker/cfn_user_profile.rb

Overview

A collection of settings that apply to users of Amazon SageMaker Studio.

These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.

SecurityGroups is aggregated when specified in both calls. For all other settings in UserSettings , the values specified in CreateUserProfile take precedence over those specified in CreateDomain .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auto_mount_home_efs: nil, code_editor_app_settings: nil, custom_file_system_configs: nil, custom_posix_user_config: nil, default_landing_uri: nil, execution_role: nil, jupyter_lab_app_settings: nil, jupyter_server_app_settings: nil, kernel_gateway_app_settings: nil, r_studio_server_pro_app_settings: nil, security_groups: nil, sharing_settings: nil, space_storage_settings: nil, studio_web_portal: nil, studio_web_portal_settings: nil) ⇒ UserSettingsProperty

Returns a new instance of UserSettingsProperty.

Parameters:



1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
# File 'sagemaker/cfn_user_profile.rb', line 1655

def initialize(auto_mount_home_efs: nil, code_editor_app_settings: nil, custom_file_system_configs: nil, custom_posix_user_config: nil, default_landing_uri: nil, execution_role: nil, jupyter_lab_app_settings: nil, jupyter_server_app_settings: nil, kernel_gateway_app_settings: nil, r_studio_server_pro_app_settings: nil, security_groups: nil, sharing_settings: nil, space_storage_settings: nil, studio_web_portal: nil, studio_web_portal_settings: nil)
  @auto_mount_home_efs = auto_mount_home_efs
  Jsii::Type.check_type(@auto_mount_home_efs, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "autoMountHomeEfs") unless @auto_mount_home_efs.nil?
  @code_editor_app_settings = code_editor_app_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::CodeEditorAppSettingsProperty.new(**code_editor_app_settings.transform_keys(&:to_sym)) : code_editor_app_settings
  Jsii::Type.check_type(@code_editor_app_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuQ29kZUVkaXRvckFwcFNldHRpbmdzUHJvcGVydHkifV19fQ==")), "codeEditorAppSettings") unless @code_editor_app_settings.nil?
  @custom_file_system_configs = custom_file_system_configs
  Jsii::Type.check_type(@custom_file_system_configs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2FnZW1ha2VyLkNmblVzZXJQcm9maWxlLkN1c3RvbUZpbGVTeXN0ZW1Db25maWdQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "customFileSystemConfigs") unless @custom_file_system_configs.nil?
  @custom_posix_user_config = custom_posix_user_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::CustomPosixUserConfigProperty.new(**custom_posix_user_config.transform_keys(&:to_sym)) : custom_posix_user_config
  Jsii::Type.check_type(@custom_posix_user_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuQ3VzdG9tUG9zaXhVc2VyQ29uZmlnUHJvcGVydHkifV19fQ==")), "customPosixUserConfig") unless @custom_posix_user_config.nil?
  @default_landing_uri = default_landing_uri
  Jsii::Type.check_type(@default_landing_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultLandingUri") unless @default_landing_uri.nil?
  @execution_role = execution_role
  Jsii::Type.check_type(@execution_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRole") unless @execution_role.nil?
  @jupyter_lab_app_settings = jupyter_lab_app_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::JupyterLabAppSettingsProperty.new(**jupyter_lab_app_settings.transform_keys(&:to_sym)) : jupyter_lab_app_settings
  Jsii::Type.check_type(@jupyter_lab_app_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuSnVweXRlckxhYkFwcFNldHRpbmdzUHJvcGVydHkifV19fQ==")), "jupyterLabAppSettings") unless @jupyter_lab_app_settings.nil?
  @jupyter_server_app_settings = jupyter_server_app_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::JupyterServerAppSettingsProperty.new(**jupyter_server_app_settings.transform_keys(&:to_sym)) : jupyter_server_app_settings
  Jsii::Type.check_type(@jupyter_server_app_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuSnVweXRlclNlcnZlckFwcFNldHRpbmdzUHJvcGVydHkifV19fQ==")), "jupyterServerAppSettings") unless @jupyter_server_app_settings.nil?
  @kernel_gateway_app_settings = kernel_gateway_app_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::KernelGatewayAppSettingsProperty.new(**kernel_gateway_app_settings.transform_keys(&:to_sym)) : kernel_gateway_app_settings
  Jsii::Type.check_type(@kernel_gateway_app_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuS2VybmVsR2F0ZXdheUFwcFNldHRpbmdzUHJvcGVydHkifV19fQ==")), "kernelGatewayAppSettings") unless @kernel_gateway_app_settings.nil?
  @r_studio_server_pro_app_settings = r_studio_server_pro_app_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::RStudioServerProAppSettingsProperty.new(**r_studio_server_pro_app_settings.transform_keys(&:to_sym)) : r_studio_server_pro_app_settings
  Jsii::Type.check_type(@r_studio_server_pro_app_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuUlN0dWRpb1NlcnZlclByb0FwcFNldHRpbmdzUHJvcGVydHkifV19fQ==")), "rStudioServerProAppSettings") unless @r_studio_server_pro_app_settings.nil?
  @security_groups = security_groups
  Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroups") unless @security_groups.nil?
  @sharing_settings = sharing_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::SharingSettingsProperty.new(**sharing_settings.transform_keys(&:to_sym)) : sharing_settings
  Jsii::Type.check_type(@sharing_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuU2hhcmluZ1NldHRpbmdzUHJvcGVydHkifV19fQ==")), "sharingSettings") unless @sharing_settings.nil?
  @space_storage_settings = space_storage_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::DefaultSpaceStorageSettingsProperty.new(**space_storage_settings.transform_keys(&:to_sym)) : space_storage_settings
  Jsii::Type.check_type(@space_storage_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuRGVmYXVsdFNwYWNlU3RvcmFnZVNldHRpbmdzUHJvcGVydHkifV19fQ==")), "spaceStorageSettings") unless @space_storage_settings.nil?
  @studio_web_portal = studio_web_portal
  Jsii::Type.check_type(@studio_web_portal, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "studioWebPortal") unless @studio_web_portal.nil?
  @studio_web_portal_settings = studio_web_portal_settings.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnUserProfile::StudioWebPortalSettingsProperty.new(**studio_web_portal_settings.transform_keys(&:to_sym)) : studio_web_portal_settings
  Jsii::Type.check_type(@studio_web_portal_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuVXNlclByb2ZpbGUuU3R1ZGlvV2ViUG9ydGFsU2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "studioWebPortalSettings") unless @studio_web_portal_settings.nil?
end

Instance Attribute Details

#auto_mount_home_efsString? (readonly)

Indicates whether auto-mounting of an EFS volume is supported for the user profile.

The DefaultAsDomain value is only supported for user profiles. Do not use the DefaultAsDomain value when setting this parameter for a domain.

SageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.



1696
1697
1698
# File 'sagemaker/cfn_user_profile.rb', line 1696

def auto_mount_home_efs
  @auto_mount_home_efs
end

#code_editor_app_settingsAWSCDK::IResolvable, ... (readonly)

The Code Editor application settings.

SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.



1703
1704
1705
# File 'sagemaker/cfn_user_profile.rb', line 1703

def code_editor_app_settings
  @code_editor_app_settings
end

#custom_file_system_configsAWSCDK::IResolvable, ... (readonly)

The settings for assigning a custom file system to a user profile.

Permitted users can access this file system in Amazon SageMaker AI Studio.

SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.



1712
1713
1714
# File 'sagemaker/cfn_user_profile.rb', line 1712

def custom_file_system_configs
  @custom_file_system_configs
end

#custom_posix_user_configAWSCDK::IResolvable, ... (readonly)

Details about the POSIX identity that is used for file system operations.

SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.



1719
1720
1721
# File 'sagemaker/cfn_user_profile.rb', line 1719

def custom_posix_user_config
  @custom_posix_user_config
end

#default_landing_uriString? (readonly)

The default experience that the user is directed to when accessing the domain. The supported values are:.

  • studio:: : Indicates that Studio is the default experience. This value can only be passed if StudioWebPortal is set to ENABLED .
  • app:JupyterServer: : Indicates that Studio Classic is the default experience.


1727
1728
1729
# File 'sagemaker/cfn_user_profile.rb', line 1727

def default_landing_uri
  @default_landing_uri
end

#execution_roleString? (readonly)

The execution role for the user.

SageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.



1734
1735
1736
# File 'sagemaker/cfn_user_profile.rb', line 1734

def execution_role
  @execution_role
end

#jupyter_lab_app_settingsAWSCDK::IResolvable, ... (readonly)

The settings for the JupyterLab application.

SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.



1741
1742
1743
# File 'sagemaker/cfn_user_profile.rb', line 1741

def jupyter_lab_app_settings
  @jupyter_lab_app_settings
end

#jupyter_server_app_settingsAWSCDK::IResolvable, ... (readonly)

The Jupyter server's app settings.



1746
1747
1748
# File 'sagemaker/cfn_user_profile.rb', line 1746

def jupyter_server_app_settings
  @jupyter_server_app_settings
end

#kernel_gateway_app_settingsAWSCDK::IResolvable, ... (readonly)

The kernel gateway app settings.



1751
1752
1753
# File 'sagemaker/cfn_user_profile.rb', line 1751

def kernel_gateway_app_settings
  @kernel_gateway_app_settings
end

#r_studio_server_pro_app_settingsAWSCDK::IResolvable, ... (readonly)

A collection of settings that configure user interaction with the RStudioServerPro app.



1756
1757
1758
# File 'sagemaker/cfn_user_profile.rb', line 1756

def r_studio_server_pro_app_settings
  @r_studio_server_pro_app_settings
end

#security_groupsArray<String>? (readonly)

The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.

Optional when the CreateDomain.AppNetworkAccessType parameter is set to PublicInternetOnly .

Required when the CreateDomain.AppNetworkAccessType parameter is set to VpcOnly , unless specified as part of the DefaultUserSettings for the domain.

Amazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.

SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.



1769
1770
1771
# File 'sagemaker/cfn_user_profile.rb', line 1769

def security_groups
  @security_groups
end

#sharing_settingsAWSCDK::IResolvable, ... (readonly)

Specifies options for sharing Amazon SageMaker AI Studio notebooks.



1774
1775
1776
# File 'sagemaker/cfn_user_profile.rb', line 1774

def sharing_settings
  @sharing_settings
end

#space_storage_settingsAWSCDK::IResolvable, ... (readonly)

The storage settings for a space.

SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.



1781
1782
1783
# File 'sagemaker/cfn_user_profile.rb', line 1781

def space_storage_settings
  @space_storage_settings
end

#studio_web_portalString? (readonly)

Whether the user can access Studio.

If this value is set to DISABLED , the user cannot access Studio, even if that is the default experience for the domain.



1788
1789
1790
# File 'sagemaker/cfn_user_profile.rb', line 1788

def studio_web_portal
  @studio_web_portal
end

#studio_web_portal_settingsAWSCDK::IResolvable, ... (readonly)

Studio settings.

If these settings are applied on a user level, they take priority over the settings applied on a domain level.



1795
1796
1797
# File 'sagemaker/cfn_user_profile.rb', line 1795

def studio_web_portal_settings
  @studio_web_portal_settings
end

Class Method Details

.jsii_propertiesObject



1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
# File 'sagemaker/cfn_user_profile.rb', line 1797

def self.jsii_properties
  {
    :auto_mount_home_efs => "autoMountHomeEfs",
    :code_editor_app_settings => "codeEditorAppSettings",
    :custom_file_system_configs => "customFileSystemConfigs",
    :custom_posix_user_config => "customPosixUserConfig",
    :default_landing_uri => "defaultLandingUri",
    :execution_role => "executionRole",
    :jupyter_lab_app_settings => "jupyterLabAppSettings",
    :jupyter_server_app_settings => "jupyterServerAppSettings",
    :kernel_gateway_app_settings => "kernelGatewayAppSettings",
    :r_studio_server_pro_app_settings => "rStudioServerProAppSettings",
    :security_groups => "securityGroups",
    :sharing_settings => "sharingSettings",
    :space_storage_settings => "spaceStorageSettings",
    :studio_web_portal => "studioWebPortal",
    :studio_web_portal_settings => "studioWebPortalSettings",
  }
end

Instance Method Details

#to_jsiiObject



1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
# File 'sagemaker/cfn_user_profile.rb', line 1817

def to_jsii
  result = {}
  result.merge!({
    "autoMountHomeEfs" => @auto_mount_home_efs,
    "codeEditorAppSettings" => @code_editor_app_settings,
    "customFileSystemConfigs" => @custom_file_system_configs,
    "customPosixUserConfig" => @custom_posix_user_config,
    "defaultLandingUri" => @default_landing_uri,
    "executionRole" => @execution_role,
    "jupyterLabAppSettings" => @jupyter_lab_app_settings,
    "jupyterServerAppSettings" => @jupyter_server_app_settings,
    "kernelGatewayAppSettings" => @kernel_gateway_app_settings,
    "rStudioServerProAppSettings" => @r_studio_server_pro_app_settings,
    "securityGroups" => @security_groups,
    "sharingSettings" => @sharing_settings,
    "spaceStorageSettings" => @space_storage_settings,
    "studioWebPortal" => @studio_web_portal,
    "studioWebPortalSettings" => @studio_web_portal_settings,
  })
  result.compact
end