/** * 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 #include namespace Aws { namespace SageMaker { namespace Model { /** */ class CreateImageVersionRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API CreateImageVersionRequest(); // 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 "CreateImageVersion"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline const Aws::String& GetBaseImage() const{ return m_baseImage; } /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline bool BaseImageHasBeenSet() const { return m_baseImageHasBeenSet; } /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline void SetBaseImage(const Aws::String& value) { m_baseImageHasBeenSet = true; m_baseImage = value; } /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline void SetBaseImage(Aws::String&& value) { m_baseImageHasBeenSet = true; m_baseImage = std::move(value); } /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline void SetBaseImage(const char* value) { m_baseImageHasBeenSet = true; m_baseImage.assign(value); } /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline CreateImageVersionRequest& WithBaseImage(const Aws::String& value) { SetBaseImage(value); return *this;} /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline CreateImageVersionRequest& WithBaseImage(Aws::String&& value) { SetBaseImage(std::move(value)); return *this;} /** *

The registry path of the container image to use as the starting point for * this version. The path is an Amazon Elastic Container Registry (ECR) URI in the * following format:

* <acct-id>.dkr.ecr.<region>.amazonaws.com/<repo-name[:tag] * or [@digest]>

*/ inline CreateImageVersionRequest& WithBaseImage(const char* value) { SetBaseImage(value); return *this;} /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline CreateImageVersionRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline CreateImageVersionRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique ID. If not specified, the Amazon Web Services CLI and Amazon Web * Services SDKs, such as the SDK for Python (Boto3), add a unique value to the * call.

*/ inline CreateImageVersionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The ImageName of the Image to create a version * of.

