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

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline const Aws::String& GetModelPackageName() const{ return m_modelPackageName; } /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline bool ModelPackageNameHasBeenSet() const { return m_modelPackageNameHasBeenSet; } /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline void SetModelPackageName(const Aws::String& value) { m_modelPackageNameHasBeenSet = true; m_modelPackageName = value; } /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline void SetModelPackageName(Aws::String&& value) { m_modelPackageNameHasBeenSet = true; m_modelPackageName = std::move(value); } /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline void SetModelPackageName(const char* value) { m_modelPackageNameHasBeenSet = true; m_modelPackageName.assign(value); } /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline CreateModelPackageRequest& WithModelPackageName(const Aws::String& value) { SetModelPackageName(value); return *this;} /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline CreateModelPackageRequest& WithModelPackageName(Aws::String&& value) { SetModelPackageName(std::move(value)); return *this;} /** *

The name of the model package. The name must have 1 to 63 characters. Valid * characters are a-z, A-Z, 0-9, and - (hyphen).

*/ inline CreateModelPackageRequest& WithModelPackageName(const char* value) { SetModelPackageName(value); return *this;} /** *

A description of the model package.

*/ inline const Aws::String& GetModelPackageDescription() const{ return m_modelPackageDescription; } /** *

A description of the model package.

*/ inline bool ModelPackageDescriptionHasBeenSet() const { return m_modelPackageDescriptionHasBeenSet; } /** *

A description of the model package.

*/ inline void SetModelPackageDescription(const Aws::String& value) { m_modelPackageDescriptionHasBeenSet = true; m_modelPackageDescription = value; } /** *

A description of the model package.

*/ inline void SetModelPackageDescription(Aws::String&& value) { m_modelPackageDescriptionHasBeenSet = true; m_modelPackageDescription = std::move(value); } /** *

A description of the model package.

*/ inline void SetModelPackageDescription(const char* value) { m_modelPackageDescriptionHasBeenSet = true; m_modelPackageDescription.assign(value); } /** *

A description of the model package.

*/ inline CreateModelPackageRequest& WithModelPackageDescription(const Aws::String& value) { SetModelPackageDescription(value); return *this;} /** *

A description of the model package.

*/ inline CreateModelPackageRequest& WithModelPackageDescription(Aws::String&& value) { SetModelPackageDescription(std::move(value)); return *this;} /** *

A description of the model package.

*/ inline CreateModelPackageRequest& WithModelPackageDescription(const char* value) { SetModelPackageDescription(value); return *this;} /** *

Specifies details about inference jobs that can be run with models based on * this model package, including the following:

  • The Amazon ECR * paths of containers that contain the inference code and model artifacts.

    *
  • The instance types that the model package supports for transform * jobs and real-time endpoints used for inference.

  • The input and * output content formats that the model package supports for inference.

  • *
*/ inline const InferenceSpecification& GetInferenceSpecification() const{ return m_inferenceSpecification; } /** *

Specifies details about inference jobs that can be run with models based on * this model package, including the following:

  • The Amazon ECR * paths of containers that contain the inference code and model artifacts.

    *
  • The instance types that the model package supports for transform * jobs and real-time endpoints used for inference.

  • The input and * output content formats that the model package supports for inference.

  • *
*/ inline bool InferenceSpecificationHasBeenSet() const { return m_inferenceSpecificationHasBeenSet; } /** *

Specifies details about inference jobs that can be run with models based on * this model package, including the following:

  • The Amazon ECR * paths of containers that contain the inference code and model artifacts.

    *
  • The instance types that the model package supports for transform * jobs and real-time endpoints used for inference.

  • The input and * output content formats that the model package supports for inference.

  • *
*/ inline void SetInferenceSpecification(const InferenceSpecification& value) { m_inferenceSpecificationHasBeenSet = true; m_inferenceSpecification = value; } /** *

Specifies details about inference jobs that can be run with models based on * this model package, including the following:

  • The Amazon ECR * paths of containers that contain the inference code and model artifacts.

    *
  • The instance types that the model package supports for transform * jobs and real-time endpoints used for inference.

  • The input and * output content formats that the model package supports for inference.

  • *
*/ inline void SetInferenceSpecification(InferenceSpecification&& value) { m_inferenceSpecificationHasBeenSet = true; m_inferenceSpecification = std::move(value); } /** *

Specifies details about inference jobs that can be run with models based on * this model package, including the following:

  • The Amazon ECR * paths of containers that contain the inference code and model artifacts.

    *
  • The instance types that the model package supports for transform * jobs and real-time endpoints used for inference.

  • The input and * output content formats that the model package supports for inference.

  • *
*/ inline CreateModelPackageRequest& WithInferenceSpecification(const InferenceSpecification& value) { SetInferenceSpecification(value); return *this;} /** *

Specifies details about inference jobs that can be run with models based on * this model package, including the following:

  • The Amazon ECR * paths of containers that contain the inference code and model artifacts.

    *
  • The instance types that the model package supports for transform * jobs and real-time endpoints used for inference.

  • The input and * output content formats that the model package supports for inference.

  • *
*/ inline CreateModelPackageRequest& WithInferenceSpecification(InferenceSpecification&& value) { SetInferenceSpecification(std::move(value)); return *this;} /** *

Specifies configurations for one or more transform jobs that Amazon SageMaker * runs to test the model package.

*/ inline const ModelPackageValidationSpecification& GetValidationSpecification() const{ return m_validationSpecification; } /** *

Specifies configurations for one or more transform jobs that Amazon SageMaker * runs to test the model package.

*/ inline bool ValidationSpecificationHasBeenSet() const { return m_validationSpecificationHasBeenSet; } /** *

Specifies configurations for one or more transform jobs that Amazon SageMaker * runs to test the model package.

*/ inline void SetValidationSpecification(const ModelPackageValidationSpecification& value) { m_validationSpecificationHasBeenSet = true; m_validationSpecification = value; } /** *

Specifies configurations for one or more transform jobs that Amazon SageMaker * runs to test the model package.

*/ inline void SetValidationSpecification(ModelPackageValidationSpecification&& value) { m_validationSpecificationHasBeenSet = true; m_validationSpecification = std::move(value); } /** *

Specifies configurations for one or more transform jobs that Amazon SageMaker * runs to test the model package.

*/ inline CreateModelPackageRequest& WithValidationSpecification(const ModelPackageValidationSpecification& value) { SetValidationSpecification(value); return *this;} /** *

Specifies configurations for one or more transform jobs that Amazon SageMaker * runs to test the model package.

*/ inline CreateModelPackageRequest& WithValidationSpecification(ModelPackageValidationSpecification&& value) { SetValidationSpecification(std::move(value)); return *this;} /** *

Details about the algorithm that was used to create the model package.

*/ inline const SourceAlgorithmSpecification& GetSourceAlgorithmSpecification() const{ return m_sourceAlgorithmSpecification; } /** *

Details about the algorithm that was used to create the model package.

*/ inline bool SourceAlgorithmSpecificationHasBeenSet() const { return m_sourceAlgorithmSpecificationHasBeenSet; } /** *

Details about the algorithm that was used to create the model package.

*/ inline void SetSourceAlgorithmSpecification(const SourceAlgorithmSpecification& value) { m_sourceAlgorithmSpecificationHasBeenSet = true; m_sourceAlgorithmSpecification = value; } /** *

Details about the algorithm that was used to create the model package.

*/ inline void SetSourceAlgorithmSpecification(SourceAlgorithmSpecification&& value) { m_sourceAlgorithmSpecificationHasBeenSet = true; m_sourceAlgorithmSpecification = std::move(value); } /** *

Details about the algorithm that was used to create the model package.

*/ inline CreateModelPackageRequest& WithSourceAlgorithmSpecification(const SourceAlgorithmSpecification& value) { SetSourceAlgorithmSpecification(value); return *this;} /** *

Details about the algorithm that was used to create the model package.

*/ inline CreateModelPackageRequest& WithSourceAlgorithmSpecification(SourceAlgorithmSpecification&& value) { SetSourceAlgorithmSpecification(std::move(value)); return *this;} /** *

Whether to certify the model package for listing on AWS Marketplace.

*/ inline bool GetCertifyForMarketplace() const{ return m_certifyForMarketplace; } /** *

Whether to certify the model package for listing on AWS Marketplace.

*/ inline bool CertifyForMarketplaceHasBeenSet() const { return m_certifyForMarketplaceHasBeenSet; } /** *

Whether to certify the model package for listing on AWS Marketplace.

*/ inline void SetCertifyForMarketplace(bool value) { m_certifyForMarketplaceHasBeenSet = true; m_certifyForMarketplace = value; } /** *

Whether to certify the model package for listing on AWS Marketplace.

*/ inline CreateModelPackageRequest& WithCertifyForMarketplace(bool value) { SetCertifyForMarketplace(value); return *this;} private: Aws::String m_modelPackageName; bool m_modelPackageNameHasBeenSet; Aws::String m_modelPackageDescription; bool m_modelPackageDescriptionHasBeenSet; InferenceSpecification m_inferenceSpecification; bool m_inferenceSpecificationHasBeenSet; ModelPackageValidationSpecification m_validationSpecification; bool m_validationSpecificationHasBeenSet; SourceAlgorithmSpecification m_sourceAlgorithmSpecification; bool m_sourceAlgorithmSpecificationHasBeenSet; bool m_certifyForMarketplace; bool m_certifyForMarketplaceHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws