/** * 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 #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

A versioned model that can be deployed for SageMaker inference.

See * Also:

AWS * API Reference

*/ class ModelPackage { public: AWS_SAGEMAKER_API ModelPackage(); AWS_SAGEMAKER_API ModelPackage(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API ModelPackage& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the model.

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

The name of the model.

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

The name of the model.

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

The name of the model.

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

The name of the model.

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

The name of the model.

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

The name of the model.

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

The name of the model.

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

The model group to which the model belongs.

*/ inline const Aws::String& GetModelPackageGroupName() const{ return m_modelPackageGroupName; } /** *

The model group to which the model belongs.

*/ inline bool ModelPackageGroupNameHasBeenSet() const { return m_modelPackageGroupNameHasBeenSet; } /** *

The model group to which the model belongs.

*/ inline void SetModelPackageGroupName(const Aws::String& value) { m_modelPackageGroupNameHasBeenSet = true; m_modelPackageGroupName = value; } /** *

The model group to which the model belongs.

*/ inline void SetModelPackageGroupName(Aws::String&& value) { m_modelPackageGroupNameHasBeenSet = true; m_modelPackageGroupName = std::move(value); } /** *

The model group to which the model belongs.

*/ inline void SetModelPackageGroupName(const char* value) { m_modelPackageGroupNameHasBeenSet = true; m_modelPackageGroupName.assign(value); } /** *

The model group to which the model belongs.

*/ inline ModelPackage& WithModelPackageGroupName(const Aws::String& value) { SetModelPackageGroupName(value); return *this;} /** *

The model group to which the model belongs.

*/ inline ModelPackage& WithModelPackageGroupName(Aws::String&& value) { SetModelPackageGroupName(std::move(value)); return *this;} /** *

The model group to which the model belongs.

*/ inline ModelPackage& WithModelPackageGroupName(const char* value) { SetModelPackageGroupName(value); return *this;} /** *

The version number of a versioned model.

*/ inline int GetModelPackageVersion() const{ return m_modelPackageVersion; } /** *

The version number of a versioned model.

*/ inline bool ModelPackageVersionHasBeenSet() const { return m_modelPackageVersionHasBeenSet; } /** *

The version number of a versioned model.

*/ inline void SetModelPackageVersion(int value) { m_modelPackageVersionHasBeenSet = true; m_modelPackageVersion = value; } /** *

The version number of a versioned model.

*/ inline ModelPackage& WithModelPackageVersion(int value) { SetModelPackageVersion(value); return *this;} /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline const Aws::String& GetModelPackageArn() const{ return m_modelPackageArn; } /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline bool ModelPackageArnHasBeenSet() const { return m_modelPackageArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline void SetModelPackageArn(const Aws::String& value) { m_modelPackageArnHasBeenSet = true; m_modelPackageArn = value; } /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline void SetModelPackageArn(Aws::String&& value) { m_modelPackageArnHasBeenSet = true; m_modelPackageArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline void SetModelPackageArn(const char* value) { m_modelPackageArnHasBeenSet = true; m_modelPackageArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline ModelPackage& WithModelPackageArn(const Aws::String& value) { SetModelPackageArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline ModelPackage& WithModelPackageArn(Aws::String&& value) { SetModelPackageArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the model package.

*/ inline ModelPackage& WithModelPackageArn(const char* value) { SetModelPackageArn(value); return *this;} /** *

The description of the model package.

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

The description of the model package.

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

The description of the model package.

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

The description of the model package.

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

The description of the model package.

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

The description of the model package.

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

The description of the model package.

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

The description of the model package.

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

The time that the model package was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time that the model package was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time that the model package was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time that the model package was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time that the model package was created.

*/ inline ModelPackage& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time that the model package was created.

*/ inline ModelPackage& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

Defines how to perform inference generation after a training job is run.

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

Defines how to perform inference generation after a training job is run.

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

Defines how to perform inference generation after a training job is run.

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

Defines how to perform inference generation after a training job is run.

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

Defines how to perform inference generation after a training job is run.

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

Defines how to perform inference generation after a training job is run.

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

A list of algorithms that were used to create a model package.

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

A list of algorithms that were used to create a model package.

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

A list of algorithms that were used to create a model package.

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

A list of algorithms that were used to create a model package.

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

A list of algorithms that were used to create a model package.

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

A list of algorithms that were used to create a model package.

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

Specifies batch transform jobs that SageMaker runs to validate your model * package.

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

Specifies batch transform jobs that SageMaker runs to validate your model * package.

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

Specifies batch transform jobs that SageMaker runs to validate your model * package.

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

Specifies batch transform jobs that SageMaker runs to validate your model * package.

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

Specifies batch transform jobs that SageMaker runs to validate your model * package.

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

Specifies batch transform jobs that SageMaker runs to validate your model * package.

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

The status of the model package. This can be one of the following values.

*
  • PENDING - The model package is pending being * created.

  • IN_PROGRESS - The model package is in * the process of being created.

  • COMPLETED - The * model package was successfully created.

  • FAILED - * The model package failed.

  • DELETING - The model * package is in the process of being deleted.

*/ inline const ModelPackageStatus& GetModelPackageStatus() const{ return m_modelPackageStatus; } /** *

The status of the model package. This can be one of the following values.

*
  • PENDING - The model package is pending being * created.

  • IN_PROGRESS - The model package is in * the process of being created.

  • COMPLETED - The * model package was successfully created.

  • FAILED - * The model package failed.

  • DELETING - The model * package is in the process of being deleted.

*/ inline bool ModelPackageStatusHasBeenSet() const { return m_modelPackageStatusHasBeenSet; } /** *

The status of the model package. This can be one of the following values.

*
  • PENDING - The model package is pending being * created.

  • IN_PROGRESS - The model package is in * the process of being created.

  • COMPLETED - The * model package was successfully created.

  • FAILED - * The model package failed.

  • DELETING - The model * package is in the process of being deleted.

*/ inline void SetModelPackageStatus(const ModelPackageStatus& value) { m_modelPackageStatusHasBeenSet = true; m_modelPackageStatus = value; } /** *

The status of the model package. This can be one of the following values.

*
  • PENDING - The model package is pending being * created.

  • IN_PROGRESS - The model package is in * the process of being created.

  • COMPLETED - The * model package was successfully created.

  • FAILED - * The model package failed.

  • DELETING - The model * package is in the process of being deleted.

*/ inline void SetModelPackageStatus(ModelPackageStatus&& value) { m_modelPackageStatusHasBeenSet = true; m_modelPackageStatus = std::move(value); } /** *

The status of the model package. This can be one of the following values.

*
  • PENDING - The model package is pending being * created.

  • IN_PROGRESS - The model package is in * the process of being created.

  • COMPLETED - The * model package was successfully created.

  • FAILED - * The model package failed.

  • DELETING - The model * package is in the process of being deleted.

*/ inline ModelPackage& WithModelPackageStatus(const ModelPackageStatus& value) { SetModelPackageStatus(value); return *this;} /** *

The status of the model package. This can be one of the following values.

*
  • PENDING - The model package is pending being * created.

  • IN_PROGRESS - The model package is in * the process of being created.

  • COMPLETED - The * model package was successfully created.

  • FAILED - * The model package failed.

  • DELETING - The model * package is in the process of being deleted.

*/ inline ModelPackage& WithModelPackageStatus(ModelPackageStatus&& value) { SetModelPackageStatus(std::move(value)); return *this;} /** *

Specifies the validation and image scan statuses of the model package.

*/ inline const ModelPackageStatusDetails& GetModelPackageStatusDetails() const{ return m_modelPackageStatusDetails; } /** *

Specifies the validation and image scan statuses of the model package.

*/ inline bool ModelPackageStatusDetailsHasBeenSet() const { return m_modelPackageStatusDetailsHasBeenSet; } /** *

Specifies the validation and image scan statuses of the model package.

*/ inline void SetModelPackageStatusDetails(const ModelPackageStatusDetails& value) { m_modelPackageStatusDetailsHasBeenSet = true; m_modelPackageStatusDetails = value; } /** *

Specifies the validation and image scan statuses of the model package.

*/ inline void SetModelPackageStatusDetails(ModelPackageStatusDetails&& value) { m_modelPackageStatusDetailsHasBeenSet = true; m_modelPackageStatusDetails = std::move(value); } /** *

Specifies the validation and image scan statuses of the model package.

*/ inline ModelPackage& WithModelPackageStatusDetails(const ModelPackageStatusDetails& value) { SetModelPackageStatusDetails(value); return *this;} /** *

Specifies the validation and image scan statuses of the model package.

*/ inline ModelPackage& WithModelPackageStatusDetails(ModelPackageStatusDetails&& value) { SetModelPackageStatusDetails(std::move(value)); return *this;} /** *

Whether the model package is to be certified to be listed on Amazon Web * Services Marketplace. For information about listing model packages on Amazon Web * Services Marketplace, see List * Your Algorithm or Model Package on Amazon Web Services Marketplace.

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

Whether the model package is to be certified to be listed on Amazon Web * Services Marketplace. For information about listing model packages on Amazon Web * Services Marketplace, see List * Your Algorithm or Model Package on Amazon Web Services Marketplace.

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

Whether the model package is to be certified to be listed on Amazon Web * Services Marketplace. For information about listing model packages on Amazon Web * Services Marketplace, see List * Your Algorithm or Model Package on Amazon Web Services Marketplace.

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

Whether the model package is to be certified to be listed on Amazon Web * Services Marketplace. For information about listing model packages on Amazon Web * Services Marketplace, see List * Your Algorithm or Model Package on Amazon Web Services Marketplace.

*/ inline ModelPackage& WithCertifyForMarketplace(bool value) { SetCertifyForMarketplace(value); return *this;} /** *

The approval status of the model. This can be one of the following * values.

  • APPROVED - The model is approved

    *
  • REJECTED - The model is rejected.

  • * PENDING_MANUAL_APPROVAL - The model is waiting for manual * approval.

*/ inline const ModelApprovalStatus& GetModelApprovalStatus() const{ return m_modelApprovalStatus; } /** *

The approval status of the model. This can be one of the following * values.

  • APPROVED - The model is approved

    *
  • REJECTED - The model is rejected.

  • * PENDING_MANUAL_APPROVAL - The model is waiting for manual * approval.

*/ inline bool ModelApprovalStatusHasBeenSet() const { return m_modelApprovalStatusHasBeenSet; } /** *

The approval status of the model. This can be one of the following * values.

  • APPROVED - The model is approved

    *
  • REJECTED - The model is rejected.

  • * PENDING_MANUAL_APPROVAL - The model is waiting for manual * approval.

*/ inline void SetModelApprovalStatus(const ModelApprovalStatus& value) { m_modelApprovalStatusHasBeenSet = true; m_modelApprovalStatus = value; } /** *

The approval status of the model. This can be one of the following * values.

  • APPROVED - The model is approved

    *
  • REJECTED - The model is rejected.

  • * PENDING_MANUAL_APPROVAL - The model is waiting for manual * approval.

*/ inline void SetModelApprovalStatus(ModelApprovalStatus&& value) { m_modelApprovalStatusHasBeenSet = true; m_modelApprovalStatus = std::move(value); } /** *

The approval status of the model. This can be one of the following * values.

  • APPROVED - The model is approved

    *
  • REJECTED - The model is rejected.

  • * PENDING_MANUAL_APPROVAL - The model is waiting for manual * approval.

*/ inline ModelPackage& WithModelApprovalStatus(const ModelApprovalStatus& value) { SetModelApprovalStatus(value); return *this;} /** *

The approval status of the model. This can be one of the following * values.

  • APPROVED - The model is approved

    *
  • REJECTED - The model is rejected.

  • * PENDING_MANUAL_APPROVAL - The model is waiting for manual * approval.

*/ inline ModelPackage& WithModelApprovalStatus(ModelApprovalStatus&& value) { SetModelApprovalStatus(std::move(value)); return *this;} /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline const UserContext& GetCreatedBy() const{ return m_createdBy; } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline void SetCreatedBy(const UserContext& value) { m_createdByHasBeenSet = true; m_createdBy = value; } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline void SetCreatedBy(UserContext&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline ModelPackage& WithCreatedBy(const UserContext& value) { SetCreatedBy(value); return *this;} /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline ModelPackage& WithCreatedBy(UserContext&& value) { SetCreatedBy(std::move(value)); return *this;} /** *

Metadata properties of the tracking entity, trial, or trial component.

*/ inline const MetadataProperties& GetMetadataProperties() const{ return m_metadataProperties; } /** *

Metadata properties of the tracking entity, trial, or trial component.

*/ inline bool MetadataPropertiesHasBeenSet() const { return m_metadataPropertiesHasBeenSet; } /** *

Metadata properties of the tracking entity, trial, or trial component.

*/ inline void SetMetadataProperties(const MetadataProperties& value) { m_metadataPropertiesHasBeenSet = true; m_metadataProperties = value; } /** *

Metadata properties of the tracking entity, trial, or trial component.

*/ inline void SetMetadataProperties(MetadataProperties&& value) { m_metadataPropertiesHasBeenSet = true; m_metadataProperties = std::move(value); } /** *

Metadata properties of the tracking entity, trial, or trial component.

*/ inline ModelPackage& WithMetadataProperties(const MetadataProperties& value) { SetMetadataProperties(value); return *this;} /** *

Metadata properties of the tracking entity, trial, or trial component.

*/ inline ModelPackage& WithMetadataProperties(MetadataProperties&& value) { SetMetadataProperties(std::move(value)); return *this;} /** *

Metrics for the model.

*/ inline const ModelMetrics& GetModelMetrics() const{ return m_modelMetrics; } /** *

Metrics for the model.

*/ inline bool ModelMetricsHasBeenSet() const { return m_modelMetricsHasBeenSet; } /** *

Metrics for the model.

*/ inline void SetModelMetrics(const ModelMetrics& value) { m_modelMetricsHasBeenSet = true; m_modelMetrics = value; } /** *

Metrics for the model.

*/ inline void SetModelMetrics(ModelMetrics&& value) { m_modelMetricsHasBeenSet = true; m_modelMetrics = std::move(value); } /** *

Metrics for the model.

*/ inline ModelPackage& WithModelMetrics(const ModelMetrics& value) { SetModelMetrics(value); return *this;} /** *

Metrics for the model.

*/ inline ModelPackage& WithModelMetrics(ModelMetrics&& value) { SetModelMetrics(std::move(value)); return *this;} /** *

The last time the model package was modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The last time the model package was modified.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The last time the model package was modified.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The last time the model package was modified.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The last time the model package was modified.

*/ inline ModelPackage& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The last time the model package was modified.

*/ inline ModelPackage& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline const UserContext& GetLastModifiedBy() const{ return m_lastModifiedBy; } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline bool LastModifiedByHasBeenSet() const { return m_lastModifiedByHasBeenSet; } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline void SetLastModifiedBy(const UserContext& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = value; } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline void SetLastModifiedBy(UserContext&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::move(value); } /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline ModelPackage& WithLastModifiedBy(const UserContext& value) { SetLastModifiedBy(value); return *this;} /** *

Information about the user who created or modified an experiment, trial, * trial component, lineage group, or project.

*/ inline ModelPackage& WithLastModifiedBy(UserContext&& value) { SetLastModifiedBy(std::move(value)); return *this;} /** *

A description provided when the model approval is set.

*/ inline const Aws::String& GetApprovalDescription() const{ return m_approvalDescription; } /** *

A description provided when the model approval is set.

*/ inline bool ApprovalDescriptionHasBeenSet() const { return m_approvalDescriptionHasBeenSet; } /** *

A description provided when the model approval is set.

*/ inline void SetApprovalDescription(const Aws::String& value) { m_approvalDescriptionHasBeenSet = true; m_approvalDescription = value; } /** *

A description provided when the model approval is set.

*/ inline void SetApprovalDescription(Aws::String&& value) { m_approvalDescriptionHasBeenSet = true; m_approvalDescription = std::move(value); } /** *

A description provided when the model approval is set.

*/ inline void SetApprovalDescription(const char* value) { m_approvalDescriptionHasBeenSet = true; m_approvalDescription.assign(value); } /** *

A description provided when the model approval is set.

*/ inline ModelPackage& WithApprovalDescription(const Aws::String& value) { SetApprovalDescription(value); return *this;} /** *

A description provided when the model approval is set.

*/ inline ModelPackage& WithApprovalDescription(Aws::String&& value) { SetApprovalDescription(std::move(value)); return *this;} /** *

A description provided when the model approval is set.

*/ inline ModelPackage& WithApprovalDescription(const char* value) { SetApprovalDescription(value); return *this;} /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline ModelPackage& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline ModelPackage& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The machine learning domain of your model package and its components. Common * machine learning domains include computer vision and natural language * processing.

*/ inline ModelPackage& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline const Aws::String& GetTask() const{ return m_task; } /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline bool TaskHasBeenSet() const { return m_taskHasBeenSet; } /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline void SetTask(const Aws::String& value) { m_taskHasBeenSet = true; m_task = value; } /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline void SetTask(Aws::String&& value) { m_taskHasBeenSet = true; m_task = std::move(value); } /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline void SetTask(const char* value) { m_taskHasBeenSet = true; m_task.assign(value); } /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline ModelPackage& WithTask(const Aws::String& value) { SetTask(value); return *this;} /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline ModelPackage& WithTask(Aws::String&& value) { SetTask(std::move(value)); return *this;} /** *

The machine learning task your model package accomplishes. Common machine * learning tasks include object detection and image classification.

*/ inline ModelPackage& WithTask(const char* value) { SetTask(value); return *this;} /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline const Aws::String& GetSamplePayloadUrl() const{ return m_samplePayloadUrl; } /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline bool SamplePayloadUrlHasBeenSet() const { return m_samplePayloadUrlHasBeenSet; } /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline void SetSamplePayloadUrl(const Aws::String& value) { m_samplePayloadUrlHasBeenSet = true; m_samplePayloadUrl = value; } /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline void SetSamplePayloadUrl(Aws::String&& value) { m_samplePayloadUrlHasBeenSet = true; m_samplePayloadUrl = std::move(value); } /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline void SetSamplePayloadUrl(const char* value) { m_samplePayloadUrlHasBeenSet = true; m_samplePayloadUrl.assign(value); } /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline ModelPackage& WithSamplePayloadUrl(const Aws::String& value) { SetSamplePayloadUrl(value); return *this;} /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline ModelPackage& WithSamplePayloadUrl(Aws::String&& value) { SetSamplePayloadUrl(std::move(value)); return *this;} /** *

The Amazon Simple Storage Service path where the sample payload are stored. * This path must point to a single gzip compressed tar archive (.tar.gz * suffix).

*/ inline ModelPackage& WithSamplePayloadUrl(const char* value) { SetSamplePayloadUrl(value); return *this;} /** *

An array of additional Inference Specification objects.

*/ inline const Aws::Vector& GetAdditionalInferenceSpecifications() const{ return m_additionalInferenceSpecifications; } /** *

An array of additional Inference Specification objects.

*/ inline bool AdditionalInferenceSpecificationsHasBeenSet() const { return m_additionalInferenceSpecificationsHasBeenSet; } /** *

An array of additional Inference Specification objects.

*/ inline void SetAdditionalInferenceSpecifications(const Aws::Vector& value) { m_additionalInferenceSpecificationsHasBeenSet = true; m_additionalInferenceSpecifications = value; } /** *

An array of additional Inference Specification objects.

*/ inline void SetAdditionalInferenceSpecifications(Aws::Vector&& value) { m_additionalInferenceSpecificationsHasBeenSet = true; m_additionalInferenceSpecifications = std::move(value); } /** *

An array of additional Inference Specification objects.

*/ inline ModelPackage& WithAdditionalInferenceSpecifications(const Aws::Vector& value) { SetAdditionalInferenceSpecifications(value); return *this;} /** *

An array of additional Inference Specification objects.

*/ inline ModelPackage& WithAdditionalInferenceSpecifications(Aws::Vector&& value) { SetAdditionalInferenceSpecifications(std::move(value)); return *this;} /** *

An array of additional Inference Specification objects.

*/ inline ModelPackage& AddAdditionalInferenceSpecifications(const AdditionalInferenceSpecificationDefinition& value) { m_additionalInferenceSpecificationsHasBeenSet = true; m_additionalInferenceSpecifications.push_back(value); return *this; } /** *

An array of additional Inference Specification objects.

*/ inline ModelPackage& AddAdditionalInferenceSpecifications(AdditionalInferenceSpecificationDefinition&& value) { m_additionalInferenceSpecificationsHasBeenSet = true; m_additionalInferenceSpecifications.push_back(std::move(value)); return *this; } /** *

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

A list of the tags associated with the model package. For more information, * see Tagging * Amazon Web Services resources in the Amazon Web Services General * Reference Guide.

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

The metadata properties for the model package.

*/ inline const Aws::Map& GetCustomerMetadataProperties() const{ return m_customerMetadataProperties; } /** *

The metadata properties for the model package.

*/ inline bool CustomerMetadataPropertiesHasBeenSet() const { return m_customerMetadataPropertiesHasBeenSet; } /** *

The metadata properties for the model package.

*/ inline void SetCustomerMetadataProperties(const Aws::Map& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties = value; } /** *

The metadata properties for the model package.

*/ inline void SetCustomerMetadataProperties(Aws::Map&& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties = std::move(value); } /** *

The metadata properties for the model package.

*/ inline ModelPackage& WithCustomerMetadataProperties(const Aws::Map& value) { SetCustomerMetadataProperties(value); return *this;} /** *

The metadata properties for the model package.

*/ inline ModelPackage& WithCustomerMetadataProperties(Aws::Map&& value) { SetCustomerMetadataProperties(std::move(value)); return *this;} /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(const Aws::String& key, const Aws::String& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(key, value); return *this; } /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(Aws::String&& key, const Aws::String& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(std::move(key), value); return *this; } /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(const Aws::String& key, Aws::String&& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(key, std::move(value)); return *this; } /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(Aws::String&& key, Aws::String&& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(std::move(key), std::move(value)); return *this; } /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(const char* key, Aws::String&& value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(key, std::move(value)); return *this; } /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(Aws::String&& key, const char* value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(std::move(key), value); return *this; } /** *

The metadata properties for the model package.

*/ inline ModelPackage& AddCustomerMetadataProperties(const char* key, const char* value) { m_customerMetadataPropertiesHasBeenSet = true; m_customerMetadataProperties.emplace(key, value); return *this; } /** *

Represents the drift check baselines that can be used when the model monitor * is set using the model package.

*/ inline const DriftCheckBaselines& GetDriftCheckBaselines() const{ return m_driftCheckBaselines; } /** *

Represents the drift check baselines that can be used when the model monitor * is set using the model package.

*/ inline bool DriftCheckBaselinesHasBeenSet() const { return m_driftCheckBaselinesHasBeenSet; } /** *

Represents the drift check baselines that can be used when the model monitor * is set using the model package.

*/ inline void SetDriftCheckBaselines(const DriftCheckBaselines& value) { m_driftCheckBaselinesHasBeenSet = true; m_driftCheckBaselines = value; } /** *

Represents the drift check baselines that can be used when the model monitor * is set using the model package.

*/ inline void SetDriftCheckBaselines(DriftCheckBaselines&& value) { m_driftCheckBaselinesHasBeenSet = true; m_driftCheckBaselines = std::move(value); } /** *

Represents the drift check baselines that can be used when the model monitor * is set using the model package.

*/ inline ModelPackage& WithDriftCheckBaselines(const DriftCheckBaselines& value) { SetDriftCheckBaselines(value); return *this;} /** *

Represents the drift check baselines that can be used when the model monitor * is set using the model package.

*/ inline ModelPackage& WithDriftCheckBaselines(DriftCheckBaselines&& value) { SetDriftCheckBaselines(std::move(value)); return *this;} private: Aws::String m_modelPackageName; bool m_modelPackageNameHasBeenSet = false; Aws::String m_modelPackageGroupName; bool m_modelPackageGroupNameHasBeenSet = false; int m_modelPackageVersion; bool m_modelPackageVersionHasBeenSet = false; Aws::String m_modelPackageArn; bool m_modelPackageArnHasBeenSet = false; Aws::String m_modelPackageDescription; bool m_modelPackageDescriptionHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; InferenceSpecification m_inferenceSpecification; bool m_inferenceSpecificationHasBeenSet = false; SourceAlgorithmSpecification m_sourceAlgorithmSpecification; bool m_sourceAlgorithmSpecificationHasBeenSet = false; ModelPackageValidationSpecification m_validationSpecification; bool m_validationSpecificationHasBeenSet = false; ModelPackageStatus m_modelPackageStatus; bool m_modelPackageStatusHasBeenSet = false; ModelPackageStatusDetails m_modelPackageStatusDetails; bool m_modelPackageStatusDetailsHasBeenSet = false; bool m_certifyForMarketplace; bool m_certifyForMarketplaceHasBeenSet = false; ModelApprovalStatus m_modelApprovalStatus; bool m_modelApprovalStatusHasBeenSet = false; UserContext m_createdBy; bool m_createdByHasBeenSet = false; MetadataProperties m_metadataProperties; bool m_metadataPropertiesHasBeenSet = false; ModelMetrics m_modelMetrics; bool m_modelMetricsHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; UserContext m_lastModifiedBy; bool m_lastModifiedByHasBeenSet = false; Aws::String m_approvalDescription; bool m_approvalDescriptionHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_task; bool m_taskHasBeenSet = false; Aws::String m_samplePayloadUrl; bool m_samplePayloadUrlHasBeenSet = false; Aws::Vector m_additionalInferenceSpecifications; bool m_additionalInferenceSpecificationsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Map m_customerMetadataProperties; bool m_customerMetadataPropertiesHasBeenSet = false; DriftCheckBaselines m_driftCheckBaselines; bool m_driftCheckBaselinesHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws