class Aws::SageMaker::Types::CreateEndpointConfigInput

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

data as a hash:

    {
      endpoint_config_name: "EndpointConfigName", # required
      production_variants: [ # required
        {
          variant_name: "VariantName", # required
          model_name: "ModelName", # required
          initial_instance_count: 1, # required
          instance_type: "ml.t2.medium", # required, 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
          initial_variant_weight: 1.0,
          accelerator_type: "ml.eia1.medium", # accepts ml.eia1.medium, ml.eia1.large, ml.eia1.xlarge, ml.eia2.medium, ml.eia2.large, ml.eia2.xlarge
          core_dump_config: {
            destination_s3_uri: "DestinationS3Uri", # required
            kms_key_id: "KmsKeyId",
          },
        },
      ],
      data_capture_config: {
        enable_capture: false,
        initial_sampling_percentage: 1, # required
        destination_s3_uri: "DestinationS3Uri", # required
        kms_key_id: "KmsKeyId",
        capture_options: [ # required
          {
            capture_mode: "Input", # required, accepts Input, Output
          },
        ],
        capture_content_type_header: {
          csv_content_types: ["CsvContentType"],
          json_content_types: ["JsonContentType"],
        },
      },
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      kms_key_id: "KmsKeyId",
      async_inference_config: {
        client_config: {
          max_concurrent_invocations_per_instance: 1,
        },
        output_config: { # required
          kms_key_id: "KmsKeyId",
          s3_output_path: "DestinationS3Uri", # required
          notification_config: {
            success_topic: "SnsTopicArn",
            error_topic: "SnsTopicArn",
          },
        },
      },
    }

@!attribute [rw] endpoint_config_name

The name of the endpoint configuration. You specify this name in a
CreateEndpoint request.
@return [String]

@!attribute [rw] production_variants

An list of `ProductionVariant` objects, one for each model that you
want to host at this endpoint.
@return [Array<Types::ProductionVariant>]

@!attribute [rw] data_capture_config

@return [Types::DataCaptureConfig]

@!attribute [rw] tags

An array of key-value pairs. You can use tags to categorize your
Amazon Web Services resources in different ways, for example, by
purpose, owner, or environment. For more information, see [Tagging
Amazon Web Services Resources][1].

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

@!attribute [rw] kms_key_id

The Amazon Resource Name (ARN) of a Amazon Web Services Key
Management Service key that Amazon SageMaker uses to encrypt data on
the storage volume attached to the ML compute instance that hosts
the endpoint.

The KmsKeyId can be any of the following formats:

* Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`

* Key ARN:
  `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`

* Alias name: `alias/ExampleAlias`

* Alias name ARN:
  `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`

The KMS key policy must grant permission to the IAM role that you
specify in your `CreateEndpoint`, `UpdateEndpoint` requests. For
more information, refer to the Amazon Web Services Key Management
Service section[ Using Key Policies in Amazon Web Services KMS ][1]

<note markdown="1"> Certain Nitro-based instances include local storage, dependent on
the instance type. Local storage volumes are encrypted using a
hardware module on the instance. You can't request a `KmsKeyId`
when using an instance type with local storage. If any of the models
that you specify in the `ProductionVariants` parameter use
nitro-based instances with local storage, do not specify a value for
the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when
using any nitro-based instances with local storage, the call to
`CreateEndpointConfig` fails.

 For a list of instance types that support local instance storage,
see [Instance Store Volumes][2].

 For more information about local instance storage encryption, see
[SSD Instance Store Volumes][3].

 </note>

[1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
[2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes
[3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html
@return [String]

@!attribute [rw] async_inference_config

Specifies configuration for how an endpoint performs asynchronous
inference. This is a required field in order for your Endpoint to be
invoked using [ `InvokeEndpointAsync` ][1].

[1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html
@return [Types::AsyncInferenceConfig]

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

Constants

SENSITIVE