amazonka-sagemaker-2.0: Amazon SageMaker Service SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.SageMaker.CreateDomain

Description

Creates a Domain used by Amazon SageMaker Studio. A domain consists of an associated Amazon Elastic File System (EFS) volume, a list of authorized users, and a variety of security, application, policy, and Amazon Virtual Private Cloud (VPC) configurations. An Amazon Web Services account is limited to one domain per region. Users within a domain can share notebook files and other artifacts with each other.

EFS storage

When a domain is created, an EFS volume is created for use by all of the users within the domain. Each user receives a private home directory within the EFS volume for notebooks, Git repositories, and data files.

SageMaker uses the Amazon Web Services Key Management Service (Amazon Web Services KMS) to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, you can specify a customer managed key. For more information, see Protect Data at Rest Using Encryption.

VPC configuration

All SageMaker Studio traffic between the domain and the EFS volume is through the specified VPC and subnets. For other Studio traffic, you can specify the AppNetworkAccessType parameter. AppNetworkAccessType corresponds to the network access type that you choose when you onboard to Studio. The following options are available:

  • PublicInternetOnly - Non-EFS traffic goes through a VPC managed by Amazon SageMaker, which allows internet access. This is the default value.
  • VpcOnly - All Studio traffic is through the specified VPC and subnets. Internet access is disabled by default. To allow internet access, you must specify a NAT gateway.

    When internet access is disabled, you won't be able to run a Studio notebook or to train or host models unless your VPC has an interface endpoint to the SageMaker API and runtime or a NAT gateway and your security groups allow outbound connections.

NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules in order to launch a SageMaker Studio app successfully.

For more information, see Connect SageMaker Studio Notebooks to Resources in a VPC.

Synopsis

Creating a Request

data CreateDomain Source #

See: newCreateDomain smart constructor.

Constructors

CreateDomain' 

Fields

  • appNetworkAccessType :: Maybe AppNetworkAccessType

    Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

    • PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon SageMaker, which allows direct internet access
    • VpcOnly - All Studio traffic is through the specified VPC and subnets
  • appSecurityGroupManagement :: Maybe AppSecurityGroupManagement

    The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

  • defaultSpaceSettings :: Maybe DefaultSpaceSettings

    The default settings used to create a space.

  • domainSettings :: Maybe DomainSettings

    A collection of Domain settings.

  • homeEfsFileSystemKmsKeyId :: Maybe Text

    Use KmsKeyId.

  • kmsKeyId :: Maybe Text

    SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.

  • tags :: Maybe [Tag]

    Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

    Tags that you specify for the Domain are also added to all Apps that the Domain launches.

  • domainName :: Text

    A name for the domain.

  • authMode :: AuthMode

    The mode of authentication that members use to access the domain.

  • defaultUserSettings :: UserSettings

    The default settings to use to create a user profile when UserSettings isn't specified in the call to the CreateUserProfile API.

    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.

  • subnetIds :: NonEmpty Text

    The VPC subnets that Studio uses for communication.

  • vpcId :: Text

    The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

Instances

Instances details
ToJSON CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

ToHeaders CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

ToPath CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

ToQuery CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

AWSRequest CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Associated Types

type AWSResponse CreateDomain #

Generic CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Associated Types

type Rep CreateDomain :: Type -> Type #

Read CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Show CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

NFData CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Methods

rnf :: CreateDomain -> () #

Eq CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Hashable CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

type AWSResponse CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

type Rep CreateDomain Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

