/* * Copyright 2018-2023 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. */ package com.amazonaws.services.ecs.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* 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
*
* The proxy type. The only supported value is APPMESH
.
*
* The name of the container that will serve as the App Mesh proxy. *
*/ private String containerName; /** ** 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.
*
* The proxy type. The only supported value is APPMESH
.
*
APPMESH
.
* @see ProxyConfigurationType
*/
public void setType(String type) {
this.type = type;
}
/**
*
* The proxy type. The only supported value is APPMESH
.
*
APPMESH
.
* @see ProxyConfigurationType
*/
public String getType() {
return this.type;
}
/**
*
* The proxy type. The only supported value is APPMESH
.
*
APPMESH
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ProxyConfigurationType
*/
public ProxyConfiguration withType(String type) {
setType(type);
return this;
}
/**
*
* The proxy type. The only supported value is APPMESH
.
*
APPMESH
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ProxyConfigurationType
*/
public ProxyConfiguration withType(ProxyConfigurationType type) {
this.type = type.toString();
return this;
}
/**
* * The name of the container that will serve as the App Mesh proxy. *
* * @param containerName * The name of the container that will serve as the App Mesh proxy. */ public void setContainerName(String containerName) { this.containerName = containerName; } /** ** The name of the container that will serve as the App Mesh proxy. *
* * @return The name of the container that will serve as the App Mesh proxy. */ public String getContainerName() { return this.containerName; } /** ** The name of the container that will serve as the App Mesh proxy. *
* * @param containerName * The name of the container that will serve as the App Mesh proxy. * @return Returns a reference to this object so that method calls can be chained together. */ public ProxyConfiguration withContainerName(String containerName) { setContainerName(containerName); return this; } /** ** 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setProperties(java.util.Collection)} or {@link #withProperties(java.util.Collection)} if you want to * override the existing values. *
* * @param 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.
*
* 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.
*
* 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.
*