/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SageMaker.Model { /// /// Identifies a model that you want to host and the resources chosen to deploy for hosting /// it. If you are deploying multiple models, tell SageMaker how to distribute traffic /// among the models by specifying variant weights. For more information on production /// variants, check /// Production variants. /// public partial class ProductionVariant { private ProductionVariantAcceleratorType _acceleratorType; private int? _containerStartupHealthCheckTimeoutInSeconds; private ProductionVariantCoreDumpConfig _coreDumpConfig; private bool? _enableSSMAccess; private int? _initialInstanceCount; private float? _initialVariantWeight; private ProductionVariantInstanceType _instanceType; private int? _modelDataDownloadTimeoutInSeconds; private string _modelName; private ProductionVariantServerlessConfig _serverlessConfig; private string _variantName; private int? _volumeSizeInGB; /// /// Gets and sets the property AcceleratorType. /// /// The size of the Elastic Inference (EI) instance to use for the production variant. /// EI instances provide on-demand GPU computing for inference. For more information, /// see Using Elastic /// Inference in Amazon SageMaker. /// /// public ProductionVariantAcceleratorType AcceleratorType { get { return this._acceleratorType; } set { this._acceleratorType = value; } } // Check to see if AcceleratorType property is set internal bool IsSetAcceleratorType() { return this._acceleratorType != null; } /// /// Gets and sets the property ContainerStartupHealthCheckTimeoutInSeconds. /// /// The timeout value, in seconds, for your inference container to pass health check by /// SageMaker Hosting. For more information about health check, see How /// Your Container Should Respond to Health Check (Ping) Requests. /// /// [AWSProperty(Min=60, Max=3600)] public int ContainerStartupHealthCheckTimeoutInSeconds { get { return this._containerStartupHealthCheckTimeoutInSeconds.GetValueOrDefault(); } set { this._containerStartupHealthCheckTimeoutInSeconds = value; } } // Check to see if ContainerStartupHealthCheckTimeoutInSeconds property is set internal bool IsSetContainerStartupHealthCheckTimeoutInSeconds() { return this._containerStartupHealthCheckTimeoutInSeconds.HasValue; } /// /// Gets and sets the property CoreDumpConfig. /// /// Specifies configuration for a core dump from the model container when the process /// crashes. /// /// public ProductionVariantCoreDumpConfig CoreDumpConfig { get { return this._coreDumpConfig; } set { this._coreDumpConfig = value; } } // Check to see if CoreDumpConfig property is set internal bool IsSetCoreDumpConfig() { return this._coreDumpConfig != null; } /// /// Gets and sets the property EnableSSMAccess. /// /// You can use this parameter to turn on native Amazon Web Services Systems Manager /// (SSM) access for a production variant behind an endpoint. By default, SSM access is /// disabled for all production variants behind an endpoint. You can turn on or turn off /// SSM access for a production variant behind an existing endpoint by creating a new /// endpoint configuration and calling UpdateEndpoint. /// /// public bool EnableSSMAccess { get { return this._enableSSMAccess.GetValueOrDefault(); } set { this._enableSSMAccess = value; } } // Check to see if EnableSSMAccess property is set internal bool IsSetEnableSSMAccess() { return this._enableSSMAccess.HasValue; } /// /// Gets and sets the property InitialInstanceCount. /// /// Number of instances to launch initially. /// /// [AWSProperty(Min=1)] public int InitialInstanceCount { get { return this._initialInstanceCount.GetValueOrDefault(); } set { this._initialInstanceCount = value; } } // Check to see if InitialInstanceCount property is set internal bool IsSetInitialInstanceCount() { return this._initialInstanceCount.HasValue; } /// /// Gets and sets the property InitialVariantWeight. /// /// Determines initial traffic distribution among all of the models that you specify in /// the endpoint configuration. The traffic to a production variant is determined by the /// ratio of the VariantWeight to the sum of all VariantWeight /// values across all ProductionVariants. If unspecified, it defaults to 1.0. /// /// [AWSProperty(Min=0)] public float InitialVariantWeight { get { return this._initialVariantWeight.GetValueOrDefault(); } set { this._initialVariantWeight = value; } } // Check to see if InitialVariantWeight property is set internal bool IsSetInitialVariantWeight() { return this._initialVariantWeight.HasValue; } /// /// Gets and sets the property InstanceType. /// /// The ML compute instance type. /// /// public ProductionVariantInstanceType InstanceType { get { return this._instanceType; } set { this._instanceType = value; } } // Check to see if InstanceType property is set internal bool IsSetInstanceType() { return this._instanceType != null; } /// /// Gets and sets the property ModelDataDownloadTimeoutInSeconds. /// /// The timeout value, in seconds, to download and extract the model that you want to /// host from Amazon S3 to the individual inference instance associated with this production /// variant. /// /// [AWSProperty(Min=60, Max=3600)] public int ModelDataDownloadTimeoutInSeconds { get { return this._modelDataDownloadTimeoutInSeconds.GetValueOrDefault(); } set { this._modelDataDownloadTimeoutInSeconds = value; } } // Check to see if ModelDataDownloadTimeoutInSeconds property is set internal bool IsSetModelDataDownloadTimeoutInSeconds() { return this._modelDataDownloadTimeoutInSeconds.HasValue; } /// /// Gets and sets the property ModelName. /// /// The name of the model that you want to host. This is the name that you specified when /// creating the model. /// /// [AWSProperty(Required=true, Max=63)] public string ModelName { get { return this._modelName; } set { this._modelName = value; } } // Check to see if ModelName property is set internal bool IsSetModelName() { return this._modelName != null; } /// /// Gets and sets the property ServerlessConfig. /// /// The serverless configuration for an endpoint. Specifies a serverless endpoint configuration /// instead of an instance-based endpoint configuration. /// /// public ProductionVariantServerlessConfig ServerlessConfig { get { return this._serverlessConfig; } set { this._serverlessConfig = value; } } // Check to see if ServerlessConfig property is set internal bool IsSetServerlessConfig() { return this._serverlessConfig != null; } /// /// Gets and sets the property VariantName. /// /// The name of the production variant. /// /// [AWSProperty(Required=true, Max=63)] public string VariantName { get { return this._variantName; } set { this._variantName = value; } } // Check to see if VariantName property is set internal bool IsSetVariantName() { return this._variantName != null; } /// /// Gets and sets the property VolumeSizeInGB. /// /// The size, in GB, of the ML storage volume attached to individual inference instance /// associated with the production variant. Currently only Amazon EBS gp2 storage volumes /// are supported. /// /// [AWSProperty(Min=1, Max=512)] public int VolumeSizeInGB { get { return this._volumeSizeInGB.GetValueOrDefault(); } set { this._volumeSizeInGB = value; } } // Check to see if VolumeSizeInGB property is set internal bool IsSetVolumeSizeInGB() { return this._volumeSizeInGB.HasValue; } } }