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

The domain ID.

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

The domain ID.

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

The domain ID.

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

The domain ID.

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

The domain ID.

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

The domain ID.

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

The domain ID.

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

The domain ID.

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

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline const Aws::String& GetUserProfileName() const{ return m_userProfileName; } /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline bool UserProfileNameHasBeenSet() const { return m_userProfileNameHasBeenSet; } /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline void SetUserProfileName(const Aws::String& value) { m_userProfileNameHasBeenSet = true; m_userProfileName = value; } /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline void SetUserProfileName(Aws::String&& value) { m_userProfileNameHasBeenSet = true; m_userProfileName = std::move(value); } /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline void SetUserProfileName(const char* value) { m_userProfileNameHasBeenSet = true; m_userProfileName.assign(value); } /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline CreateAppRequest& WithUserProfileName(const Aws::String& value) { SetUserProfileName(value); return *this;} /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline CreateAppRequest& WithUserProfileName(Aws::String&& value) { SetUserProfileName(std::move(value)); return *this;} /** *

The user profile name. If this value is not set, then SpaceName * must be set.

*/ inline CreateAppRequest& WithUserProfileName(const char* value) { SetUserProfileName(value); return *this;} /** *

The type of app.

*/ inline const AppType& GetAppType() const{ return m_appType; } /** *

The type of app.

*/ inline bool AppTypeHasBeenSet() const { return m_appTypeHasBeenSet; } /** *

The type of app.

*/ inline void SetAppType(const AppType& value) { m_appTypeHasBeenSet = true; m_appType = value; } /** *

The type of app.

*/ inline void SetAppType(AppType&& value) { m_appTypeHasBeenSet = true; m_appType = std::move(value); } /** *

The type of app.

*/ inline CreateAppRequest& WithAppType(const AppType& value) { SetAppType(value); return *this;} /** *

The type of app.

*/ inline CreateAppRequest& WithAppType(AppType&& value) { SetAppType(std::move(value)); return *this;} /** *

The name of the app.

*/ inline const Aws::String& GetAppName() const{ return m_appName; } /** *

The name of the app.

*/ inline bool AppNameHasBeenSet() const { return m_appNameHasBeenSet; } /** *

The name of the app.

*/ inline void SetAppName(const Aws::String& value) { m_appNameHasBeenSet = true; m_appName = value; } /** *

The name of the app.

*/ inline void SetAppName(Aws::String&& value) { m_appNameHasBeenSet = true; m_appName = std::move(value); } /** *

The name of the app.

*/ inline void SetAppName(const char* value) { m_appNameHasBeenSet = true; m_appName.assign(value); } /** *

The name of the app.

*/ inline CreateAppRequest& WithAppName(const Aws::String& value) { SetAppName(value); return *this;} /** *

The name of the app.

*/ inline CreateAppRequest& WithAppName(Aws::String&& value) { SetAppName(std::move(value)); return *this;} /** *

The name of the app.

*/ inline CreateAppRequest& WithAppName(const char* value) { SetAppName(value); return *this;} /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

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

The instance type and the Amazon Resource Name (ARN) of the SageMaker image * created on the instance.

The value of InstanceType * passed as part of the ResourceSpec in the CreateApp * call overrides the value passed as part of the ResourceSpec * configured for the user profile or the domain. If InstanceType is * not specified in any of those three ResourceSpec values for a * KernelGateway app, the CreateApp call fails with a * request validation error.

*/ inline const ResourceSpec& GetResourceSpec() const{ return m_resourceSpec; } /** *

The instance type and the Amazon Resource Name (ARN) of the SageMaker image * created on the instance.

The value of InstanceType * passed as part of the ResourceSpec in the CreateApp * call overrides the value passed as part of the ResourceSpec * configured for the user profile or the domain. If InstanceType is * not specified in any of those three ResourceSpec values for a * KernelGateway app, the CreateApp call fails with a * request validation error.

*/ inline bool ResourceSpecHasBeenSet() const { return m_resourceSpecHasBeenSet; } /** *

The instance type and the Amazon Resource Name (ARN) of the SageMaker image * created on the instance.

The value of InstanceType * passed as part of the ResourceSpec in the CreateApp * call overrides the value passed as part of the ResourceSpec * configured for the user profile or the domain. If InstanceType is * not specified in any of those three ResourceSpec values for a * KernelGateway app, the CreateApp call fails with a * request validation error.

*/ inline void SetResourceSpec(const ResourceSpec& value) { m_resourceSpecHasBeenSet = true; m_resourceSpec = value; } /** *

The instance type and the Amazon Resource Name (ARN) of the SageMaker image * created on the instance.

The value of InstanceType * passed as part of the ResourceSpec in the CreateApp * call overrides the value passed as part of the ResourceSpec * configured for the user profile or the domain. If InstanceType is * not specified in any of those three ResourceSpec values for a * KernelGateway app, the CreateApp call fails with a * request validation error.

*/ inline void SetResourceSpec(ResourceSpec&& value) { m_resourceSpecHasBeenSet = true; m_resourceSpec = std::move(value); } /** *

The instance type and the Amazon Resource Name (ARN) of the SageMaker image * created on the instance.

The value of InstanceType * passed as part of the ResourceSpec in the CreateApp * call overrides the value passed as part of the ResourceSpec * configured for the user profile or the domain. If InstanceType is * not specified in any of those three ResourceSpec values for a * KernelGateway app, the CreateApp call fails with a * request validation error.

*/ inline CreateAppRequest& WithResourceSpec(const ResourceSpec& value) { SetResourceSpec(value); return *this;} /** *

The instance type and the Amazon Resource Name (ARN) of the SageMaker image * created on the instance.

The value of InstanceType * passed as part of the ResourceSpec in the CreateApp * call overrides the value passed as part of the ResourceSpec * configured for the user profile or the domain. If InstanceType is * not specified in any of those three ResourceSpec values for a * KernelGateway app, the CreateApp call fails with a * request validation error.

*/ inline CreateAppRequest& WithResourceSpec(ResourceSpec&& value) { SetResourceSpec(std::move(value)); return *this;} /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline const Aws::String& GetSpaceName() const{ return m_spaceName; } /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline bool SpaceNameHasBeenSet() const { return m_spaceNameHasBeenSet; } /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline void SetSpaceName(const Aws::String& value) { m_spaceNameHasBeenSet = true; m_spaceName = value; } /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline void SetSpaceName(Aws::String&& value) { m_spaceNameHasBeenSet = true; m_spaceName = std::move(value); } /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline void SetSpaceName(const char* value) { m_spaceNameHasBeenSet = true; m_spaceName.assign(value); } /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline CreateAppRequest& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline CreateAppRequest& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} /** *

The name of the space. If this value is not set, then * UserProfileName must be set.

*/ inline CreateAppRequest& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} private: Aws::String m_domainId; bool m_domainIdHasBeenSet = false; Aws::String m_userProfileName; bool m_userProfileNameHasBeenSet = false; AppType m_appType; bool m_appTypeHasBeenSet = false; Aws::String m_appName; bool m_appNameHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ResourceSpec m_resourceSpec; bool m_resourceSpecHasBeenSet = false; Aws::String m_spaceName; bool m_spaceNameHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws