/** * 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 UpdateDomainRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API UpdateDomainRequest(); // 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 "UpdateDomain"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the domain to be updated.

*/ inline const Aws::String& GetDomainId() const{ return m_domainId; } /** *

The ID of the domain to be updated.

*/ inline bool DomainIdHasBeenSet() const { return m_domainIdHasBeenSet; } /** *

The ID of the domain to be updated.

*/ inline void SetDomainId(const Aws::String& value) { m_domainIdHasBeenSet = true; m_domainId = value; } /** *

The ID of the domain to be updated.

*/ inline void SetDomainId(Aws::String&& value) { m_domainIdHasBeenSet = true; m_domainId = std::move(value); } /** *

The ID of the domain to be updated.

*/ inline void SetDomainId(const char* value) { m_domainIdHasBeenSet = true; m_domainId.assign(value); } /** *

The ID of the domain to be updated.

*/ inline UpdateDomainRequest& WithDomainId(const Aws::String& value) { SetDomainId(value); return *this;} /** *

The ID of the domain to be updated.

*/ inline UpdateDomainRequest& WithDomainId(Aws::String&& value) { SetDomainId(std::move(value)); return *this;} /** *

The ID of the domain to be updated.

*/ inline UpdateDomainRequest& WithDomainId(const char* value) { SetDomainId(value); return *this;} /** *

A collection of settings.

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

A collection of settings.

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

A collection of settings.

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

A collection of settings.

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

A collection of settings.

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

A collection of settings.

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

A collection of DomainSettings configuration values to * update.

*/ inline const DomainSettingsForUpdate& GetDomainSettingsForUpdate() const{ return m_domainSettingsForUpdate; } /** *

A collection of DomainSettings configuration values to * update.

*/ inline bool DomainSettingsForUpdateHasBeenSet() const { return m_domainSettingsForUpdateHasBeenSet; } /** *

A collection of DomainSettings configuration values to * update.

*/ inline void SetDomainSettingsForUpdate(const DomainSettingsForUpdate& value) { m_domainSettingsForUpdateHasBeenSet = true; m_domainSettingsForUpdate = value; } /** *

A collection of DomainSettings configuration values to * update.

*/ inline void SetDomainSettingsForUpdate(DomainSettingsForUpdate&& value) { m_domainSettingsForUpdateHasBeenSet = true; m_domainSettingsForUpdate = std::move(value); } /** *

A collection of DomainSettings configuration values to * update.

*/ inline UpdateDomainRequest& WithDomainSettingsForUpdate(const DomainSettingsForUpdate& value) { SetDomainSettingsForUpdate(value); return *this;} /** *

A collection of DomainSettings configuration values to * update.

*/ inline UpdateDomainRequest& WithDomainSettingsForUpdate(DomainSettingsForUpdate&& value) { SetDomainSettingsForUpdate(std::move(value)); return *this;} /** *

The default settings used to create a space within the Domain.

*/ inline const DefaultSpaceSettings& GetDefaultSpaceSettings() const{ return m_defaultSpaceSettings; } /** *

The default settings used to create a space within the Domain.

*/ inline bool DefaultSpaceSettingsHasBeenSet() const { return m_defaultSpaceSettingsHasBeenSet; } /** *

The default settings used to create a space within the Domain.

*/ inline void SetDefaultSpaceSettings(const DefaultSpaceSettings& value) { m_defaultSpaceSettingsHasBeenSet = true; m_defaultSpaceSettings = value; } /** *

The default settings used to create a space within the Domain.

*/ inline void SetDefaultSpaceSettings(DefaultSpaceSettings&& value) { m_defaultSpaceSettingsHasBeenSet = true; m_defaultSpaceSettings = std::move(value); } /** *

The default settings used to create a space within the Domain.

*/ inline UpdateDomainRequest& WithDefaultSpaceSettings(const DefaultSpaceSettings& value) { SetDefaultSpaceSettings(value); return *this;} /** *

The default settings used to create a space within the Domain.

*/ inline UpdateDomainRequest& WithDefaultSpaceSettings(DefaultSpaceSettings&& value) { SetDefaultSpaceSettings(std::move(value)); return *this;} /** *

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. If setting up the domain for use with RStudio, this value must be * set to Service.

*/ inline const AppSecurityGroupManagement& GetAppSecurityGroupManagement() const{ return m_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. If setting up the domain for use with RStudio, this value must be * set to Service.

*/ inline bool AppSecurityGroupManagementHasBeenSet() const { return m_appSecurityGroupManagementHasBeenSet; } /** *

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. If setting up the domain for use with RStudio, this value must be * set to Service.

*/ inline void SetAppSecurityGroupManagement(const AppSecurityGroupManagement& value) { m_appSecurityGroupManagementHasBeenSet = true; m_appSecurityGroupManagement = value; } /** *

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. If setting up the domain for use with RStudio, this value must be * set to Service.

*/ inline void SetAppSecurityGroupManagement(AppSecurityGroupManagement&& value) { m_appSecurityGroupManagementHasBeenSet = true; m_appSecurityGroupManagement = std::move(value); } /** *

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. If setting up the domain for use with RStudio, this value must be * set to Service.

*/ inline UpdateDomainRequest& WithAppSecurityGroupManagement(const AppSecurityGroupManagement& value) { SetAppSecurityGroupManagement(value); return *this;} /** *

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. If setting up the domain for use with RStudio, this value must be * set to Service.

*/ inline UpdateDomainRequest& WithAppSecurityGroupManagement(AppSecurityGroupManagement&& value) { SetAppSecurityGroupManagement(std::move(value)); return *this;} private: Aws::String m_domainId; bool m_domainIdHasBeenSet = false; UserSettings m_defaultUserSettings; bool m_defaultUserSettingsHasBeenSet = false; DomainSettingsForUpdate m_domainSettingsForUpdate; bool m_domainSettingsForUpdateHasBeenSet = false; DefaultSpaceSettings m_defaultSpaceSettings; bool m_defaultSpaceSettingsHasBeenSet = false; AppSecurityGroupManagement m_appSecurityGroupManagement; bool m_appSecurityGroupManagementHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws