@aws-sdk/client-elastic-load-balancing-v2 3.169.0 → 3.170.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist-types/ts3.4/ElasticLoadBalancingV2.d.ts +616 -175
  3. package/dist-types/ts3.4/ElasticLoadBalancingV2Client.d.ts +334 -107
  4. package/dist-types/ts3.4/commands/AddListenerCertificatesCommand.d.ts +41 -17
  5. package/dist-types/ts3.4/commands/AddTagsCommand.d.ts +32 -17
  6. package/dist-types/ts3.4/commands/CreateListenerCommand.d.ts +34 -17
  7. package/dist-types/ts3.4/commands/CreateLoadBalancerCommand.d.ts +38 -17
  8. package/dist-types/ts3.4/commands/CreateRuleCommand.d.ts +34 -17
  9. package/dist-types/ts3.4/commands/CreateTargetGroupCommand.d.ts +37 -17
  10. package/dist-types/ts3.4/commands/DeleteListenerCommand.d.ts +34 -17
  11. package/dist-types/ts3.4/commands/DeleteLoadBalancerCommand.d.ts +38 -17
  12. package/dist-types/ts3.4/commands/DeleteRuleCommand.d.ts +34 -17
  13. package/dist-types/ts3.4/commands/DeleteTargetGroupCommand.d.ts +37 -17
  14. package/dist-types/ts3.4/commands/DeregisterTargetsCommand.d.ts +37 -17
  15. package/dist-types/ts3.4/commands/DescribeAccountLimitsCommand.d.ts +41 -17
  16. package/dist-types/ts3.4/commands/DescribeListenerCertificatesCommand.d.ts +41 -17
  17. package/dist-types/ts3.4/commands/DescribeListenersCommand.d.ts +37 -17
  18. package/dist-types/ts3.4/commands/DescribeLoadBalancerAttributesCommand.d.ts +41 -17
  19. package/dist-types/ts3.4/commands/DescribeLoadBalancersCommand.d.ts +41 -17
  20. package/dist-types/ts3.4/commands/DescribeRulesCommand.d.ts +34 -17
  21. package/dist-types/ts3.4/commands/DescribeSSLPoliciesCommand.d.ts +38 -17
  22. package/dist-types/ts3.4/commands/DescribeTagsCommand.d.ts +34 -17
  23. package/dist-types/ts3.4/commands/DescribeTargetGroupAttributesCommand.d.ts +41 -17
  24. package/dist-types/ts3.4/commands/DescribeTargetGroupsCommand.d.ts +41 -17
  25. package/dist-types/ts3.4/commands/DescribeTargetHealthCommand.d.ts +41 -17
  26. package/dist-types/ts3.4/commands/ModifyListenerCommand.d.ts +34 -17
  27. package/dist-types/ts3.4/commands/ModifyLoadBalancerAttributesCommand.d.ts +41 -17
  28. package/dist-types/ts3.4/commands/ModifyRuleCommand.d.ts +34 -17
  29. package/dist-types/ts3.4/commands/ModifyTargetGroupAttributesCommand.d.ts +41 -17
  30. package/dist-types/ts3.4/commands/ModifyTargetGroupCommand.d.ts +37 -17
  31. package/dist-types/ts3.4/commands/RegisterTargetsCommand.d.ts +37 -17
  32. package/dist-types/ts3.4/commands/RemoveListenerCertificatesCommand.d.ts +41 -17
  33. package/dist-types/ts3.4/commands/RemoveTagsCommand.d.ts +34 -17
  34. package/dist-types/ts3.4/commands/SetIpAddressTypeCommand.d.ts +37 -17
  35. package/dist-types/ts3.4/commands/SetRulePrioritiesCommand.d.ts +37 -17
  36. package/dist-types/ts3.4/commands/SetSecurityGroupsCommand.d.ts +37 -17
  37. package/dist-types/ts3.4/commands/SetSubnetsCommand.d.ts +34 -17
  38. package/dist-types/ts3.4/commands/index.d.ts +34 -34
  39. package/dist-types/ts3.4/endpoints.d.ts +2 -2
  40. package/dist-types/ts3.4/index.d.ts +7 -7
  41. package/dist-types/ts3.4/models/ElasticLoadBalancingV2ServiceException.d.ts +8 -6
  42. package/dist-types/ts3.4/models/index.d.ts +1 -1
  43. package/dist-types/ts3.4/models/models_0.d.ts +3009 -206
  44. package/dist-types/ts3.4/pagination/DescribeListenersPaginator.d.ts +11 -4
  45. package/dist-types/ts3.4/pagination/DescribeLoadBalancersPaginator.d.ts +11 -4
  46. package/dist-types/ts3.4/pagination/DescribeTargetGroupsPaginator.d.ts +11 -4
  47. package/dist-types/ts3.4/pagination/Interfaces.d.ts +7 -6
  48. package/dist-types/ts3.4/pagination/index.d.ts +4 -4
  49. package/dist-types/ts3.4/protocols/Aws_query.d.ts +413 -104
  50. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +68 -38
  51. package/dist-types/ts3.4/runtimeConfig.d.ts +68 -38
  52. package/dist-types/ts3.4/runtimeConfig.native.d.ts +69 -37
  53. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +13 -11
  54. package/dist-types/ts3.4/waiters/index.d.ts +5 -5
  55. package/dist-types/ts3.4/waiters/waitForLoadBalancerAvailable.d.ts +13 -7
  56. package/dist-types/ts3.4/waiters/waitForLoadBalancerExists.d.ts +13 -7
  57. package/dist-types/ts3.4/waiters/waitForLoadBalancersDeleted.d.ts +13 -7
  58. package/dist-types/ts3.4/waiters/waitForTargetDeregistered.d.ts +13 -7
  59. package/dist-types/ts3.4/waiters/waitForTargetInService.d.ts +13 -7
  60. package/package.json +35 -35
@@ -5,23 +5,60 @@ export declare enum AuthenticateCognitoActionConditionalBehaviorEnum {
5
5
  AUTHENTICATE = "authenticate",
6
6
  DENY = "deny"
7
7
  }
8
-
8
+ /**
9
+ * <p>Request parameters to use when integrating with Amazon Cognito to authenticate
10
+ * users.</p>
11
+ */
9
12
  export interface AuthenticateCognitoActionConfig {
10
-
13
+ /**
14
+ * <p>The Amazon Resource Name (ARN) of the Amazon Cognito user pool.</p>
15
+ */
11
16
  UserPoolArn: string | undefined;
12
-
17
+ /**
18
+ * <p>The ID of the Amazon Cognito user pool client.</p>
19
+ */
13
20
  UserPoolClientId: string | undefined;
14
-
21
+ /**
22
+ * <p>The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.</p>
23
+ */
15
24
  UserPoolDomain: string | undefined;
16
-
25
+ /**
26
+ * <p>The name of the cookie used to maintain session information. The default is
27
+ * AWSELBAuthSessionCookie.</p>
28
+ */
17
29
  SessionCookieName?: string;
18
-
30
+ /**
31
+ * <p>The set of user claims to be requested from the IdP. The default is
32
+ * <code>openid</code>.</p>
33
+ * <p>To verify which scope values your IdP supports and how to separate multiple values, see
34
+ * the documentation for your IdP.</p>
35
+ */
19
36
  Scope?: string;
20
-
37
+ /**
38
+ * <p>The maximum duration of the authentication session, in seconds. The default is 604800
39
+ * seconds (7 days).</p>
40
+ */
21
41
  SessionTimeout?: number;
22
-
42
+ /**
43
+ * <p>The query parameters (up to 10) to include in the redirect request to the authorization
44
+ * endpoint.</p>
45
+ */
23
46
  AuthenticationRequestExtraParams?: Record<string, string>;
24
-
47
+ /**
48
+ * <p>The behavior if the user is not authenticated. The following are possible values:</p>
49
+ * <ul>
50
+ * <li>
51
+ * <p>deny<code></code> - Return an HTTP 401 Unauthorized error.</p>
52
+ * </li>
53
+ * <li>
54
+ * <p>allow<code></code> - Allow the request to be forwarded to the target.</p>
55
+ * </li>
56
+ * <li>
57
+ * <p>authenticate<code></code> - Redirect the request to the IdP authorization endpoint. This is
58
+ * the default value.</p>
59
+ * </li>
60
+ * </ul>
61
+ */
25
62
  OnUnauthenticatedRequest?: AuthenticateCognitoActionConditionalBehaviorEnum | string;
26
63
  }
