/*
* 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
{
///
/// Container for the parameters to the CreateEndpoint operation.
/// Creates an endpoint using the endpoint configuration specified in the request. SageMaker
/// uses the endpoint to provision resources and deploy models. You create the endpoint
/// configuration with the CreateEndpointConfig
/// API.
///
///
///
/// Use this API to deploy models using SageMaker hosting services.
///
///
///
/// For an example that calls this method when deploying a model to SageMaker hosting
/// services, see the Create
/// Endpoint example notebook.
///
///
///
/// You must not delete an EndpointConfig
that is in use by an endpoint
/// that is live or while the UpdateEndpoint
or CreateEndpoint
/// operations are being performed on the endpoint. To update an endpoint, you must create
/// a new EndpointConfig
.
///
///
///
/// The endpoint name must be unique within an Amazon Web Services Region in your Amazon
/// Web Services account.
///
///
///
/// When it receives the request, SageMaker creates the endpoint, launches the resources
/// (ML compute instances), and deploys the model(s) on them.
///
///
///
/// When you call CreateEndpoint,
/// a load call is made to DynamoDB to verify that your endpoint configuration exists.
/// When you read data from a DynamoDB table supporting
/// Eventually Consistent Reads
, the response might not reflect the
/// results of a recently completed write operation. The response might include some stale
/// data. If the dependent entities are not yet in DynamoDB, this causes a validation
/// error. If you repeat your read request after a short time, the response should return
/// the latest data. So retry logic is recommended to handle these possible issues. We
/// also recommend that customers call DescribeEndpointConfig
/// before calling CreateEndpoint
/// to minimize the potential impact of a DynamoDB eventually consistent read.
///
///
///
/// When SageMaker receives the request, it sets the endpoint status to Creating
.
/// After it creates the endpoint, it sets the status to InService
. SageMaker
/// can then process incoming requests for inferences. To check the status of an endpoint,
/// use the DescribeEndpoint
/// API.
///
///
///
/// If any of the models hosted at this endpoint get model data from an Amazon S3 location,
/// SageMaker uses Amazon Web Services Security Token Service to download model artifacts
/// from the S3 path you provided. 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.
///
///
///
/// To add the IAM role policies for using this API operation, go to the IAM
/// console, and choose Roles in the left navigation pane. Search the IAM role that
/// you want to grant access to use the CreateEndpoint
/// and CreateEndpointConfig
/// API operations, add the following policies to the role.
///
/// -
///
/// Option 1: For a full SageMaker access, search and attach the
AmazonSageMakerFullAccess
/// policy.
///
/// -
///
/// Option 2: For granting a limited access to an IAM role, paste the following Action
/// elements manually into the JSON file of the IAM role:
///
///
///
///
"Action": ["sagemaker:CreateEndpoint", "sagemaker:CreateEndpointConfig"]
///
///
///
///
/// "Resource": [
///
///
///
/// "arn:aws:sagemaker:region:account-id:endpoint/endpointName"
///
///
///
/// "arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName"
///
///
///
///
/// ]
///
///
///
/// For more information, see SageMaker
/// API Permissions: Actions, Permissions, and Resources Reference.
///
///
///
public partial class CreateEndpointRequest : AmazonSageMakerRequest
{
private DeploymentConfig _deploymentConfig;
private string _endpointConfigName;
private string _endpointName;
private List _tags = new List();
///
/// Gets and sets the property DeploymentConfig.
///
public DeploymentConfig DeploymentConfig
{
get { return this._deploymentConfig; }
set { this._deploymentConfig = value; }
}
// Check to see if DeploymentConfig property is set
internal bool IsSetDeploymentConfig()
{
return this._deploymentConfig != null;
}
///
/// Gets and sets the property EndpointConfigName.
///
/// The name of an endpoint configuration. For more information, see CreateEndpointConfig.
///
///
///
[AWSProperty(Required=true, Max=63)]
public string EndpointConfigName
{
get { return this._endpointConfigName; }
set { this._endpointConfigName = value; }
}
// Check to see if EndpointConfigName property is set
internal bool IsSetEndpointConfigName()
{
return this._endpointConfigName != null;
}
///
/// Gets and sets the property EndpointName.
///
/// The name of the endpoint.The name must be unique within an Amazon Web Services Region
/// in your Amazon Web Services account. The name is case-insensitive in CreateEndpoint
,
/// but the case is preserved and must be matched in InvokeEndpoint.
///
///
[AWSProperty(Required=true, Max=63)]
public string EndpointName
{
get { return this._endpointName; }
set { this._endpointName = value; }
}
// Check to see if EndpointName property is set
internal bool IsSetEndpointName()
{
return this._endpointName != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=0, Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}