type Rep CreateDomain = D1 ('MetaData "CreateDomain" "Amazonka.SageMaker.CreateDomain" "amazonka-sagemaker-2.0-9SyrKZ4KqhsL1qX9u3ILA3" 'False) (C1 ('MetaCons "CreateDomain'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "appNetworkAccessType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AppNetworkAccessType)) :*: (S1 ('MetaSel ('Just "appSecurityGroupManagement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AppSecurityGroupManagement)) :*: S1 ('MetaSel ('Just "defaultSpaceSettings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe DefaultSpaceSettings)))) :*: (S1 ('MetaSel ('Just "domainSettings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe DomainSettings)) :*: (S1 ('MetaSel ('Just "homeEfsFileSystemKmsKeyId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "kmsKeyId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: ((S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Tag])) :*: (S1 ('MetaSel ('Just "domainName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "authMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AuthMode))) :*: (S1 ('MetaSel ('Just "defaultUserSettings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserSettings) :*: (S1 ('MetaSel ('Just "subnetIds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty Text)) :*: S1 ('MetaSel ('Just "vpcId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))))

newCreateDomain Source #

Create a value of CreateDomain with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:appNetworkAccessType:CreateDomain', createDomain_appNetworkAccessType - Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

  • PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon SageMaker, which allows direct internet access
  • VpcOnly - All Studio traffic is through the specified VPC and subnets

$sel:appSecurityGroupManagement:CreateDomain', createDomain_appSecurityGroupManagement - The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

$sel:defaultSpaceSettings:CreateDomain', createDomain_defaultSpaceSettings - The default settings used to create a space.

$sel:domainSettings:CreateDomain', createDomain_domainSettings - A collection of Domain settings.

$sel:homeEfsFileSystemKmsKeyId:CreateDomain', createDomain_homeEfsFileSystemKmsKeyId - Use KmsKeyId.

CreateDomain, createDomain_kmsKeyId - SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.

CreateDomain, createDomain_tags - Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

Tags that you specify for the Domain are also added to all Apps that the Domain launches.

CreateDomain, createDomain_domainName - A name for the domain.

$sel:authMode:CreateDomain', createDomain_authMode - The mode of authentication that members use to access the domain.

$sel:defaultUserSettings:CreateDomain', createDomain_defaultUserSettings - The default settings to use to create a user profile when UserSettings isn't specified in the call to the CreateUserProfile API.

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.

$sel:subnetIds:CreateDomain', createDomain_subnetIds - The VPC subnets that Studio uses for communication.

CreateDomain, createDomain_vpcId - The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

Request Lenses

createDomain_appNetworkAccessType :: Lens' CreateDomain (Maybe AppNetworkAccessType) Source #

Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

  • PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon SageMaker, which allows direct internet access
  • VpcOnly - All Studio traffic is through the specified VPC and subnets

createDomain_appSecurityGroupManagement :: Lens' CreateDomain (Maybe AppSecurityGroupManagement) Source #

The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

createDomain_defaultSpaceSettings :: Lens' CreateDomain (Maybe DefaultSpaceSettings) Source #

The default settings used to create a space.

createDomain_kmsKeyId :: Lens' CreateDomain (Maybe Text) Source #

SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.

createDomain_tags :: Lens' CreateDomain (Maybe [Tag]) Source #

Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

Tags that you specify for the Domain are also added to all Apps that the Domain launches.

createDomain_authMode :: Lens' CreateDomain AuthMode Source #

The mode of authentication that members use to access the domain.

createDomain_defaultUserSettings :: Lens' CreateDomain UserSettings Source #

The default settings to use to create a user profile when UserSettings isn't specified in the call to the CreateUserProfile API.

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.

createDomain_subnetIds :: Lens' CreateDomain (NonEmpty Text) Source #

The VPC subnets that Studio uses for communication.

createDomain_vpcId :: Lens' CreateDomain Text Source #

The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

Destructuring the Response

data CreateDomainResponse Source #

See: newCreateDomainResponse smart constructor.

Constructors

CreateDomainResponse' 

Fields

Instances

Instances details
Generic CreateDomainResponse Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Associated Types

type Rep CreateDomainResponse :: Type -> Type #

Read CreateDomainResponse Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Show CreateDomainResponse Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

NFData CreateDomainResponse Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

Methods

rnf :: CreateDomainResponse -> () #

Eq CreateDomainResponse Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

type Rep CreateDomainResponse Source # 
Instance details

Defined in Amazonka.SageMaker.CreateDomain

type Rep CreateDomainResponse = D1 ('MetaData "CreateDomainResponse" "Amazonka.SageMaker.CreateDomain" "amazonka-sagemaker-2.0-9SyrKZ4KqhsL1qX9u3ILA3" 'False) (C1 ('MetaCons "CreateDomainResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "domainArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "url") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))))

newCreateDomainResponse Source #

Create a value of CreateDomainResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

CreateDomainResponse, createDomainResponse_domainArn - The Amazon Resource Name (ARN) of the created domain.

CreateDomainResponse, createDomainResponse_url - The URL to the created domain.

$sel:httpStatus:CreateDomainResponse', createDomainResponse_httpStatus - The response's http status code.

Response Lenses

createDomainResponse_domainArn :: Lens' CreateDomainResponse (Maybe Text) Source #

The Amazon Resource Name (ARN) of the created domain.