/*
* 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 ecs-2014-11-13.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.ECS.Model
{
///
/// The Service Connect configuration of your Amazon ECS service. The configuration for
/// this service to discover and connect to services, and be discovered by, and connected
/// from, other services within a namespace.
///
///
///
/// Tasks that run in a namespace can use short names to connect to services in the namespace.
/// Tasks can connect to services across all of the clusters in the namespace. Tasks connect
/// through a managed proxy container that collects logs and metrics for increased visibility.
/// Only the tasks that Amazon ECS services create are supported with Service Connect.
/// For more information, see Service
/// Connect in the Amazon Elastic Container Service Developer Guide.
///
///
public partial class ServiceConnectConfiguration
{
private bool? _enabled;
private LogConfiguration _logConfiguration;
private string _awsNamespace;
private List _services = new List();
///
/// Gets and sets the property Enabled.
///
/// Specifies whether to use Service Connect with this service.
///
///
[AWSProperty(Required=true)]
public bool Enabled
{
get { return this._enabled.GetValueOrDefault(); }
set { this._enabled = value; }
}
// Check to see if Enabled property is set
internal bool IsSetEnabled()
{
return this._enabled.HasValue;
}
///
/// Gets and sets the property LogConfiguration.
///
public LogConfiguration LogConfiguration
{
get { return this._logConfiguration; }
set { this._logConfiguration = value; }
}
// Check to see if LogConfiguration property is set
internal bool IsSetLogConfiguration()
{
return this._logConfiguration != null;
}
///
/// Gets and sets the property Namespace.
///
/// The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace for
/// use with Service Connect. The namespace must be in the same Amazon Web Services Region
/// as the Amazon ECS service and cluster. The type of namespace doesn't affect Service
/// Connect. For more information about Cloud Map, see Working
/// with Services in the Cloud Map Developer Guide.
///
///
public string Namespace
{
get { return this._awsNamespace; }
set { this._awsNamespace = value; }
}
// Check to see if Namespace property is set
internal bool IsSetNamespace()
{
return this._awsNamespace != null;
}
///
/// Gets and sets the property Services.
///
/// The list of Service Connect service objects. These are names and aliases (also known
/// as endpoints) that are used by other Amazon ECS services to connect to this service.
///
///
///
///
/// This field is not required for a "client" Amazon ECS service that's a member of a
/// namespace only to connect to other services within the namespace. An example of this
/// would be a frontend application that accepts incoming requests from either a load
/// balancer that's attached to the service or by other means.
///
///
///
/// An object selects a port from the task definition, assigns a name for the Cloud Map
/// service, and a list of aliases (endpoints) and ports for client applications to refer
/// to this service.
///
///
public List Services
{
get { return this._services; }
set { this._services = value; }
}
// Check to see if Services property is set
internal bool IsSetServices()
{
return this._services != null && this._services.Count > 0;
}
}
}