/* * 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 { /// /// Describes the container, as part of model definition. /// public partial class ContainerDefinition { private string _containerHostname; private Dictionary _environment = new Dictionary(); private string _image; private ImageConfig _imageConfig; private string _inferenceSpecificationName; private ContainerMode _mode; private ModelDataSource _modelDataSource; private string _modelDataUrl; private string _modelPackageName; private MultiModelConfig _multiModelConfig; /// /// Gets and sets the property ContainerHostname. /// /// This parameter is ignored for models that contain only a PrimaryContainer. /// /// /// /// When a ContainerDefinition is part of an inference pipeline, the value /// of the parameter uniquely identifies the container for the purposes of logging and /// metrics. For information, see Use /// Logs and Metrics to Monitor an Inference Pipeline. If you don't specify a value /// for this parameter for a ContainerDefinition that is part of an inference /// pipeline, a unique name is automatically assigned based on the position of the ContainerDefinition /// in the pipeline. If you specify a value for the ContainerHostName for /// any ContainerDefinition that is part of an inference pipeline, you must /// specify a value for the ContainerHostName parameter of every ContainerDefinition /// in that pipeline. /// /// [AWSProperty(Max=63)] public string ContainerHostname { get { return this._containerHostname; } set { this._containerHostname = value; } } // Check to see if ContainerHostname property is set internal bool IsSetContainerHostname() { return this._containerHostname != null; } /// /// Gets and sets the property Environment. /// /// The environment variables to set in the Docker container. Each key and value in the /// Environment string to string map can have length of up to 1024. We support /// up to 16 entries in the map. /// /// [AWSProperty(Max=16)] public Dictionary Environment { get { return this._environment; } set { this._environment = value; } } // Check to see if Environment property is set internal bool IsSetEnvironment() { return this._environment != null && this._environment.Count > 0; } /// /// Gets and sets the property Image. /// /// The path where inference code is stored. This can be either in Amazon EC2 Container /// Registry or in a Docker registry that is accessible from the same VPC that you configure /// for your endpoint. If you are using your own custom algorithm instead of an algorithm /// provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker /// supports both registry/repository[:tag] and registry/repository[@digest] /// image path formats. For more information, see Using /// Your Own Algorithms with Amazon SageMaker. /// /// /// /// The model artifacts in an Amazon S3 bucket and the Docker image for inference container /// in Amazon EC2 Container Registry must be in the same region as the model or endpoint /// you are creating. /// /// /// [AWSProperty(Max=255)] public string Image { get { return this._image; } set { this._image = value; } } // Check to see if Image property is set internal bool IsSetImage() { return this._image != null; } /// /// Gets and sets the property ImageConfig. /// /// Specifies whether the model container is in Amazon ECR or a private Docker registry /// accessible from your Amazon Virtual Private Cloud (VPC). For information about storing /// containers in a private Docker registry, see Use /// a Private Docker Registry for Real-Time Inference Containers. /// /// /// /// The model artifacts in an Amazon S3 bucket and the Docker image for inference container /// in Amazon EC2 Container Registry must be in the same region as the model or endpoint /// you are creating. /// /// /// public ImageConfig ImageConfig { get { return this._imageConfig; } set { this._imageConfig = value; } } // Check to see if ImageConfig property is set internal bool IsSetImageConfig() { return this._imageConfig != null; } /// /// Gets and sets the property InferenceSpecificationName. /// /// The inference specification name in the model package version. /// /// [AWSProperty(Min=1, Max=63)] public string InferenceSpecificationName { get { return this._inferenceSpecificationName; } set { this._inferenceSpecificationName = value; } } // Check to see if InferenceSpecificationName property is set internal bool IsSetInferenceSpecificationName() { return this._inferenceSpecificationName != null; } /// /// Gets and sets the property Mode. /// /// Whether the container hosts a single model or multiple models. /// /// public ContainerMode Mode { get { return this._mode; } set { this._mode = value; } } // Check to see if Mode property is set internal bool IsSetMode() { return this._mode != null; } /// /// Gets and sets the property ModelDataSource. /// /// Specifies the location of ML model data to deploy. /// /// /// /// Currently you cannot use ModelDataSource in conjunction with SageMaker /// batch transform, SageMaker serverless endpoints, SageMaker multi-model endpoints, /// and SageMaker Marketplace. /// /// /// public ModelDataSource ModelDataSource { get { return this._modelDataSource; } set { this._modelDataSource = value; } } // Check to see if ModelDataSource property is set internal bool IsSetModelDataSource() { return this._modelDataSource != null; } /// /// Gets and sets the property ModelDataUrl. /// /// The S3 path where the model artifacts, which result from model training, are stored. /// This path must point to a single gzip compressed tar archive (.tar.gz suffix). The /// S3 path is required for SageMaker built-in algorithms, but not if you use your own /// algorithms. For more information on built-in algorithms, see Common /// Parameters. /// /// /// /// The model artifacts must be in an S3 bucket that is in the same region as the model /// or endpoint you are creating. /// /// /// /// If you provide a value for this parameter, SageMaker uses Amazon Web Services Security /// Token Service to download model artifacts from the S3 path you provide. Amazon Web /// Services STS is activated in your Amazon Web Services account by default. If you previously /// deactivated Amazon Web Services STS for a region, you need to reactivate Amazon Web /// Services STS for that region. For more information, see Activating /// and Deactivating Amazon Web Services STS in an Amazon Web Services Region in the /// Amazon Web Services Identity and Access Management User Guide. /// /// /// /// If you use a built-in algorithm to create a model, SageMaker requires that you provide /// a S3 path to the model artifacts in ModelDataUrl. /// /// /// [AWSProperty(Max=1024)] public string ModelDataUrl { get { return this._modelDataUrl; } set { this._modelDataUrl = value; } } // Check to see if ModelDataUrl property is set internal bool IsSetModelDataUrl() { return this._modelDataUrl != null; } /// /// Gets and sets the property ModelPackageName. /// /// The name or Amazon Resource Name (ARN) of the model package to use to create the model. /// /// [AWSProperty(Min=1, Max=176)] public string ModelPackageName { get { return this._modelPackageName; } set { this._modelPackageName = value; } } // Check to see if ModelPackageName property is set internal bool IsSetModelPackageName() { return this._modelPackageName != null; } /// /// Gets and sets the property MultiModelConfig. /// /// Specifies additional configuration for multi-model endpoints. /// /// public MultiModelConfig MultiModelConfig { get { return this._multiModelConfig; } set { this._multiModelConfig = value; } } // Check to see if MultiModelConfig property is set internal bool IsSetMultiModelConfig() { return this._multiModelConfig != null; } } }