class Aws::SageMaker::Types::CreateModelPackageInput

@note When making an API call, you may pass CreateModelPackageInput

data as a hash:

    {
      model_package_name: "EntityName",
      model_package_group_name: "EntityName",
      model_package_description: "EntityDescription",
      inference_specification: {
        containers: [ # required
          {
            container_hostname: "ContainerHostname",
            image: "ContainerImage", # required
            image_digest: "ImageDigest",
            model_data_url: "Url",
            product_id: "ProductId",
            environment: {
              "EnvironmentKey" => "EnvironmentValue",
            },
          },
        ],
        supported_transform_instance_types: ["ml.m4.xlarge"], # accepts ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge
        supported_realtime_inference_instance_types: ["ml.t2.medium"], # accepts ml.t2.medium, ml.t2.large, ml.t2.xlarge, ml.t2.2xlarge, ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.m5d.large, ml.m5d.xlarge, ml.m5d.2xlarge, ml.m5d.4xlarge, ml.m5d.12xlarge, ml.m5d.24xlarge, ml.c4.large, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.c5.large, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.c5d.large, ml.c5d.xlarge, ml.c5d.2xlarge, ml.c5d.4xlarge, ml.c5d.9xlarge, ml.c5d.18xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge, ml.r5.large, ml.r5.xlarge, ml.r5.2xlarge, ml.r5.4xlarge, ml.r5.12xlarge, ml.r5.24xlarge, ml.r5d.large, ml.r5d.xlarge, ml.r5d.2xlarge, ml.r5d.4xlarge, ml.r5d.12xlarge, ml.r5d.24xlarge, ml.inf1.xlarge, ml.inf1.2xlarge, ml.inf1.6xlarge, ml.inf1.24xlarge
        supported_content_types: ["ContentType"], # required
        supported_response_mime_types: ["ResponseMIMEType"], # required
      },
      validation_specification: {
        validation_role: "RoleArn", # required
        validation_profiles: [ # required
          {
            profile_name: "EntityName", # required
            transform_job_definition: { # required
              max_concurrent_transforms: 1,
              max_payload_in_mb: 1,
              batch_strategy: "MultiRecord", # accepts MultiRecord, SingleRecord
              environment: {
                "TransformEnvironmentKey" => "TransformEnvironmentValue",
              },
              transform_input: { # required
                data_source: { # required
                  s3_data_source: { # required
                    s3_data_type: "ManifestFile", # required, accepts ManifestFile, S3Prefix, AugmentedManifestFile
                    s3_uri: "S3Uri", # required
                  },
                },
                content_type: "ContentType",
                compression_type: "None", # accepts None, Gzip
                split_type: "None", # accepts None, Line, RecordIO, TFRecord
              },
              transform_output: { # required
                s3_output_path: "S3Uri", # required
                accept: "Accept",
                assemble_with: "None", # accepts None, Line
                kms_key_id: "KmsKeyId",
              },
              transform_resources: { # required
                instance_type: "ml.m4.xlarge", # required, accepts ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge
                instance_count: 1, # required
                volume_kms_key_id: "KmsKeyId",
              },
            },
          },
        ],
      },
      source_algorithm_specification: {
        source_algorithms: [ # required
          {
            model_data_url: "Url",
            algorithm_name: "ArnOrName", # required
          },
        ],
      },
      certify_for_marketplace: false,
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      model_approval_status: "Approved", # accepts Approved, Rejected, PendingManualApproval
      metadata_properties: {
        commit_id: "MetadataPropertyValue",
        repository: "MetadataPropertyValue",
        generated_by: "MetadataPropertyValue",
        project_id: "MetadataPropertyValue",
      },
      model_metrics: {
        model_quality: {
          statistics: {
            content_type: "ContentType", # required
            content_digest: "ContentDigest",
            s3_uri: "S3Uri", # required
          },
          constraints: {
            content_type: "ContentType", # required
            content_digest: "ContentDigest",
            s3_uri: "S3Uri", # required
          },
        },
        model_data_quality: {
          statistics: {
            content_type: "ContentType", # required
            content_digest: "ContentDigest",
            s3_uri: "S3Uri", # required
          },
          constraints: {
            content_type: "ContentType", # required
            content_digest: "ContentDigest",
            s3_uri: "S3Uri", # required
          },
        },
        bias: {
          report: {
            content_type: "ContentType", # required
            content_digest: "ContentDigest",
            s3_uri: "S3Uri", # required
          },
        },
        explainability: {
          report: {
            content_type: "ContentType", # required
            content_digest: "ContentDigest",
            s3_uri: "S3Uri", # required
          },
        },
      },
      client_token: "ClientToken",
    }

@!attribute [rw] model_package_name

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

This parameter is required for unversioned models. It is not
applicable to versioned models.
@return [String]

@!attribute [rw] model_package_group_name

The name of the model group that this model version belongs to.

This parameter is required for versioned models, and does not apply
to unversioned models.
@return [String]

@!attribute [rw] model_package_description

A description of the model package.
@return [String]

@!attribute [rw] inference_specification

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

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

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

* The input and output content formats that the model package
  supports for inference.
@return [Types::InferenceSpecification]

@!attribute [rw] validation_specification

Specifies configurations for one or more transform jobs that Amazon
SageMaker runs to test the model package.
@return [Types::ModelPackageValidationSpecification]

@!attribute [rw] source_algorithm_specification

Details about the algorithm that was used to create the model
package.
@return [Types::SourceAlgorithmSpecification]

@!attribute [rw] certify_for_marketplace

Whether to certify the model package for listing on Amazon Web
Services Marketplace.

This parameter is optional for unversioned models, and does not
apply to versioned models.
@return [Boolean]

@!attribute [rw] tags

A list of key value pairs associated with the model. For more
information, see [Tagging Amazon Web Services resources][1] in the
*Amazon Web Services General Reference Guide*.

[1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
@return [Array<Types::Tag>]

@!attribute [rw] model_approval_status

Whether the model is approved for deployment.

This parameter is optional for versioned models, and does not apply
to unversioned models.

For versioned models, the value of this parameter must be set to
`Approved` to deploy the model.
@return [String]

@!attribute [rw] metadata_properties

Metadata properties of the tracking entity, trial, or trial
component.
@return [Types::MetadataProperties]

@!attribute [rw] model_metrics

A structure that contains model metrics reports.
@return [Types::ModelMetrics]

@!attribute [rw] client_token

A unique token that guarantees that the call to this API is
idempotent.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateModelPackageInput AWS API Documentation

Constants

SENSITIVE