/* * 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.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateInferenceExperimentRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name for the inference experiment. *

*/ private String name; /** *

* The type of the inference experiment that you want to run. The following types of experiments are possible: *

* */ private String type; /** *

* The duration for which you want the inference experiment to run. If you don't specify this field, the experiment * automatically starts immediately upon creation and concludes after 7 days. *

*/ private InferenceExperimentSchedule schedule; /** *

* A description for the inference experiment. *

*/ private String description; /** *

* The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and * manage Amazon SageMaker Inference endpoints for model deployment. *

*/ private String roleArn; /** *

* The name of the Amazon SageMaker endpoint on which you want to run the inference experiment. *

*/ private String endpointName; /** *

* An array of ModelVariantConfig objects. There is one for each variant in the inference experiment. * Each ModelVariantConfig object in the array describes the infrastructure configuration for the * corresponding variant. *

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

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

*

* This is an optional parameter that you can use for data capture. For more information, see Capture data. *

*/ private InferenceExperimentDataStorageConfig dataStorageConfig; /** *

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

*/ private ShadowModeConfig shadowModeConfig; /** *

* The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint. The * KmsKey can be any of the following formats: *

* *

* If you use a KMS key ID or an alias of your KMS key, the Amazon SageMaker execution role must include permissions * to call kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key * for Amazon S3 for your role's account. Amazon SageMaker uses server-side encryption with KMS managed keys for * OutputDataConfig. If you use a bucket policy with an s3:PutObject permission that only * allows objects with server-side encryption, set the condition key of s3:x-amz-server-side-encryption * to "aws:kms". For more information, see KMS managed Encryption Keys in * the Amazon Simple Storage Service Developer Guide. *

*

* The KMS key policy must grant permission to the IAM role that you specify in your CreateEndpoint and * UpdateEndpoint requests. For more information, see Using Key Policies in Amazon Web * Services KMS in the Amazon Web Services Key Management Service Developer Guide. *

*/ private String kmsKey; /** *

* 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 your Amazon Web Services * Resources. *

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

* The name for the inference experiment. *

* * @param name * The name for the inference experiment. */ public void setName(String name) { this.name = name; } /** *

* The name for the inference experiment. *

* * @return The name for the inference experiment. */ public String getName() { return this.name; } /** *

* The name for the inference experiment. *

* * @param name * The name for the inference experiment. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateInferenceExperimentRequest withName(String name) { setName(name); return this; } /** *

* The type of the inference experiment that you want to run. The following types of experiments are possible: *

* * * @param type * The type of the inference experiment that you want to run. The following types of experiments are * possible:

*