/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.sagemaker.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* A versioned model that can be deployed for SageMaker inference. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ModelPackage implements Serializable, Cloneable, StructuredPojo { /** *

* The name of the model. *

*/ private String modelPackageName; /** *

* The model group to which the model belongs. *

*/ private String modelPackageGroupName; /** *

* The version number of a versioned model. *

*/ private Integer modelPackageVersion; /** *

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

*/ private String modelPackageArn; /** *

* The description of the model package. *

*/ private String modelPackageDescription; /** *

* The time that the model package was created. *

*/ private java.util.Date creationTime; /** *

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

*/ private InferenceSpecification inferenceSpecification; /** *

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

*/ private SourceAlgorithmSpecification sourceAlgorithmSpecification; /** *

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

*/ private ModelPackageValidationSpecification validationSpecification; /** *

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

* */ private String modelPackageStatus; /** *

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

*/ private ModelPackageStatusDetails modelPackageStatusDetails; /** *

* 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. *

*/ private Boolean certifyForMarketplace; /** *

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

* */ private String modelApprovalStatus; /** *

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

*/ private UserContext createdBy; /** *

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

*/ private MetadataProperties metadataProperties; /** *

* Metrics for the model. *

*/ private ModelMetrics modelMetrics; /** *

* The last time the model package was modified. *

*/ private java.util.Date lastModifiedTime; /** *

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

*/ private UserContext lastModifiedBy; /** *

* A description provided when the model approval is set. *

*/ private String approvalDescription; /** *

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

*/ private String domain; /** *

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

*/ private String task; /** *

* 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). *

*/ private String samplePayloadUrl; /** *

* An array of additional Inference Specification objects. *

*/ private java.util.List additionalInferenceSpecifications; /** *

* 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. *

*/ private java.util.List tags; /** *

* The metadata properties for the model package. *

*/ private java.util.Map customerMetadataProperties; /** *

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

*/ private DriftCheckBaselines driftCheckBaselines; /** *

* The name of the model. *

* * @param modelPackageName * The name of the model. */ public void setModelPackageName(String modelPackageName) { this.modelPackageName = modelPackageName; } /** *

* The name of the model. *

* * @return The name of the model. */ public String getModelPackageName() { return this.modelPackageName; } /** *

* The name of the model. *

* * @param modelPackageName * The name of the model. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelPackageName(String modelPackageName) { setModelPackageName(modelPackageName); return this; } /** *

* The model group to which the model belongs. *

* * @param modelPackageGroupName * The model group to which the model belongs. */ public void setModelPackageGroupName(String modelPackageGroupName) { this.modelPackageGroupName = modelPackageGroupName; } /** *

* The model group to which the model belongs. *

* * @return The model group to which the model belongs. */ public String getModelPackageGroupName() { return this.modelPackageGroupName; } /** *

* The model group to which the model belongs. *

* * @param modelPackageGroupName * The model group to which the model belongs. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelPackageGroupName(String modelPackageGroupName) { setModelPackageGroupName(modelPackageGroupName); return this; } /** *

* The version number of a versioned model. *

* * @param modelPackageVersion * The version number of a versioned model. */ public void setModelPackageVersion(Integer modelPackageVersion) { this.modelPackageVersion = modelPackageVersion; } /** *

* The version number of a versioned model. *

* * @return The version number of a versioned model. */ public Integer getModelPackageVersion() { return this.modelPackageVersion; } /** *

* The version number of a versioned model. *

* * @param modelPackageVersion * The version number of a versioned model. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelPackageVersion(Integer modelPackageVersion) { setModelPackageVersion(modelPackageVersion); return this; } /** *

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

* * @param modelPackageArn * The Amazon Resource Name (ARN) of the model package. */ public void setModelPackageArn(String modelPackageArn) { this.modelPackageArn = modelPackageArn; } /** *

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

* * @return The Amazon Resource Name (ARN) of the model package. */ public String getModelPackageArn() { return this.modelPackageArn; } /** *

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

* * @param modelPackageArn * The Amazon Resource Name (ARN) of the model package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelPackageArn(String modelPackageArn) { setModelPackageArn(modelPackageArn); return this; } /** *

* The description of the model package. *

* * @param modelPackageDescription * The description of the model package. */ public void setModelPackageDescription(String modelPackageDescription) { this.modelPackageDescription = modelPackageDescription; } /** *

* The description of the model package. *

* * @return The description of the model package. */ public String getModelPackageDescription() { return this.modelPackageDescription; } /** *

* The description of the model package. *

* * @param modelPackageDescription * The description of the model package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelPackageDescription(String modelPackageDescription) { setModelPackageDescription(modelPackageDescription); return this; } /** *

* The time that the model package was created. *

* * @param creationTime * The time that the model package was created. */ public void setCreationTime(java.util.Date creationTime) { this.creationTime = creationTime; } /** *

* The time that the model package was created. *

* * @return The time that the model package was created. */ public java.util.Date getCreationTime() { return this.creationTime; } /** *

* The time that the model package was created. *

* * @param creationTime * The time that the model package was created. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withCreationTime(java.util.Date creationTime) { setCreationTime(creationTime); return this; } /** *

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

* * @param inferenceSpecification * Defines how to perform inference generation after a training job is run. */ public void setInferenceSpecification(InferenceSpecification inferenceSpecification) { this.inferenceSpecification = inferenceSpecification; } /** *

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

* * @return Defines how to perform inference generation after a training job is run. */ public InferenceSpecification getInferenceSpecification() { return this.inferenceSpecification; } /** *

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

* * @param inferenceSpecification * Defines how to perform inference generation after a training job is run. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withInferenceSpecification(InferenceSpecification inferenceSpecification) { setInferenceSpecification(inferenceSpecification); return this; } /** *

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

* * @param sourceAlgorithmSpecification * A list of algorithms that were used to create a model package. */ public void setSourceAlgorithmSpecification(SourceAlgorithmSpecification sourceAlgorithmSpecification) { this.sourceAlgorithmSpecification = sourceAlgorithmSpecification; } /** *

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

* * @return A list of algorithms that were used to create a model package. */ public SourceAlgorithmSpecification getSourceAlgorithmSpecification() { return this.sourceAlgorithmSpecification; } /** *

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

* * @param sourceAlgorithmSpecification * A list of algorithms that were used to create a model package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withSourceAlgorithmSpecification(SourceAlgorithmSpecification sourceAlgorithmSpecification) { setSourceAlgorithmSpecification(sourceAlgorithmSpecification); return this; } /** *

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

* * @param validationSpecification * Specifies batch transform jobs that SageMaker runs to validate your model package. */ public void setValidationSpecification(ModelPackageValidationSpecification validationSpecification) { this.validationSpecification = validationSpecification; } /** *

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

* * @return Specifies batch transform jobs that SageMaker runs to validate your model package. */ public ModelPackageValidationSpecification getValidationSpecification() { return this.validationSpecification; } /** *

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

* * @param validationSpecification * Specifies batch transform jobs that SageMaker runs to validate your model package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withValidationSpecification(ModelPackageValidationSpecification validationSpecification) { setValidationSpecification(validationSpecification); 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. *

    *
  • *
* * @param 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. *

    *
  • * @see ModelPackageStatus */ public void setModelPackageStatus(String modelPackageStatus) { this.modelPackageStatus = 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. *

      *
    • *
    * * @return 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. *

      *
    • * @see ModelPackageStatus */ public String getModelPackageStatus() { return this.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. *

        *
      • *
      * * @param 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. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see ModelPackageStatus */ public ModelPackage withModelPackageStatus(String modelPackageStatus) { setModelPackageStatus(modelPackageStatus); 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. *

          *
        • *
        * * @param 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. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see ModelPackageStatus */ public ModelPackage withModelPackageStatus(ModelPackageStatus modelPackageStatus) { this.modelPackageStatus = modelPackageStatus.toString(); return this; } /** *

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

          * * @param modelPackageStatusDetails * Specifies the validation and image scan statuses of the model package. */ public void setModelPackageStatusDetails(ModelPackageStatusDetails modelPackageStatusDetails) { this.modelPackageStatusDetails = modelPackageStatusDetails; } /** *

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

          * * @return Specifies the validation and image scan statuses of the model package. */ public ModelPackageStatusDetails getModelPackageStatusDetails() { return this.modelPackageStatusDetails; } /** *

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

          * * @param modelPackageStatusDetails * Specifies the validation and image scan statuses of the model package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelPackageStatusDetails(ModelPackageStatusDetails modelPackageStatusDetails) { setModelPackageStatusDetails(modelPackageStatusDetails); 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. *

          * * @param 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. */ public void setCertifyForMarketplace(Boolean certifyForMarketplace) { this.certifyForMarketplace = 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. *

          * * @return 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. */ public Boolean getCertifyForMarketplace() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withCertifyForMarketplace(Boolean certifyForMarketplace) { setCertifyForMarketplace(certifyForMarketplace); 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. *

          * * @return 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. */ public Boolean isCertifyForMarketplace() { return this.certifyForMarketplace; } /** *

          * 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. *

            *
          • *
          * * @param 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. *

            *
          • * @see ModelApprovalStatus */ public void setModelApprovalStatus(String modelApprovalStatus) { this.modelApprovalStatus = 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. *

              *
            • *
            * * @return 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. *

              *
            • * @see ModelApprovalStatus */ public String getModelApprovalStatus() { return this.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. *

                *
              • *
              * * @param 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. *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. * @see ModelApprovalStatus */ public ModelPackage withModelApprovalStatus(String modelApprovalStatus) { setModelApprovalStatus(modelApprovalStatus); 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. *

                  *
                • *
                * * @param 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. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. * @see ModelApprovalStatus */ public ModelPackage withModelApprovalStatus(ModelApprovalStatus modelApprovalStatus) { this.modelApprovalStatus = modelApprovalStatus.toString(); return this; } /** *

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

                  * * @param createdBy * Information about the user who created or modified an experiment, trial, trial component, lineage group, * or project. */ public void setCreatedBy(UserContext createdBy) { this.createdBy = createdBy; } /** *

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

                  * * @return Information about the user who created or modified an experiment, trial, trial component, lineage group, * or project. */ public UserContext getCreatedBy() { return this.createdBy; } /** *

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

                  * * @param createdBy * Information about the user who created or modified an experiment, trial, trial component, lineage group, * or project. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withCreatedBy(UserContext createdBy) { setCreatedBy(createdBy); return this; } /** *

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

                  * * @param metadataProperties * Metadata properties of the tracking entity, trial, or trial component. */ public void setMetadataProperties(MetadataProperties metadataProperties) { this.metadataProperties = metadataProperties; } /** *

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

                  * * @return Metadata properties of the tracking entity, trial, or trial component. */ public MetadataProperties getMetadataProperties() { return this.metadataProperties; } /** *

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

                  * * @param metadataProperties * Metadata properties of the tracking entity, trial, or trial component. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withMetadataProperties(MetadataProperties metadataProperties) { setMetadataProperties(metadataProperties); return this; } /** *

                  * Metrics for the model. *

                  * * @param modelMetrics * Metrics for the model. */ public void setModelMetrics(ModelMetrics modelMetrics) { this.modelMetrics = modelMetrics; } /** *

                  * Metrics for the model. *

                  * * @return Metrics for the model. */ public ModelMetrics getModelMetrics() { return this.modelMetrics; } /** *

                  * Metrics for the model. *

                  * * @param modelMetrics * Metrics for the model. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withModelMetrics(ModelMetrics modelMetrics) { setModelMetrics(modelMetrics); return this; } /** *

                  * The last time the model package was modified. *

                  * * @param lastModifiedTime * The last time the model package was modified. */ public void setLastModifiedTime(java.util.Date lastModifiedTime) { this.lastModifiedTime = lastModifiedTime; } /** *

                  * The last time the model package was modified. *

                  * * @return The last time the model package was modified. */ public java.util.Date getLastModifiedTime() { return this.lastModifiedTime; } /** *

                  * The last time the model package was modified. *

                  * * @param lastModifiedTime * The last time the model package was modified. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withLastModifiedTime(java.util.Date lastModifiedTime) { setLastModifiedTime(lastModifiedTime); return this; } /** *

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

                  * * @param lastModifiedBy * Information about the user who created or modified an experiment, trial, trial component, lineage group, * or project. */ public void setLastModifiedBy(UserContext lastModifiedBy) { this.lastModifiedBy = lastModifiedBy; } /** *

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

                  * * @return Information about the user who created or modified an experiment, trial, trial component, lineage group, * or project. */ public UserContext getLastModifiedBy() { return this.lastModifiedBy; } /** *

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

                  * * @param lastModifiedBy * Information about the user who created or modified an experiment, trial, trial component, lineage group, * or project. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withLastModifiedBy(UserContext lastModifiedBy) { setLastModifiedBy(lastModifiedBy); return this; } /** *

                  * A description provided when the model approval is set. *

                  * * @param approvalDescription * A description provided when the model approval is set. */ public void setApprovalDescription(String approvalDescription) { this.approvalDescription = approvalDescription; } /** *

                  * A description provided when the model approval is set. *

                  * * @return A description provided when the model approval is set. */ public String getApprovalDescription() { return this.approvalDescription; } /** *

                  * A description provided when the model approval is set. *

                  * * @param approvalDescription * A description provided when the model approval is set. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withApprovalDescription(String approvalDescription) { setApprovalDescription(approvalDescription); return this; } /** *

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

                  * * @param domain * The machine learning domain of your model package and its components. Common machine learning domains * include computer vision and natural language processing. */ public void setDomain(String domain) { this.domain = domain; } /** *

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

                  * * @return The machine learning domain of your model package and its components. Common machine learning domains * include computer vision and natural language processing. */ public String getDomain() { return this.domain; } /** *

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

                  * * @param domain * The machine learning domain of your model package and its components. Common machine learning domains * include computer vision and natural language processing. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withDomain(String domain) { setDomain(domain); return this; } /** *

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

                  * * @param task * The machine learning task your model package accomplishes. Common machine learning tasks include object * detection and image classification. */ public void setTask(String task) { this.task = task; } /** *

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

                  * * @return The machine learning task your model package accomplishes. Common machine learning tasks include object * detection and image classification. */ public String getTask() { return this.task; } /** *

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

                  * * @param task * The machine learning task your model package accomplishes. Common machine learning tasks include object * detection and image classification. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withTask(String task) { setTask(task); 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). *

                  * * @param 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). */ public void setSamplePayloadUrl(String samplePayloadUrl) { this.samplePayloadUrl = 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). *

                  * * @return 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). */ public String getSamplePayloadUrl() { return this.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). *

                  * * @param 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). * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withSamplePayloadUrl(String samplePayloadUrl) { setSamplePayloadUrl(samplePayloadUrl); return this; } /** *

                  * An array of additional Inference Specification objects. *

                  * * @return An array of additional Inference Specification objects. */ public java.util.List getAdditionalInferenceSpecifications() { return additionalInferenceSpecifications; } /** *

                  * An array of additional Inference Specification objects. *

                  * * @param additionalInferenceSpecifications * An array of additional Inference Specification objects. */ public void setAdditionalInferenceSpecifications(java.util.Collection additionalInferenceSpecifications) { if (additionalInferenceSpecifications == null) { this.additionalInferenceSpecifications = null; return; } this.additionalInferenceSpecifications = new java.util.ArrayList(additionalInferenceSpecifications); } /** *

                  * An array of additional Inference Specification objects. *

                  *

                  * NOTE: This method appends the values to the existing list (if any). Use * {@link #setAdditionalInferenceSpecifications(java.util.Collection)} or * {@link #withAdditionalInferenceSpecifications(java.util.Collection)} if you want to override the existing values. *

                  * * @param additionalInferenceSpecifications * An array of additional Inference Specification objects. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withAdditionalInferenceSpecifications(AdditionalInferenceSpecificationDefinition... additionalInferenceSpecifications) { if (this.additionalInferenceSpecifications == null) { setAdditionalInferenceSpecifications(new java.util.ArrayList(additionalInferenceSpecifications.length)); } for (AdditionalInferenceSpecificationDefinition ele : additionalInferenceSpecifications) { this.additionalInferenceSpecifications.add(ele); } return this; } /** *

                  * An array of additional Inference Specification objects. *

                  * * @param additionalInferenceSpecifications * An array of additional Inference Specification objects. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withAdditionalInferenceSpecifications(java.util.Collection additionalInferenceSpecifications) { setAdditionalInferenceSpecifications(additionalInferenceSpecifications); 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. *

                  * * @return 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. */ public java.util.List getTags() { return 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. *

                  * * @param 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. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(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. *

                  *

                  * NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

                  * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } 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. *

                  * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

                  * The metadata properties for the model package. *

                  * * @return The metadata properties for the model package. */ public java.util.Map getCustomerMetadataProperties() { return customerMetadataProperties; } /** *

                  * The metadata properties for the model package. *

                  * * @param customerMetadataProperties * The metadata properties for the model package. */ public void setCustomerMetadataProperties(java.util.Map customerMetadataProperties) { this.customerMetadataProperties = customerMetadataProperties; } /** *

                  * The metadata properties for the model package. *

                  * * @param customerMetadataProperties * The metadata properties for the model package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withCustomerMetadataProperties(java.util.Map customerMetadataProperties) { setCustomerMetadataProperties(customerMetadataProperties); return this; } /** * Add a single CustomerMetadataProperties entry * * @see ModelPackage#withCustomerMetadataProperties * @returns a reference to this object so that method calls can be chained together. */ public ModelPackage addCustomerMetadataPropertiesEntry(String key, String value) { if (null == this.customerMetadataProperties) { this.customerMetadataProperties = new java.util.HashMap(); } if (this.customerMetadataProperties.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.customerMetadataProperties.put(key, value); return this; } /** * Removes all the entries added into CustomerMetadataProperties. * * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage clearCustomerMetadataPropertiesEntries() { this.customerMetadataProperties = null; return this; } /** *

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

                  * * @param driftCheckBaselines * Represents the drift check baselines that can be used when the model monitor is set using the model * package. */ public void setDriftCheckBaselines(DriftCheckBaselines driftCheckBaselines) { this.driftCheckBaselines = driftCheckBaselines; } /** *

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

                  * * @return Represents the drift check baselines that can be used when the model monitor is set using the model * package. */ public DriftCheckBaselines getDriftCheckBaselines() { return this.driftCheckBaselines; } /** *

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

                  * * @param driftCheckBaselines * Represents the drift check baselines that can be used when the model monitor is set using the model * package. * @return Returns a reference to this object so that method calls can be chained together. */ public ModelPackage withDriftCheckBaselines(DriftCheckBaselines driftCheckBaselines) { setDriftCheckBaselines(driftCheckBaselines); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getModelPackageName() != null) sb.append("ModelPackageName: ").append(getModelPackageName()).append(","); if (getModelPackageGroupName() != null) sb.append("ModelPackageGroupName: ").append(getModelPackageGroupName()).append(","); if (getModelPackageVersion() != null) sb.append("ModelPackageVersion: ").append(getModelPackageVersion()).append(","); if (getModelPackageArn() != null) sb.append("ModelPackageArn: ").append(getModelPackageArn()).append(","); if (getModelPackageDescription() != null) sb.append("ModelPackageDescription: ").append(getModelPackageDescription()).append(","); if (getCreationTime() != null) sb.append("CreationTime: ").append(getCreationTime()).append(","); if (getInferenceSpecification() != null) sb.append("InferenceSpecification: ").append(getInferenceSpecification()).append(","); if (getSourceAlgorithmSpecification() != null) sb.append("SourceAlgorithmSpecification: ").append(getSourceAlgorithmSpecification()).append(","); if (getValidationSpecification() != null) sb.append("ValidationSpecification: ").append(getValidationSpecification()).append(","); if (getModelPackageStatus() != null) sb.append("ModelPackageStatus: ").append(getModelPackageStatus()).append(","); if (getModelPackageStatusDetails() != null) sb.append("ModelPackageStatusDetails: ").append(getModelPackageStatusDetails()).append(","); if (getCertifyForMarketplace() != null) sb.append("CertifyForMarketplace: ").append(getCertifyForMarketplace()).append(","); if (getModelApprovalStatus() != null) sb.append("ModelApprovalStatus: ").append(getModelApprovalStatus()).append(","); if (getCreatedBy() != null) sb.append("CreatedBy: ").append(getCreatedBy()).append(","); if (getMetadataProperties() != null) sb.append("MetadataProperties: ").append(getMetadataProperties()).append(","); if (getModelMetrics() != null) sb.append("ModelMetrics: ").append(getModelMetrics()).append(","); if (getLastModifiedTime() != null) sb.append("LastModifiedTime: ").append(getLastModifiedTime()).append(","); if (getLastModifiedBy() != null) sb.append("LastModifiedBy: ").append(getLastModifiedBy()).append(","); if (getApprovalDescription() != null) sb.append("ApprovalDescription: ").append(getApprovalDescription()).append(","); if (getDomain() != null) sb.append("Domain: ").append(getDomain()).append(","); if (getTask() != null) sb.append("Task: ").append(getTask()).append(","); if (getSamplePayloadUrl() != null) sb.append("SamplePayloadUrl: ").append(getSamplePayloadUrl()).append(","); if (getAdditionalInferenceSpecifications() != null) sb.append("AdditionalInferenceSpecifications: ").append(getAdditionalInferenceSpecifications()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getCustomerMetadataProperties() != null) sb.append("CustomerMetadataProperties: ").append(getCustomerMetadataProperties()).append(","); if (getDriftCheckBaselines() != null) sb.append("DriftCheckBaselines: ").append(getDriftCheckBaselines()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModelPackage == false) return false; ModelPackage other = (ModelPackage) obj; if (other.getModelPackageName() == null ^ this.getModelPackageName() == null) return false; if (other.getModelPackageName() != null && other.getModelPackageName().equals(this.getModelPackageName()) == false) return false; if (other.getModelPackageGroupName() == null ^ this.getModelPackageGroupName() == null) return false; if (other.getModelPackageGroupName() != null && other.getModelPackageGroupName().equals(this.getModelPackageGroupName()) == false) return false; if (other.getModelPackageVersion() == null ^ this.getModelPackageVersion() == null) return false; if (other.getModelPackageVersion() != null && other.getModelPackageVersion().equals(this.getModelPackageVersion()) == false) return false; if (other.getModelPackageArn() == null ^ this.getModelPackageArn() == null) return false; if (other.getModelPackageArn() != null && other.getModelPackageArn().equals(this.getModelPackageArn()) == false) return false; if (other.getModelPackageDescription() == null ^ this.getModelPackageDescription() == null) return false; if (other.getModelPackageDescription() != null && other.getModelPackageDescription().equals(this.getModelPackageDescription()) == false) return false; if (other.getCreationTime() == null ^ this.getCreationTime() == null) return false; if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false) return false; if (other.getInferenceSpecification() == null ^ this.getInferenceSpecification() == null) return false; if (other.getInferenceSpecification() != null && other.getInferenceSpecification().equals(this.getInferenceSpecification()) == false) return false; if (other.getSourceAlgorithmSpecification() == null ^ this.getSourceAlgorithmSpecification() == null) return false; if (other.getSourceAlgorithmSpecification() != null && other.getSourceAlgorithmSpecification().equals(this.getSourceAlgorithmSpecification()) == false) return false; if (other.getValidationSpecification() == null ^ this.getValidationSpecification() == null) return false; if (other.getValidationSpecification() != null && other.getValidationSpecification().equals(this.getValidationSpecification()) == false) return false; if (other.getModelPackageStatus() == null ^ this.getModelPackageStatus() == null) return false; if (other.getModelPackageStatus() != null && other.getModelPackageStatus().equals(this.getModelPackageStatus()) == false) return false; if (other.getModelPackageStatusDetails() == null ^ this.getModelPackageStatusDetails() == null) return false; if (other.getModelPackageStatusDetails() != null && other.getModelPackageStatusDetails().equals(this.getModelPackageStatusDetails()) == false) return false; if (other.getCertifyForMarketplace() == null ^ this.getCertifyForMarketplace() == null) return false; if (other.getCertifyForMarketplace() != null && other.getCertifyForMarketplace().equals(this.getCertifyForMarketplace()) == false) return false; if (other.getModelApprovalStatus() == null ^ this.getModelApprovalStatus() == null) return false; if (other.getModelApprovalStatus() != null && other.getModelApprovalStatus().equals(this.getModelApprovalStatus()) == false) return false; if (other.getCreatedBy() == null ^ this.getCreatedBy() == null) return false; if (other.getCreatedBy() != null && other.getCreatedBy().equals(this.getCreatedBy()) == false) return false; if (other.getMetadataProperties() == null ^ this.getMetadataProperties() == null) return false; if (other.getMetadataProperties() != null && other.getMetadataProperties().equals(this.getMetadataProperties()) == false) return false; if (other.getModelMetrics() == null ^ this.getModelMetrics() == null) return false; if (other.getModelMetrics() != null && other.getModelMetrics().equals(this.getModelMetrics()) == false) return false; if (other.getLastModifiedTime() == null ^ this.getLastModifiedTime() == null) return false; if (other.getLastModifiedTime() != null && other.getLastModifiedTime().equals(this.getLastModifiedTime()) == false) return false; if (other.getLastModifiedBy() == null ^ this.getLastModifiedBy() == null) return false; if (other.getLastModifiedBy() != null && other.getLastModifiedBy().equals(this.getLastModifiedBy()) == false) return false; if (other.getApprovalDescription() == null ^ this.getApprovalDescription() == null) return false; if (other.getApprovalDescription() != null && other.getApprovalDescription().equals(this.getApprovalDescription()) == false) return false; if (other.getDomain() == null ^ this.getDomain() == null) return false; if (other.getDomain() != null && other.getDomain().equals(this.getDomain()) == false) return false; if (other.getTask() == null ^ this.getTask() == null) return false; if (other.getTask() != null && other.getTask().equals(this.getTask()) == false) return false; if (other.getSamplePayloadUrl() == null ^ this.getSamplePayloadUrl() == null) return false; if (other.getSamplePayloadUrl() != null && other.getSamplePayloadUrl().equals(this.getSamplePayloadUrl()) == false) return false; if (other.getAdditionalInferenceSpecifications() == null ^ this.getAdditionalInferenceSpecifications() == null) return false; if (other.getAdditionalInferenceSpecifications() != null && other.getAdditionalInferenceSpecifications().equals(this.getAdditionalInferenceSpecifications()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getCustomerMetadataProperties() == null ^ this.getCustomerMetadataProperties() == null) return false; if (other.getCustomerMetadataProperties() != null && other.getCustomerMetadataProperties().equals(this.getCustomerMetadataProperties()) == false) return false; if (other.getDriftCheckBaselines() == null ^ this.getDriftCheckBaselines() == null) return false; if (other.getDriftCheckBaselines() != null && other.getDriftCheckBaselines().equals(this.getDriftCheckBaselines()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getModelPackageName() == null) ? 0 : getModelPackageName().hashCode()); hashCode = prime * hashCode + ((getModelPackageGroupName() == null) ? 0 : getModelPackageGroupName().hashCode()); hashCode = prime * hashCode + ((getModelPackageVersion() == null) ? 0 : getModelPackageVersion().hashCode()); hashCode = prime * hashCode + ((getModelPackageArn() == null) ? 0 : getModelPackageArn().hashCode()); hashCode = prime * hashCode + ((getModelPackageDescription() == null) ? 0 : getModelPackageDescription().hashCode()); hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode()); hashCode = prime * hashCode + ((getInferenceSpecification() == null) ? 0 : getInferenceSpecification().hashCode()); hashCode = prime * hashCode + ((getSourceAlgorithmSpecification() == null) ? 0 : getSourceAlgorithmSpecification().hashCode()); hashCode = prime * hashCode + ((getValidationSpecification() == null) ? 0 : getValidationSpecification().hashCode()); hashCode = prime * hashCode + ((getModelPackageStatus() == null) ? 0 : getModelPackageStatus().hashCode()); hashCode = prime * hashCode + ((getModelPackageStatusDetails() == null) ? 0 : getModelPackageStatusDetails().hashCode()); hashCode = prime * hashCode + ((getCertifyForMarketplace() == null) ? 0 : getCertifyForMarketplace().hashCode()); hashCode = prime * hashCode + ((getModelApprovalStatus() == null) ? 0 : getModelApprovalStatus().hashCode()); hashCode = prime * hashCode + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode()); hashCode = prime * hashCode + ((getMetadataProperties() == null) ? 0 : getMetadataProperties().hashCode()); hashCode = prime * hashCode + ((getModelMetrics() == null) ? 0 : getModelMetrics().hashCode()); hashCode = prime * hashCode + ((getLastModifiedTime() == null) ? 0 : getLastModifiedTime().hashCode()); hashCode = prime * hashCode + ((getLastModifiedBy() == null) ? 0 : getLastModifiedBy().hashCode()); hashCode = prime * hashCode + ((getApprovalDescription() == null) ? 0 : getApprovalDescription().hashCode()); hashCode = prime * hashCode + ((getDomain() == null) ? 0 : getDomain().hashCode()); hashCode = prime * hashCode + ((getTask() == null) ? 0 : getTask().hashCode()); hashCode = prime * hashCode + ((getSamplePayloadUrl() == null) ? 0 : getSamplePayloadUrl().hashCode()); hashCode = prime * hashCode + ((getAdditionalInferenceSpecifications() == null) ? 0 : getAdditionalInferenceSpecifications().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getCustomerMetadataProperties() == null) ? 0 : getCustomerMetadataProperties().hashCode()); hashCode = prime * hashCode + ((getDriftCheckBaselines() == null) ? 0 : getDriftCheckBaselines().hashCode()); return hashCode; } @Override public ModelPackage clone() { try { return (ModelPackage) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.sagemaker.model.transform.ModelPackageMarshaller.getInstance().marshall(this, protocolMarshaller); } }