/*
* 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 configuration details for the App Mesh proxy.
///
///
///
/// For tasks that use the EC2 launch type, the container instances require at least version
/// 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init
/// package to use a proxy configuration. If your container instances are launched from
/// the Amazon ECS optimized AMI version 20190301
or later, then they contain
/// the required versions of the container agent and ecs-init
. For more information,
/// see Amazon
/// ECS-optimized Linux AMI
///
///
public partial class ProxyConfiguration
{
private string _containerName;
private List _properties = new List();
private ProxyConfigurationType _type;
///
/// Gets and sets the property ContainerName.
///
/// The name of the container that will serve as the App Mesh proxy.
///
///
[AWSProperty(Required=true)]
public string ContainerName
{
get { return this._containerName; }
set { this._containerName = value; }
}
// Check to see if ContainerName property is set
internal bool IsSetContainerName()
{
return this._containerName != null;
}
///
/// Gets and sets the property Properties.
///
/// The set of network configuration parameters to provide the Container Network Interface
/// (CNI) plugin, specified as key-value pairs.
///
/// -
///
///
IgnoredUID
- (Required) The user ID (UID) of the proxy container as
/// defined by the user
parameter in a container definition. This is used
/// to ensure the proxy ignores its own traffic. If IgnoredGID
is specified,
/// this field can be empty.
///
/// -
///
///
IgnoredGID
- (Required) The group ID (GID) of the proxy container as
/// defined by the user
parameter in a container definition. This is used
/// to ensure the proxy ignores its own traffic. If IgnoredUID
is specified,
/// this field can be empty.
///
/// -
///
///
AppPorts
- (Required) The list of ports that the application uses. Network
/// traffic to these ports is forwarded to the ProxyIngressPort
and ProxyEgressPort
.
///
/// -
///
///
ProxyIngressPort
- (Required) Specifies the port that incoming traffic
/// to the AppPorts
is directed to.
///
/// -
///
///
ProxyEgressPort
- (Required) Specifies the port that outgoing traffic
/// from the AppPorts
is directed to.
///
/// -
///
///
EgressIgnoredPorts
- (Required) The egress traffic going to the specified
/// ports is ignored and not redirected to the ProxyEgressPort
. It can be
/// an empty list.
///
/// -
///
///
EgressIgnoredIPs
- (Required) The egress traffic going to the specified
/// IP addresses is ignored and not redirected to the ProxyEgressPort
. It
/// can be an empty list.
///
///
///
public List Properties
{
get { return this._properties; }
set { this._properties = value; }
}
// Check to see if Properties property is set
internal bool IsSetProperties()
{
return this._properties != null && this._properties.Count > 0;
}
///
/// Gets and sets the property Type.
///
/// The proxy type. The only supported value is APPMESH
.
///
///
public ProxyConfigurationType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}