UNPKG

3.38 kBTypeScriptView Raw
1import { TaskDefinition } from '../base/task-definition';
2import { CfnTaskDefinition } from '../ecs.generated';
3import { ProxyConfiguration } from './proxy-configuration';
4import { Construct as CoreConstruct } from '@aws-cdk/core';
5/**
6 * Interface for setting the properties of proxy configuration.
7 */
8export interface AppMeshProxyConfigurationProps {
9 /**
10 * The user ID (UID) of the proxy container as defined by the user parameter in a container definition.
11 * This is used to ensure the proxy ignores its own traffic. If IgnoredGID is specified, this field can be empty.
12 */
13 readonly ignoredUID?: number;
14 /**
15 * The group ID (GID) of the proxy container as defined by the user parameter in a container definition.
16 * This is used to ensure the proxy ignores its own traffic. If IgnoredUID is specified, this field can be empty.
17 */
18 readonly ignoredGID?: number;
19 /**
20 * The list of ports that the application uses.
21 * Network traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort.
22 */
23 readonly appPorts: number[];
24 /**
25 * Specifies the port that incoming traffic to the AppPorts is directed to.
26 */
27 readonly proxyIngressPort: number;
28 /**
29 * Specifies the port that outgoing traffic from the AppPorts is directed to.
30 */
31 readonly proxyEgressPort: number;
32 /**
33 * The egress traffic going to these specified ports is ignored and not redirected to the ProxyEgressPort. It can be an empty list.
34 */
35 readonly egressIgnoredPorts?: number[];
36 /**
37 * The egress traffic going to these specified IP addresses is ignored and not redirected to the ProxyEgressPort. It can be an empty list.
38 */
39 readonly egressIgnoredIPs?: string[];
40}
41/**
42 * The configuration to use when setting an App Mesh proxy configuration.
43 */
44export interface AppMeshProxyConfigurationConfigProps {
45 /**
46 * The name of the container that will serve as the App Mesh proxy.
47 */
48 readonly containerName: string;
49 /**
50 * The set of network configuration parameters to provide the Container Network Interface (CNI) plugin.
51 */
52 readonly properties: AppMeshProxyConfigurationProps;
53}
54/**
55 * The class for App Mesh proxy configurations.
56 *
57 * For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version
58 * 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized
59 * AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init.
60 * For more information, see [Amazon ECS-optimized AMIs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html).
61 *
62 * For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.
63 */
64export declare class AppMeshProxyConfiguration extends ProxyConfiguration {
65 private readonly props;
66 /**
67 * Constructs a new instance of the AppMeshProxyConfiguration class.
68 */
69 constructor(props: AppMeshProxyConfigurationConfigProps);
70 /**
71 * Called when the proxy configuration is configured on a task definition.
72 */
73 bind(_scope: CoreConstruct, _taskDefinition: TaskDefinition): CfnTaskDefinition.ProxyConfigurationProperty;
74}