27
64
  export declare enum AuthenticateOidcActionConditionalBehaviorEnum {
@@ -29,80 +66,206 @@ export declare enum AuthenticateOidcActionConditionalBehaviorEnum {
29
66
  AUTHENTICATE = "authenticate",
30
67
  DENY = "deny"
31
68
  }
32
-
69
+ /**
70
+ * <p>Request parameters when using an identity provider (IdP) that is compliant with OpenID
71
+ * Connect (OIDC) to authenticate users.</p>
72
+ */
33
73
  export interface AuthenticateOidcActionConfig {
34
-
74
+ /**
75
+ * <p>The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS
76
+ * protocol, the domain, and the path.</p>
77
+ */
35
78
  Issuer: string | undefined;
36
-
79
+ /**
80
+ * <p>The authorization endpoint of the IdP. This must be a full URL, including the HTTPS
81
+ * protocol, the domain, and the path.</p>
82
+ */
37
83
  AuthorizationEndpoint: string | undefined;
38
-
84
+ /**
85
+ * <p>The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the
86
+ * domain, and the path.</p>
87
+ */
39
88
  TokenEndpoint: string | undefined;
40
-
89
+ /**
90
+ * <p>The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol,
91
+ * the domain, and the path.</p>
92
+ */
41
93
  UserInfoEndpoint: string | undefined;
42
-
94
+ /**
95
+ * <p>The OAuth 2.0 client identifier.</p>
96
+ */
43
97
  ClientId: string | undefined;
44
-
98
+ /**
99
+ * <p>The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you
100
+ * are modifying a rule, you can omit this parameter if you set
101
+ * <code>UseExistingClientSecret</code> to true.</p>
102
+ */
45
103
  ClientSecret?: string;
46
-
104
+ /**
105
+ * <p>The name of the cookie used to maintain session information. The default is
106
+ * AWSELBAuthSessionCookie.</p>
107
+ */
47
108
  SessionCookieName?: string;
48
-
109
+ /**
110
+ * <p>The set of user claims to be requested from the IdP. The default is
111
+ * <code>openid</code>.</p>
112
+ * <p>To verify which scope values your IdP supports and how to separate multiple values, see
113
+ * the documentation for your IdP.</p>
114
+ */
49
115
  Scope?: string;
50
-
116
+ /**
117
+ * <p>The maximum duration of the authentication session, in seconds. The default is 604800
118
+ * seconds (7 days).</p>
119
+ */
51
120
  SessionTimeout?: number;
52
-
121
+ /**
122
+ * <p>The query parameters (up to 10) to include in the redirect request to the authorization
123
+ * endpoint.</p>
124
+ */
53
125
  AuthenticationRequestExtraParams?: Record<string, string>;
54
-
126
+ /**
127
+ * <p>The behavior if the user is not authenticated. The following are possible values:</p>
128
+ * <ul>
129
+ * <li>
130
+ * <p>deny<code></code> - Return an HTTP 401 Unauthorized error.</p>
131
+ * </li>
132
+ * <li>
133
+ * <p>allow<code></code> - Allow the request to be forwarded to the target.</p>
134
+ * </li>
135
+ * <li>
136
+ * <p>authenticate<code></code> - Redirect the request to the IdP authorization endpoint. This is
137
+ * the default value.</p>
138
+ * </li>
139
+ * </ul>
140
+ */
55
141
  OnUnauthenticatedRequest?: AuthenticateOidcActionConditionalBehaviorEnum | string;
56
-
142
+ /**
143
+ * <p>Indicates whether to use the existing client secret when modifying a rule. If you are
144
+ * creating a rule, you can omit this parameter or set it to false.</p>
145
+ */
57
146
  UseExistingClientSecret?: boolean;
58
147
  }
59
-
148
+ /**
149
+ * <p>Information about an action that returns a custom HTTP response.</p>
150
+ */
60
151
  export interface FixedResponseActionConfig {
61
-
152
+ /**
153
+ * <p>The message.</p>
154
+ */
62
155
  MessageBody?: string;
63
-
156
+ /**
157
+ * <p>The HTTP response code (2XX, 4XX, or 5XX).</p>
158
+ */
64
159
  StatusCode: string | undefined;
65
-
160
+ /**
161
+ * <p>The content type.</p>
162
+ * <p>Valid Values: text/plain | text/css | text/html | application/javascript |
163
+ * application/json</p>
164
+ */
66
165
  ContentType?: string;
67
166
  }
68
-
167
+ /**
168
+ * <p>Information about how traffic will be distributed between multiple target groups in a
169
+ * forward rule.</p>
170
+ */
69
171
  export interface TargetGroupTuple {
70
-
172
+ /**
173
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
174
+ */
71
175
  TargetGroupArn?: string;
72
-
176
+ /**
177
+ * <p>The weight. The range is 0 to 999.</p>
178
+ */
73
179
  Weight?: number;
74
180
  }
75
-
181
+ /**
182
+ * <p>Information about the target group stickiness for a rule.</p>
183
+ */
76
184
  export interface TargetGroupStickinessConfig {
77
-
185
+ /**
186
+ * <p>Indicates whether target group stickiness is enabled.</p>
187
+ */
78
188
  Enabled?: boolean;
79
-
189
+ /**
190
+ * <p>The time period, in seconds, during which requests from a client should be routed to the
191
+ * same target group. The range is 1-604800 seconds (7 days).</p>
192
+ */
80
193
  DurationSeconds?: number;
81
194
  }
82
-
195
+ /**
196
+ * <p>Information about a forward action.</p>
197
+ */
83
198
  export interface ForwardActionConfig {
84
-
199
+ /**
200
+ * <p>One or more target groups. For Network Load Balancers, you can specify a single target
201
+ * group.</p>
202
+ */
85
203
  TargetGroups?: TargetGroupTuple[];
86
-
204
+ /**
205
+ * <p>The target group stickiness for the rule.</p>
206
+ */
87
207
  TargetGroupStickinessConfig?: TargetGroupStickinessConfig;
88
208
  }
89
209
  export declare enum RedirectActionStatusCodeEnum {
90
210
  HTTP_301 = "HTTP_301",
91
211
  HTTP_302 = "HTTP_302"
92
212
  }
93
-
213
+ /**
214
+ * <p>Information about a redirect action.</p>
215
+ * <p>A URI consists of the following components: protocol://hostname:port/path?query. You must
216
+ * modify at least one of the following components to avoid a redirect loop: protocol, hostname,
217
+ * port, or path. Any components that you do not modify retain their original values.</p>
218
+ * <p>You can reuse URI components using the following reserved keywords:</p>
219
+ * <ul>
220
+ * <li>
221
+ * <p>#{protocol}</p>
222
+ * </li>
223
+ * <li>
224
+ * <p>#{host}</p>
225
+ * </li>
226
+ * <li>
227
+ * <p>#{port}</p>
228
+ * </li>
229
+ * <li>
230
+ * <p>#{path} (the leading "/" is removed)</p>
231
+ * </li>
232
+ * <li>
233
+ * <p>#{query}</p>
234
+ * </li>
235
+ * </ul>
236
+ * <p>For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}",
237
+ * or the query to "#{query}&value=xyz".</p>
238
+ */
94
239
  export interface RedirectActionConfig {
95
-
240
+ /**
241
+ * <p>The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP,
242
+ * HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.</p>
243
+ */
96
244
  Protocol?: string;
97
-
245
+ /**
246
+ * <p>The port. You can specify a value from 1 to 65535 or #{port}.</p>
247
+ */
98
248
  Port?: string;
99
-
249
+ /**
250
+ * <p>The hostname. This component is not percent-encoded. The hostname can contain
251
+ * #{host}.</p>
252
+ */
100
253
  Host?: string;
101
-
254
+ /**
255
+ * <p>The absolute path, starting with the leading "/". This component is not percent-encoded.
256
+ * The path can contain #{host}, #{path}, and #{port}.</p>
257
+ */
102
258
  Path?: string;
103
-
259
+ /**
260
+ * <p>The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include
261
+ * the leading "?", as it is automatically added. You can specify any of the reserved
262
+ * keywords.</p>
263
+ */
104
264
  Query?: string;
105
-
265
+ /**
266
+ * <p>The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP
267
+ * 302).</p>
268
+ */
106
269
  StatusCode: RedirectActionStatusCodeEnum | string | undefined;
107
270
  }
108
271
  export declare enum ActionTypeEnum {
@@ -112,310 +275,572 @@ export declare enum ActionTypeEnum {
112
275
  FORWARD = "forward",
113
276
  REDIRECT = "redirect"
114
277
  }
115
-
278
+ /**
279
+ * <p>Information about an action.</p>
280
+ * <p>Each rule must include exactly one of the following types of actions:
281
+ * <code>forward</code>, <code>fixed-response</code>, or <code>redirect</code>, and it must be
282
+ * the last action to be performed.</p>
283
+ */
116
284
  export interface Action {
117
-
285
+ /**
286
+ * <p>The type of action.</p>
287
+ */
118
288
  Type: ActionTypeEnum | string | undefined;
119
-
289
+ /**
290
+ * <p>The Amazon Resource Name (ARN) of the target group. Specify only when <code>Type</code> is
291
+ * <code>forward</code> and you want to route to a single target group. To route to one or more
292
+ * target groups, use <code>ForwardConfig</code> instead.</p>
293
+ */
120
294
  TargetGroupArn?: string;
121
-
295
+ /**
296
+ * <p>[HTTPS listeners] Information about an identity provider that is compliant with OpenID
297
+ * Connect (OIDC). Specify only when <code>Type</code> is <code>authenticate-oidc</code>.</p>
298
+ */
122
299
  AuthenticateOidcConfig?: AuthenticateOidcActionConfig;
123
-
300
+ /**
301
+ * <p>[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only
302
+ * when <code>Type</code> is <code>authenticate-cognito</code>.</p>
303
+ */
124
304
  AuthenticateCognitoConfig?: AuthenticateCognitoActionConfig;
125
-
305
+ /**
306
+ * <p>The order for the action. This value is required for rules with multiple actions. The
307
+ * action with the lowest value for order is performed first.</p>
308
+ */
126
309
  Order?: number;
127
-
310
+ /**
311
+ * <p>[Application Load Balancer] Information for creating a redirect action. Specify only when
312
+ * <code>Type</code> is <code>redirect</code>.</p>
313
+ */
128
314
  RedirectConfig?: RedirectActionConfig;
129
-
315
+ /**
316
+ * <p>[Application Load Balancer] Information for creating an action that returns a custom HTTP
317
+ * response. Specify only when <code>Type</code> is <code>fixed-response</code>.</p>
318
+ */
130
319
  FixedResponseConfig?: FixedResponseActionConfig;
131
-
320
+ /**
321
+ * <p>Information for creating an action that distributes requests among one or more target
322
+ * groups. For Network Load Balancers, you can specify a single target group. Specify only when
323
+ * <code>Type</code> is <code>forward</code>. If you specify both <code>ForwardConfig</code>
324
+ * and <code>TargetGroupArn</code>, you can specify only one target group using
325
+ * <code>ForwardConfig</code> and it must be the same target group specified in
326
+ * <code>TargetGroupArn</code>.</p>
327
+ */
132
328
  ForwardConfig?: ForwardActionConfig;
133
329
  }
134
-
330
+ /**
331
+ * <p>Information about an SSL server certificate.</p>
332
+ */
135
333
  export interface Certificate {
136
-
334
+ /**
335
+ * <p>The Amazon Resource Name (ARN) of the certificate.</p>
336
+ */
137
337
  CertificateArn?: string;
138
-
338
+ /**
339
+ * <p>Indicates whether the certificate is the default certificate. Do not set this value when
340
+ * specifying a certificate as an input. This value is not included in the output when describing
341
+ * a listener, but is included when describing listener certificates.</p>
342
+ */
139
343
  IsDefault?: boolean;
140
344
  }
141
345
  export interface AddListenerCertificatesInput {
142
-
346
+ /**
347
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
348
+ */
143
349
  ListenerArn: string | undefined;
144
-
350
+ /**
351
+ * <p>The certificate to add. You can specify one certificate per call. Set
352
+ * <code>CertificateArn</code> to the certificate ARN but do not set
353
+ * <code>IsDefault</code>.</p>
354
+ */
145
355
  Certificates: Certificate[] | undefined;
146
356
  }
147
357
  export interface AddListenerCertificatesOutput {
148
-
358
+ /**
359
+ * <p>Information about the certificates in the certificate list.</p>
360
+ */
149
361
  Certificates?: Certificate[];
150
362
  }
151
-
363
+ /**
364
+ * <p>The specified certificate does not exist.</p>
365
+ */
152
366
  export declare class CertificateNotFoundException extends __BaseException {
153
367
  readonly name: "CertificateNotFoundException";
154
368
  readonly $fault: "client";
155
369
  Message?: string;
156
-
370
+ /**
371
+ * @internal
372
+ */
157
373
  constructor(opts: __ExceptionOptionType<CertificateNotFoundException, __BaseException>);
158
374
  }
159
-
375
+ /**
376
+ * <p>The specified listener does not exist.</p>
377
+ */
160
378
  export declare class ListenerNotFoundException extends __BaseException {
161
379
  readonly name: "ListenerNotFoundException";
162
380
  readonly $fault: "client";
163
381
  Message?: string;
164
-
382
+ /**
383
+ * @internal
384
+ */
165
385
  constructor(opts: __ExceptionOptionType<ListenerNotFoundException, __BaseException>);
166
386
  }
167
-
387
+ /**
388
+ * <p>You've reached the limit on the number of certificates per load balancer.</p>
389
+ */
168
390
  export declare class TooManyCertificatesException extends __BaseException {
169
391
  readonly name: "TooManyCertificatesException";
170
392
  readonly $fault: "client";
171
393
  Message?: string;
172
-
394
+ /**
395
+ * @internal
396
+ */
173
397
  constructor(opts: __ExceptionOptionType<TooManyCertificatesException, __BaseException>);
174
398
  }
175
-
399
+ /**
400
+ * <p>Information about a tag.</p>
401
+ */
176
402
  export interface Tag {
177
-
403
+ /**
404
+ * <p>The key of the tag.</p>
405
+ */
178
406
  Key: string | undefined;
179
-
407
+ /**
408
+ * <p>The value of the tag.</p>
409
+ */
180
410
  Value?: string;
181
411
  }
182
412
  export interface AddTagsInput {
183
-
413
+ /**
414
+ * <p>The Amazon Resource Name (ARN) of the resource.</p>
415
+ */
184
416
  ResourceArns: string[] | undefined;
185
-
417
+ /**
418
+ * <p>The tags.</p>
419
+ */
186
420
  Tags: Tag[] | undefined;
187
421
  }
188
422
  export interface AddTagsOutput {
189
423
  }
190
-
424
+ /**
425
+ * <p>A tag key was specified more than once.</p>
426
+ */
191
427
  export declare class DuplicateTagKeysException extends __BaseException {
192
428
  readonly name: "DuplicateTagKeysException";
193
429
  readonly $fault: "client";
194
430
  Message?: string;
195
-
431
+ /**
432
+ * @internal
433
+ */
196
434
  constructor(opts: __ExceptionOptionType<DuplicateTagKeysException, __BaseException>);
197
435
  }
198
-
436
+ /**
437
+ * <p>The specified load balancer does not exist.</p>
438
+ */
199
439
  export declare class LoadBalancerNotFoundException extends __BaseException {
200
440
  readonly name: "LoadBalancerNotFoundException";
201
441
  readonly $fault: "client";
202
442
  Message?: string;
203
-
443
+ /**
444
+ * @internal
445
+ */
204
446
  constructor(opts: __ExceptionOptionType<LoadBalancerNotFoundException, __BaseException>);
205
447
  }
206
-
448
+ /**
449
+ * <p>The specified rule does not exist.</p>
450
+ */
207
451
  export declare class RuleNotFoundException extends __BaseException {
208
452
  readonly name: "RuleNotFoundException";
209
453
  readonly $fault: "client";
210
454
  Message?: string;
211
-
455
+ /**
456
+ * @internal
457
+ */
212
458
  constructor(opts: __ExceptionOptionType<RuleNotFoundException, __BaseException>);
213
459
  }
214
-
460
+ /**
461
+ * <p>The specified target group does not exist.</p>
462
+ */
215
463
  export declare class TargetGroupNotFoundException extends __BaseException {
216
464
  readonly name: "TargetGroupNotFoundException";
217
465
  readonly $fault: "client";
218
466
  Message?: string;
219
-
467
+ /**
468
+ * @internal
469
+ */
220
470
  constructor(opts: __ExceptionOptionType<TargetGroupNotFoundException, __BaseException>);
221
471
  }
222
-
472
+ /**
473
+ * <p>You've reached the limit on the number of tags per load balancer.</p>
474
+ */
223
475
  export declare class TooManyTagsException extends __BaseException {
224
476
  readonly name: "TooManyTagsException";
225
477
  readonly $fault: "client";
226
478
  Message?: string;
227
-
479
+ /**
480
+ * @internal
481
+ */
228
482
  constructor(opts: __ExceptionOptionType<TooManyTagsException, __BaseException>);
229
483
  }
230
-
484
+ /**
485
+ * <p>The specified allocation ID does not exist.</p>
486
+ */
231
487
  export declare class AllocationIdNotFoundException extends __BaseException {
232
488
  readonly name: "AllocationIdNotFoundException";
233
489
  readonly $fault: "client";
234
490
  Message?: string;
235
-
491
+ /**
492
+ * @internal
493
+ */
236
494
  constructor(opts: __ExceptionOptionType<AllocationIdNotFoundException, __BaseException>);
237
495
  }
238
-
496
+ /**
497
+ * <p>The specified ALPN policy is not supported.</p>
498
+ */
239
499
  export declare class ALPNPolicyNotSupportedException extends __BaseException {
240
500
  readonly name: "ALPNPolicyNotSupportedException";
241
501
  readonly $fault: "client";
242
502
  Message?: string;
243
-
503
+ /**
504
+ * @internal
505
+ */
244
506
  constructor(opts: __ExceptionOptionType<ALPNPolicyNotSupportedException, __BaseException>);
245
507
  }
246
-
508
+ /**
509
+ * <p>Information about a static IP address for a load balancer.</p>
510
+ */
247
511
  export interface LoadBalancerAddress {
248
-
512
+ /**
513
+ * <p>The static IP address.</p>
514
+ */
249
515
  IpAddress?: string;
250
-
516
+ /**
517
+ * <p>[Network Load Balancers] The allocation ID of the Elastic IP address for an
518
+ * internal-facing load balancer.</p>
519
+ */
251
520
  AllocationId?: string;
252
-
521
+ /**
522
+ * <p>[Network Load Balancers] The private IPv4 address for an internal load balancer.</p>
523
+ */
253
524
  PrivateIPv4Address?: string;
254
-
525
+ /**
526
+ * <p>[Network Load Balancers] The IPv6 address.</p>
527
+ */
255
528
  IPv6Address?: string;
256
529
  }
257
-
530
+ /**
531
+ * <p>Information about an Availability Zone.</p>
532
+ */
258
533
  export interface AvailabilityZone {
259
-
534
+ /**
535
+ * <p>The name of the Availability Zone.</p>
536
+ */
260
537
  ZoneName?: string;
261
-
538
+ /**
539
+ * <p>The ID of the subnet. You can specify one subnet per Availability Zone.</p>
540
+ */
262
541
  SubnetId?: string;
263
-
542
+ /**
543
+ * <p>[Application Load Balancers on Outposts] The ID of the Outpost.</p>
544
+ */
264
545
  OutpostId?: string;
265
-
546
+ /**
547
+ * <p>[Network Load Balancers] If you need static IP addresses for your load balancer, you can
548
+ * specify one Elastic IP address per Availability Zone when you create an internal-facing load
549
+ * balancer. For internal load balancers, you can specify a private IP address from the IPv4
550
+ * range of the subnet.</p>
551
+ */
266
552
  LoadBalancerAddresses?: LoadBalancerAddress[];
267
553
  }
268
-
554
+ /**
555
+ * <p>The specified Availability Zone is not supported.</p>
556
+ */
269
557
  export declare class AvailabilityZoneNotSupportedException extends __BaseException {
270
558
  readonly name: "AvailabilityZoneNotSupportedException";
271
559
  readonly $fault: "client";
272
560
  Message?: string;
273
-
561
+ /**
562
+ * @internal
563
+ */
274
564
  constructor(opts: __ExceptionOptionType<AvailabilityZoneNotSupportedException, __BaseException>);
275
565
  }
276
-
566
+ /**
567
+ * <p>Information about a cipher used in a policy.</p>
568
+ */
277
569
  export interface Cipher {
278
-
570
+ /**
571
+ * <p>The name of the cipher.</p>
572
+ */
279
573
  Name?: string;
280
-
574
+ /**
575
+ * <p>The priority of the cipher.</p>
576
+ */
281
577
  Priority?: number;
282
578
  }
283
579
  export declare type ProtocolEnum = "GENEVE" | "HTTP" | "HTTPS" | "TCP" | "TCP_UDP" | "TLS" | "UDP";
284
580
  export interface CreateListenerInput {
285
-
581
+ /**
582
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
583
+ */
286
584
  LoadBalancerArn: string | undefined;
287
-
585
+ /**
586
+ * <p>The protocol for connections from clients to the load balancer. For Application Load
587
+ * Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the
588
+ * supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP
589
+ * protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load
590
+ * Balancer.</p>
591
+ */
288
592
  Protocol?: ProtocolEnum | string;
289
-
593
+ /**
594
+ * <p>The port on which the load balancer is listening. You cannot specify a port for a Gateway
595
+ * Load Balancer.</p>
596
+ */
290
597
  Port?: number;
291
-
598
+ /**
599
+ * <p>[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are
600
+ * supported.</p>
601
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies">Security policies</a> in the <i>Application Load Balancers Guide</i> and
602
+ * <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies">Security policies</a> in the <i>Network Load Balancers Guide</i>.</p>
603
+ */
292
604
  SslPolicy?: string;
293
-
605
+ /**
606
+ * <p>[HTTPS and TLS listeners] The default certificate for the listener. You must provide
607
+ * exactly one certificate. Set <code>CertificateArn</code> to the certificate ARN but do not set
608
+ * <code>IsDefault</code>.</p>
609
+ */
294
610
  Certificates?: Certificate[];
295
-
611
+ /**
612
+ * <p>The actions for the default rule.</p>
613
+ */
296
614
  DefaultActions: Action[] | undefined;
297
-
615
+ /**
616
+ * <p>[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You
617
+ * can specify one policy name. The following are the possible values:</p>
618
+ * <ul>
619
+ * <li>
620
+ * <p>
621
+ * <code>HTTP1Only</code>
622
+ * </p>
623
+ * </li>
624
+ * <li>
625
+ * <p>
626
+ * <code>HTTP2Only</code>
627
+ * </p>
628
+ * </li>
629
+ * <li>
630
+ * <p>
631
+ * <code>HTTP2Optional</code>
632
+ * </p>
633
+ * </li>
634
+ * <li>
635
+ * <p>
636
+ * <code>HTTP2Preferred</code>
637
+ * </p>
638
+ * </li>
639
+ * <li>
640
+ * <p>
641
+ * <code>None</code>
642
+ * </p>
643
+ * </li>
644
+ * </ul>
645
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies">ALPN
646
+ * policies</a> in the <i>Network Load Balancers Guide</i>.</p>
647
+ */
298
648
  AlpnPolicy?: string[];
299
-
649
+ /**
650
+ * <p>The tags to assign to the listener.</p>
651
+ */
300
652
  Tags?: Tag[];
301
653
  }
302
-
654
+ /**
655
+ * <p>Information about a listener.</p>
656
+ */
303
657
  export interface Listener {
304
-
658
+ /**
659
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
660
+ */
305
661
  ListenerArn?: string;
306
-
662
+ /**
663
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
664
+ */
307
665
  LoadBalancerArn?: string;
308
-
666
+ /**
667
+ * <p>The port on which the load balancer is listening.</p>
668
+ */
309
669
  Port?: number;
310
-
670
+ /**
671
+ * <p>The protocol for connections from clients to the load balancer.</p>
672
+ */
311
673
  Protocol?: ProtocolEnum | string;
312
-
674
+ /**
675
+ * <p>[HTTPS or TLS listener] The default certificate for the listener.</p>
676
+ */
313
677
  Certificates?: Certificate[];
314
-
678
+ /**
679
+ * <p>[HTTPS or TLS listener] The security policy that defines which protocols and ciphers are
680
+ * supported.</p>
681
+ */
315
682
  SslPolicy?: string;
316
-
683
+ /**
684
+ * <p>The default actions for the listener.</p>
685
+ */
317
686
  DefaultActions?: Action[];
318
-
687
+ /**
688
+ * <p>[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN)
689
+ * policy.</p>
690
+ */
319
691
  AlpnPolicy?: string[];
320
692
  }
321
693
  export interface CreateListenerOutput {
322
-
694
+ /**
695
+ * <p>Information about the listener.</p>
696
+ */
323
697
  Listeners?: Listener[];
324
698
  }
325
-
699
+ /**
700
+ * <p>A listener with the specified port already exists.</p>
701
+ */
326
702
  export declare class DuplicateListenerException extends __BaseException {
327
703
  readonly name: "DuplicateListenerException";
328
704
  readonly $fault: "client";
329
705
  Message?: string;
330
-
706
+ /**
707
+ * @internal
708
+ */
331
709
  constructor(opts: __ExceptionOptionType<DuplicateListenerException, __BaseException>);
332
710
  }
333
-
711
+ /**
712
+ * <p>The specified configuration is not valid with this protocol.</p>
713
+ */
334
714
  export declare class IncompatibleProtocolsException extends __BaseException {
335
715
  readonly name: "IncompatibleProtocolsException";
336
716
  readonly $fault: "client";
337
717
  Message?: string;
338
-
718
+ /**
719
+ * @internal
720
+ */
339
721
  constructor(opts: __ExceptionOptionType<IncompatibleProtocolsException, __BaseException>);
340
722
  }
341
-
723
+ /**
724
+ * <p>The requested configuration is not valid.</p>
725
+ */
342
726
  export declare class InvalidConfigurationRequestException extends __BaseException {
343
727
  readonly name: "InvalidConfigurationRequestException";
344
728
  readonly $fault: "client";
345
729
  Message?: string;
346
-
730
+ /**
731
+ * @internal
732
+ */
347
733
  constructor(opts: __ExceptionOptionType<InvalidConfigurationRequestException, __BaseException>);
348
734
  }
349
-
735
+ /**
736
+ * <p>The requested action is not valid.</p>
737
+ */
350
738
  export declare class InvalidLoadBalancerActionException extends __BaseException {
351
739
  readonly name: "InvalidLoadBalancerActionException";
352
740
  readonly $fault: "client";
353
741
  Message?: string;
354
-
742
+ /**
743
+ * @internal
744
+ */
355
745
  constructor(opts: __ExceptionOptionType<InvalidLoadBalancerActionException, __BaseException>);
356
746
  }
357
-
747
+ /**
748
+ * <p>The specified SSL policy does not exist.</p>
749
+ */
358
750
  export declare class SSLPolicyNotFoundException extends __BaseException {
359
751
  readonly name: "SSLPolicyNotFoundException";
360
752
  readonly $fault: "client";
361
753
  Message?: string;
362
-
754
+ /**
755
+ * @internal
756
+ */
363
757
  constructor(opts: __ExceptionOptionType<SSLPolicyNotFoundException, __BaseException>);
364
758
  }
365
-
759
+ /**
760
+ * <p>You've reached the limit on the number of load balancers per target group.</p>
761
+ */
366
762
  export declare class TargetGroupAssociationLimitException extends __BaseException {
367
763
  readonly name: "TargetGroupAssociationLimitException";
368
764
  readonly $fault: "client";
369
765
  Message?: string;
370
-
766
+ /**
767
+ * @internal
768
+ */
371
769
  constructor(opts: __ExceptionOptionType<TargetGroupAssociationLimitException, __BaseException>);
372
770
  }
373
-
771
+ /**
772
+ * <p>You've reached the limit on the number of actions per rule.</p>
773
+ */
374
774
  export declare class TooManyActionsException extends __BaseException {
375
775
  readonly name: "TooManyActionsException";
376
776
  readonly $fault: "client";
377
777
  Message?: string;
378
-
778
+ /**
779
+ * @internal
780
+ */
379
781
  constructor(opts: __ExceptionOptionType<TooManyActionsException, __BaseException>);
380
782
  }
381
-
783
+ /**
784
+ * <p>You've reached the limit on the number of listeners per load balancer.</p>
785
+ */
382
786
  export declare class TooManyListenersException extends __BaseException {
383
787
  readonly name: "TooManyListenersException";
384
788
  readonly $fault: "client";
385
789
  Message?: string;
386
-
790
+ /**
791
+ * @internal
792
+ */
387
793
  constructor(opts: __ExceptionOptionType<TooManyListenersException, __BaseException>);
388
794
  }
389
-
795
+ /**
796
+ * <p>You've reached the limit on the number of times a target can be registered with a load
797
+ * balancer.</p>
798
+ */
390
799
  export declare class TooManyRegistrationsForTargetIdException extends __BaseException {
391
800
  readonly name: "TooManyRegistrationsForTargetIdException";
392
801
  readonly $fault: "client";
393
802
  Message?: string;
394
-
803
+ /**
804
+ * @internal
805
+ */
395
806
  constructor(opts: __ExceptionOptionType<TooManyRegistrationsForTargetIdException, __BaseException>);
396
807
  }
397
-
808
+ /**
809
+ * <p>You've reached the limit on the number of targets.</p>
810
+ */
398
811
  export declare class TooManyTargetsException extends __BaseException {
399
812
  readonly name: "TooManyTargetsException";
400
813
  readonly $fault: "client";
401
814
  Message?: string;
402
-
815
+ /**
816
+ * @internal
817
+ */
403
818
  constructor(opts: __ExceptionOptionType<TooManyTargetsException, __BaseException>);
404
819
  }
405
-
820
+ /**
821
+ * <p>You've reached the limit on the number of unique target groups per load balancer across
822
+ * all listeners. If a target group is used by multiple actions for a load balancer, it is
823
+ * counted as only one use.</p>
824
+ */
406
825
  export declare class TooManyUniqueTargetGroupsPerLoadBalancerException extends __BaseException {
407
826
  readonly name: "TooManyUniqueTargetGroupsPerLoadBalancerException";
408
827
  readonly $fault: "client";
409
828
  Message?: string;
410
-
829
+ /**
830
+ * @internal
831
+ */
411
832
  constructor(opts: __ExceptionOptionType<TooManyUniqueTargetGroupsPerLoadBalancerException, __BaseException>);
412
833
  }
413
-
834
+ /**
835
+ * <p>The specified protocol is not supported.</p>
836
+ */
414
837
  export declare class UnsupportedProtocolException extends __BaseException {
415
838
  readonly name: "UnsupportedProtocolException";
416
839
  readonly $fault: "client";
417
840
  Message?: string;
418
-
841
+ /**
842
+ * @internal
843
+ */
419
844
  constructor(opts: __ExceptionOptionType<UnsupportedProtocolException, __BaseException>);
420
845
  }
421
846
  export declare enum IpAddressType {
@@ -426,15 +851,26 @@ export declare enum LoadBalancerSchemeEnum {
426
851
  INTERNAL = "internal",
427
852
  INTERNET_FACING = "internet-facing"
428
853
  }
429
-
854
+ /**
855
+ * <p>Information about a subnet mapping.</p>
856
+ */
430
857
  export interface SubnetMapping {
431
-
858
+ /**
859
+ * <p>The ID of the subnet.</p>
860
+ */
432
861
  SubnetId?: string;
433
-
862
+ /**
863
+ * <p>[Network Load Balancers] The allocation ID of the Elastic IP address for an
864
+ * internet-facing load balancer.</p>
865
+ */
434
866
  AllocationId?: string;
435
-
867
+ /**
868
+ * <p>[Network Load Balancers] The private IPv4 address for an internal load balancer.</p>
869
+ */
436
870
  PrivateIPv4Address?: string;
437
-
871
+ /**
872
+ * <p>[Network Load Balancers] The IPv6 address.</p>
873
+ */
438
874
  IPv6Address?: string;
439
875
  }
440
876
  export declare enum LoadBalancerTypeEnum {
@@ -443,23 +879,80 @@ export declare enum LoadBalancerTypeEnum {
443
879
  NETWORK = "network"
444
880
  }
445
881
  export interface CreateLoadBalancerInput {
446
-
882
+ /**
883
+ * <p>The name of the load balancer.</p>
884
+ * <p>This name must be unique per region per account, can have a maximum of 32 characters, must
885
+ * contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must
886
+ * not begin with "internal-".</p>
887
+ */
447
888
  Name: string | undefined;
448
-
889
+ /**
890
+ * <p>The IDs of the public subnets. You can specify only one subnet per Availability Zone. You
891
+ * must specify either subnets or subnet mappings, but not both. To specify an Elastic IP
892
+ * address, specify subnet mappings instead of subnets.</p>
893
+ * <p>[Application Load Balancers] You must specify subnets from at least two Availability
894
+ * Zones.</p>
895
+ * <p>[Application Load Balancers on Outposts] You must specify one Outpost subnet.</p>
896
+ * <p>[Application Load Balancers on Local Zones] You can specify subnets from one or more Local
897
+ * Zones.</p>
898
+ * <p>[Network Load Balancers] You can specify subnets from one or more Availability
899
+ * Zones.</p>
900
+ * <p>[Gateway Load Balancers] You can specify subnets from one or more Availability
901
+ * Zones.</p>
902
+ */
449
903
  Subnets?: string[];
450
-
904
+ /**
905
+ * <p>The IDs of the public subnets. You can specify only one subnet per Availability Zone. You
906
+ * must specify either subnets or subnet mappings, but not both.</p>
907
+ * <p>[Application Load Balancers] You must specify subnets from at least two Availability
908
+ * Zones. You cannot specify Elastic IP addresses for your subnets.</p>
909
+ * <p>[Application Load Balancers on Outposts] You must specify one Outpost subnet.</p>
910
+ * <p>[Application Load Balancers on Local Zones] You can specify subnets from one or more Local
911
+ * Zones.</p>
912
+ * <p>[Network Load Balancers] You can specify subnets from one or more Availability Zones. You
913
+ * can specify one Elastic IP address per subnet if you need static IP addresses for your
914
+ * internet-facing load balancer. For internal load balancers, you can specify one private IP
915
+ * address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you
916
+ * can specify one IPv6 address per subnet.</p>
917
+ * <p>[Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You
918
+ * cannot specify Elastic IP addresses for your subnets.</p>
919
+ */
451
920
  SubnetMappings?: SubnetMapping[];
452
-
921
+ /**
922
+ * <p>[Application Load Balancers] The IDs of the security groups for the load balancer.</p>
923
+ */
453
924
  SecurityGroups?: string[];
454
-
925
+ /**
926
+ * <p>The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an
927
+ * Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes.
928
+ * Therefore, Internet-facing load balancers can route requests from clients over the
929
+ * internet.</p>
930
+ * <p>The nodes of an internal load balancer have only private IP addresses. The DNS name of an
931
+ * internal load balancer is publicly resolvable to the private IP addresses of the nodes.
932
+ * Therefore, internal load balancers can route requests only from clients with access to the VPC
933
+ * for the load balancer.</p>
934
+ * <p>The default is an Internet-facing load balancer.</p>
935
+ * <p>You cannot specify a scheme for a Gateway Load Balancer.</p>
936
+ */
455
937
  Scheme?: LoadBalancerSchemeEnum | string;
456
-
938
+ /**
939
+ * <p>The tags to assign to the load balancer.</p>
940
+ */
457
941
  Tags?: Tag[];
458
-
942
+ /**
943
+ * <p>The type of load balancer. The default is <code>application</code>.</p>
944
+ */
459
945
  Type?: LoadBalancerTypeEnum | string;
460
-
946
+ /**
947
+ * <p>The type of IP addresses used by the subnets for your load balancer. The possible values
948
+ * are <code>ipv4</code> (for IPv4 addresses) and <code>dualstack</code> (for IPv4 and IPv6
949
+ * addresses). </p>
950
+ */
461
951
  IpAddressType?: IpAddressType | string;
462
-
952
+ /**
953
+ * <p>[Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP
954
+ * pool).</p>
955
+ */
463
956
  CustomerOwnedIpv4Pool?: string;
464
957
  }
465
958
  export declare enum LoadBalancerStateEnum {
@@ -468,151 +961,2461 @@ export declare enum LoadBalancerStateEnum {
468
961
  FAILED = "failed",
469
962
  PROVISIONING = "provisioning"
470
963
  }
471
-
964
+ /**
965
+ * <p>Information about the state of the load balancer.</p>
966
+ */
472
967
  export interface LoadBalancerState {
473
-
968
+ /**
969
+ * <p>The state code. The initial state of the load balancer is <code>provisioning</code>. After
970
+ * the load balancer is fully set up and ready to route traffic, its state is
971
+ * <code>active</code>. If load balancer is routing traffic but does not have the resources it
972
+ * needs to scale, its state is<code>active_impaired</code>. If the load balancer could not be
973
+ * set up, its state is <code>failed</code>.</p>
974
+ */
474
975
  Code?: LoadBalancerStateEnum | string;
475
-
976
+ /**
977
+ * <p>A description of the state.</p>
978
+ */
476
979
  Reason?: string;
477
980
  }
478
-
981
+ /**
982
+ * <p>Information about a load balancer.</p>
983
+ */
479
984
  export interface LoadBalancer {
480
-
985
+ /**
986
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
987
+ */
481
988
  LoadBalancerArn?: string;
482
-
989
+ /**
990
+ * <p>The public DNS name of the load balancer.</p>
991
+ */
483
992
  DNSName?: string;
484
-
993
+ /**
994
+ * <p>The ID of the Amazon Route 53 hosted zone associated with the load balancer.</p>
995
+ */
485
996
  CanonicalHostedZoneId?: string;
486
-
997
+ /**
998
+ * <p>The date and time the load balancer was created.</p>
999
+ */
487
1000
  CreatedTime?: Date;
488
-
1001
+ /**
1002
+ * <p>The name of the load balancer.</p>
1003
+ */
489
1004
  LoadBalancerName?: string;
490
-
1005
+ /**
1006
+ * <p>The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an
1007
+ * Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes.
1008
+ * Therefore, Internet-facing load balancers can route requests from clients over the
1009
+ * internet.</p>
1010
+ * <p>The nodes of an internal load balancer have only private IP addresses. The DNS name of an
1011
+ * internal load balancer is publicly resolvable to the private IP addresses of the nodes.
1012
+ * Therefore, internal load balancers can route requests only from clients with access to the VPC
1013
+ * for the load balancer.</p>
1014
+ */
491
1015
  Scheme?: LoadBalancerSchemeEnum | string;
492
-
1016
+ /**
1017
+ * <p>The ID of the VPC for the load balancer.</p>
1018
+ */
493
1019
  VpcId?: string;
494
-
1020
+ /**
1021
+ * <p>The state of the load balancer.</p>
1022
+ */
495
1023
  State?: LoadBalancerState;
496
-
1024
+ /**
1025
+ * <p>The type of load balancer.</p>
1026
+ */
497
1027
  Type?: LoadBalancerTypeEnum | string;
498
-
1028
+ /**
1029
+ * <p>The subnets for the load balancer.</p>
1030
+ */
499
1031
  AvailabilityZones?: AvailabilityZone[];
500
-
1032
+ /**
1033
+ * <p>The IDs of the security groups for the load balancer.</p>
1034
+ */
501
1035
  SecurityGroups?: string[];
502
-
1036
+ /**
1037
+ * <p>The type of IP addresses used by the subnets for your load balancer. The possible values
1038
+ * are <code>ipv4</code> (for IPv4 addresses) and <code>dualstack</code> (for IPv4 and IPv6
1039
+ * addresses).</p>
1040
+ */
503
1041
  IpAddressType?: IpAddressType | string;
504
-
1042
+ /**
1043
+ * <p>[Application Load Balancers on Outposts] The ID of the customer-owned address pool.</p>
1044
+ */
505
1045
  CustomerOwnedIpv4Pool?: string;
506
1046
  }
507
1047
  export interface CreateLoadBalancerOutput {
508
-
1048
+ /**
1049
+ * <p>Information about the load balancer.</p>
1050
+ */
509
1051
  LoadBalancers?: LoadBalancer[];
510
1052
  }
511
-
1053
+ /**
1054
+ * <p>A load balancer with the specified name already exists.</p>
1055
+ */
512
1056
  export declare class DuplicateLoadBalancerNameException extends __BaseException {
513
1057
  readonly name: "DuplicateLoadBalancerNameException";
514
1058
  readonly $fault: "client";
515
1059
  Message?: string;
516
-
1060
+ /**
1061
+ * @internal
1062
+ */
517
1063
  constructor(opts: __ExceptionOptionType<DuplicateLoadBalancerNameException, __BaseException>);
518
1064
  }
519
-
1065
+ /**
1066
+ * <p>The requested scheme is not valid.</p>
1067
+ */
520
1068
  export declare class InvalidSchemeException extends __BaseException {
521
1069
  readonly name: "InvalidSchemeException";
522
1070
  readonly $fault: "client";
523
1071
  Message?: string;
524
-
1072
+ /**
1073
+ * @internal
1074
+ */
525
1075
  constructor(opts: __ExceptionOptionType<InvalidSchemeException, __BaseException>);
526
1076
  }
527
-
1077
+ /**
1078
+ * <p>The specified security group does not exist.</p>
1079
+ */
528
1080
  export declare class InvalidSecurityGroupException extends __BaseException {
529
1081
  readonly name: "InvalidSecurityGroupException";
530
1082
  readonly $fault: "client";
531
1083
  Message?: string;
532
-
1084
+ /**
1085
+ * @internal
1086
+ */
533
1087
  constructor(opts: __ExceptionOptionType<InvalidSecurityGroupException, __BaseException>);
534
1088
  }
535
-
1089
+ /**
1090
+ * <p>The specified subnet is out of available addresses.</p>
1091
+ */
536
1092
  export declare class InvalidSubnetException extends __BaseException {
537
1093
  readonly name: "InvalidSubnetException";
538
1094
  readonly $fault: "client";
539
1095
  Message?: string;
540
-
1096
+ /**
1097
+ * @internal
1098
+ */
541
1099
  constructor(opts: __ExceptionOptionType<InvalidSubnetException, __BaseException>);
542
1100
  }
543
-
1101
+ /**
1102
+ * <p>This operation is not allowed.</p>
1103
+ */
544
1104
  export declare class OperationNotPermittedException extends __BaseException {
545
1105
  readonly name: "OperationNotPermittedException";
546
1106
  readonly $fault: "client";
547
1107
  Message?: string;
548
-
1108
+ /**
1109
+ * @internal
1110
+ */
549
1111
  constructor(opts: __ExceptionOptionType<OperationNotPermittedException, __BaseException>);
550
1112
  }
551
-
1113
+ /**
1114
+ * <p>A specified resource is in use.</p>
1115
+ */
552
1116
  export declare class ResourceInUseException extends __BaseException {
553
1117
  readonly name: "ResourceInUseException";
554
1118
  readonly $fault: "client";
555
1119
  Message?: string;
556
-
1120
+ /**
1121
+ * @internal
1122
+ */
557
1123
  constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>);
558
1124
  }
559
-
1125
+ /**
1126
+ * <p>The specified subnet does not exist.</p>
1127
+ */
560
1128
  export declare class SubnetNotFoundException extends __BaseException {
561
1129
  readonly name: "SubnetNotFoundException";
562
1130
  readonly $fault: "client";
563
1131
  Message?: string;
564
-
1132
+ /**
1133
+ * @internal
1134
+ */
565
1135
  constructor(opts: __ExceptionOptionType<SubnetNotFoundException, __BaseException>);
566
1136
  }
567
-
1137
+ /**
1138
+ * <p>You've reached the limit on the number of load balancers for your Amazon Web Services
1139
+ * account.</p>
1140
+ */
568
1141
  export declare class TooManyLoadBalancersException extends __BaseException {
569
1142
  readonly name: "TooManyLoadBalancersException";
570
1143
  readonly $fault: "client";
571
1144
  Message?: string;
572
-
1145
+ /**
1146
+ * @internal
1147
+ */
573
1148
  constructor(opts: __ExceptionOptionType<TooManyLoadBalancersException, __BaseException>);
574
1149
  }
575
-
1150
+ /**
1151
+ * <p>Information about a host header condition.</p>
1152
+ */
576
1153
  export interface HostHeaderConditionConfig {
577
-
1154
+ /**
1155
+ * <p>One or more host names. The maximum size of each name is 128 characters. The comparison is
1156
+ * case insensitive. The following wildcard characters are supported: * (matches 0 or more
1157
+ * characters) and ? (matches exactly 1 character).</p>
1158
+ * <p>If you specify multiple strings, the condition is satisfied if one of the strings matches
1159
+ * the host name.</p>
1160
+ */
578
1161
  Values?: string[];
579
1162
  }
580
-
1163
+ /**
1164
+ * <p>Information about an HTTP header condition.</p>
1165
+ * <p>There is a set of standard HTTP header fields. You can also define custom HTTP header
1166
+ * fields.</p>
1167
+ */
581
1168
  export interface HttpHeaderConditionConfig {
582
-
1169
+ /**
1170
+ * <p>The name of the HTTP header field. The maximum size is 40 characters. The header name is
1171
+ * case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not
1172
+ * supported.</p>
1173
+ * <p>You can't use an HTTP header condition to specify the host header. Use <a>HostHeaderConditionConfig</a> to specify a host header condition.</p>
1174
+ */
583
1175
  HttpHeaderName?: string;
584
-
1176
+ /**
1177
+ * <p>One or more strings to compare against the value of the HTTP header. The maximum size of
1178
+ * each string is 128 characters. The comparison strings are case insensitive. The following
1179
+ * wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1
1180
+ * character).</p>
1181
+ * <p>If the same header appears multiple times in the request, we search them in order until a
1182
+ * match is found.</p>
1183
+ * <p>If you specify multiple strings, the condition is satisfied if one of the strings matches
1184
+ * the value of the HTTP header. To require that all of the strings are a match, create one
1185
+ * condition per string.</p>
1186
+ */
585
1187
  Values?: string[];
586
1188
  }
587
-
1189
+ /**
1190
+ * <p>Information about an HTTP method condition.</p>
1191
+ * <p>HTTP defines a set of request methods, also referred to as HTTP verbs. For more
1192
+ * information, see the <a href="https://www.iana.org/assignments/http-methods/http-methods.xhtml">HTTP Method
1193
+ * Registry</a>. You can also define custom HTTP methods.</p>
1194
+ */
588
1195
  export interface HttpRequestMethodConditionConfig {
589
-
1196
+ /**
1197
+ * <p>The name of the request method. The maximum size is 40 characters. The allowed characters
1198
+ * are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not
1199
+ * supported; therefore, the method name must be an exact match.</p>
1200
+ * <p>If you specify multiple strings, the condition is satisfied if one of the strings matches
1201
+ * the HTTP request method. We recommend that you route GET and HEAD requests in the same way,
1202
+ * because the response to a HEAD request may be cached.</p>
1203
+ */
590
1204
  Values?: string[];
591
1205
  }
592
-
1206
+ /**
1207
+ * <p>Information about a path pattern condition.</p>
1208
+ */
593
1209
  export interface PathPatternConditionConfig {
594
-
1210
+ /**
1211
+ * <p>One or more path patterns to compare against the request URL. The maximum size of each
1212
+ * string is 128 characters. The comparison is case sensitive. The following wildcard characters
1213
+ * are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).</p>
1214
+ * <p>If you specify multiple strings, the condition is satisfied if one of them matches the
1215
+ * request URL. The path pattern is compared only to the path of the URL, not to its query
1216
+ * string. To compare against the query string, use <a>QueryStringConditionConfig</a>.</p>
1217
+ */
595
1218
  Values?: string[];
596
1219
  }
597
-
1220
+ /**
1221
+ * <p>Information about a key/value pair.</p>
1222
+ */
598
1223
  export interface QueryStringKeyValuePair {
599
-
1224
+ /**
1225
+ * <p>The key. You can omit the key.</p>
1226
+ */
600
1227
  Key?: string;
601
-
1228
+ /**
1229
+ * <p>The value.</p>
1230
+ */
602
1231
  Value?: string;
603
1232
  }
604
-
1233
+ /**
1234
+ * <p>Information about a query string condition.</p>
1235
+ * <p>The query string component of a URI starts after the first '?' character and is terminated
1236
+ * by either a '#' character or the end of the URI. A typical query string contains key/value
1237
+ * pairs separated by '&' characters. The allowed characters are specified by RFC 3986. Any
1238
+ * character can be percentage encoded.</p>
1239
+ */
605
1240
  export interface QueryStringConditionConfig {
606
-
1241
+ /**
1242
+ * <p>One or more key/value pairs or values to find in the query string. The maximum size of
1243
+ * each string is 128 characters. The comparison is case insensitive. The following wildcard
1244
+ * characters are supported: * (matches 0 or more characters) and ? (matches exactly 1
1245
+ * character). To search for a literal '*' or '?' character in a query string, you must escape
1246
+ * these characters in <code>Values</code> using a '\' character.</p>
1247
+ * <p>If you specify multiple key/value pairs or values, the condition is satisfied if one of
1248
+ * them is found in the query string.</p>
1249
+ */
607
1250
  Values?: QueryStringKeyValuePair[];
608
1251
  }
609
-
1252
+ /**
1253
+ * <p>Information about a source IP condition.</p>
1254
+ * <p>You can use this condition to route based on the IP address of the source that connects to
1255
+ * the load balancer. If a client is behind a proxy, this is the IP address of the proxy not the
1256
+ * IP address of the client.</p>
1257
+ */
610
1258
  export interface SourceIpConditionConfig {
611
-
1259
+ /**
1260
+ * <p>One or more source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses.
1261
+ * Wildcards are not supported.</p>
1262
+ * <p>If you specify multiple addresses, the condition is satisfied if the source IP address of
1263
+ * the request matches one of the CIDR blocks. This condition is not satisfied by the addresses
1264
+ * in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use
1265
+ * <a>HttpHeaderConditionConfig</a>.</p>
1266
+ */
612
1267
  Values?: string[];
613
1268
  }
614
-
1269
+ /**
1270
+ * <p>Information about a condition for a rule.</p>
1271
+ * <p>Each rule can optionally include up to one of each of the following conditions:
1272
+ * <code>http-request-method</code>, <code>host-header</code>, <code>path-pattern</code>, and
1273
+ * <code>source-ip</code>. Each rule can also optionally include one or more of each of the
1274
+ * following conditions: <code>http-header</code> and <code>query-string</code>. Note that the
1275
+ * value for a condition cannot be empty.</p>
1276
+ */
615
1277
  export interface RuleCondition {
616
-
1278
+ /**
1279
+ * <p>The field in the HTTP request. The following are the possible values:</p>
1280
+ * <ul>
1281
+ * <li>
1282
+ * <p>
1283
+ * <code>http-header</code>
1284
+ * </p>
1285
+ * </li>
1286
+ * <li>
1287
+ * <p>
1288
+ * <code>http-request-method</code>
1289
+ * </p>
1290
+ * </li>
1291
+ * <li>
1292
+ * <p>
1293
+ * <code>host-header</code>
1294
+ * </p>
1295
+ * </li>
1296
+ * <li>
1297
+ * <p>
1298
+ * <code>path-pattern</code>
1299
+ * </p>
1300
+ * </li>
1301
+ * <li>
1302
+ * <p>
1303
+ * <code>query-string</code>
1304
+ * </p>
1305
+ * </li>
1306
+ * <li>
1307
+ * <p>
1308
+ * <code>source-ip</code>
1309
+ * </p>
1310
+ * </li>
1311
+ * </ul>
1312
+ */
617
1313
  Field?: string;
618
-
1314
+ /**
1315
+ * <p>The condition value. Specify only when <code>Field</code> is <code>host-header</code> or
1316
+ * <code>path-pattern</code>. Alternatively, to specify multiple host names or multiple path
1317
+ * patterns, use <code>HostHeaderConfig</code> or <code>PathPatternConfig</code>.</p>
1318
+ * <p>If <code>Field</code> is <code>host-header</code> and you are not using
1319
+ * <code>HostHeaderConfig</code>, you can specify a single host name (for example,
1320
+ * my.example.com) in <code>Values</code>. A host name is case insensitive, can be up to 128
1321
+ * characters in length, and can contain any of the following characters.</p>
1322
+ * <ul>
1323
+ * <li>
1324
+ * <p>A-Z, a-z, 0-9</p>
1325
+ * </li>
1326
+ * <li>
1327
+ * <p>- .</p>
1328
+ * </li>
1329
+ * <li>
1330
+ * <p>* (matches 0 or more characters)</p>
1331
+ * </li>
1332
+ * <li>
1333
+ * <p>? (matches exactly 1 character)</p>
1334
+ * </li>
1335
+ * </ul>
1336
+ * <p>If <code>Field</code> is <code>path-pattern</code> and you are not using
1337
+ * <code>PathPatternConfig</code>, you can specify a single path pattern (for example, /img/*)
1338
+ * in <code>Values</code>. A path pattern is case-sensitive, can be up to 128 characters in
1339
+ * length, and can contain any of the following characters.</p>
1340
+ * <ul>
1341
+ * <li>
1342
+ * <p>A-Z, a-z, 0-9</p>
1343
+ * </li>
1344
+ * <li>
1345
+ * <p>_ - . $ / ~ " ' @ : +</p>
1346
+ * </li>
1347
+ * <li>
1348
+ * <p>& (using &amp;)</p>
1349
+ * </li>
1350
+ * <li>
1351
+ * <p>* (matches 0 or more characters)</p>
1352
+ * </li>
1353
+ * <li>
1354
+ * <p>? (matches exactly 1 character)</p>
1355
+ * </li>
1356
+ * </ul>
1357
+ */
1358
+ Values?: string[];
1359
+ /**
1360
+ * <p>Information for a host header condition. Specify only when <code>Field</code> is
1361
+ * <code>host-header</code>.</p>
1362
+ */
1363
+ HostHeaderConfig?: HostHeaderConditionConfig;
1364
+ /**
1365
+ * <p>Information for a path pattern condition. Specify only when <code>Field</code> is
1366
+ * <code>path-pattern</code>.</p>
1367
+ */
1368
+ PathPatternConfig?: PathPatternConditionConfig;
1369
+ /**
1370
+ * <p>Information for an HTTP header condition. Specify only when <code>Field</code> is
1371
+ * <code>http-header</code>.</p>
1372
+ */
1373
+ HttpHeaderConfig?: HttpHeaderConditionConfig;
1374
+ /**
1375
+ * <p>Information for a query string condition. Specify only when <code>Field</code> is
1376
+ * <code>query-string</code>.</p>
1377
+ */
1378
+ QueryStringConfig?: QueryStringConditionConfig;
1379
+ /**
1380
+ * <p>Information for an HTTP method condition. Specify only when <code>Field</code> is
1381
+ * <code>http-request-method</code>.</p>
1382
+ */
1383
+ HttpRequestMethodConfig?: HttpRequestMethodConditionConfig;
1384
+ /**
1385
+ * <p>Information for a source IP condition. Specify only when <code>Field</code> is
1386
+ * <code>source-ip</code>.</p>
1387
+ */
1388
+ SourceIpConfig?: SourceIpConditionConfig;
1389
+ }
1390
+ export interface CreateRuleInput {
1391
+ /**
1392
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
1393
+ */
1394
+ ListenerArn: string | undefined;
1395
+ /**
1396
+ * <p>The conditions.</p>
1397
+ */
1398
+ Conditions: RuleCondition[] | undefined;
1399
+ /**
1400
+ * <p>The rule priority. A listener can't have multiple rules with the same priority.</p>
1401
+ */
1402
+ Priority: number | undefined;
1403
+ /**
1404
+ * <p>The actions.</p>
1405
+ */
1406
+ Actions: Action[] | undefined;
1407
+ /**
1408
+ * <p>The tags to assign to the rule.</p>
1409
+ */
1410
+ Tags?: Tag[];
1411
+ }
1412
+ /**
1413
+ * <p>Information about a rule.</p>
1414
+ */
1415
+ export interface Rule {
1416
+ /**
1417
+ * <p>The Amazon Resource Name (ARN) of the rule.</p>
1418
+ */
1419
+ RuleArn?: string;
1420
+ /**
1421
+ * <p>The priority.</p>
1422
+ */
1423
+ Priority?: string;
1424
+ /**
1425
+ * <p>The conditions. Each rule can include zero or one of the following conditions:
1426
+ * <code>http-request-method</code>, <code>host-header</code>, <code>path-pattern</code>, and
1427
+ * <code>source-ip</code>, and zero or more of the following conditions:
1428
+ * <code>http-header</code> and <code>query-string</code>.</p>
1429
+ */
1430
+ Conditions?: RuleCondition[];
1431
+ /**
1432
+ * <p>The actions. Each rule must include exactly one of the following types of actions:
1433
+ * <code>forward</code>, <code>redirect</code>, or <code>fixed-response</code>, and it must be
1434
+ * the last action to be performed.</p>
1435
+ */
1436
+ Actions?: Action[];
1437
+ /**
1438
+ * <p>Indicates whether this is the default rule.</p>
1439
+ */
1440
+ IsDefault?: boolean;
1441
+ }
1442
+ export interface CreateRuleOutput {
1443
+ /**
1444
+ * <p>Information about the rule.</p>
1445
+ */
1446
+ Rules?: Rule[];
1447
+ }
1448
+ /**
1449
+ * <p>The specified priority is in use.</p>
1450
+ */
1451
+ export declare class PriorityInUseException extends __BaseException {
1452
+ readonly name: "PriorityInUseException";
1453
+ readonly $fault: "client";
1454
+ Message?: string;
1455
+ /**
1456
+ * @internal
1457
+ */
1458
+ constructor(opts: __ExceptionOptionType<PriorityInUseException, __BaseException>);
1459
+ }
1460
+ /**
1461
+ * <p>You've reached the limit on the number of rules per load balancer.</p>
1462
+ */
1463
+ export declare class TooManyRulesException extends __BaseException {
1464
+ readonly name: "TooManyRulesException";
1465
+ readonly $fault: "client";
1466
+ Message?: string;
1467
+ /**
1468
+ * @internal
1469
+ */
1470
+ constructor(opts: __ExceptionOptionType<TooManyRulesException, __BaseException>);
1471
+ }
1472
+ /**
1473
+ * <p>You've reached the limit on the number of target groups for your Amazon Web Services
1474
+ * account.</p>
1475
+ */
1476
+ export declare class TooManyTargetGroupsException extends __BaseException {
1477
+ readonly name: "TooManyTargetGroupsException";
1478
+ readonly $fault: "client";
1479
+ Message?: string;
1480
+ /**
1481
+ * @internal
1482
+ */
1483
+ constructor(opts: __ExceptionOptionType<TooManyTargetGroupsException, __BaseException>);
1484
+ }
1485
+ export declare enum TargetGroupIpAddressTypeEnum {
1486
+ IPV4 = "ipv4",
1487
+ IPV6 = "ipv6"
1488
+ }
1489
+ /**
1490
+ * <p>The codes to use when checking for a successful response from a target. If the protocol
1491
+ * version is gRPC, these are gRPC codes. Otherwise, these are HTTP codes. </p>
1492
+ */
1493
+ export interface Matcher {
1494
+ /**
1495
+ * <p>For Application Load Balancers, you can specify values between 200 and 499, and the
1496
+ * default value is 200. You can specify multiple values (for example, "200,202") or a range of
1497
+ * values (for example, "200-299").</p>
1498
+ * <p>For Network Load Balancers and Gateway Load Balancers, this must be "200–399".</p>
1499
+ * <p>Note that when using shorthand syntax, some values such as commas need to be
1500
+ * escaped.</p>
1501
+ */
1502
+ HttpCode?: string;
1503
+ /**
1504
+ * <p>You can specify values between 0 and 99. You can specify multiple values (for example,
1505
+ * "0,1") or a range of values (for example, "0-5"). The default value is 12.</p>
1506
+ */
1507
+ GrpcCode?: string;
1508
+ }
1509
+ export declare enum TargetTypeEnum {
1510
+ ALB = "alb",
1511
+ INSTANCE = "instance",
1512
+ IP = "ip",
1513
+ LAMBDA = "lambda"
1514
+ }
1515
+ export interface CreateTargetGroupInput {
1516
+ /**
1517
+ * <p>The name of the target group.</p>
1518
+ * <p>This name must be unique per region per account, can have a maximum of 32 characters, must
1519
+ * contain only alphanumeric characters or hyphens, and must not begin or end with a
1520
+ * hyphen.</p>
1521
+ */
1522
+ Name: string | undefined;
1523
+ /**
1524
+ * <p>The protocol to use for routing traffic to the targets. For Application Load Balancers,
1525
+ * the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported
1526
+ * protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, the supported protocol is
1527
+ * GENEVE. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a
1528
+ * Lambda function, this parameter does not apply.</p>
1529
+ */
1530
+ Protocol?: ProtocolEnum | string;
1531
+ /**
1532
+ * <p>[HTTP/HTTPS protocol] The protocol version. Specify <code>GRPC</code> to send requests to
1533
+ * targets using gRPC. Specify <code>HTTP2</code> to send requests to targets using HTTP/2. The
1534
+ * default is <code>HTTP1</code>, which sends requests to targets using HTTP/1.1.</p>
1535
+ */
1536
+ ProtocolVersion?: string;
1537
+ /**
1538
+ * <p>The port on which the targets receive traffic. This port is used unless you specify a port
1539
+ * override when registering the target. If the target is a Lambda function, this parameter does
1540
+ * not apply. If the protocol is GENEVE, the supported port is 6081.</p>
1541
+ */
1542
+ Port?: number;
1543
+ /**
1544
+ * <p>The identifier of the virtual private cloud (VPC). If the target is a Lambda function,
1545
+ * this parameter does not apply. Otherwise, this parameter is required.</p>
1546
+ */
1547
+ VpcId?: string;
1548
+ /**
1549
+ * <p>The protocol the load balancer uses when performing health checks on targets. For
1550
+ * Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load
1551
+ * Balancers, the default is TCP. The TCP protocol is not supported for health checks if the
1552
+ * protocol of the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP_UDP protocols are
1553
+ * not supported for health checks.</p>
1554
+ */
1555
+ HealthCheckProtocol?: ProtocolEnum | string;
1556
+ /**
1557
+ * <p>The port the load balancer uses when performing health checks on targets. If the protocol
1558
+ * is HTTP, HTTPS, TCP, TLS, UDP, or TCP_UDP, the default is <code>traffic-port</code>, which is
1559
+ * the port on which each target receives traffic from the load balancer. If the protocol is
1560
+ * GENEVE, the default is port 80.</p>
1561
+ */
1562
+ HealthCheckPort?: string;
1563
+ /**
1564
+ * <p>Indicates whether health checks are enabled. If the target type is <code>lambda</code>,
1565
+ * health checks are disabled by default but can be enabled. If the target type is
1566
+ * <code>instance</code>, <code>ip</code>, or <code>alb</code>, health checks are always
1567
+ * enabled and cannot be disabled.</p>
1568
+ */
1569
+ HealthCheckEnabled?: boolean;
1570
+ /**
1571
+ * <p>[HTTP/HTTPS health checks] The destination for health checks on the targets.</p>
1572
+ * <p>[HTTP1 or HTTP2 protocol version] The ping path. The default is /.</p>
1573
+ * <p>[GRPC protocol version] The path of a custom health check method with the format
1574
+ * /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.</p>
1575
+ */
1576
+ HealthCheckPath?: string;
1577
+ /**
1578
+ * <p>The approximate amount of time, in seconds, between health checks of an individual target.
1579
+ * If the target group protocol is HTTP or HTTPS, the default is 30 seconds.
1580
+ * If the target group protocol is TCP, TLS, UDP, or TCP_UDP, the supported values are 10 and 30
1581
+ * seconds and the default is 30 seconds.
1582
+ * If the target group protocol is GENEVE, the default is 10 seconds.
1583
+ * If the target type is <code>lambda</code>, the default is 35 seconds.</p>
1584
+ */
1585
+ HealthCheckIntervalSeconds?: number;
1586
+ /**
1587
+ * <p>The amount of time, in seconds, during which no response from a target means a failed
1588
+ * health check. For target groups with a protocol of HTTP, HTTPS, or GENEVE, the default is 5
1589
+ * seconds. For target groups with a protocol of TCP or TLS, this value must be 6 seconds for
1590
+ * HTTP health checks and 10 seconds for TCP and HTTPS health checks. If the target type is
1591
+ * <code>lambda</code>, the default is 30 seconds.</p>
1592
+ */
1593
+ HealthCheckTimeoutSeconds?: number;
1594
+ /**
1595
+ * <p>The number of consecutive health checks successes required before considering an unhealthy
1596
+ * target healthy. For target groups with a protocol of HTTP or HTTPS, the default is 5. For
1597
+ * target groups with a protocol of TCP, TLS, or GENEVE, the default is 3. If the target type is
1598
+ * <code>lambda</code>, the default is 5.</p>
1599
+ */
1600
+ HealthyThresholdCount?: number;
1601
+ /**
1602
+ * <p>The number of consecutive health check failures required before considering a target
1603
+ * unhealthy. If the target group protocol is HTTP or HTTPS, the default is 2. If the target
1604
+ * group protocol is TCP or TLS, this value must be the same as the healthy threshold count. If
1605
+ * the target group protocol is GENEVE, the default is 3. If the target type is
1606
+ * <code>lambda</code>, the default is 2.</p>
1607
+ */
1608
+ UnhealthyThresholdCount?: number;
1609
+ /**
1610
+ * <p>[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful
1611
+ * response from a target.</p>
1612
+ */
1613
+ Matcher?: Matcher;
1614
+ /**
1615
+ * <p>The type of target that you must specify when registering targets with this target group.
1616
+ * You can't specify targets for a target group using more than one target type.</p>
1617
+ * <ul>
1618
+ * <li>
1619
+ * <p>
1620
+ * <code>instance</code> - Register targets by instance ID. This is the default
1621
+ * value.</p>
1622
+ * </li>
1623
+ * <li>
1624
+ * <p>
1625
+ * <code>ip</code> - Register targets by IP address. You can specify IP addresses from
1626
+ * the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range
1627
+ * (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10).
1628
+ * You can't specify publicly routable IP addresses.</p>
1629
+ * </li>
1630
+ * <li>
1631
+ * <p>
1632
+ * <code>lambda</code> - Register a single Lambda function as a target.</p>
1633
+ * </li>
1634
+ * <li>
1635
+ * <p>
1636
+ * <code>alb</code> - Register a single Application Load Balancer as a target.</p>
1637
+ * </li>
1638
+ * </ul>
1639
+ */
1640
+ TargetType?: TargetTypeEnum | string;
1641
+ /**
1642
+ * <p>The tags to assign to the target group.</p>
1643
+ */
1644
+ Tags?: Tag[];
1645
+ /**
1646
+ * <p>The type of IP address used for this target group. The possible values are
1647
+ * <code>ipv4</code> and <code>ipv6</code>. This is an optional parameter. If not specified,
1648
+ * the IP address type defaults to <code>ipv4</code>.</p>
1649
+ */
1650
+ IpAddressType?: TargetGroupIpAddressTypeEnum | string;
1651
+ }
1652
+ /**
1653
+ * <p>Information about a target group.</p>
1654
+ */
1655
+ export interface TargetGroup {
1656
+ /**
1657
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
1658
+ */
1659
+ TargetGroupArn?: string;
1660
+ /**
1661
+ * <p>The name of the target group.</p>
1662
+ */
1663
+ TargetGroupName?: string;
1664
+ /**
1665
+ * <p>The protocol to use for routing traffic to the targets.</p>
1666
+ */
1667
+ Protocol?: ProtocolEnum | string;
1668
+ /**
1669
+ * <p>The port on which the targets are listening. Not used if the target is a Lambda
1670
+ * function.</p>
1671
+ */
1672
+ Port?: number;
1673
+ /**
1674
+ * <p>The ID of the VPC for the targets.</p>
1675
+ */
1676
+ VpcId?: string;
1677
+ /**
1678
+ * <p>The protocol to use to connect with the target. The GENEVE, TLS, UDP, and TCP_UDP
1679
+ * protocols are not supported for health checks.</p>
1680
+ */
1681
+ HealthCheckProtocol?: ProtocolEnum | string;
1682
+ /**
1683
+ * <p>The port to use to connect with the target.</p>
1684
+ */
1685
+ HealthCheckPort?: string;
1686
+ /**
1687
+ * <p>Indicates whether health checks are enabled.</p>
1688
+ */
1689
+ HealthCheckEnabled?: boolean;
1690
+ /**
1691
+ * <p>The approximate amount of time, in seconds, between health checks of an individual
1692
+ * target.</p>
1693
+ */
1694
+ HealthCheckIntervalSeconds?: number;
1695
+ /**
1696
+ * <p>The amount of time, in seconds, during which no response means a failed health
1697
+ * check.</p>
1698
+ */
1699
+ HealthCheckTimeoutSeconds?: number;
1700
+ /**
1701
+ * <p>The number of consecutive health checks successes required before considering an unhealthy
1702
+ * target healthy.</p>
1703
+ */
1704
+ HealthyThresholdCount?: number;
1705
+ /**
1706
+ * <p>The number of consecutive health check failures required before considering the target
1707
+ * unhealthy.</p>
1708
+ */
1709
+ UnhealthyThresholdCount?: number;
1710
+ /**
1711
+ * <p>The destination for health checks on the targets.</p>
1712
+ */
1713
+ HealthCheckPath?: string;
1714
+ /**
1715
+ * <p>The HTTP or gRPC codes to use when checking for a successful response from a
1716
+ * target.</p>
1717
+ */
1718
+ Matcher?: Matcher;
1719
+ /**
1720
+ * <p>The Amazon Resource Names (ARN) of the load balancers that route traffic to this target
1721
+ * group.</p>
1722
+ */
1723
+ LoadBalancerArns?: string[];
1724
+ /**
1725
+ * <p>The type of target that you must specify when registering targets with this target group.
1726
+ * The possible values are <code>instance</code> (register targets by instance ID),
1727
+ * <code>ip</code> (register targets by IP address), <code>lambda</code> (register a single
1728
+ * Lambda function as a target), or <code>alb</code> (register a single Application Load Balancer
1729
+ * as a target).</p>
1730
+ */
1731
+ TargetType?: TargetTypeEnum | string;
1732
+ /**
1733
+ * <p>[HTTP/HTTPS protocol] The protocol version. The possible values are <code>GRPC</code>,
1734
+ * <code>HTTP1</code>, and <code>HTTP2</code>.</p>
1735
+ */
1736
+ ProtocolVersion?: string;
1737
+ /**
1738
+ * <p>The type of IP address used for this target group. The possible values are
1739
+ * <code>ipv4</code> and <code>ipv6</code>. This is an optional parameter. If not specified,
1740
+ * the IP address type defaults to <code>ipv4</code>.</p>
1741
+ */
1742
+ IpAddressType?: TargetGroupIpAddressTypeEnum | string;
1743
+ }
1744
+ export interface CreateTargetGroupOutput {
1745
+ /**
1746
+ * <p>Information about the target group.</p>
1747
+ */
1748
+ TargetGroups?: TargetGroup[];
1749
+ }
1750
+ /**
1751
+ * <p>A target group with the specified name already exists.</p>
1752
+ */
1753
+ export declare class DuplicateTargetGroupNameException extends __BaseException {
1754
+ readonly name: "DuplicateTargetGroupNameException";
1755
+ readonly $fault: "client";
1756
+ Message?: string;
1757
+ /**
1758
+ * @internal
1759
+ */
1760
+ constructor(opts: __ExceptionOptionType<DuplicateTargetGroupNameException, __BaseException>);
1761
+ }
1762
+ export interface DeleteListenerInput {
1763
+ /**
1764
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
1765
+ */
1766
+ ListenerArn: string | undefined;
1767
+ }
1768
+ export interface DeleteListenerOutput {
1769
+ }
1770
+ export interface DeleteLoadBalancerInput {
1771
+ /**
1772
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
1773
+ */
1774
+ LoadBalancerArn: string | undefined;
1775
+ }
1776
+ export interface DeleteLoadBalancerOutput {
1777
+ }
1778
+ export interface DeleteRuleInput {
1779
+ /**
1780
+ * <p>The Amazon Resource Name (ARN) of the rule.</p>
1781
+ */
1782
+ RuleArn: string | undefined;
1783
+ }
1784
+ export interface DeleteRuleOutput {
1785
+ }
1786
+ export interface DeleteTargetGroupInput {
1787
+ /**
1788
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
1789
+ */
1790
+ TargetGroupArn: string | undefined;
1791
+ }
1792
+ export interface DeleteTargetGroupOutput {
1793
+ }
1794
+ /**
1795
+ * <p>Information about a target.</p>
1796
+ */
1797
+ export interface TargetDescription {
1798
+ /**
1799
+ * <p>The ID of the target. If the target type of the target group is <code>instance</code>,
1800
+ * specify an instance ID. If the target type is <code>ip</code>, specify an IP address. If the
1801
+ * target type is <code>lambda</code>, specify the ARN of the Lambda function. If the target type
1802
+ * is <code>alb</code>, specify the ARN of the Application Load Balancer target. </p>
1803
+ */
1804
+ Id: string | undefined;
1805
+ /**
1806
+ * <p>The port on which the target is listening. If the target group protocol is GENEVE, the
1807
+ * supported port is 6081. If the target type is <code>alb</code>, the targeted Application Load
1808
+ * Balancer must have at least one listener whose port matches the target group port. Not used if
1809
+ * the target is a Lambda function.</p>
1810
+ */
1811
+ Port?: number;
1812
+ /**
1813
+ * <p>An Availability Zone or <code>all</code>. This determines whether the target receives
1814
+ * traffic from the load balancer nodes in the specified Availability Zone or from all enabled
1815
+ * Availability Zones for the load balancer.</p>
1816
+ * <p>This parameter is not supported if the target type of the target group is
1817
+ * <code>instance</code> or <code>alb</code>.</p>
1818
+ * <p>If the target type is <code>ip</code> and the IP address is in a subnet of the VPC for the
1819
+ * target group, the Availability Zone is automatically detected and this parameter is optional.
1820
+ * If the IP address is outside the VPC, this parameter is required.</p>
1821
+ * <p>With an Application Load Balancer, if the target type is <code>ip</code> and the IP
1822
+ * address is outside the VPC for the target group, the only supported value is
1823
+ * <code>all</code>.</p>
1824
+ * <p>If the target type is <code>lambda</code>, this parameter is optional and the only
1825
+ * supported value is <code>all</code>.</p>
1826
+ */
1827
+ AvailabilityZone?: string;
1828
+ }
1829
+ export interface DeregisterTargetsInput {
1830
+ /**
1831
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
1832
+ */
1833
+ TargetGroupArn: string | undefined;
1834
+ /**
1835
+ * <p>The targets. If you specified a port override when you registered a target, you must
1836
+ * specify both the target ID and the port when you deregister it.</p>
1837
+ */
1838
+ Targets: TargetDescription[] | undefined;
1839
+ }
1840
+ export interface DeregisterTargetsOutput {
1841
+ }
1842
+ /**
1843
+ * <p>The specified target does not exist, is not in the same VPC as the target group, or has an
1844
+ * unsupported instance type.</p>
1845
+ */
1846
+ export declare class InvalidTargetException extends __BaseException {
1847
+ readonly name: "InvalidTargetException";
1848
+ readonly $fault: "client";
1849
+ Message?: string;
1850
+ /**
1851
+ * @internal
1852
+ */
1853
+ constructor(opts: __ExceptionOptionType<InvalidTargetException, __BaseException>);
1854
+ }
1855
+ export interface DescribeAccountLimitsInput {
1856
+ /**
1857
+ * <p>The marker for the next set of results. (You received this marker from a previous
1858
+ * call.)</p>
1859
+ */
1860
+ Marker?: string;
1861
+ /**
1862
+ * <p>The maximum number of results to return with this call.</p>
1863
+ */
1864
+ PageSize?: number;
1865
+ }
1866
+ /**
1867
+ * <p>Information about an Elastic Load Balancing resource limit for your Amazon Web Services
1868
+ * account.</p>
1869
+ */
1870
+ export interface Limit {
1871
+ /**
1872
+ * <p>The name of the limit. The possible values are:</p>
1873
+ * <ul>
1874
+ * <li>
1875
+ * <p>application-load-balancers</p>
1876
+ * </li>
1877
+ * <li>
1878
+ * <p>condition-values-per-alb-rule</p>
1879
+ * </li>
1880
+ * <li>
1881
+ * <p>condition-wildcards-per-alb-rule</p>
1882
+ * </li>
1883
+ * <li>
1884
+ * <p>gateway-load-balancers</p>
1885
+ * </li>
1886
+ * <li>
1887
+ * <p>gateway-load-balancers-per-vpc</p>
1888
+ * </li>
1889
+ * <li>
1890
+ * <p>geneve-target-groups</p>
1891
+ * </li>
1892
+ * <li>
1893
+ * <p>listeners-per-application-load-balancer</p>
1894
+ * </li>
1895
+ * <li>
1896
+ * <p>listeners-per-network-load-balancer</p>
1897
+ * </li>
1898
+ * <li>
1899
+ * <p>network-load-balancers</p>
1900
+ * </li>
1901
+ * <li>
1902
+ * <p>rules-per-application-load-balancer</p>
1903
+ * </li>
1904
+ * <li>
1905
+ * <p>target-groups</p>
1906
+ * </li>
1907
+ * <li>
1908
+ * <p>target-groups-per-action-on-application-load-balancer</p>
1909
+ * </li>
1910
+ * <li>
1911
+ * <p>target-groups-per-action-on-network-load-balancer</p>
1912
+ * </li>
1913
+ * <li>
1914
+ * <p>target-groups-per-application-load-balancer</p>
1915
+ * </li>
1916
+ * <li>
1917
+ * <p>targets-per-application-load-balancer</p>
1918
+ * </li>
1919
+ * <li>
1920
+ * <p>targets-per-availability-zone-per-gateway-load-balancer</p>
1921
+ * </li>
1922
+ * <li>
1923
+ * <p>targets-per-availability-zone-per-network-load-balancer</p>
1924
+ * </li>
1925
+ * <li>
1926
+ * <p>targets-per-network-load-balancer</p>
1927
+ * </li>
1928
+ * </ul>
1929
+ */
1930
+ Name?: string;
1931
+ /**
1932
+ * <p>The maximum value of the limit.</p>
1933
+ */
1934
+ Max?: string;
1935
+ }
1936
+ export interface DescribeAccountLimitsOutput {
1937
+ /**
1938
+ * <p>Information about the limits.</p>
1939
+ */
1940
+ Limits?: Limit[];
1941
+ /**
1942
+ * <p>If there are additional results, this is the marker for the next set of results.
1943
+ * Otherwise, this is null.</p>
1944
+ */
1945
+ NextMarker?: string;
1946
+ }
1947
+ export interface DescribeListenerCertificatesInput {
1948
+ /**
1949
+ * <p>The Amazon Resource Names (ARN) of the listener.</p>
1950
+ */
1951
+ ListenerArn: string | undefined;
1952
+ /**
1953
+ * <p>The marker for the next set of results. (You received this marker from a previous
1954
+ * call.)</p>
1955
+ */
1956
+ Marker?: string;
1957
+ /**
1958
+ * <p>The maximum number of results to return with this call.</p>
1959
+ */
1960
+ PageSize?: number;
1961
+ }
1962
+ export interface DescribeListenerCertificatesOutput {
1963
+ /**
1964
+ * <p>Information about the certificates.</p>
1965
+ */
1966
+ Certificates?: Certificate[];
1967
+ /**
1968
+ * <p>If there are additional results, this is the marker for the next set of results.
1969
+ * Otherwise, this is null.</p>
1970
+ */
1971
+ NextMarker?: string;
1972
+ }
1973
+ export interface DescribeListenersInput {
1974
+ /**
1975
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
1976
+ */
1977
+ LoadBalancerArn?: string;
1978
+ /**
1979
+ * <p>The Amazon Resource Names (ARN) of the listeners.</p>
1980
+ */
1981
+ ListenerArns?: string[];
1982
+ /**
1983
+ * <p>The marker for the next set of results. (You received this marker from a previous
1984
+ * call.)</p>
1985
+ */
1986
+ Marker?: string;
1987
+ /**
1988
+ * <p>The maximum number of results to return with this call.</p>
1989
+ */
1990
+ PageSize?: number;
1991
+ }
1992
+ export interface DescribeListenersOutput {
1993
+ /**
1994
+ * <p>Information about the listeners.</p>
1995
+ */
1996
+ Listeners?: Listener[];
1997
+ /**
1998
+ * <p>If there are additional results, this is the marker for the next set of results.
1999
+ * Otherwise, this is null.</p>
2000
+ */
2001
+ NextMarker?: string;
2002
+ }
2003
+ export interface DescribeLoadBalancerAttributesInput {
2004
+ /**
2005
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
2006
+ */
2007
+ LoadBalancerArn: string | undefined;
2008
+ }
2009
+ /**
2010
+ * <p>Information about a load balancer attribute.</p>
2011
+ */
2012
+ export interface LoadBalancerAttribute {
2013
+ /**
2014
+ * <p>The name of the attribute.</p>
2015
+ *
2016
+ * <p>The following attribute is supported by all load balancers:</p>
2017
+ * <ul>
2018
+ * <li>
2019
+ * <p>
2020
+ * <code>deletion_protection.enabled</code> - Indicates whether deletion protection is
2021
+ * enabled. The value is <code>true</code> or <code>false</code>. The default is
2022
+ * <code>false</code>.</p>
2023
+ * </li>
2024
+ * </ul>
2025
+ *
2026
+ * <p>The following attributes are supported by both Application Load Balancers and Network Load
2027
+ * Balancers:</p>
2028
+ * <ul>
2029
+ * <li>
2030
+ * <p>
2031
+ * <code>access_logs.s3.enabled</code> - Indicates whether access logs are enabled. The
2032
+ * value is <code>true</code> or <code>false</code>. The default is
2033
+ * <code>false</code>.</p>
2034
+ * </li>
2035
+ * <li>
2036
+ * <p>
2037
+ * <code>access_logs.s3.bucket</code> - The name of the S3 bucket for the access logs.
2038
+ * This attribute is required if access logs are enabled. The bucket must exist in the same
2039
+ * region as the load balancer and have a bucket policy that grants Elastic Load Balancing
2040
+ * permissions to write to the bucket.</p>
2041
+ * </li>
2042
+ * <li>
2043
+ * <p>
2044
+ * <code>access_logs.s3.prefix</code> - The prefix for the location in the S3 bucket for the
2045
+ * access logs.</p>
2046
+ * </li>
2047
+ * <li>
2048
+ * <p>
2049
+ * <code>ipv6.deny_all_igw_traffic</code> - Blocks internet gateway (IGW) access to the
2050
+ * load balancer. It is set to <code>false</code> for internet-facing load balancers and
2051
+ * <code>true</code> for internal load balancers, preventing unintended access to your
2052
+ * internal load balancer through an internet gateway.</p>
2053
+ * </li>
2054
+ * </ul>
2055
+ *
2056
+ * <p>The following attributes are supported by only Application Load Balancers:</p>
2057
+ * <ul>
2058
+ * <li>
2059
+ * <p>
2060
+ * <code>idle_timeout.timeout_seconds</code> - The idle timeout value, in seconds. The
2061
+ * valid range is 1-4000 seconds. The default is 60 seconds.</p>
2062
+ * </li>
2063
+ * <li>
2064
+ * <p>
2065
+ * <code>routing.http.desync_mitigation_mode</code> - Determines how the load balancer
2066
+ * handles requests that might pose a security risk to your application. The possible values
2067
+ * are <code>monitor</code>, <code>defensive</code>, and <code>strictest</code>. The default
2068
+ * is <code>defensive</code>.</p>
2069
+ * </li>
2070
+ * <li>
2071
+ * <p>
2072
+ * <code>routing.http.drop_invalid_header_fields.enabled</code> - Indicates whether HTTP
2073
+ * headers with invalid header fields are removed by the load balancer (<code>true</code>) or
2074
+ * routed to targets (<code>false</code>). The default is <code>false</code>.</p>
2075
+ * </li>
2076
+ * <li>
2077
+ * <p>
2078
+ * <code>routing.http.preserve_host_header.enabled</code> - Indicates whether the
2079
+ * Application Load Balancer should preserve the <code>Host</code> header in the HTTP request
2080
+ * and send it to the target without any change. The possible values are <code>true</code>
2081
+ * and <code>false</code>. The default is <code>false</code>.</p>
2082
+ * </li>
2083
+ * <li>
2084
+ * <p>
2085
+ * <code>routing.http.x_amzn_tls_version_and_cipher_suite.enabled</code> - Indicates
2086
+ * whether the two headers (<code>x-amzn-tls-version</code> and
2087
+ * <code>x-amzn-tls-cipher-suite</code>), which contain information about the negotiated
2088
+ * TLS version and cipher suite, are added to the client request before sending it to the
2089
+ * target. The <code>x-amzn-tls-version</code> header has information about the TLS protocol
2090
+ * version negotiated with the client, and the <code>x-amzn-tls-cipher-suite</code> header
2091
+ * has information about the cipher suite negotiated with the client. Both headers are in
2092
+ * OpenSSL format. The possible values for the attribute are <code>true</code> and
2093
+ * <code>false</code>. The default is <code>false</code>.</p>
2094
+ * </li>
2095
+ * <li>
2096
+ * <p>
2097
+ * <code>routing.http.xff_client_port.enabled</code> - Indicates whether the
2098
+ * <code>X-Forwarded-For</code> header should preserve the source port that the client used
2099
+ * to connect to the load balancer. The possible values are <code>true</code> and
2100
+ * <code>false</code>. The default is <code>false</code>.</p>
2101
+ * </li>
2102
+ * <li>
2103
+ * <p>
2104
+ * <code>routing.http.xff_header_processing.mode</code> - Enables you to modify,
2105
+ * preserve, or remove the <code>X-Forwarded-For</code> header in the HTTP request before the
2106
+ * Application Load Balancer sends the request to the target. The possible values are
2107
+ * <code>append</code>, <code>preserve</code>, and <code>remove</code>. The default is
2108
+ * <code>append</code>.</p>
2109
+ * <ul>
2110
+ * <li>
2111
+ * <p>If the value is <code>append</code>, the Application Load Balancer adds the client
2112
+ * IP address (of the last hop) to the <code>X-Forwarded-For</code> header in the HTTP
2113
+ * request before it sends it to targets.</p>
2114
+ * </li>
2115
+ * <li>
2116
+ * <p>If the value is <code>preserve</code> the Application Load Balancer preserves the
2117
+ * <code>X-Forwarded-For</code> header in the HTTP request, and sends it to targets
2118
+ * without any change.</p>
2119
+ * </li>
2120
+ * <li>
2121
+ * <p>If the value is <code>remove</code>, the Application Load Balancer removes the
2122
+ * <code>X-Forwarded-For</code> header in the HTTP request before it sends it to
2123
+ * targets.</p>
2124
+ * </li>
2125
+ * </ul>
2126
+ * </li>
2127
+ * <li>
2128
+ * <p>
2129
+ * <code>routing.http2.enabled</code> - Indicates whether HTTP/2 is enabled. The possible
2130
+ * values are <code>true</code> and <code>false</code>. The default is <code>true</code>.
2131
+ * Elastic Load Balancing requires that message header names contain only alphanumeric
2132
+ * characters and hyphens.</p>
2133
+ * </li>
2134
+ * <li>
2135
+ * <p>
2136
+ * <code>waf.fail_open.enabled</code> - Indicates whether to allow a WAF-enabled load
2137
+ * balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are <code>true</code> and <code>false</code>. The
2138
+ * default is <code>false</code>.</p>
2139
+ * </li>
2140
+ * </ul>
2141
+ *
2142
+ * <p>The following attribute is supported by Network Load Balancers and Gateway Load
2143
+ * Balancers:</p>
2144
+ * <ul>
2145
+ * <li>
2146
+ * <p>
2147
+ * <code>load_balancing.cross_zone.enabled</code> - Indicates whether cross-zone load
2148
+ * balancing is enabled. The possible values are <code>true</code> and <code>false</code>.
2149
+ * The default is <code>false</code>.</p>
2150
+ * </li>
2151
+ * </ul>
2152
+ */
2153
+ Key?: string;
2154
+ /**
2155
+ * <p>The value of the attribute.</p>
2156
+ */
2157
+ Value?: string;
2158
+ }
2159
+ export interface DescribeLoadBalancerAttributesOutput {
2160
+ /**
2161
+ * <p>Information about the load balancer attributes.</p>
2162
+ */
2163
+ Attributes?: LoadBalancerAttribute[];
2164
+ }
2165
+ export interface DescribeLoadBalancersInput {
2166
+ /**
2167
+ * <p>The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load
2168
+ * balancers in a single call.</p>
2169
+ */
2170
+ LoadBalancerArns?: string[];
2171
+ /**
2172
+ * <p>The names of the load balancers.</p>
2173
+ */
2174
+ Names?: string[];
2175
+ /**
2176
+ * <p>The marker for the next set of results. (You received this marker from a previous
2177
+ * call.)</p>
2178
+ */
2179
+ Marker?: string;
2180
+ /**
2181
+ * <p>The maximum number of results to return with this call.</p>
2182
+ */
2183
+ PageSize?: number;
2184
+ }
2185
+ export interface DescribeLoadBalancersOutput {
2186
+ /**
2187
+ * <p>Information about the load balancers.</p>
2188
+ */
2189
+ LoadBalancers?: LoadBalancer[];
2190
+ /**
2191
+ * <p>If there are additional results, this is the marker for the next set of results.
2192
+ * Otherwise, this is null.</p>
2193
+ */
2194
+ NextMarker?: string;
2195
+ }
2196
+ export interface DescribeRulesInput {
2197
+ /**
2198
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
2199
+ */
2200
+ ListenerArn?: string;
2201
+ /**
2202
+ * <p>The Amazon Resource Names (ARN) of the rules.</p>
2203
+ */
2204
+ RuleArns?: string[];
2205
+ /**
2206
+ * <p>The marker for the next set of results. (You received this marker from a previous
2207
+ * call.)</p>
2208
+ */
2209
+ Marker?: string;
2210
+ /**
2211
+ * <p>The maximum number of results to return with this call.</p>
2212
+ */
2213
+ PageSize?: number;
2214
+ }
2215
+ export interface DescribeRulesOutput {
2216
+ /**
2217
+ * <p>Information about the rules.</p>
2218
+ */
2219
+ Rules?: Rule[];
2220
+ /**
2221
+ * <p>If there are additional results, this is the marker for the next set of results.
2222
+ * Otherwise, this is null.</p>
2223
+ */
2224
+ NextMarker?: string;
2225
+ }
2226
+ export interface DescribeSSLPoliciesInput {
2227
+ /**
2228
+ * <p>The names of the policies.</p>
2229
+ */
2230
+ Names?: string[];
2231
+ /**
2232
+ * <p>The marker for the next set of results. (You received this marker from a previous
2233
+ * call.)</p>
2234
+ */
2235
+ Marker?: string;
2236
+ /**
2237
+ * <p>The maximum number of results to return with this call.</p>
2238
+ */
2239
+ PageSize?: number;
2240
+ /**
2241
+ * <p> The type of load balancer. The default lists the SSL policies for all load
2242
+ * balancers.</p>
2243
+ */
2244
+ LoadBalancerType?: LoadBalancerTypeEnum | string;
2245
+ }
2246
+ /**
2247
+ * <p>Information about a policy used for SSL negotiation.</p>
2248
+ */
2249
+ export interface SslPolicy {
2250
+ /**
2251
+ * <p>The protocols.</p>
2252
+ */
2253
+ SslProtocols?: string[];
2254
+ /**
2255
+ * <p>The ciphers.</p>
2256
+ */
2257
+ Ciphers?: Cipher[];
2258
+ /**
2259
+ * <p>The name of the policy.</p>
2260
+ */
2261
+ Name?: string;
2262
+ /**
2263
+ * <p> The supported load balancers. </p>
2264
+ */
2265
+ SupportedLoadBalancerTypes?: string[];
2266
+ }
2267
+ export interface DescribeSSLPoliciesOutput {
2268
+ /**
2269
+ * <p>Information about the security policies.</p>
2270
+ */
2271
+ SslPolicies?: SslPolicy[];
2272
+ /**
2273
+ * <p>If there are additional results, this is the marker for the next set of results.
2274
+ * Otherwise, this is null.</p>
2275
+ */
2276
+ NextMarker?: string;
2277
+ }
2278
+ export interface DescribeTagsInput {
2279
+ /**
2280
+ * <p>The Amazon Resource Names (ARN) of the resources. You can specify up to 20 resources in a
2281
+ * single call.</p>
2282
+ */
2283
+ ResourceArns: string[] | undefined;
2284
+ }
2285
+ /**
2286
+ * <p>The tags associated with a resource.</p>
2287
+ */
2288
+ export interface TagDescription {
2289
+ /**
2290
+ * <p>The Amazon Resource Name (ARN) of the resource.</p>
2291
+ */
2292
+ ResourceArn?: string;
2293
+ /**
2294
+ * <p>Information about the tags.</p>
2295
+ */
2296
+ Tags?: Tag[];
2297
+ }
2298
+ export interface DescribeTagsOutput {
2299
+ /**
2300
+ * <p>Information about the tags.</p>
2301
+ */
2302
+ TagDescriptions?: TagDescription[];
2303
+ }
2304
+ export interface DescribeTargetGroupAttributesInput {
2305
+ /**
2306
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
2307
+ */
2308
+ TargetGroupArn: string | undefined;
2309
+ }
2310
+ /**
2311
+ * <p>Information about a target group attribute.</p>
2312
+ */
2313
+ export interface TargetGroupAttribute {
2314
+ /**
2315
+ * <p>The name of the attribute.</p>
2316
+ *
2317
+ * <p>The following attribute is supported by all load balancers:</p>
2318
+ * <ul>
2319
+ * <li>
2320
+ * <p>
2321
+ * <code>deregistration_delay.timeout_seconds</code> - The amount of time, in seconds,
2322
+ * for Elastic Load Balancing to wait before changing the state of a deregistering target
2323
+ * from <code>draining</code> to <code>unused</code>. The range is 0-3600 seconds. The
2324
+ * default value is 300 seconds. If the target is a Lambda function, this attribute is not
2325
+ * supported.</p>
2326
+ * </li>
2327
+ * </ul>
2328
+ *
2329
+ * <p>The following attributes are supported by Application Load Balancers, Network Load
2330
+ * Balancers, and Gateway Load Balancers:</p>
2331
+ * <ul>
2332
+ * <li>
2333
+ * <p>
2334
+ * <code>stickiness.enabled</code> - Indicates whether target stickiness is enabled. The
2335
+ * value is <code>true</code> or <code>false</code>. The default is
2336
+ * <code>false</code>.</p>
2337
+ * </li>
2338
+ * <li>
2339
+ * <p>
2340
+ * <code>stickiness.type</code> - Indicates the type of stickiness. The possible values
2341
+ * are: </p>
2342
+ * <ul>
2343
+ * <li>
2344
+ * <p>
2345
+ * <code>lb_cookie</code> and <code>app_cookie</code> for Application Load Balancers</p>
2346
+ * </li>
2347
+ * <li>
2348
+ * <p>
2349
+ * <code>source_ip</code> for Network Load Balancers</p>
2350
+ * </li>
2351
+ * <li>
2352
+ * <p>
2353
+ * <code>source_ip_dest_ip</code> and <code>source_ip_dest_ip_proto</code> for Gateway Load
2354
+ * Balancers</p>
2355
+ * </li>
2356
+ * </ul>
2357
+ * </li>
2358
+ * </ul>
2359
+ *
2360
+ * <p>The following attributes are supported only if the load balancer is an Application Load
2361
+ * Balancer and the target is an instance or an IP address:</p>
2362
+ * <ul>
2363
+ * <li>
2364
+ * <p>
2365
+ * <code>load_balancing.algorithm.type</code> - The load balancing algorithm determines
2366
+ * how the load balancer selects targets when routing requests. The value is
2367
+ * <code>round_robin</code> or <code>least_outstanding_requests</code>. The default is
2368
+ * <code>round_robin</code>.</p>
2369
+ * </li>
2370
+ * <li>
2371
+ * <p>
2372
+ * <code>slow_start.duration_seconds</code> - The time period, in seconds, during which a
2373
+ * newly registered target receives an increasing share of the traffic to the target group.
2374
+ * After this time period ends, the target receives its full share of traffic. The range is
2375
+ * 30-900 seconds (15 minutes). The default is 0 seconds (disabled).</p>
2376
+ * </li>
2377
+ * <li>
2378
+ * <p>
2379
+ * <code>stickiness.app_cookie.cookie_name</code> - Indicates the name of the
2380
+ * application-based cookie. Names that start with the following prefixes are not allowed:
2381
+ * <code>AWSALB</code>, <code>AWSALBAPP</code>, and <code>AWSALBTG</code>; they're reserved
2382
+ * for use by the load balancer.</p>
2383
+ * </li>
2384
+ * <li>
2385
+ * <p>
2386
+ * <code>stickiness.app_cookie.duration_seconds</code> - The time period, in seconds,
2387
+ * during which requests from a client should be routed to the same target. After this time
2388
+ * period expires, the application-based cookie is considered stale. The range is 1 second to
2389
+ * 1 week (604800 seconds). The default value is 1 day (86400 seconds).</p>
2390
+ * </li>
2391
+ * <li>
2392
+ * <p>
2393
+ * <code>stickiness.lb_cookie.duration_seconds</code> - The time period, in seconds,
2394
+ * during which requests from a client should be routed to the same target. After this time
2395
+ * period expires, the load balancer-generated cookie is considered stale. The range is 1
2396
+ * second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).</p>
2397
+ * </li>
2398
+ * </ul>
2399
+ *
2400
+ * <p>The following attribute is supported only if the load balancer is an Application Load
2401
+ * Balancer and the target is a Lambda function:</p>
2402
+ * <ul>
2403
+ * <li>
2404
+ * <p>
2405
+ * <code>lambda.multi_value_headers.enabled</code> - Indicates whether the request and
2406
+ * response headers that are exchanged between the load balancer and the Lambda function
2407
+ * include arrays of values or strings. The value is <code>true</code> or <code>false</code>.
2408
+ * The default is <code>false</code>. If the value is <code>false</code> and the request
2409
+ * contains a duplicate header field name or query parameter key, the load balancer uses the
2410
+ * last value sent by the client.</p>
2411
+ * </li>
2412
+ * </ul>
2413
+ *
2414
+ * <p>The following attributes are supported only by Network Load Balancers:</p>
2415
+ * <ul>
2416
+ * <li>
2417
+ * <p>
2418
+ * <code>deregistration_delay.connection_termination.enabled</code> - Indicates whether
2419
+ * the load balancer terminates connections at the end of the deregistration timeout. The
2420
+ * value is <code>true</code> or <code>false</code>. The default is
2421
+ * <code>false</code>.</p>
2422
+ * </li>
2423
+ * <li>
2424
+ * <p>
2425
+ * <code>preserve_client_ip.enabled</code> - Indicates whether client IP preservation is
2426
+ * enabled. The value is <code>true</code> or <code>false</code>. The default is disabled if
2427
+ * the target group type is IP address and the target group protocol is TCP or TLS.
2428
+ * Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and
2429
+ * TCP_UDP target groups.</p>
2430
+ * </li>
2431
+ * <li>
2432
+ * <p>
2433
+ * <code>proxy_protocol_v2.enabled</code> - Indicates whether Proxy Protocol version 2 is
2434
+ * enabled. The value is <code>true</code> or <code>false</code>. The default is
2435
+ * <code>false</code>.</p>
2436
+ * </li>
2437
+ * </ul>
2438
+ */
2439
+ Key?: string;
2440
+ /**
2441
+ * <p>The value of the attribute.</p>
2442
+ */
2443
+ Value?: string;
2444
+ }
2445
+ export interface DescribeTargetGroupAttributesOutput {
2446
+ /**
2447
+ * <p>Information about the target group attributes</p>
2448
+ */
2449
+ Attributes?: TargetGroupAttribute[];
2450
+ }
2451
+ export interface DescribeTargetGroupsInput {
2452
+ /**
2453
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
2454
+ */
2455
+ LoadBalancerArn?: string;
2456
+ /**
2457
+ * <p>The Amazon Resource Names (ARN) of the target groups.</p>
2458
+ */
2459
+ TargetGroupArns?: string[];
2460
+ /**
2461
+ * <p>The names of the target groups.</p>
2462
+ */
2463
+ Names?: string[];
2464
+ /**
2465
+ * <p>The marker for the next set of results. (You received this marker from a previous
2466
+ * call.)</p>
2467
+ */
2468
+ Marker?: string;
2469
+ /**
2470
+ * <p>The maximum number of results to return with this call.</p>
2471
+ */
2472
+ PageSize?: number;
2473
+ }
2474
+ export interface DescribeTargetGroupsOutput {
2475
+ /**
2476
+ * <p>Information about the target groups.</p>
2477
+ */
2478
+ TargetGroups?: TargetGroup[];
2479
+ /**
2480
+ * <p>If there are additional results, this is the marker for the next set of results.
2481
+ * Otherwise, this is null.</p>
2482
+ */
2483
+ NextMarker?: string;
2484
+ }
2485
+ export interface DescribeTargetHealthInput {
2486
+ /**
2487
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
2488
+ */
2489
+ TargetGroupArn: string | undefined;
2490
+ /**
2491
+ * <p>The targets.</p>
2492
+ */
2493
+ Targets?: TargetDescription[];
2494
+ }
2495
+ export declare enum TargetHealthReasonEnum {
2496
+ DEREGISTRATION_IN_PROGRESS = "Target.DeregistrationInProgress",
2497
+ FAILED_HEALTH_CHECKS = "Target.FailedHealthChecks",
2498
+ HEALTH_CHECK_DISABLED = "Target.HealthCheckDisabled",
2499
+ INITIAL_HEALTH_CHECKING = "Elb.InitialHealthChecking",
2500
+ INTERNAL_ERROR = "Elb.InternalError",
2501
+ INVALID_STATE = "Target.InvalidState",
2502
+ IP_UNUSABLE = "Target.IpUnusable",
2503
+ NOT_IN_USE = "Target.NotInUse",
2504
+ NOT_REGISTERED = "Target.NotRegistered",
2505
+ REGISTRATION_IN_PROGRESS = "Elb.RegistrationInProgress",
2506
+ RESPONSE_CODE_MISMATCH = "Target.ResponseCodeMismatch",
2507
+ TIMEOUT = "Target.Timeout"
2508
+ }
2509
+ export declare enum TargetHealthStateEnum {
2510
+ DRAINING = "draining",
2511
+ HEALTHY = "healthy",
2512
+ INITIAL = "initial",
2513
+ UNAVAILABLE = "unavailable",
2514
+ UNHEALTHY = "unhealthy",
2515
+ UNUSED = "unused"
2516
+ }
2517
+ /**
2518
+ * <p>Information about the current health of a target.</p>
2519
+ */
2520
+ export interface TargetHealth {
2521
+ /**
2522
+ * <p>The state of the target.</p>
2523
+ */
2524
+ State?: TargetHealthStateEnum | string;
2525
+ /**
2526
+ * <p>The reason code.</p>
2527
+ *
2528
+ * <p>If the target state is <code>healthy</code>, a reason code is not provided.</p>
2529
+ *
2530
+ * <p>If the target state is <code>initial</code>, the reason code can be one of the following
2531
+ * values:</p>
2532
+ * <ul>
2533
+ * <li>
2534
+ * <p>
2535
+ * <code>Elb.RegistrationInProgress</code> - The target is in the process of being registered
2536
+ * with the load balancer.</p>
2537
+ * </li>
2538
+ * <li>
2539
+ * <p>
2540
+ * <code>Elb.InitialHealthChecking</code> - The load balancer is still sending the target the
2541
+ * minimum number of health checks required to determine its health status.</p>
2542
+ * </li>
2543
+ * </ul>
2544
+ *
2545
+ * <p>If the target state is <code>unhealthy</code>, the reason code can be one of the following
2546
+ * values:</p>
2547
+ * <ul>
2548
+ * <li>
2549
+ * <p>
2550
+ * <code>Target.ResponseCodeMismatch</code> - The health checks did not return an
2551
+ * expected HTTP code. Applies only to Application Load Balancers and Gateway Load
2552
+ * Balancers.</p>
2553
+ * </li>
2554
+ * <li>
2555
+ * <p>
2556
+ * <code>Target.Timeout</code> - The health check requests timed out. Applies only to
2557
+ * Application Load Balancers and Gateway Load Balancers.</p>
2558
+ * </li>
2559
+ * <li>
2560
+ * <p>
2561
+ * <code>Target.FailedHealthChecks</code> - The load balancer received an error while
2562
+ * establishing a connection to the target or the target response was malformed.</p>
2563
+ * </li>
2564
+ * <li>
2565
+ * <p>
2566
+ * <code>Elb.InternalError</code> - The health checks failed due to an internal error.
2567
+ * Applies only to Application Load Balancers.</p>
2568
+ * </li>
2569
+ * </ul>
2570
+ *
2571
+ * <p>If the target state is <code>unused</code>, the reason code can be one of the following
2572
+ * values:</p>
2573
+ * <ul>
2574
+ * <li>
2575
+ * <p>
2576
+ * <code>Target.NotRegistered</code> - The target is not registered with the target
2577
+ * group.</p>
2578
+ * </li>
2579
+ * <li>
2580
+ * <p>
2581
+ * <code>Target.NotInUse</code> - The target group is not used by any load balancer or
2582
+ * the target is in an Availability Zone that is not enabled for its load balancer.</p>
2583
+ * </li>
2584
+ * <li>
2585
+ * <p>
2586
+ * <code>Target.InvalidState</code> - The target is in the stopped or terminated
2587
+ * state.</p>
2588
+ * </li>
2589
+ * <li>
2590
+ * <p>
2591
+ * <code>Target.IpUnusable</code> - The target IP address is reserved for use by a load
2592
+ * balancer.</p>
2593
+ * </li>
2594
+ * </ul>
2595
+ *
2596
+ * <p>If the target state is <code>draining</code>, the reason code can be the following
2597
+ * value:</p>
2598
+ * <ul>
2599
+ * <li>
2600
+ * <p>
2601
+ * <code>Target.DeregistrationInProgress</code> - The target is in the process of being
2602
+ * deregistered and the deregistration delay period has not expired.</p>
2603
+ * </li>
2604
+ * </ul>
2605
+ *
2606
+ * <p>If the target state is <code>unavailable</code>, the reason code can be the following
2607
+ * value:</p>
2608
+ * <ul>
2609
+ * <li>
2610
+ * <p>
2611
+ * <code>Target.HealthCheckDisabled</code> - Health checks are disabled for the target
2612
+ * group. Applies only to Application Load Balancers.</p>
2613
+ * </li>
2614
+ * <li>
2615
+ * <p>
2616
+ * <code>Elb.InternalError</code> - Target health is unavailable due to an internal
2617
+ * error. Applies only to Network Load Balancers.</p>
2618
+ * </li>
2619
+ * </ul>
2620
+ */
2621
+ Reason?: TargetHealthReasonEnum | string;
2622
+ /**
2623
+ * <p>A description of the target health that provides additional details. If the state is
2624
+ * <code>healthy</code>, a description is not provided.</p>
2625
+ */
2626
+ Description?: string;
2627
+ }
2628
+ /**
2629
+ * <p>Information about the health of a target.</p>
2630
+ */
2631
+ export interface TargetHealthDescription {
2632
+ /**
2633
+ * <p>The description of the target.</p>
2634
+ */
2635
+ Target?: TargetDescription;
2636
+ /**
2637
+ * <p>The port to use to connect with the target.</p>
2638
+ */
2639
+ HealthCheckPort?: string;
2640
+ /**
2641
+ * <p>The health information for the target.</p>
2642
+ */
2643
+ TargetHealth?: TargetHealth;
2644
+ }
2645
+ export interface DescribeTargetHealthOutput {
2646
+ /**
2647
+ * <p>Information about the health of the targets.</p>
2648
+ */
2649
+ TargetHealthDescriptions?: TargetHealthDescription[];
2650
+ }
2651
+ /**
2652
+ * <p>The health of the specified targets could not be retrieved due to an internal
2653
+ * error.</p>
2654
+ */
2655
+ export declare class HealthUnavailableException extends __BaseException {
2656
+ readonly name: "HealthUnavailableException";
2657
+ readonly $fault: "server";
2658
+ Message?: string;
2659
+ /**
2660
+ * @internal
2661
+ */
2662
+ constructor(opts: __ExceptionOptionType<HealthUnavailableException, __BaseException>);
2663
+ }
2664
+ export interface ModifyListenerInput {
2665
+ /**
2666
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
2667
+ */
2668
+ ListenerArn: string | undefined;
2669
+ /**
2670
+ * <p>The port for connections from clients to the load balancer. You cannot specify a port for
2671
+ * a Gateway Load Balancer.</p>
2672
+ */
2673
+ Port?: number;
2674
+ /**
2675
+ * <p>The protocol for connections from clients to the load balancer. Application Load Balancers
2676
+ * support the HTTP and HTTPS protocols. Network Load Balancers support the TCP, TLS, UDP, and
2677
+ * TCP_UDP protocols. You can’t change the protocol to UDP or TCP_UDP if dual-stack mode is
2678
+ * enabled. You cannot specify a protocol for a Gateway Load Balancer.</p>
2679
+ */
2680
+ Protocol?: ProtocolEnum | string;
2681
+ /**
2682
+ * <p>[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are
2683
+ * supported.</p>
2684
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies">Security policies</a> in the <i>Application Load Balancers Guide</i> or
2685
+ * <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies">Security policies</a> in the <i>Network Load Balancers Guide</i>.</p>
2686
+ */
2687
+ SslPolicy?: string;
2688
+ /**
2689
+ * <p>[HTTPS and TLS listeners] The default certificate for the listener. You must provide
2690
+ * exactly one certificate. Set <code>CertificateArn</code> to the certificate ARN but do not set
2691
+ * <code>IsDefault</code>.</p>
2692
+ */
2693
+ Certificates?: Certificate[];
2694
+ /**
2695
+ * <p>The actions for the default rule.</p>
2696
+ */
2697
+ DefaultActions?: Action[];
2698
+ /**
2699
+ * <p>[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You
2700
+ * can specify one policy name. The following are the possible values:</p>
2701
+ * <ul>
2702
+ * <li>
2703
+ * <p>
2704
+ * <code>HTTP1Only</code>
2705
+ * </p>
2706
+ * </li>
2707
+ * <li>
2708
+ * <p>
2709
+ * <code>HTTP2Only</code>
2710
+ * </p>
2711
+ * </li>
2712
+ * <li>
2713
+ * <p>
2714
+ * <code>HTTP2Optional</code>
2715
+ * </p>
2716
+ * </li>
2717
+ * <li>
2718
+ * <p>
2719
+ * <code>HTTP2Preferred</code>
2720
+ * </p>
2721
+ * </li>
2722
+ * <li>
2723
+ * <p>
2724
+ * <code>None</code>
2725
+ * </p>
2726
+ * </li>
2727
+ * </ul>
2728
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies">ALPN
2729
+ * policies</a> in the <i>Network Load Balancers Guide</i>.</p>
2730
+ */
2731
+ AlpnPolicy?: string[];
2732
+ }
2733
+ export interface ModifyListenerOutput {
2734
+ /**
2735
+ * <p>Information about the modified listener.</p>
2736
+ */
2737
+ Listeners?: Listener[];
2738
+ }
2739
+ export interface ModifyLoadBalancerAttributesInput {
2740
+ /**
2741
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
2742
+ */
2743
+ LoadBalancerArn: string | undefined;
2744
+ /**
2745
+ * <p>The load balancer attributes.</p>
2746
+ */
2747
+ Attributes: LoadBalancerAttribute[] | undefined;
2748
+ }
2749
+ export interface ModifyLoadBalancerAttributesOutput {
2750
+ /**
2751
+ * <p>Information about the load balancer attributes.</p>
2752
+ */
2753
+ Attributes?: LoadBalancerAttribute[];
2754
+ }
2755
+ export interface ModifyRuleInput {
2756
+ /**
2757
+ * <p>The Amazon Resource Name (ARN) of the rule.</p>
2758
+ */
2759
+ RuleArn: string | undefined;
2760
+ /**
2761
+ * <p>The conditions.</p>
2762
+ */
2763
+ Conditions?: RuleCondition[];
2764
+ /**
2765
+ * <p>The actions.</p>
2766
+ */
2767
+ Actions?: Action[];
2768
+ }
2769
+ export interface ModifyRuleOutput {
2770
+ /**
2771
+ * <p>Information about the modified rule.</p>
2772
+ */
2773
+ Rules?: Rule[];
2774
+ }
2775
+ export interface ModifyTargetGroupInput {
2776
+ /**
2777
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
2778
+ */
2779
+ TargetGroupArn: string | undefined;
2780
+ /**
2781
+ * <p>The protocol the load balancer uses when performing health checks on targets. For
2782
+ * Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load
2783
+ * Balancers, the default is TCP. The TCP protocol is not supported for health checks if the
2784
+ * protocol of the target group is HTTP or HTTPS. It is supported for health checks only if the
2785
+ * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP
2786
+ * protocols are not supported for health checks.</p>
2787
+ */
2788
+ HealthCheckProtocol?: ProtocolEnum | string;
2789
+ /**
2790
+ * <p>The port the load balancer uses when performing health checks on targets.</p>
2791
+ */
2792
+ HealthCheckPort?: string;
2793
+ /**
2794
+ * <p>[HTTP/HTTPS health checks] The destination for health checks on the targets.</p>
2795
+ * <p>[HTTP1 or HTTP2 protocol version] The ping path. The default is /.</p>
2796
+ * <p>[GRPC protocol version] The path of a custom health check method with the format
2797
+ * /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.</p>
2798
+ */
2799
+ HealthCheckPath?: string;
2800
+ /**
2801
+ * <p>Indicates whether health checks are enabled.</p>
2802
+ */
2803
+ HealthCheckEnabled?: boolean;
2804
+ /**
2805
+ * <p>The approximate amount of time, in seconds, between health checks of an individual target.
2806
+ * For TCP health checks, the supported values are 10 or 30 seconds.</p>
2807
+ */
2808
+ HealthCheckIntervalSeconds?: number;
2809
+ /**
2810
+ * <p>[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means
2811
+ * a failed health check.</p>
2812
+ */
2813
+ HealthCheckTimeoutSeconds?: number;
2814
+ /**
2815
+ * <p>The number of consecutive health checks successes required before considering an unhealthy
2816
+ * target healthy.</p>
2817
+ */
2818
+ HealthyThresholdCount?: number;
2819
+ /**
2820
+ * <p>The number of consecutive health check failures required before considering the target
2821
+ * unhealthy. For target groups with a protocol of TCP or TLS, this value must be the same as the
2822
+ * healthy threshold count.</p>
2823
+ */
2824
+ UnhealthyThresholdCount?: number;
2825
+ /**
2826
+ * <p>[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful
2827
+ * response from a target.</p>
2828
+ */
2829
+ Matcher?: Matcher;
2830
+ }
2831
+ export interface ModifyTargetGroupOutput {
2832
+ /**
2833
+ * <p>Information about the modified target group.</p>
2834
+ */
2835
+ TargetGroups?: TargetGroup[];
2836
+ }
2837
+ export interface ModifyTargetGroupAttributesInput {
2838
+ /**
2839
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
2840
+ */
2841
+ TargetGroupArn: string | undefined;
2842
+ /**
2843
+ * <p>The attributes.</p>
2844
+ */
2845
+ Attributes: TargetGroupAttribute[] | undefined;
2846
+ }
2847
+ export interface ModifyTargetGroupAttributesOutput {
2848
+ /**
2849
+ * <p>Information about the attributes.</p>
2850
+ */
2851
+ Attributes?: TargetGroupAttribute[];
2852
+ }
2853
+ export interface RegisterTargetsInput {
2854
+ /**
2855
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
2856
+ */
2857
+ TargetGroupArn: string | undefined;
2858
+ /**
2859
+ * <p>The targets.</p>
2860
+ */
2861
+ Targets: TargetDescription[] | undefined;
2862
+ }
2863
+ export interface RegisterTargetsOutput {
2864
+ }
2865
+ export interface RemoveListenerCertificatesInput {
2866
+ /**
2867
+ * <p>The Amazon Resource Name (ARN) of the listener.</p>
2868
+ */
2869
+ ListenerArn: string | undefined;
2870
+ /**
2871
+ * <p>The certificate to remove. You can specify one certificate per call. Set
2872
+ * <code>CertificateArn</code> to the certificate ARN but do not set
2873
+ * <code>IsDefault</code>.</p>
2874
+ */
2875
+ Certificates: Certificate[] | undefined;
2876
+ }
2877
+ export interface RemoveListenerCertificatesOutput {
2878
+ }
2879
+ export interface RemoveTagsInput {
2880
+ /**
2881
+ * <p>The Amazon Resource Name (ARN) of the resource.</p>
2882
+ */
2883
+ ResourceArns: string[] | undefined;
2884
+ /**
2885
+ * <p>The tag keys for the tags to remove.</p>
2886
+ */
2887
+ TagKeys: string[] | undefined;
2888
+ }
2889
+ export interface RemoveTagsOutput {
2890
+ }
2891
+ export interface SetIpAddressTypeInput {
2892
+ /**
2893
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
2894
+ */
2895
+ LoadBalancerArn: string | undefined;
2896
+ /**
2897
+ * <p>The IP address type. The possible values are <code>ipv4</code> (for IPv4 addresses) and
2898
+ * <code>dualstack</code> (for IPv4 and IPv6 addresses).
2899
+ * You can’t specify
2900
+ * <code>dualstack</code> for a load balancer with a UDP or TCP_UDP listener.</p>
2901
+ */
2902
+ IpAddressType: IpAddressType | string | undefined;
2903
+ }
2904
+ export interface SetIpAddressTypeOutput {
2905
+ /**
2906
+ * <p>The IP address type.</p>
2907
+ */
2908
+ IpAddressType?: IpAddressType | string;
2909
+ }
2910
+ /**
2911
+ * <p>Information about the priorities for the rules for a listener.</p>
2912
+ */
2913
+ export interface RulePriorityPair {
2914
+ /**
2915
+ * <p>The Amazon Resource Name (ARN) of the rule.</p>
2916
+ */
2917
+ RuleArn?: string;
2918
+ /**
2919
+ * <p>The rule priority.</p>
2920
+ */
2921
+ Priority?: number;
2922
+ }
2923
+ export interface SetRulePrioritiesInput {
2924
+ /**
2925
+ * <p>The rule priorities.</p>
2926
+ */
2927
+ RulePriorities: RulePriorityPair[] | undefined;
2928
+ }
2929
+ export interface SetRulePrioritiesOutput {
2930
+ /**
2931
+ * <p>Information about the rules.</p>
2932
+ */
2933
+ Rules?: Rule[];
2934
+ }
2935
+ export interface SetSecurityGroupsInput {
2936
+ /**
2937
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
2938
+ */
2939
+ LoadBalancerArn: string | undefined;
2940
+ /**
2941
+ * <p>The IDs of the security groups.</p>
2942
+ */
2943
+ SecurityGroups: string[] | undefined;
2944
+ }
2945
+ export interface SetSecurityGroupsOutput {
2946
+ /**
2947
+ * <p>The IDs of the security groups associated with the load balancer.</p>
2948
+ */
2949
+ SecurityGroupIds?: string[];
2950
+ }
2951
+ export interface SetSubnetsInput {
2952
+ /**
2953
+ * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
2954
+ */
2955
+ LoadBalancerArn: string | undefined;
2956
+ /**
2957
+ * <p>The IDs of the public subnets. You can specify only one subnet per Availability Zone. You
2958
+ * must specify either subnets or subnet mappings.</p>
2959
+ * <p>[Application Load Balancers] You must specify subnets from at least two Availability
2960
+ * Zones.</p>
2961
+ * <p>[Application Load Balancers on Outposts] You must specify one Outpost subnet.</p>
2962
+ * <p>[Application Load Balancers on Local Zones] You can specify subnets from one or more Local
2963
+ * Zones.</p>
2964
+ * <p>[Network Load Balancers] You can specify subnets from one or more Availability
2965
+ * Zones.</p>
2966
+ */
2967
+ Subnets?: string[];
2968
+ /**
2969
+ * <p>The IDs of the public subnets. You can specify only one subnet per Availability Zone. You
2970
+ * must specify either subnets or subnet mappings.</p>
2971
+ * <p>[Application Load Balancers] You must specify subnets from at least two Availability
2972
+ * Zones. You cannot specify Elastic IP addresses for your subnets.</p>
2973
+ * <p>[Application Load Balancers on Outposts] You must specify one Outpost subnet.</p>
2974
+ * <p>[Application Load Balancers on Local Zones] You can specify subnets from one or more Local
2975
+ * Zones.</p>
2976
+ * <p>[Network Load Balancers] You can specify subnets from one or more Availability Zones. You
2977
+ * can specify one Elastic IP address per subnet if you need static IP addresses for your
2978
+ * internet-facing load balancer. For internal load balancers, you can specify one private IP
2979
+ * address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you
2980
+ * can specify one IPv6 address per subnet.</p>
2981
+ */
2982
+ SubnetMappings?: SubnetMapping[];
2983
+ /**
2984
+ * <p>[Network Load Balancers] The type of IP addresses used by the subnets for your load
2985
+ * balancer. The possible values are <code>ipv4</code> (for IPv4 addresses) and
2986
+ * <code>dualstack</code> (for IPv4 and IPv6 addresses). You can’t specify
2987
+ * <code>dualstack</code> for a load balancer with a UDP or TCP_UDP listener.
2988
+ * .</p>
2989
+ */
2990
+ IpAddressType?: IpAddressType | string;
2991
+ }
2992
+ export interface SetSubnetsOutput {
2993
+ /**
2994
+ * <p>Information about the subnets.</p>
2995
+ */
2996
+ AvailabilityZones?: AvailabilityZone[];
2997
+ /**
2998
+ * <p>[Network Load Balancers] The IP address type.</p>
2999
+ */
3000
+ IpAddressType?: IpAddressType | string;
3001
+ }
3002
+ /**
3003
+ * @internal
3004
+ */
3005
+ export declare const AuthenticateCognitoActionConfigFilterSensitiveLog: (obj: AuthenticateCognitoActionConfig) => any;
3006
+ /**
3007
+ * @internal
3008
+ */
3009
+ export declare const AuthenticateOidcActionConfigFilterSensitiveLog: (obj: AuthenticateOidcActionConfig) => any;
3010
+ /**
3011
+ * @internal
3012
+ */
3013
+ export declare const FixedResponseActionConfigFilterSensitiveLog: (obj: FixedResponseActionConfig) => any;
3014
+ /**
3015
+ * @internal
3016
+ */
3017
+ export declare const TargetGroupTupleFilterSensitiveLog: (obj: TargetGroupTuple) => any;
3018
+ /**
3019
+ * @internal
3020
+ */
3021
+ export declare const TargetGroupStickinessConfigFilterSensitiveLog: (obj: TargetGroupStickinessConfig) => any;
3022
+ /**
3023
+ * @internal
3024
+ */
3025
+ export declare const ForwardActionConfigFilterSensitiveLog: (obj: ForwardActionConfig) => any;
3026
+ /**
3027
+ * @internal
3028
+ */
3029
+ export declare const RedirectActionConfigFilterSensitiveLog: (obj: RedirectActionConfig) => any;
3030
+ /**
3031
+ * @internal
3032
+ */
3033
+ export declare const ActionFilterSensitiveLog: (obj: Action) => any;
3034
+ /**
3035
+ * @internal
3036
+ */
3037
+ export declare const CertificateFilterSensitiveLog: (obj: Certificate) => any;
3038
+ /**
3039
+ * @internal
3040
+ */
3041
+ export declare const AddListenerCertificatesInputFilterSensitiveLog: (obj: AddListenerCertificatesInput) => any;
3042
+ /**
3043
+ * @internal
3044
+ */
3045
+ export declare const AddListenerCertificatesOutputFilterSensitiveLog: (obj: AddListenerCertificatesOutput) => any;
3046
+ /**
3047
+ * @internal
3048
+ */
3049
+ export declare const TagFilterSensitiveLog: (obj: Tag) => any;
3050
+ /**
3051
+ * @internal
3052
+ */
3053
+ export declare const AddTagsInputFilterSensitiveLog: (obj: AddTagsInput) => any;
3054
+ /**
3055
+ * @internal
3056
+ */
3057
+ export declare const AddTagsOutputFilterSensitiveLog: (obj: AddTagsOutput) => any;
3058
+ /**
3059
+ * @internal
3060
+ */
3061
+ export declare const LoadBalancerAddressFilterSensitiveLog: (obj: LoadBalancerAddress) => any;
3062
+ /**
3063
+ * @internal
3064
+ */
3065
+ export declare const AvailabilityZoneFilterSensitiveLog: (obj: AvailabilityZone) => any;
3066
+ /**
3067
+ * @internal
3068
+ */
3069
+ export declare const CipherFilterSensitiveLog: (obj: Cipher) => any;
3070
+ /**
3071
+ * @internal
3072
+ */
3073
+ export declare const CreateListenerInputFilterSensitiveLog: (obj: CreateListenerInput) => any;
3074
+ /**
3075
+ * @internal
3076
+ */
3077
+ export declare const ListenerFilterSensitiveLog: (obj: Listener) => any;
3078
+ /**
3079
+ * @internal
3080
+ */
3081
+ export declare const CreateListenerOutputFilterSensitiveLog: (obj: CreateListenerOutput) => any;
3082
+ /**
3083
+ * @internal
3084
+ */
3085
+ export declare const SubnetMappingFilterSensitiveLog: (obj: SubnetMapping) => any;
3086
+ /**
3087
+ * @internal
3088
+ */
3089
+ export declare const CreateLoadBalancerInputFilterSensitiveLog: (obj: CreateLoadBalancerInput) => any;
3090
+ /**
3091
+ * @internal
3092
+ */
3093
+ export declare const LoadBalancerStateFilterSensitiveLog: (obj: LoadBalancerState) => any;
3094
+ /**
3095
+ * @internal
3096
+ */
3097
+ export declare const LoadBalancerFilterSensitiveLog: (obj: LoadBalancer) => any;
3098
+ /**
3099
+ * @internal
3100
+ */
3101
+ export declare const CreateLoadBalancerOutputFilterSensitiveLog: (obj: CreateLoadBalancerOutput) => any;
3102
+ /**
3103
+ * @internal
3104
+ */
3105
+ export declare const HostHeaderConditionConfigFilterSensitiveLog: (obj: HostHeaderConditionConfig) => any;
3106
+ /**
3107
+ * @internal
3108
+ */
3109
+ export declare const HttpHeaderConditionConfigFilterSensitiveLog: (obj: HttpHeaderConditionConfig) => any;
3110
+ /**
3111
+ * @internal
3112
+ */
3113
+ export declare const HttpRequestMethodConditionConfigFilterSensitiveLog: (obj: HttpRequestMethodConditionConfig) => any;
3114
+ /**
3115
+ * @internal
3116
+ */
3117
+ export declare const PathPatternConditionConfigFilterSensitiveLog: (obj: PathPatternConditionConfig) => any;
3118
+ /**
3119
+ * @internal
3120
+ */
3121
+ export declare const QueryStringKeyValuePairFilterSensitiveLog: (obj: QueryStringKeyValuePair) => any;
3122
+ /**
3123
+ * @internal
3124
+ */
3125
+ export declare const QueryStringConditionConfigFilterSensitiveLog: (obj: QueryStringConditionConfig) => any;
3126
+ /**
3127
+ * @internal
3128
+ */
3129
+ export declare const SourceIpConditionConfigFilterSensitiveLog: (obj: SourceIpConditionConfig) => any;
3130
+ /**
3131
+ * @internal
3132
+ */
3133
+ export declare const RuleConditionFilterSensitiveLog: (obj: RuleCondition) => any;
3134
+ /**
3135
+ * @internal
3136
+ */
3137
+ export declare const CreateRuleInputFilterSensitiveLog: (obj: CreateRuleInput) => any;
3138
+ /**
3139
+ * @internal
3140
+ */
3141
+ export declare const RuleFilterSensitiveLog: (obj: Rule) => any;
3142
+ /**
3143
+ * @internal
3144
+ */
3145
+ export declare const CreateRuleOutputFilterSensitiveLog: (obj: CreateRuleOutput) => any;
3146
+ /**
3147
+ * @internal
3148
+ */
3149
+ export declare const MatcherFilterSensitiveLog: (obj: Matcher) => any;
3150
+ /**
3151
+ * @internal
3152
+ */
3153
+ export declare const CreateTargetGroupInputFilterSensitiveLog: (obj: CreateTargetGroupInput) => any;
3154
+ /**
3155
+ * @internal
3156
+ */
3157
+ export declare const TargetGroupFilterSensitiveLog: (obj: TargetGroup) => any;
3158
+ /**
3159
+ * @internal
3160
+ */
3161
+ export declare const CreateTargetGroupOutputFilterSensitiveLog: (obj: CreateTargetGroupOutput) => any;
3162
+ /**
3163
+ * @internal
3164
+ */
3165
+ export declare const DeleteListenerInputFilterSensitiveLog: (obj: DeleteListenerInput) => any;
3166
+ /**
3167
+ * @internal
3168
+ */
3169
+ export declare const DeleteListenerOutputFilterSensitiveLog: (obj: DeleteListenerOutput) => any;
3170
+ /**
3171
+ * @internal
3172
+ */
3173
+ export declare const DeleteLoadBalancerInputFilterSensitiveLog: (obj: DeleteLoadBalancerInput) => any;
3174
+ /**
3175
+ * @internal
3176
+ */
3177
+ export declare const DeleteLoadBalancerOutputFilterSensitiveLog: (obj: DeleteLoadBalancerOutput) => any;
3178
+ /**
3179
+ * @internal
3180
+ */
3181
+ export declare const DeleteRuleInputFilterSensitiveLog: (obj: DeleteRuleInput) => any;
3182
+ /**
3183
+ * @internal
3184
+ */
3185
+ export declare const DeleteRuleOutputFilterSensitiveLog: (obj: DeleteRuleOutput) => any;
3186
+ /**
3187
+ * @internal
3188
+ */
3189
+ export declare const DeleteTargetGroupInputFilterSensitiveLog: (obj: DeleteTargetGroupInput) => any;
3190
+ /**
3191
+ * @internal
3192
+ */
3193
+ export declare const DeleteTargetGroupOutputFilterSensitiveLog: (obj: DeleteTargetGroupOutput) => any;
3194
+ /**
3195
+ * @internal
3196
+ */
3197
+ export declare const TargetDescriptionFilterSensitiveLog: (obj: TargetDescription) => any;
3198
+ /**
3199
+ * @internal
3200
+ */
3201
+ export declare const DeregisterTargetsInputFilterSensitiveLog: (obj: DeregisterTargetsInput) => any;
3202
+ /**
3203
+ * @internal
3204
+ */
3205
+ export declare const DeregisterTargetsOutputFilterSensitiveLog: (obj: DeregisterTargetsOutput) => any;
3206
+ /**
3207
+ * @internal
3208
+ */
3209
+ export declare const DescribeAccountLimitsInputFilterSensitiveLog: (obj: DescribeAccountLimitsInput) => any;
3210
+ /**
3211
+ * @internal
3212
+ */
3213
+ export declare const LimitFilterSensitiveLog: (obj: Limit) => any;
3214
+ /**
3215
+ * @internal
3216
+ */
3217
+ export declare const DescribeAccountLimitsOutputFilterSensitiveLog: (obj: DescribeAccountLimitsOutput) => any;
3218
+ /**
3219
+ * @internal
3220
+ */
3221
+ export declare const DescribeListenerCertificatesInputFilterSensitiveLog: (obj: DescribeListenerCertificatesInput) => any;
3222
+ /**
3223
+ * @internal
3224
+ */
3225
+ export declare const DescribeListenerCertificatesOutputFilterSensitiveLog: (obj: DescribeListenerCertificatesOutput) => any;
3226
+ /**
3227
+ * @internal
3228
+ */
3229
+ export declare const DescribeListenersInputFilterSensitiveLog: (obj: DescribeListenersInput) => any;
3230
+ /**
3231
+ * @internal
3232
+ */
3233
+ export declare const DescribeListenersOutputFilterSensitiveLog: (obj: DescribeListenersOutput) => any;
3234
+ /**
3235
+ * @internal
3236
+ */
3237
+ export declare const DescribeLoadBalancerAttributesInputFilterSensitiveLog: (obj: DescribeLoadBalancerAttributesInput) => any;
3238
+ /**
3239
+ * @internal
3240
+ */
3241
+ export declare const LoadBalancerAttributeFilterSensitiveLog: (obj: LoadBalancerAttribute) => any;
3242
+ /**
3243
+ * @internal
3244
+ */
3245
+ export declare const DescribeLoadBalancerAttributesOutputFilterSensitiveLog: (obj: DescribeLoadBalancerAttributesOutput) => any;
3246
+ /**
3247
+ * @internal
3248
+ */
3249
+ export declare const DescribeLoadBalancersInputFilterSensitiveLog: (obj: DescribeLoadBalancersInput) => any;
3250
+ /**
3251
+ * @internal
3252
+ */
3253
+ export declare const DescribeLoadBalancersOutputFilterSensitiveLog: (obj: DescribeLoadBalancersOutput) => any;
3254
+ /**
3255
+ * @internal
3256
+ */
3257
+ export declare const DescribeRulesInputFilterSensitiveLog: (obj: DescribeRulesInput) => any;
3258
+ /**
3259
+ * @internal
3260
+ */
3261
+ export declare const DescribeRulesOutputFilterSensitiveLog: (obj: DescribeRulesOutput) => any;
3262
+ /**
3263
+ * @internal
3264
+ */
3265
+ export declare const DescribeSSLPoliciesInputFilterSensitiveLog: (obj: DescribeSSLPoliciesInput) => any;
3266
+ /**
3267
+ * @internal
3268
+ */
3269
+ export declare const SslPolicyFilterSensitiveLog: (obj: SslPolicy) => any;
3270
+ /**
3271
+ * @internal
3272
+ */
3273
+ export declare const DescribeSSLPoliciesOutputFilterSensitiveLog: (obj: DescribeSSLPoliciesOutput) => any;
3274
+ /**
3275
+ * @internal
3276
+ */
3277
+ export declare const DescribeTagsInputFilterSensitiveLog: (obj: DescribeTagsInput) => any;
3278
+ /**
3279
+ * @internal
3280
+ */
3281
+ export declare const TagDescriptionFilterSensitiveLog: (obj: TagDescription) => any;
3282
+ /**
3283
+ * @internal
3284
+ */
3285
+ export declare const DescribeTagsOutputFilterSensitiveLog: (obj: DescribeTagsOutput) => any;
3286
+ /**
3287
+ * @internal
3288
+ */
3289
+ export declare const DescribeTargetGroupAttributesInputFilterSensitiveLog: (obj: DescribeTargetGroupAttributesInput) => any;
3290
+ /**
3291
+ * @internal
3292
+ */
3293
+ export declare const TargetGroupAttributeFilterSensitiveLog: (obj: TargetGroupAttribute) => any;
3294
+ /**
3295
+ * @internal
3296
+ */
3297
+ export declare const DescribeTargetGroupAttributesOutputFilterSensitiveLog: (obj: DescribeTargetGroupAttributesOutput) => any;
3298
+ /**
3299
+ * @internal
3300
+ */
3301
+ export declare const DescribeTargetGroupsInputFilterSensitiveLog: (obj: DescribeTargetGroupsInput) => any;
3302
+ /**
3303
+ * @internal
3304
+ */
3305
+ export declare const DescribeTargetGroupsOutputFilterSensitiveLog: (obj: DescribeTargetGroupsOutput) => any;
3306
+ /**
3307
+ * @internal
3308
+ */
3309
+ export declare const DescribeTargetHealthInputFilterSensitiveLog: (obj: DescribeTargetHealthInput) => any;
3310
+ /**
3311
+ * @internal
3312
+ */
3313
+ export declare const TargetHealthFilterSensitiveLog: (obj: TargetHealth) => any;
3314
+ /**
3315
+ * @internal
3316
+ */
3317
+ export declare const TargetHealthDescriptionFilterSensitiveLog: (obj: TargetHealthDescription) => any;
3318
+ /**
3319
+ * @internal
3320
+ */
3321
+ export declare const DescribeTargetHealthOutputFilterSensitiveLog: (obj: DescribeTargetHealthOutput) => any;
3322
+ /**
3323
+ * @internal
3324
+ */
3325
+ export declare const ModifyListenerInputFilterSensitiveLog: (obj: ModifyListenerInput) => any;
3326
+ /**
3327
+ * @internal
3328
+ */
3329
+ export declare const ModifyListenerOutputFilterSensitiveLog: (obj: ModifyListenerOutput) => any;
3330
+ /**
3331
+ * @internal
3332
+ */
3333
+ export declare const ModifyLoadBalancerAttributesInputFilterSensitiveLog: (obj: ModifyLoadBalancerAttributesInput) => any;
3334
+ /**
3335
+ * @internal
3336
+ */
3337
+ export declare const ModifyLoadBalancerAttributesOutputFilterSensitiveLog: (obj: ModifyLoadBalancerAttributesOutput) => any;
3338
+ /**
3339
+ * @internal
3340
+ */
3341
+ export declare const ModifyRuleInputFilterSensitiveLog: (obj: ModifyRuleInput) => any;
3342
+ /**
3343
+ * @internal
3344
+ */
3345
+ export declare const ModifyRuleOutputFilterSensitiveLog: (obj: ModifyRuleOutput) => any;
3346
+ /**
3347
+ * @internal
3348
+ */
3349
+ export declare const ModifyTargetGroupInputFilterSensitiveLog: (obj: ModifyTargetGroupInput) => any;
3350
+ /**
3351
+ * @internal
3352
+ */
3353
+ export declare const ModifyTargetGroupOutputFilterSensitiveLog: (obj: ModifyTargetGroupOutput) => any;
3354
+ /**
3355
+ * @internal
3356
+ */
3357
+ export declare const ModifyTargetGroupAttributesInputFilterSensitiveLog: (obj: ModifyTargetGroupAttributesInput) => any;
3358
+ /**
3359
+ * @internal
3360
+ */
3361
+ export declare const ModifyTargetGroupAttributesOutputFilterSensitiveLog: (obj: ModifyTargetGroupAttributesOutput) => any;
3362
+ /**
3363
+ * @internal
3364
+ */
3365
+ export declare const RegisterTargetsInputFilterSensitiveLog: (obj: RegisterTargetsInput) => any;
3366
+ /**
3367
+ * @internal
3368
+ */
3369
+ export declare const RegisterTargetsOutputFilterSensitiveLog: (obj: RegisterTargetsOutput) => any;
3370
+ /**
3371
+ * @internal
3372
+ */
3373
+ export declare const RemoveListenerCertificatesInputFilterSensitiveLog: (obj: RemoveListenerCertificatesInput) => any;
3374
+ /**
3375
+ * @internal
3376
+ */
3377
+ export declare const RemoveListenerCertificatesOutputFilterSensitiveLog: (obj: RemoveListenerCertificatesOutput) => any;
3378
+ /**
3379
+ * @internal
3380
+ */
3381
+ export declare const RemoveTagsInputFilterSensitiveLog: (obj: RemoveTagsInput) => any;
3382
+ /**
3383
+ * @internal
3384
+ */
3385
+ export declare const RemoveTagsOutputFilterSensitiveLog: (obj: RemoveTagsOutput) => any;
3386
+ /**
3387
+ * @internal
3388
+ */
3389
+ export declare const SetIpAddressTypeInputFilterSensitiveLog: (obj: SetIpAddressTypeInput) => any;
3390
+ /**
3391
+ * @internal
3392
+ */
3393
+ export declare const SetIpAddressTypeOutputFilterSensitiveLog: (obj: SetIpAddressTypeOutput) => any;
3394
+ /**
3395
+ * @internal
3396
+ */
3397
+ export declare const RulePriorityPairFilterSensitiveLog: (obj: RulePriorityPair) => any;
3398
+ /**
3399
+ * @internal
3400
+ */
3401
+ export declare const SetRulePrioritiesInputFilterSensitiveLog: (obj: SetRulePrioritiesInput) => any;
3402
+ /**
3403
+ * @internal
3404
+ */
3405
+ export declare const SetRulePrioritiesOutputFilterSensitiveLog: (obj: SetRulePrioritiesOutput) => any;
3406
+ /**
3407
+ * @internal
3408
+ */
3409
+ export declare const SetSecurityGroupsInputFilterSensitiveLog: (obj: SetSecurityGroupsInput) => any;
3410
+ /**
3411
+ * @internal
3412
+ */
3413
+ export declare const SetSecurityGroupsOutputFilterSensitiveLog: (obj: SetSecurityGroupsOutput) => any;
3414
+ /**
3415
+ * @internal
3416
+ */
3417
+ export declare const SetSubnetsInputFilterSensitiveLog: (obj: SetSubnetsInput) => any;
3418
+ /**
3419
+ * @internal
3420
+ */
3421
+ export declare const SetSubnetsOutputFilterSensitiveLog: (obj: SetSubnetsOutput) => any;