1 | import { TaskDefinition } from '../base/task-definition';
|
2 | import { CfnTaskDefinition } from '../ecs.generated';
|
3 | import { ProxyConfiguration } from './proxy-configuration';
|
4 | import { Construct as CoreConstruct } from '@aws-cdk/core';
|
5 | /**
|
6 | * Interface for setting the properties of proxy configuration.
|
7 | */
|
8 | export 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 | */
|
44 | export 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 | */
|
64 | export 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 | }
|