*/ inline const Aws::String& GetImageName() const{ return m_imageName; } /** *

The ImageName of the Image to create a version * of.

*/ inline bool ImageNameHasBeenSet() const { return m_imageNameHasBeenSet; } /** *

The ImageName of the Image to create a version * of.

*/ inline void SetImageName(const Aws::String& value) { m_imageNameHasBeenSet = true; m_imageName = value; } /** *

The ImageName of the Image to create a version * of.

*/ inline void SetImageName(Aws::String&& value) { m_imageNameHasBeenSet = true; m_imageName = std::move(value); } /** *

The ImageName of the Image to create a version * of.

*/ inline void SetImageName(const char* value) { m_imageNameHasBeenSet = true; m_imageName.assign(value); } /** *

The ImageName of the Image to create a version * of.

*/ inline CreateImageVersionRequest& WithImageName(const Aws::String& value) { SetImageName(value); return *this;} /** *

The ImageName of the Image to create a version * of.

*/ inline CreateImageVersionRequest& WithImageName(Aws::String&& value) { SetImageName(std::move(value)); return *this;} /** *

The ImageName of the Image to create a version * of.

*/ inline CreateImageVersionRequest& WithImageName(const char* value) { SetImageName(value); return *this;} /** *

A list of aliases created with the image version.

*/ inline const Aws::Vector& GetAliases() const{ return m_aliases; } /** *

A list of aliases created with the image version.

*/ inline bool AliasesHasBeenSet() const { return m_aliasesHasBeenSet; } /** *

A list of aliases created with the image version.

*/ inline void SetAliases(const Aws::Vector& value) { m_aliasesHasBeenSet = true; m_aliases = value; } /** *

A list of aliases created with the image version.

*/ inline void SetAliases(Aws::Vector&& value) { m_aliasesHasBeenSet = true; m_aliases = std::move(value); } /** *

A list of aliases created with the image version.

*/ inline CreateImageVersionRequest& WithAliases(const Aws::Vector& value) { SetAliases(value); return *this;} /** *

A list of aliases created with the image version.

*/ inline CreateImageVersionRequest& WithAliases(Aws::Vector&& value) { SetAliases(std::move(value)); return *this;} /** *

A list of aliases created with the image version.

*/ inline CreateImageVersionRequest& AddAliases(const Aws::String& value) { m_aliasesHasBeenSet = true; m_aliases.push_back(value); return *this; } /** *

A list of aliases created with the image version.

*/ inline CreateImageVersionRequest& AddAliases(Aws::String&& value) { m_aliasesHasBeenSet = true; m_aliases.push_back(std::move(value)); return *this; } /** *

A list of aliases created with the image version.

*/ inline CreateImageVersionRequest& AddAliases(const char* value) { m_aliasesHasBeenSet = true; m_aliases.push_back(value); return *this; } /** *

The stability of the image version, specified by the maintainer.

    *
  • NOT_PROVIDED: The maintainers did not provide a status for * image version stability.

  • STABLE: The image * version is stable.

  • TO_BE_ARCHIVED: The image * version is set to be archived. Custom image versions that are set to be archived * are automatically archived after three months.

  • * ARCHIVED: The image version is archived. Archived image versions * are not searchable and are no longer actively supported.

*/ inline const VendorGuidance& GetVendorGuidance() const{ return m_vendorGuidance; } /** *

The stability of the image version, specified by the maintainer.

    *
  • NOT_PROVIDED: The maintainers did not provide a status for * image version stability.

  • STABLE: The image * version is stable.

  • TO_BE_ARCHIVED: The image * version is set to be archived. Custom image versions that are set to be archived * are automatically archived after three months.

  • * ARCHIVED: The image version is archived. Archived image versions * are not searchable and are no longer actively supported.

*/ inline bool VendorGuidanceHasBeenSet() const { return m_vendorGuidanceHasBeenSet; } /** *

The stability of the image version, specified by the maintainer.

    *
  • NOT_PROVIDED: The maintainers did not provide a status for * image version stability.

  • STABLE: The image * version is stable.

  • TO_BE_ARCHIVED: The image * version is set to be archived. Custom image versions that are set to be archived * are automatically archived after three months.

  • * ARCHIVED: The image version is archived. Archived image versions * are not searchable and are no longer actively supported.

*/ inline void SetVendorGuidance(const VendorGuidance& value) { m_vendorGuidanceHasBeenSet = true; m_vendorGuidance = value; } /** *

The stability of the image version, specified by the maintainer.

    *
  • NOT_PROVIDED: The maintainers did not provide a status for * image version stability.

  • STABLE: The image * version is stable.

  • TO_BE_ARCHIVED: The image * version is set to be archived. Custom image versions that are set to be archived * are automatically archived after three months.

  • * ARCHIVED: The image version is archived. Archived image versions * are not searchable and are no longer actively supported.

*/ inline void SetVendorGuidance(VendorGuidance&& value) { m_vendorGuidanceHasBeenSet = true; m_vendorGuidance = std::move(value); } /** *

The stability of the image version, specified by the maintainer.

    *
  • NOT_PROVIDED: The maintainers did not provide a status for * image version stability.

  • STABLE: The image * version is stable.

  • TO_BE_ARCHIVED: The image * version is set to be archived. Custom image versions that are set to be archived * are automatically archived after three months.

  • * ARCHIVED: The image version is archived. Archived image versions * are not searchable and are no longer actively supported.

*/ inline CreateImageVersionRequest& WithVendorGuidance(const VendorGuidance& value) { SetVendorGuidance(value); return *this;} /** *

The stability of the image version, specified by the maintainer.

    *
  • NOT_PROVIDED: The maintainers did not provide a status for * image version stability.

  • STABLE: The image * version is stable.

  • TO_BE_ARCHIVED: The image * version is set to be archived. Custom image versions that are set to be archived * are automatically archived after three months.

  • * ARCHIVED: The image version is archived. Archived image versions * are not searchable and are no longer actively supported.

*/ inline CreateImageVersionRequest& WithVendorGuidance(VendorGuidance&& value) { SetVendorGuidance(std::move(value)); return *this;} /** *

Indicates SageMaker job type compatibility.

  • * TRAINING: The image version is compatible with SageMaker training * jobs.

  • INFERENCE: The image version is compatible * with SageMaker inference jobs.

  • NOTEBOOK_KERNEL: * The image version is compatible with SageMaker notebook kernels.

*/ inline const JobType& GetJobType() const{ return m_jobType; } /** *

Indicates SageMaker job type compatibility.

  • * TRAINING: The image version is compatible with SageMaker training * jobs.

  • INFERENCE: The image version is compatible * with SageMaker inference jobs.

  • NOTEBOOK_KERNEL: * The image version is compatible with SageMaker notebook kernels.

*/ inline bool JobTypeHasBeenSet() const { return m_jobTypeHasBeenSet; } /** *

Indicates SageMaker job type compatibility.

  • * TRAINING: The image version is compatible with SageMaker training * jobs.

  • INFERENCE: The image version is compatible * with SageMaker inference jobs.

  • NOTEBOOK_KERNEL: * The image version is compatible with SageMaker notebook kernels.

*/ inline void SetJobType(const JobType& value) { m_jobTypeHasBeenSet = true; m_jobType = value; } /** *

Indicates SageMaker job type compatibility.

  • * TRAINING: The image version is compatible with SageMaker training * jobs.

  • INFERENCE: The image version is compatible * with SageMaker inference jobs.

  • NOTEBOOK_KERNEL: * The image version is compatible with SageMaker notebook kernels.

*/ inline void SetJobType(JobType&& value) { m_jobTypeHasBeenSet = true; m_jobType = std::move(value); } /** *

Indicates SageMaker job type compatibility.

  • * TRAINING: The image version is compatible with SageMaker training * jobs.

  • INFERENCE: The image version is compatible * with SageMaker inference jobs.

  • NOTEBOOK_KERNEL: * The image version is compatible with SageMaker notebook kernels.

*/ inline CreateImageVersionRequest& WithJobType(const JobType& value) { SetJobType(value); return *this;} /** *

Indicates SageMaker job type compatibility.

  • * TRAINING: The image version is compatible with SageMaker training * jobs.

  • INFERENCE: The image version is compatible * with SageMaker inference jobs.

  • NOTEBOOK_KERNEL: * The image version is compatible with SageMaker notebook kernels.

*/ inline CreateImageVersionRequest& WithJobType(JobType&& value) { SetJobType(std::move(value)); return *this;} /** *

The machine learning framework vended in the image version.

*/ inline const Aws::String& GetMLFramework() const{ return m_mLFramework; } /** *

The machine learning framework vended in the image version.

*/ inline bool MLFrameworkHasBeenSet() const { return m_mLFrameworkHasBeenSet; } /** *

The machine learning framework vended in the image version.

*/ inline void SetMLFramework(const Aws::String& value) { m_mLFrameworkHasBeenSet = true; m_mLFramework = value; } /** *

The machine learning framework vended in the image version.

*/ inline void SetMLFramework(Aws::String&& value) { m_mLFrameworkHasBeenSet = true; m_mLFramework = std::move(value); } /** *

The machine learning framework vended in the image version.

*/ inline void SetMLFramework(const char* value) { m_mLFrameworkHasBeenSet = true; m_mLFramework.assign(value); } /** *

The machine learning framework vended in the image version.

*/ inline CreateImageVersionRequest& WithMLFramework(const Aws::String& value) { SetMLFramework(value); return *this;} /** *

The machine learning framework vended in the image version.

*/ inline CreateImageVersionRequest& WithMLFramework(Aws::String&& value) { SetMLFramework(std::move(value)); return *this;} /** *

The machine learning framework vended in the image version.

*/ inline CreateImageVersionRequest& WithMLFramework(const char* value) { SetMLFramework(value); return *this;} /** *

The supported programming language and its version.

*/ inline const Aws::String& GetProgrammingLang() const{ return m_programmingLang; } /** *

The supported programming language and its version.

*/ inline bool ProgrammingLangHasBeenSet() const { return m_programmingLangHasBeenSet; } /** *

The supported programming language and its version.

*/ inline void SetProgrammingLang(const Aws::String& value) { m_programmingLangHasBeenSet = true; m_programmingLang = value; } /** *

The supported programming language and its version.

*/ inline void SetProgrammingLang(Aws::String&& value) { m_programmingLangHasBeenSet = true; m_programmingLang = std::move(value); } /** *

The supported programming language and its version.

*/ inline void SetProgrammingLang(const char* value) { m_programmingLangHasBeenSet = true; m_programmingLang.assign(value); } /** *

The supported programming language and its version.

*/ inline CreateImageVersionRequest& WithProgrammingLang(const Aws::String& value) { SetProgrammingLang(value); return *this;} /** *

The supported programming language and its version.

*/ inline CreateImageVersionRequest& WithProgrammingLang(Aws::String&& value) { SetProgrammingLang(std::move(value)); return *this;} /** *

The supported programming language and its version.

*/ inline CreateImageVersionRequest& WithProgrammingLang(const char* value) { SetProgrammingLang(value); return *this;} /** *

Indicates CPU or GPU compatibility.

  • CPU: The * image version is compatible with CPU.

  • GPU: The * image version is compatible with GPU.

*/ inline const Processor& GetProcessor() const{ return m_processor; } /** *

Indicates CPU or GPU compatibility.

  • CPU: The * image version is compatible with CPU.

  • GPU: The * image version is compatible with GPU.

*/ inline bool ProcessorHasBeenSet() const { return m_processorHasBeenSet; } /** *

Indicates CPU or GPU compatibility.

  • CPU: The * image version is compatible with CPU.

  • GPU: The * image version is compatible with GPU.

*/ inline void SetProcessor(const Processor& value) { m_processorHasBeenSet = true; m_processor = value; } /** *

Indicates CPU or GPU compatibility.

  • CPU: The * image version is compatible with CPU.

  • GPU: The * image version is compatible with GPU.

*/ inline void SetProcessor(Processor&& value) { m_processorHasBeenSet = true; m_processor = std::move(value); } /** *

Indicates CPU or GPU compatibility.

  • CPU: The * image version is compatible with CPU.

  • GPU: The * image version is compatible with GPU.

*/ inline CreateImageVersionRequest& WithProcessor(const Processor& value) { SetProcessor(value); return *this;} /** *

Indicates CPU or GPU compatibility.

  • CPU: The * image version is compatible with CPU.

  • GPU: The * image version is compatible with GPU.

*/ inline CreateImageVersionRequest& WithProcessor(Processor&& value) { SetProcessor(std::move(value)); return *this;} /** *

Indicates Horovod compatibility.

*/ inline bool GetHorovod() const{ return m_horovod; } /** *

Indicates Horovod compatibility.

*/ inline bool HorovodHasBeenSet() const { return m_horovodHasBeenSet; } /** *

Indicates Horovod compatibility.

*/ inline void SetHorovod(bool value) { m_horovodHasBeenSet = true; m_horovod = value; } /** *

Indicates Horovod compatibility.

*/ inline CreateImageVersionRequest& WithHorovod(bool value) { SetHorovod(value); return *this;} /** *

The maintainer description of the image version.

*/ inline const Aws::String& GetReleaseNotes() const{ return m_releaseNotes; } /** *

The maintainer description of the image version.

*/ inline bool ReleaseNotesHasBeenSet() const { return m_releaseNotesHasBeenSet; } /** *

The maintainer description of the image version.

*/ inline void SetReleaseNotes(const Aws::String& value) { m_releaseNotesHasBeenSet = true; m_releaseNotes = value; } /** *

The maintainer description of the image version.

*/ inline void SetReleaseNotes(Aws::String&& value) { m_releaseNotesHasBeenSet = true; m_releaseNotes = std::move(value); } /** *

The maintainer description of the image version.

*/ inline void SetReleaseNotes(const char* value) { m_releaseNotesHasBeenSet = true; m_releaseNotes.assign(value); } /** *

The maintainer description of the image version.

*/ inline CreateImageVersionRequest& WithReleaseNotes(const Aws::String& value) { SetReleaseNotes(value); return *this;} /** *

The maintainer description of the image version.

*/ inline CreateImageVersionRequest& WithReleaseNotes(Aws::String&& value) { SetReleaseNotes(std::move(value)); return *this;} /** *

The maintainer description of the image version.

*/ inline CreateImageVersionRequest& WithReleaseNotes(const char* value) { SetReleaseNotes(value); return *this;} private: Aws::String m_baseImage; bool m_baseImageHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_imageName; bool m_imageNameHasBeenSet = false; Aws::Vector m_aliases; bool m_aliasesHasBeenSet = false; VendorGuidance m_vendorGuidance; bool m_vendorGuidanceHasBeenSet = false; JobType m_jobType; bool m_jobTypeHasBeenSet = false; Aws::String m_mLFramework; bool m_mLFrameworkHasBeenSet = false; Aws::String m_programmingLang; bool m_programmingLangHasBeenSet = false; Processor m_processor; bool m_processorHasBeenSet = false; bool m_horovod; bool m_horovodHasBeenSet = false; Aws::String m_releaseNotes; bool m_releaseNotesHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws