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

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 UpdateModelPackageRequest& WithModelPackageArn(const Aws::String& value) { SetModelPackageArn(value); return *this;} /** *

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

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

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

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

The approval status of the model.

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

The approval status of the model.

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

The approval status of the model.

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

The approval status of the model.

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

The approval status of the model.

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

The approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

A description for the approval status of the model.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions.

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

The metadata properties associated with the model package versions to * remove.

*/ inline const Aws::Vector& GetCustomerMetadataPropertiesToRemove() const{ return m_customerMetadataPropertiesToRemove; } /** *

The metadata properties associated with the model package versions to * remove.

*/ inline bool CustomerMetadataPropertiesToRemoveHasBeenSet() const { return m_customerMetadataPropertiesToRemoveHasBeenSet; } /** *

The metadata properties associated with the model package versions to * remove.

*/ inline void SetCustomerMetadataPropertiesToRemove(const Aws::Vector& value) { m_customerMetadataPropertiesToRemoveHasBeenSet = true; m_customerMetadataPropertiesToRemove = value; } /** *

The metadata properties associated with the model package versions to * remove.

*/ inline void SetCustomerMetadataPropertiesToRemove(Aws::Vector&& value) { m_customerMetadataPropertiesToRemoveHasBeenSet = true; m_customerMetadataPropertiesToRemove = std::move(value); } /** *

The metadata properties associated with the model package versions to * remove.

*/ inline UpdateModelPackageRequest& WithCustomerMetadataPropertiesToRemove(const Aws::Vector& value) { SetCustomerMetadataPropertiesToRemove(value); return *this;} /** *

The metadata properties associated with the model package versions to * remove.

*/ inline UpdateModelPackageRequest& WithCustomerMetadataPropertiesToRemove(Aws::Vector&& value) { SetCustomerMetadataPropertiesToRemove(std::move(value)); return *this;} /** *

The metadata properties associated with the model package versions to * remove.

*/ inline UpdateModelPackageRequest& AddCustomerMetadataPropertiesToRemove(const Aws::String& value) { m_customerMetadataPropertiesToRemoveHasBeenSet = true; m_customerMetadataPropertiesToRemove.push_back(value); return *this; } /** *

The metadata properties associated with the model package versions to * remove.

*/ inline UpdateModelPackageRequest& AddCustomerMetadataPropertiesToRemove(Aws::String&& value) { m_customerMetadataPropertiesToRemoveHasBeenSet = true; m_customerMetadataPropertiesToRemove.push_back(std::move(value)); return *this; } /** *

The metadata properties associated with the model package versions to * remove.

*/ inline UpdateModelPackageRequest& AddCustomerMetadataPropertiesToRemove(const char* value) { m_customerMetadataPropertiesToRemoveHasBeenSet = true; m_customerMetadataPropertiesToRemove.push_back(value); return *this; } /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline const Aws::Vector& GetAdditionalInferenceSpecificationsToAdd() const{ return m_additionalInferenceSpecificationsToAdd; } /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline bool AdditionalInferenceSpecificationsToAddHasBeenSet() const { return m_additionalInferenceSpecificationsToAddHasBeenSet; } /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline void SetAdditionalInferenceSpecificationsToAdd(const Aws::Vector& value) { m_additionalInferenceSpecificationsToAddHasBeenSet = true; m_additionalInferenceSpecificationsToAdd = value; } /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline void SetAdditionalInferenceSpecificationsToAdd(Aws::Vector&& value) { m_additionalInferenceSpecificationsToAddHasBeenSet = true; m_additionalInferenceSpecificationsToAdd = std::move(value); } /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline UpdateModelPackageRequest& WithAdditionalInferenceSpecificationsToAdd(const Aws::Vector& value) { SetAdditionalInferenceSpecificationsToAdd(value); return *this;} /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline UpdateModelPackageRequest& WithAdditionalInferenceSpecificationsToAdd(Aws::Vector&& value) { SetAdditionalInferenceSpecificationsToAdd(std::move(value)); return *this;} /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline UpdateModelPackageRequest& AddAdditionalInferenceSpecificationsToAdd(const AdditionalInferenceSpecificationDefinition& value) { m_additionalInferenceSpecificationsToAddHasBeenSet = true; m_additionalInferenceSpecificationsToAdd.push_back(value); return *this; } /** *

An array of additional Inference Specification objects to be added to the * existing array additional Inference Specification. Total number of additional * Inference Specifications can not exceed 15. Each additional Inference * Specification specifies artifacts based on this model package that can be used * on inference endpoints. Generally used with SageMaker Neo to store the compiled * artifacts.

*/ inline UpdateModelPackageRequest& AddAdditionalInferenceSpecificationsToAdd(AdditionalInferenceSpecificationDefinition&& value) { m_additionalInferenceSpecificationsToAddHasBeenSet = true; m_additionalInferenceSpecificationsToAdd.push_back(std::move(value)); return *this; } private: Aws::String m_modelPackageArn; bool m_modelPackageArnHasBeenSet = false; ModelApprovalStatus m_modelApprovalStatus; bool m_modelApprovalStatusHasBeenSet = false; Aws::String m_approvalDescription; bool m_approvalDescriptionHasBeenSet = false; Aws::Map m_customerMetadataProperties; bool m_customerMetadataPropertiesHasBeenSet = false; Aws::Vector m_customerMetadataPropertiesToRemove; bool m_customerMetadataPropertiesToRemoveHasBeenSet = false; Aws::Vector m_additionalInferenceSpecificationsToAdd; bool m_additionalInferenceSpecificationsToAddHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws