Note: You are viewing the documentation for an older major version of the AWS CLI (version 1).

AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. For more information see the AWS CLI version 2 installation instructions and migration guide.

[ aws . sagemaker ]



Updates an inference experiment that you created. The status of the inference experiment has to be either Created , Running . For more information on the status of an inference experiment, see DescribeInferenceExperimentResponse$Status .

See also: AWS API Documentation


--name <value>
[--schedule <value>]
[--description <value>]
[--model-variants <value>]
[--data-storage-config <value>]
[--shadow-mode-config <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--endpoint-url <value>]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]


--name (string)

The name of the inference experiment to be updated.

--schedule (structure)

The duration for which the inference experiment will run. If the status of the inference experiment is Created , then you can update both the start and end dates. If the status of the inference experiment is Running , then you can update only the end date.

StartTime -> (timestamp)

The timestamp at which the inference experiment started or will start.

EndTime -> (timestamp)

The timestamp at which the inference experiment ended or will end.

Shorthand Syntax:


JSON Syntax:

  "StartTime": timestamp,
  "EndTime": timestamp

--description (string)

The description of the inference experiment.

--model-variants (list)

An array of ModelVariantConfig objects. There is one for each variant, whose infrastructure configuration you want to update.


Contains information about the deployment options of a model.

ModelName -> (string)

The name of the Amazon SageMaker Model entity.

VariantName -> (string)

The name of the variant.

InfrastructureConfig -> (structure)

The configuration for the infrastructure that the model will be deployed to.

InfrastructureType -> (string)

The inference option to which to deploy your model. Possible values are the following:

  • RealTime : Deploy to real-time inference.

RealTimeInferenceConfig -> (structure)

The infrastructure configuration for deploying the model to real-time inference.

InstanceType -> (string)

The instance type the model is deployed to.

InstanceCount -> (integer)

The number of instances of the type specified by InstanceType .

Shorthand Syntax:

ModelName=string,VariantName=string,InfrastructureConfig={InfrastructureType=string,RealTimeInferenceConfig={InstanceType=string,InstanceCount=integer}} ...

JSON Syntax:

    "ModelName": "string",
    "VariantName": "string",
    "InfrastructureConfig": {
      "InfrastructureType": "RealTimeInference",
      "RealTimeInferenceConfig": {
        "InstanceType": "ml.t2.medium"|"ml.t2.large"|"ml.t2.xlarge"|"ml.t2.2xlarge"|"ml.t3.medium"|"ml.t3.large"|"ml.t3.xlarge"|"ml.t3.2xlarge"|"ml.m4.xlarge"|"ml.m4.2xlarge"|"ml.m4.4xlarge"|"ml.m4.10xlarge"|"ml.m4.16xlarge"|"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.8xlarge"|"ml.m5d.12xlarge"|"ml.m5d.16xlarge"|"ml.m5d.24xlarge"|"ml.c4.xlarge"|"ml.c4.2xlarge"|"ml.c4.4xlarge"|"ml.c4.8xlarge"|"ml.c5.xlarge"|"ml.c5.2xlarge"|"ml.c5.4xlarge"|"ml.c5.9xlarge"|"ml.c5.18xlarge"|"ml.c5d.xlarge"|"ml.c5d.2xlarge"|"ml.c5d.4xlarge"|"ml.c5d.9xlarge"|"ml.c5d.18xlarge"|"ml.p2.xlarge"|"ml.p2.8xlarge"|"ml.p2.16xlarge"|"ml.p3.2xlarge"|"ml.p3.8xlarge"|"ml.p3.16xlarge"|"ml.p3dn.24xlarge"|"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.8xlarge"|"ml.r5.12xlarge"|"ml.r5.16xlarge"|"ml.r5.24xlarge"|"ml.g5.xlarge"|"ml.g5.2xlarge"|"ml.g5.4xlarge"|"ml.g5.8xlarge"|"ml.g5.16xlarge"|"ml.g5.12xlarge"|"ml.g5.24xlarge"|"ml.g5.48xlarge",
        "InstanceCount": integer

--data-storage-config (structure)

The Amazon S3 location and configuration for storing inference request and response data.

Destination -> (string)

The Amazon S3 bucket where the inference request and response data is stored.

KmsKey -> (string)

The Amazon Web Services Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.

ContentType -> (structure)

Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.

CsvContentTypes -> (list)

The list of all content type headers that SageMaker will treat as CSV and capture accordingly.


JsonContentTypes -> (list)

The list of all content type headers that SageMaker will treat as JSON and capture accordingly.


Shorthand Syntax:


JSON Syntax:

  "Destination": "string",
  "KmsKey": "string",
  "ContentType": {
    "CsvContentTypes": ["string", ...],
    "JsonContentTypes": ["string", ...]

--shadow-mode-config (structure)

The configuration of ShadowMode inference experiment type. Use this field to specify a production variant which takes all the inference requests, and a shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant also specify the percentage of requests that Amazon SageMaker replicates.

SourceModelVariantName -> (string)

The name of the production variant, which takes all the inference requests.

ShadowModelVariants -> (list)

List of shadow variant configurations.


The name and sampling percentage of a shadow variant.

ShadowModelVariantName -> (string)

The name of the shadow variant.

SamplingPercentage -> (integer)

The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.

Shorthand Syntax:


JSON Syntax:

  "SourceModelVariantName": "string",
  "ShadowModelVariants": [
      "ShadowModelVariantName": "string",
      "SamplingPercentage": integer

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command's default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination.

--output (string)

The formatting style for command output.

  • json
  • text
  • table

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.


InferenceExperimentArn -> (string)

The ARN of the updated inference experiment.