/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace SageMaker { namespace Model { /** */ class AWS_SAGEMAKER_API CreateDomainRequest : public SageMakerRequest { public: CreateDomainRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDomain"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A name for the domain.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

A name for the domain.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

A name for the domain.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

A name for the domain.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

A name for the domain.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

A name for the domain.

*/ inline CreateDomainRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

A name for the domain.

*/ inline CreateDomainRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

A name for the domain.

*/ inline CreateDomainRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

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

*/ inline const AuthMode& GetAuthMode() const{ return m_authMode; } /** *

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

*/ inline bool AuthModeHasBeenSet() const { return m_authModeHasBeenSet; } /** *

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

*/ inline void SetAuthMode(const AuthMode& value) { m_authModeHasBeenSet = true; m_authMode = value; } /** *

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

*/ inline void SetAuthMode(AuthMode&& value) { m_authModeHasBeenSet = true; m_authMode = std::move(value); } /** *

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

*/ inline CreateDomainRequest& WithAuthMode(const AuthMode& value) { SetAuthMode(value); return *this;} /** *

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

*/ inline CreateDomainRequest& WithAuthMode(AuthMode&& value) { SetAuthMode(std::move(value)); return *this;} /** *

The default user settings.

*/ inline const UserSettings& GetDefaultUserSettings() const{ return m_defaultUserSettings; } /** *

The default user settings.

*/ inline bool DefaultUserSettingsHasBeenSet() const { return m_defaultUserSettingsHasBeenSet; } /** *

The default user settings.

*/ inline void SetDefaultUserSettings(const UserSettings& value) { m_defaultUserSettingsHasBeenSet = true; m_defaultUserSettings = value; } /** *

The default user settings.

*/ inline void SetDefaultUserSettings(UserSettings&& value) { m_defaultUserSettingsHasBeenSet = true; m_defaultUserSettings = std::move(value); } /** *

The default user settings.

*/ inline CreateDomainRequest& WithDefaultUserSettings(const UserSettings& value) { SetDefaultUserSettings(value); return *this;} /** *

The default user settings.

*/ inline CreateDomainRequest& WithDefaultUserSettings(UserSettings&& value) { SetDefaultUserSettings(std::move(value)); return *this;} /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline CreateDomainRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline CreateDomainRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline CreateDomainRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline CreateDomainRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *

The VPC subnets to use for communication with the EFS volume.

*/ inline CreateDomainRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline CreateDomainRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline CreateDomainRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The ID of the Amazon Virtual Private Cloud (VPC) to use for communication * with the EFS volume.

*/ inline CreateDomainRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetTags() const{ return m_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.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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.

*/ inline CreateDomainRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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.

*/ inline CreateDomainRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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.

*/ inline CreateDomainRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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.

*/ inline CreateDomainRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline const Aws::String& GetHomeEfsFileSystemKmsKeyId() const{ return m_homeEfsFileSystemKmsKeyId; } /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline bool HomeEfsFileSystemKmsKeyIdHasBeenSet() const { return m_homeEfsFileSystemKmsKeyIdHasBeenSet; } /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline void SetHomeEfsFileSystemKmsKeyId(const Aws::String& value) { m_homeEfsFileSystemKmsKeyIdHasBeenSet = true; m_homeEfsFileSystemKmsKeyId = value; } /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline void SetHomeEfsFileSystemKmsKeyId(Aws::String&& value) { m_homeEfsFileSystemKmsKeyIdHasBeenSet = true; m_homeEfsFileSystemKmsKeyId = std::move(value); } /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline void SetHomeEfsFileSystemKmsKeyId(const char* value) { m_homeEfsFileSystemKmsKeyIdHasBeenSet = true; m_homeEfsFileSystemKmsKeyId.assign(value); } /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline CreateDomainRequest& WithHomeEfsFileSystemKmsKeyId(const Aws::String& value) { SetHomeEfsFileSystemKmsKeyId(value); return *this;} /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline CreateDomainRequest& WithHomeEfsFileSystemKmsKeyId(Aws::String&& value) { SetHomeEfsFileSystemKmsKeyId(std::move(value)); return *this;} /** *

The AWS Key Management Service (KMS) encryption key ID. Encryption with a * customer master key (CMK) is not supported.

*/ inline CreateDomainRequest& WithHomeEfsFileSystemKmsKeyId(const char* value) { SetHomeEfsFileSystemKmsKeyId(value); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet; AuthMode m_authMode; bool m_authModeHasBeenSet; UserSettings m_defaultUserSettings; bool m_defaultUserSettingsHasBeenSet; Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet; Aws::String m_vpcId; bool m_vpcIdHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; Aws::String m_homeEfsFileSystemKmsKeyId; bool m_homeEfsFileSystemKmsKeyIdHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws