@aws-sdk/client-elastic-load-balancing-v2 3.170.0 → 3.178.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 (52) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist-types/runtimeConfig.browser.d.ts +1 -1
  3. package/dist-types/runtimeConfig.d.ts +1 -1
  4. package/dist-types/runtimeConfig.native.d.ts +1 -1
  5. package/dist-types/ts3.4/ElasticLoadBalancingV2.d.ts +0 -34
  6. package/dist-types/ts3.4/ElasticLoadBalancingV2Client.d.ts +0 -25
  7. package/dist-types/ts3.4/commands/AddListenerCertificatesCommand.d.ts +0 -2
  8. package/dist-types/ts3.4/commands/AddTagsCommand.d.ts +0 -2
  9. package/dist-types/ts3.4/commands/CreateListenerCommand.d.ts +0 -2
  10. package/dist-types/ts3.4/commands/CreateLoadBalancerCommand.d.ts +0 -2
  11. package/dist-types/ts3.4/commands/CreateRuleCommand.d.ts +0 -2
  12. package/dist-types/ts3.4/commands/CreateTargetGroupCommand.d.ts +0 -2
  13. package/dist-types/ts3.4/commands/DeleteListenerCommand.d.ts +0 -2
  14. package/dist-types/ts3.4/commands/DeleteLoadBalancerCommand.d.ts +0 -2
  15. package/dist-types/ts3.4/commands/DeleteRuleCommand.d.ts +0 -2
  16. package/dist-types/ts3.4/commands/DeleteTargetGroupCommand.d.ts +0 -2
  17. package/dist-types/ts3.4/commands/DeregisterTargetsCommand.d.ts +0 -2
  18. package/dist-types/ts3.4/commands/DescribeAccountLimitsCommand.d.ts +0 -2
  19. package/dist-types/ts3.4/commands/DescribeListenerCertificatesCommand.d.ts +0 -2
  20. package/dist-types/ts3.4/commands/DescribeListenersCommand.d.ts +0 -2
  21. package/dist-types/ts3.4/commands/DescribeLoadBalancerAttributesCommand.d.ts +0 -2
  22. package/dist-types/ts3.4/commands/DescribeLoadBalancersCommand.d.ts +0 -2
  23. package/dist-types/ts3.4/commands/DescribeRulesCommand.d.ts +0 -2
  24. package/dist-types/ts3.4/commands/DescribeSSLPoliciesCommand.d.ts +0 -2
  25. package/dist-types/ts3.4/commands/DescribeTagsCommand.d.ts +0 -2
  26. package/dist-types/ts3.4/commands/DescribeTargetGroupAttributesCommand.d.ts +0 -2
  27. package/dist-types/ts3.4/commands/DescribeTargetGroupsCommand.d.ts +0 -2
  28. package/dist-types/ts3.4/commands/DescribeTargetHealthCommand.d.ts +0 -2
  29. package/dist-types/ts3.4/commands/ModifyListenerCommand.d.ts +0 -2
  30. package/dist-types/ts3.4/commands/ModifyLoadBalancerAttributesCommand.d.ts +0 -2
  31. package/dist-types/ts3.4/commands/ModifyRuleCommand.d.ts +0 -2
  32. package/dist-types/ts3.4/commands/ModifyTargetGroupAttributesCommand.d.ts +0 -2
  33. package/dist-types/ts3.4/commands/ModifyTargetGroupCommand.d.ts +0 -2
  34. package/dist-types/ts3.4/commands/RegisterTargetsCommand.d.ts +0 -2
  35. package/dist-types/ts3.4/commands/RemoveListenerCertificatesCommand.d.ts +0 -2
  36. package/dist-types/ts3.4/commands/RemoveTagsCommand.d.ts +0 -2
  37. package/dist-types/ts3.4/commands/SetIpAddressTypeCommand.d.ts +0 -2
  38. package/dist-types/ts3.4/commands/SetRulePrioritiesCommand.d.ts +0 -2
  39. package/dist-types/ts3.4/commands/SetSecurityGroupsCommand.d.ts +0 -2
  40. package/dist-types/ts3.4/commands/SetSubnetsCommand.d.ts +0 -2
  41. package/dist-types/ts3.4/models/ElasticLoadBalancingV2ServiceException.d.ts +0 -1
  42. package/dist-types/ts3.4/models/models_0.d.ts +1200 -3421
  43. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -2
  44. package/dist-types/ts3.4/runtimeConfig.d.ts +3 -2
  45. package/dist-types/ts3.4/runtimeConfig.native.d.ts +3 -2
  46. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +0 -1
  47. package/dist-types/ts3.4/waiters/waitForLoadBalancerAvailable.d.ts +0 -2
  48. package/dist-types/ts3.4/waiters/waitForLoadBalancerExists.d.ts +0 -2
  49. package/dist-types/ts3.4/waiters/waitForLoadBalancersDeleted.d.ts +0 -2
  50. package/dist-types/ts3.4/waiters/waitForTargetDeregistered.d.ts +0 -2
  51. package/dist-types/ts3.4/waiters/waitForTargetInService.d.ts +0 -2
  52. package/package.json +27 -27
@@ -1,3421 +1,1200 @@
1
- import { ExceptionOptionType as __ExceptionOptionType } from "@aws-sdk/smithy-client";
2
- import { ElasticLoadBalancingV2ServiceException as __BaseException } from "./ElasticLoadBalancingV2ServiceException";
3
- export declare enum AuthenticateCognitoActionConditionalBehaviorEnum {
4
- ALLOW = "allow",
5
- AUTHENTICATE = "authenticate",
6
- DENY = "deny"
7
- }
8
- /**
9
- * <p>Request parameters to use when integrating with Amazon Cognito to authenticate
10
- * users.</p>
11
- */
12
- export interface AuthenticateCognitoActionConfig {
13
- /**
14
- * <p>The Amazon Resource Name (ARN) of the Amazon Cognito user pool.</p>
15
- */
16
- UserPoolArn: string | undefined;
17
- /**
18
- * <p>The ID of the Amazon Cognito user pool client.</p>
19
- */
20
- UserPoolClientId: string | undefined;
21
- /**
22
- * <p>The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.</p>
23
- */
24
- UserPoolDomain: string | undefined;
25
- /**
26
- * <p>The name of the cookie used to maintain session information. The default is
27
- * AWSELBAuthSessionCookie.</p>
28
- */
29
- SessionCookieName?: string;
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
- */
36
- Scope?: string;
37
- /**
38
- * <p>The maximum duration of the authentication session, in seconds. The default is 604800
39
- * seconds (7 days).</p>
40
- */
41
- SessionTimeout?: number;
42
- /**
43
- * <p>The query parameters (up to 10) to include in the redirect request to the authorization
44
- * endpoint.</p>
45
- */
46
- AuthenticationRequestExtraParams?: Record<string, string>;
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
- */
62
- OnUnauthenticatedRequest?: AuthenticateCognitoActionConditionalBehaviorEnum | string;
63
- }
64
- export declare enum AuthenticateOidcActionConditionalBehaviorEnum {
65
- ALLOW = "allow",
66
- AUTHENTICATE = "authenticate",
67
- DENY = "deny"
68
- }
69
- /**
70
- * <p>Request parameters when using an identity provider (IdP) that is compliant with OpenID
71
- * Connect (OIDC) to authenticate users.</p>
72
- */
73
- export interface AuthenticateOidcActionConfig {
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
- */
78
- Issuer: string | undefined;
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
- */
83
- AuthorizationEndpoint: string | undefined;
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
- */
88
- TokenEndpoint: string | undefined;
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
- */
93
- UserInfoEndpoint: string | undefined;
94
- /**
95
- * <p>The OAuth 2.0 client identifier.</p>
96
- */
97
- ClientId: string | undefined;
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
- */
103
- ClientSecret?: string;
104
- /**
105
- * <p>The name of the cookie used to maintain session information. The default is
106
- * AWSELBAuthSessionCookie.</p>
107
- */
108
- SessionCookieName?: string;
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
- */
115
- Scope?: string;
116
- /**
117
- * <p>The maximum duration of the authentication session, in seconds. The default is 604800
118
- * seconds (7 days).</p>
119
- */
120
- SessionTimeout?: number;
121
- /**
122
- * <p>The query parameters (up to 10) to include in the redirect request to the authorization
123
- * endpoint.</p>
124
- */
125
- AuthenticationRequestExtraParams?: Record<string, string>;
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
- */
141
- OnUnauthenticatedRequest?: AuthenticateOidcActionConditionalBehaviorEnum | string;
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
- */
146
- UseExistingClientSecret?: boolean;
147
- }
148
- /**
149
- * <p>Information about an action that returns a custom HTTP response.</p>
150
- */
151
- export interface FixedResponseActionConfig {
152
- /**
153
- * <p>The message.</p>
154
- */
155
- MessageBody?: string;
156
- /**
157
- * <p>The HTTP response code (2XX, 4XX, or 5XX).</p>
158
- */
159
- StatusCode: string | undefined;
160
- /**
161
- * <p>The content type.</p>
162
- * <p>Valid Values: text/plain | text/css | text/html | application/javascript |
163
- * application/json</p>
164
- */
165
- ContentType?: string;
166
- }
167
- /**
168
- * <p>Information about how traffic will be distributed between multiple target groups in a
169
- * forward rule.</p>
170
- */
171
- export interface TargetGroupTuple {
172
- /**
173
- * <p>The Amazon Resource Name (ARN) of the target group.</p>
174
- */
175
- TargetGroupArn?: string;
176
- /**
177
- * <p>The weight. The range is 0 to 999.</p>
178
- */
179
- Weight?: number;
180
- }
181
- /**
182
- * <p>Information about the target group stickiness for a rule.</p>
183
- */
184
- export interface TargetGroupStickinessConfig {
185
- /**
186
- * <p>Indicates whether target group stickiness is enabled.</p>
187
- */
188
- Enabled?: boolean;
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
- */
193
- DurationSeconds?: number;
194
- }
195
- /**
196
- * <p>Information about a forward action.</p>
197
- */
198
- export interface ForwardActionConfig {
199
- /**
200
- * <p>One or more target groups. For Network Load Balancers, you can specify a single target
201
- * group.</p>
202
- */
203
- TargetGroups?: TargetGroupTuple[];
204
- /**
205
- * <p>The target group stickiness for the rule.</p>
206
- */
207
- TargetGroupStickinessConfig?: TargetGroupStickinessConfig;
208
- }
209
- export declare enum RedirectActionStatusCodeEnum {
210
- HTTP_301 = "HTTP_301",
211
- HTTP_302 = "HTTP_302"
212
- }
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
- */
239
- export interface RedirectActionConfig {
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
- */
244
- Protocol?: string;
245
- /**
246
- * <p>The port. You can specify a value from 1 to 65535 or #{port}.</p>
247
- */
248
- Port?: string;
249
- /**
250
- * <p>The hostname. This component is not percent-encoded. The hostname can contain
251
- * #{host}.</p>
252
- */
253
- Host?: string;
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
- */
258
- Path?: string;
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
- */
264
- Query?: string;
265
- /**
266
- * <p>The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP
267
- * 302).</p>
268
- */
269
- StatusCode: RedirectActionStatusCodeEnum | string | undefined;
270
- }
271
- export declare enum ActionTypeEnum {
272
- AUTHENTICATE_COGNITO = "authenticate-cognito",
273
- AUTHENTICATE_OIDC = "authenticate-oidc",
274
- FIXED_RESPONSE = "fixed-response",
275
- FORWARD = "forward",
276
- REDIRECT = "redirect"
277
- }
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
- */
284
- export interface Action {
285
- /**
286
- * <p>The type of action.</p>
287
- */
288
- Type: ActionTypeEnum | string | undefined;
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
- */
294
- TargetGroupArn?: string;
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
- */
299
- AuthenticateOidcConfig?: AuthenticateOidcActionConfig;
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
- */
304
- AuthenticateCognitoConfig?: AuthenticateCognitoActionConfig;
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
- */
309
- Order?: number;
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
- */
314
- RedirectConfig?: RedirectActionConfig;
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
- */
319
- FixedResponseConfig?: FixedResponseActionConfig;
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
- */
328
- ForwardConfig?: ForwardActionConfig;
329
- }
330
- /**
331
- * <p>Information about an SSL server certificate.</p>
332
- */
333
- export interface Certificate {
334
- /**
335
- * <p>The Amazon Resource Name (ARN) of the certificate.</p>
336
- */
337
- CertificateArn?: string;
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
- */
343
- IsDefault?: boolean;
344
- }
345
- export interface AddListenerCertificatesInput {
346
- /**
347
- * <p>The Amazon Resource Name (ARN) of the listener.</p>
348
- */
349
- ListenerArn: string | undefined;
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
- */
355
- Certificates: Certificate[] | undefined;
356
- }
357
- export interface AddListenerCertificatesOutput {
358
- /**
359
- * <p>Information about the certificates in the certificate list.</p>
360
- */
361
- Certificates?: Certificate[];
362
- }
363
- /**
364
- * <p>The specified certificate does not exist.</p>
365
- */
366
- export declare class CertificateNotFoundException extends __BaseException {
367
- readonly name: "CertificateNotFoundException";
368
- readonly $fault: "client";
369
- Message?: string;
370
- /**
371
- * @internal
372
- */
373
- constructor(opts: __ExceptionOptionType<CertificateNotFoundException, __BaseException>);
374
- }
375
- /**
376
- * <p>The specified listener does not exist.</p>
377
- */
378
- export declare class ListenerNotFoundException extends __BaseException {
379
- readonly name: "ListenerNotFoundException";
380
- readonly $fault: "client";
381
- Message?: string;
382
- /**
383
- * @internal
384
- */
385
- constructor(opts: __ExceptionOptionType<ListenerNotFoundException, __BaseException>);
386
- }
387
- /**
388
- * <p>You've reached the limit on the number of certificates per load balancer.</p>
389
- */
390
- export declare class TooManyCertificatesException extends __BaseException {
391
- readonly name: "TooManyCertificatesException";
392
- readonly $fault: "client";
393
- Message?: string;
394
- /**
395
- * @internal
396
- */
397
- constructor(opts: __ExceptionOptionType<TooManyCertificatesException, __BaseException>);
398
- }
399
- /**
400
- * <p>Information about a tag.</p>
401
- */
402
- export interface Tag {
403
- /**
404
- * <p>The key of the tag.</p>
405
- */
406
- Key: string | undefined;
407
- /**
408
- * <p>The value of the tag.</p>
409
- */
410
- Value?: string;
411
- }
412
- export interface AddTagsInput {
413
- /**
414
- * <p>The Amazon Resource Name (ARN) of the resource.</p>
415
- */
416
- ResourceArns: string[] | undefined;
417
- /**
418
- * <p>The tags.</p>
419
- */
420
- Tags: Tag[] | undefined;
421
- }
422
- export interface AddTagsOutput {
423
- }
424
- /**
425
- * <p>A tag key was specified more than once.</p>
426
- */
427
- export declare class DuplicateTagKeysException extends __BaseException {
428
- readonly name: "DuplicateTagKeysException";
429
- readonly $fault: "client";
430
- Message?: string;
431
- /**
432
- * @internal
433
- */
434
- constructor(opts: __ExceptionOptionType<DuplicateTagKeysException, __BaseException>);
435
- }
436
- /**
437
- * <p>The specified load balancer does not exist.</p>
438
- */
439
- export declare class LoadBalancerNotFoundException extends __BaseException {
440
- readonly name: "LoadBalancerNotFoundException";
441
- readonly $fault: "client";
442
- Message?: string;
443
- /**
444
- * @internal
445
- */
446
- constructor(opts: __ExceptionOptionType<LoadBalancerNotFoundException, __BaseException>);
447
- }
448
- /**
449
- * <p>The specified rule does not exist.</p>
450
- */
451
- export declare class RuleNotFoundException extends __BaseException {
452
- readonly name: "RuleNotFoundException";
453
- readonly $fault: "client";
454
- Message?: string;
455
- /**
456
- * @internal
457
- */
458
- constructor(opts: __ExceptionOptionType<RuleNotFoundException, __BaseException>);
459
- }
460
- /**
461
- * <p>The specified target group does not exist.</p>
462
- */
463
- export declare class TargetGroupNotFoundException extends __BaseException {
464
- readonly name: "TargetGroupNotFoundException";
465
- readonly $fault: "client";
466
- Message?: string;
467
- /**
468
- * @internal
469
- */
470
- constructor(opts: __ExceptionOptionType<TargetGroupNotFoundException, __BaseException>);
471
- }
472
- /**
473
- * <p>You've reached the limit on the number of tags per load balancer.</p>
474
- */
475
- export declare class TooManyTagsException extends __BaseException {
476
- readonly name: "TooManyTagsException";
477
- readonly $fault: "client";
478
- Message?: string;
479
- /**
480
- * @internal
481
- */
482
- constructor(opts: __ExceptionOptionType<TooManyTagsException, __BaseException>);
483
- }
484
- /**
485
- * <p>The specified allocation ID does not exist.</p>
486
- */
487
- export declare class AllocationIdNotFoundException extends __BaseException {
488
- readonly name: "AllocationIdNotFoundException";
489
- readonly $fault: "client";
490
- Message?: string;
491
- /**
492
- * @internal
493
- */
494
- constructor(opts: __ExceptionOptionType<AllocationIdNotFoundException, __BaseException>);
495
- }
496
- /**
497
- * <p>The specified ALPN policy is not supported.</p>
498
- */
499
- export declare class ALPNPolicyNotSupportedException extends __BaseException {
500
- readonly name: "ALPNPolicyNotSupportedException";
501
- readonly $fault: "client";
502
- Message?: string;
503
- /**
504
- * @internal
505
- */
506
- constructor(opts: __ExceptionOptionType<ALPNPolicyNotSupportedException, __BaseException>);
507
- }
508
- /**
509
- * <p>Information about a static IP address for a load balancer.</p>
510
- */
511
- export interface LoadBalancerAddress {
512
- /**
513
- * <p>The static IP address.</p>
514
- */
515
- IpAddress?: string;
516
- /**
517
- * <p>[Network Load Balancers] The allocation ID of the Elastic IP address for an
518
- * internal-facing load balancer.</p>
519
- */
520
- AllocationId?: string;
521
- /**
522
- * <p>[Network Load Balancers] The private IPv4 address for an internal load balancer.</p>
523
- */
524
- PrivateIPv4Address?: string;
525
- /**
526
- * <p>[Network Load Balancers] The IPv6 address.</p>
527
- */
528
- IPv6Address?: string;
529
- }
530
- /**
531
- * <p>Information about an Availability Zone.</p>
532
- */
533
- export interface AvailabilityZone {
534
- /**
535
- * <p>The name of the Availability Zone.</p>
536
- */
537
- ZoneName?: string;
538
- /**
539
- * <p>The ID of the subnet. You can specify one subnet per Availability Zone.</p>
540
- */
541
- SubnetId?: string;
542
- /**
543
- * <p>[Application Load Balancers on Outposts] The ID of the Outpost.</p>
544
- */
545
- OutpostId?: string;
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
- */
552
- LoadBalancerAddresses?: LoadBalancerAddress[];
553
- }
554
- /**
555
- * <p>The specified Availability Zone is not supported.</p>
556
- */
557
- export declare class AvailabilityZoneNotSupportedException extends __BaseException {
558
- readonly name: "AvailabilityZoneNotSupportedException";
559
- readonly $fault: "client";
560
- Message?: string;
561
- /**
562
- * @internal
563
- */
564
- constructor(opts: __ExceptionOptionType<AvailabilityZoneNotSupportedException, __BaseException>);
565
- }
566
- /**
567
- * <p>Information about a cipher used in a policy.</p>
568
- */
569
- export interface Cipher {
570
- /**
571
- * <p>The name of the cipher.</p>
572
- */
573
- Name?: string;
574
- /**
575
- * <p>The priority of the cipher.</p>
576
- */
577
- Priority?: number;
578
- }
579
- export declare type ProtocolEnum = "GENEVE" | "HTTP" | "HTTPS" | "TCP" | "TCP_UDP" | "TLS" | "UDP";
580
- export interface CreateListenerInput {
581
- /**
582
- * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
583
- */
584
- LoadBalancerArn: string | undefined;
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
- */
592
- Protocol?: ProtocolEnum | string;
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
- */
597
- Port?: number;
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
- */
604
- SslPolicy?: string;
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
- */
610
- Certificates?: Certificate[];
611
- /**
612
- * <p>The actions for the default rule.</p>
613
- */
614
- DefaultActions: Action[] | undefined;
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
- */
648
- AlpnPolicy?: string[];
649
- /**
650
- * <p>The tags to assign to the listener.</p>
651
- */
652
- Tags?: Tag[];
653
- }
654
- /**
655
- * <p>Information about a listener.</p>
656
- */
657
- export interface Listener {
658
- /**
659
- * <p>The Amazon Resource Name (ARN) of the listener.</p>
660
- */
661
- ListenerArn?: string;
662
- /**
663
- * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
664
- */
665
- LoadBalancerArn?: string;
666
- /**
667
- * <p>The port on which the load balancer is listening.</p>
668
- */
669
- Port?: number;
670
- /**
671
- * <p>The protocol for connections from clients to the load balancer.</p>
672
- */
673
- Protocol?: ProtocolEnum | string;
674
- /**
675
- * <p>[HTTPS or TLS listener] The default certificate for the listener.</p>
676
- */
677
- Certificates?: Certificate[];
678
- /**
679
- * <p>[HTTPS or TLS listener] The security policy that defines which protocols and ciphers are
680
- * supported.</p>
681
- */
682
- SslPolicy?: string;
683
- /**
684
- * <p>The default actions for the listener.</p>
685
- */
686
- DefaultActions?: Action[];
687
- /**
688
- * <p>[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN)
689
- * policy.</p>
690
- */
691
- AlpnPolicy?: string[];
692
- }
693
- export interface CreateListenerOutput {
694
- /**
695
- * <p>Information about the listener.</p>
696
- */
697
- Listeners?: Listener[];
698
- }
699
- /**
700
- * <p>A listener with the specified port already exists.</p>
701
- */
702
- export declare class DuplicateListenerException extends __BaseException {
703
- readonly name: "DuplicateListenerException";
704
- readonly $fault: "client";
705
- Message?: string;
706
- /**
707
- * @internal
708
- */
709
- constructor(opts: __ExceptionOptionType<DuplicateListenerException, __BaseException>);
710
- }
711
- /**
712
- * <p>The specified configuration is not valid with this protocol.</p>
713
- */
714
- export declare class IncompatibleProtocolsException extends __BaseException {
715
- readonly name: "IncompatibleProtocolsException";
716
- readonly $fault: "client";
717
- Message?: string;
718
- /**
719
- * @internal
720
- */
721
- constructor(opts: __ExceptionOptionType<IncompatibleProtocolsException, __BaseException>);
722
- }
723
- /**
724
- * <p>The requested configuration is not valid.</p>
725
- */
726
- export declare class InvalidConfigurationRequestException extends __BaseException {
727
- readonly name: "InvalidConfigurationRequestException";
728
- readonly $fault: "client";
729
- Message?: string;
730
- /**
731
- * @internal
732
- */
733
- constructor(opts: __ExceptionOptionType<InvalidConfigurationRequestException, __BaseException>);
734
- }
735
- /**
736
- * <p>The requested action is not valid.</p>
737
- */
738
- export declare class InvalidLoadBalancerActionException extends __BaseException {
739
- readonly name: "InvalidLoadBalancerActionException";
740
- readonly $fault: "client";
741
- Message?: string;
742
- /**
743
- * @internal
744
- */
745
- constructor(opts: __ExceptionOptionType<InvalidLoadBalancerActionException, __BaseException>);
746
- }
747
- /**
748
- * <p>The specified SSL policy does not exist.</p>
749
- */
750
- export declare class SSLPolicyNotFoundException extends __BaseException {
751
- readonly name: "SSLPolicyNotFoundException";
752
- readonly $fault: "client";
753
- Message?: string;
754
- /**
755
- * @internal
756
- */
757
- constructor(opts: __ExceptionOptionType<SSLPolicyNotFoundException, __BaseException>);
758
- }
759
- /**
760
- * <p>You've reached the limit on the number of load balancers per target group.</p>
761
- */
762
- export declare class TargetGroupAssociationLimitException extends __BaseException {
763
- readonly name: "TargetGroupAssociationLimitException";
764
- readonly $fault: "client";
765
- Message?: string;
766
- /**
767
- * @internal
768
- */
769
- constructor(opts: __ExceptionOptionType<TargetGroupAssociationLimitException, __BaseException>);
770
- }
771
- /**
772
- * <p>You've reached the limit on the number of actions per rule.</p>
773
- */
774
- export declare class TooManyActionsException extends __BaseException {
775
- readonly name: "TooManyActionsException";
776
- readonly $fault: "client";
777
- Message?: string;
778
- /**
779
- * @internal
780
- */
781
- constructor(opts: __ExceptionOptionType<TooManyActionsException, __BaseException>);
782
- }
783
- /**
784
- * <p>You've reached the limit on the number of listeners per load balancer.</p>
785
- */
786
- export declare class TooManyListenersException extends __BaseException {
787
- readonly name: "TooManyListenersException";
788
- readonly $fault: "client";
789
- Message?: string;
790
- /**
791
- * @internal
792
- */
793
- constructor(opts: __ExceptionOptionType<TooManyListenersException, __BaseException>);
794
- }
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
- */
799
- export declare class TooManyRegistrationsForTargetIdException extends __BaseException {
800
- readonly name: "TooManyRegistrationsForTargetIdException";
801
- readonly $fault: "client";
802
- Message?: string;
803
- /**
804
- * @internal
805
- */
806
- constructor(opts: __ExceptionOptionType<TooManyRegistrationsForTargetIdException, __BaseException>);
807
- }
808
- /**
809
- * <p>You've reached the limit on the number of targets.</p>
810
- */
811
- export declare class TooManyTargetsException extends __BaseException {
812
- readonly name: "TooManyTargetsException";
813
- readonly $fault: "client";
814
- Message?: string;
815
- /**
816
- * @internal
817
- */
818
- constructor(opts: __ExceptionOptionType<TooManyTargetsException, __BaseException>);
819
- }
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
- */
825
- export declare class TooManyUniqueTargetGroupsPerLoadBalancerException extends __BaseException {
826
- readonly name: "TooManyUniqueTargetGroupsPerLoadBalancerException";
827
- readonly $fault: "client";
828
- Message?: string;
829
- /**
830
- * @internal
831
- */
832
- constructor(opts: __ExceptionOptionType<TooManyUniqueTargetGroupsPerLoadBalancerException, __BaseException>);
833
- }
834
- /**
835
- * <p>The specified protocol is not supported.</p>
836
- */
837
- export declare class UnsupportedProtocolException extends __BaseException {
838
- readonly name: "UnsupportedProtocolException";
839
- readonly $fault: "client";
840
- Message?: string;
841
- /**
842
- * @internal
843
- */
844
- constructor(opts: __ExceptionOptionType<UnsupportedProtocolException, __BaseException>);
845
- }
846
- export declare enum IpAddressType {
847
- DUALSTACK = "dualstack",
848
- IPV4 = "ipv4"
849
- }
850
- export declare enum LoadBalancerSchemeEnum {
851
- INTERNAL = "internal",
852
- INTERNET_FACING = "internet-facing"
853
- }
854
- /**
855
- * <p>Information about a subnet mapping.</p>
856
- */
857
- export interface SubnetMapping {
858
- /**
859
- * <p>The ID of the subnet.</p>
860
- */
861
- SubnetId?: string;
862
- /**
863
- * <p>[Network Load Balancers] The allocation ID of the Elastic IP address for an
864
- * internet-facing load balancer.</p>
865
- */
866
- AllocationId?: string;
867
- /**
868
- * <p>[Network Load Balancers] The private IPv4 address for an internal load balancer.</p>
869
- */
870
- PrivateIPv4Address?: string;
871
- /**
872
- * <p>[Network Load Balancers] The IPv6 address.</p>
873
- */
874
- IPv6Address?: string;
875
- }
876
- export declare enum LoadBalancerTypeEnum {
877
- APPLICATION = "application",
878
- GATEWAY = "gateway",
879
- NETWORK = "network"
880
- }
881
- export interface CreateLoadBalancerInput {
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
- */
888
- Name: string | undefined;
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
- */
903
- Subnets?: string[];
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
- */
920
- SubnetMappings?: SubnetMapping[];
921
- /**
922
- * <p>[Application Load Balancers] The IDs of the security groups for the load balancer.</p>
923
- */
924
- SecurityGroups?: string[];
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
- */
937
- Scheme?: LoadBalancerSchemeEnum | string;
938
- /**
939
- * <p>The tags to assign to the load balancer.</p>
940
- */
941
- Tags?: Tag[];
942
- /**
943
- * <p>The type of load balancer. The default is <code>application</code>.</p>
944
- */
945
- Type?: LoadBalancerTypeEnum | string;
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
- */
951
- IpAddressType?: IpAddressType | string;
952
- /**
953
- * <p>[Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP
954
- * pool).</p>
955
- */
956
- CustomerOwnedIpv4Pool?: string;
957
- }
958
- export declare enum LoadBalancerStateEnum {
959
- ACTIVE = "active",
960
- ACTIVE_IMPAIRED = "active_impaired",
961
- FAILED = "failed",
962
- PROVISIONING = "provisioning"
963
- }
964
- /**
965
- * <p>Information about the state of the load balancer.</p>
966
- */
967
- export interface LoadBalancerState {
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
- */
975
- Code?: LoadBalancerStateEnum | string;
976
- /**
977
- * <p>A description of the state.</p>
978
- */
979
- Reason?: string;
980
- }
981
- /**
982
- * <p>Information about a load balancer.</p>
983
- */
984
- export interface LoadBalancer {
985
- /**
986
- * <p>The Amazon Resource Name (ARN) of the load balancer.</p>
987
- */
988
- LoadBalancerArn?: string;
989
- /**
990
- * <p>The public DNS name of the load balancer.</p>
991
- */
992
- DNSName?: string;
993
- /**
994
- * <p>The ID of the Amazon Route 53 hosted zone associated with the load balancer.</p>
995
- */
996
- CanonicalHostedZoneId?: string;
997
- /**
998
- * <p>The date and time the load balancer was created.</p>
999
- */
1000
- CreatedTime?: Date;
1001
- /**
1002
- * <p>The name of the load balancer.</p>
1003
- */
1004
- LoadBalancerName?: string;
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
- */
1015
- Scheme?: LoadBalancerSchemeEnum | string;
1016
- /**
1017
- * <p>The ID of the VPC for the load balancer.</p>
1018
- */
1019
- VpcId?: string;
1020
- /**
1021
- * <p>The state of the load balancer.</p>
1022
- */
1023
- State?: LoadBalancerState;
1024
- /**
1025
- * <p>The type of load balancer.</p>
1026
- */
1027
- Type?: LoadBalancerTypeEnum | string;
1028
- /**
1029
- * <p>The subnets for the load balancer.</p>
1030
- */
1031
- AvailabilityZones?: AvailabilityZone[];
1032
- /**
1033
- * <p>The IDs of the security groups for the load balancer.</p>
1034
- */
1035
- SecurityGroups?: string[];
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
- */
1041
- IpAddressType?: IpAddressType | string;
1042
- /**
1043
- * <p>[Application Load Balancers on Outposts] The ID of the customer-owned address pool.</p>
1044
- */
1045
- CustomerOwnedIpv4Pool?: string;
1046
- }
1047
- export interface CreateLoadBalancerOutput {
1048
- /**
1049
- * <p>Information about the load balancer.</p>
1050
- */
1051
- LoadBalancers?: LoadBalancer[];
1052
- }
1053
- /**
1054
- * <p>A load balancer with the specified name already exists.</p>
1055
- */
1056
- export declare class DuplicateLoadBalancerNameException extends __BaseException {
1057
- readonly name: "DuplicateLoadBalancerNameException";
1058
- readonly $fault: "client";
1059
- Message?: string;
1060
- /**
1061
- * @internal
1062
- */
1063
- constructor(opts: __ExceptionOptionType<DuplicateLoadBalancerNameException, __BaseException>);
1064
- }
1065
- /**
1066
- * <p>The requested scheme is not valid.</p>
1067
- */
1068
- export declare class InvalidSchemeException extends __BaseException {
1069
- readonly name: "InvalidSchemeException";
1070
- readonly $fault: "client";
1071
- Message?: string;
1072
- /**
1073
- * @internal
1074
- */
1075
- constructor(opts: __ExceptionOptionType<InvalidSchemeException, __BaseException>);
1076
- }
1077
- /**
1078
- * <p>The specified security group does not exist.</p>
1079
- */
1080
- export declare class InvalidSecurityGroupException extends __BaseException {
1081
- readonly name: "InvalidSecurityGroupException";
1082
- readonly $fault: "client";
1083
- Message?: string;
1084
- /**
1085
- * @internal
1086
- */
1087
- constructor(opts: __ExceptionOptionType<InvalidSecurityGroupException, __BaseException>);
1088
- }
1089
- /**
1090
- * <p>The specified subnet is out of available addresses.</p>
1091
- */
1092
- export declare class InvalidSubnetException extends __BaseException {
1093
- readonly name: "InvalidSubnetException";
1094
- readonly $fault: "client";
1095
- Message?: string;
1096
- /**
1097
- * @internal
1098
- */
1099
- constructor(opts: __ExceptionOptionType<InvalidSubnetException, __BaseException>);
1100
- }
1101
- /**
1102
- * <p>This operation is not allowed.</p>
1103
- */
1104
- export declare class OperationNotPermittedException extends __BaseException {
1105
- readonly name: "OperationNotPermittedException";
1106
- readonly $fault: "client";
1107
- Message?: string;
1108
- /**
1109
- * @internal
1110
- */
1111
- constructor(opts: __ExceptionOptionType<OperationNotPermittedException, __BaseException>);
1112
- }
1113
- /**
1114
- * <p>A specified resource is in use.</p>
1115
- */
1116
- export declare class ResourceInUseException extends __BaseException {
1117
- readonly name: "ResourceInUseException";
1118
- readonly $fault: "client";
1119
- Message?: string;
1120
- /**
1121
- * @internal
1122
- */
1123
- constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>);
1124
- }
1125
- /**
1126
- * <p>The specified subnet does not exist.</p>
1127
- */
1128
- export declare class SubnetNotFoundException extends __BaseException {
1129
- readonly name: "SubnetNotFoundException";
1130
- readonly $fault: "client";
1131
- Message?: string;
1132
- /**
1133
- * @internal
1134
- */
1135
- constructor(opts: __ExceptionOptionType<SubnetNotFoundException, __BaseException>);
1136
- }
1137
- /**
1138
- * <p>You've reached the limit on the number of load balancers for your Amazon Web Services
1139
- * account.</p>
1140
- */
1141
- export declare class TooManyLoadBalancersException extends __BaseException {
1142
- readonly name: "TooManyLoadBalancersException";
1143
- readonly $fault: "client";
1144
- Message?: string;
1145
- /**
1146
- * @internal
1147
- */
1148
- constructor(opts: __ExceptionOptionType<TooManyLoadBalancersException, __BaseException>);
1149
- }
1150
- /**
1151
- * <p>Information about a host header condition.</p>
1152
- */
1153
- export interface HostHeaderConditionConfig {
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
- */
1161
- Values?: string[];
1162
- }
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
- */
1168
- export interface HttpHeaderConditionConfig {
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
- */
1175
- HttpHeaderName?: string;
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
- */
1187
- Values?: string[];
1188
- }
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
- */
1195
- export interface HttpRequestMethodConditionConfig {
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
- */
1204
- Values?: string[];
1205
- }
1206
- /**
1207
- * <p>Information about a path pattern condition.</p>
1208
- */
1209
- export interface PathPatternConditionConfig {
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
- */
1218
- Values?: string[];
1219
- }
1220
- /**
1221
- * <p>Information about a key/value pair.</p>
1222
- */
1223
- export interface QueryStringKeyValuePair {
1224
- /**
1225
- * <p>The key. You can omit the key.</p>
1226
- */
1227
- Key?: string;
1228
- /**
1229
- * <p>The value.</p>
1230
- */
1231
- Value?: string;
1232
- }
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
- */
1240
- export interface QueryStringConditionConfig {
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
- */
1250
- Values?: QueryStringKeyValuePair[];
1251
- }
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
- */
1258
- export interface SourceIpConditionConfig {
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
- */
1267
- Values?: string[];
1268
- }
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
- */
1277
- export interface RuleCondition {
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
- */
1313
- Field?: string;
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;
1
+ import { ExceptionOptionType as __ExceptionOptionType } from "@aws-sdk/smithy-client";
2
+ import { ElasticLoadBalancingV2ServiceException as __BaseException } from "./ElasticLoadBalancingV2ServiceException";
3
+ export declare enum AuthenticateCognitoActionConditionalBehaviorEnum {
4
+ ALLOW = "allow",
5
+ AUTHENTICATE = "authenticate",
6
+ DENY = "deny",
7
+ }
8
+ export interface AuthenticateCognitoActionConfig {
9
+ UserPoolArn: string | undefined;
10
+ UserPoolClientId: string | undefined;
11
+ UserPoolDomain: string | undefined;
12
+ SessionCookieName?: string;
13
+ Scope?: string;
14
+ SessionTimeout?: number;
15
+ AuthenticationRequestExtraParams?: Record<string, string>;
16
+ OnUnauthenticatedRequest?:
17
+ | AuthenticateCognitoActionConditionalBehaviorEnum
18
+ | string;
19
+ }
20
+ export declare enum AuthenticateOidcActionConditionalBehaviorEnum {
21
+ ALLOW = "allow",
22
+ AUTHENTICATE = "authenticate",
23
+ DENY = "deny",
24
+ }
25
+ export interface AuthenticateOidcActionConfig {
26
+ Issuer: string | undefined;
27
+ AuthorizationEndpoint: string | undefined;
28
+ TokenEndpoint: string | undefined;
29
+ UserInfoEndpoint: string | undefined;
30
+ ClientId: string | undefined;
31
+ ClientSecret?: string;
32
+ SessionCookieName?: string;
33
+ Scope?: string;
34
+ SessionTimeout?: number;
35
+ AuthenticationRequestExtraParams?: Record<string, string>;
36
+ OnUnauthenticatedRequest?:
37
+ | AuthenticateOidcActionConditionalBehaviorEnum
38
+ | string;
39
+ UseExistingClientSecret?: boolean;
40
+ }
41
+ export interface FixedResponseActionConfig {
42
+ MessageBody?: string;
43
+ StatusCode: string | undefined;
44
+ ContentType?: string;
45
+ }
46
+ export interface TargetGroupTuple {
47
+ TargetGroupArn?: string;
48
+ Weight?: number;
49
+ }
50
+ export interface TargetGroupStickinessConfig {
51
+ Enabled?: boolean;
52
+ DurationSeconds?: number;
53
+ }
54
+ export interface ForwardActionConfig {
55
+ TargetGroups?: TargetGroupTuple[];
56
+ TargetGroupStickinessConfig?: TargetGroupStickinessConfig;
57
+ }
58
+ export declare enum RedirectActionStatusCodeEnum {
59
+ HTTP_301 = "HTTP_301",
60
+ HTTP_302 = "HTTP_302",
61
+ }
62
+ export interface RedirectActionConfig {
63
+ Protocol?: string;
64
+ Port?: string;
65
+ Host?: string;
66
+ Path?: string;
67
+ Query?: string;
68
+ StatusCode: RedirectActionStatusCodeEnum | string | undefined;
69
+ }
70
+ export declare enum ActionTypeEnum {
71
+ AUTHENTICATE_COGNITO = "authenticate-cognito",
72
+ AUTHENTICATE_OIDC = "authenticate-oidc",
73
+ FIXED_RESPONSE = "fixed-response",
74
+ FORWARD = "forward",
75
+ REDIRECT = "redirect",
76
+ }
77
+ export interface Action {
78
+ Type: ActionTypeEnum | string | undefined;
79
+ TargetGroupArn?: string;
80
+ AuthenticateOidcConfig?: AuthenticateOidcActionConfig;
81
+ AuthenticateCognitoConfig?: AuthenticateCognitoActionConfig;
82
+ Order?: number;
83
+ RedirectConfig?: RedirectActionConfig;
84
+ FixedResponseConfig?: FixedResponseActionConfig;
85
+ ForwardConfig?: ForwardActionConfig;
86
+ }
87
+ export interface Certificate {
88
+ CertificateArn?: string;
89
+ IsDefault?: boolean;
90
+ }
91
+ export interface AddListenerCertificatesInput {
92
+ ListenerArn: string | undefined;
93
+ Certificates: Certificate[] | undefined;
94
+ }
95
+ export interface AddListenerCertificatesOutput {
96
+ Certificates?: Certificate[];
97
+ }
98
+ export declare class CertificateNotFoundException extends __BaseException {
99
+ readonly name: "CertificateNotFoundException";
100
+ readonly $fault: "client";
101
+ Message?: string;
102
+ constructor(
103
+ opts: __ExceptionOptionType<CertificateNotFoundException, __BaseException>
104
+ );
105
+ }
106
+ export declare class ListenerNotFoundException extends __BaseException {
107
+ readonly name: "ListenerNotFoundException";
108
+ readonly $fault: "client";
109
+ Message?: string;
110
+ constructor(
111
+ opts: __ExceptionOptionType<ListenerNotFoundException, __BaseException>
112
+ );
113
+ }
114
+ export declare class TooManyCertificatesException extends __BaseException {
115
+ readonly name: "TooManyCertificatesException";
116
+ readonly $fault: "client";
117
+ Message?: string;
118
+ constructor(
119
+ opts: __ExceptionOptionType<TooManyCertificatesException, __BaseException>
120
+ );
121
+ }
122
+ export interface Tag {
123
+ Key: string | undefined;
124
+ Value?: string;
125
+ }
126
+ export interface AddTagsInput {
127
+ ResourceArns: string[] | undefined;
128
+ Tags: Tag[] | undefined;
129
+ }
130
+ export interface AddTagsOutput {}
131
+ export declare class DuplicateTagKeysException extends __BaseException {
132
+ readonly name: "DuplicateTagKeysException";
133
+ readonly $fault: "client";
134
+ Message?: string;
135
+ constructor(
136
+ opts: __ExceptionOptionType<DuplicateTagKeysException, __BaseException>
137
+ );
138
+ }
139
+ export declare class LoadBalancerNotFoundException extends __BaseException {
140
+ readonly name: "LoadBalancerNotFoundException";
141
+ readonly $fault: "client";
142
+ Message?: string;
143
+ constructor(
144
+ opts: __ExceptionOptionType<LoadBalancerNotFoundException, __BaseException>
145
+ );
146
+ }
147
+ export declare class RuleNotFoundException extends __BaseException {
148
+ readonly name: "RuleNotFoundException";
149
+ readonly $fault: "client";
150
+ Message?: string;
151
+ constructor(
152
+ opts: __ExceptionOptionType<RuleNotFoundException, __BaseException>
153
+ );
154
+ }
155
+ export declare class TargetGroupNotFoundException extends __BaseException {
156
+ readonly name: "TargetGroupNotFoundException";
157
+ readonly $fault: "client";
158
+ Message?: string;
159
+ constructor(
160
+ opts: __ExceptionOptionType<TargetGroupNotFoundException, __BaseException>
161
+ );
162
+ }
163
+ export declare class TooManyTagsException extends __BaseException {
164
+ readonly name: "TooManyTagsException";
165
+ readonly $fault: "client";
166
+ Message?: string;
167
+ constructor(
168
+ opts: __ExceptionOptionType<TooManyTagsException, __BaseException>
169
+ );
170
+ }
171
+ export declare class AllocationIdNotFoundException extends __BaseException {
172
+ readonly name: "AllocationIdNotFoundException";
173
+ readonly $fault: "client";
174
+ Message?: string;
175
+ constructor(
176
+ opts: __ExceptionOptionType<AllocationIdNotFoundException, __BaseException>
177
+ );
178
+ }
179
+ export declare class ALPNPolicyNotSupportedException extends __BaseException {
180
+ readonly name: "ALPNPolicyNotSupportedException";
181
+ readonly $fault: "client";
182
+ Message?: string;
183
+ constructor(
184
+ opts: __ExceptionOptionType<
185
+ ALPNPolicyNotSupportedException,
186
+ __BaseException
187
+ >
188
+ );
189
+ }
190
+ export interface LoadBalancerAddress {
191
+ IpAddress?: string;
192
+ AllocationId?: string;
193
+ PrivateIPv4Address?: string;
194
+ IPv6Address?: string;
195
+ }
196
+ export interface AvailabilityZone {
197
+ ZoneName?: string;
198
+ SubnetId?: string;
199
+ OutpostId?: string;
200
+ LoadBalancerAddresses?: LoadBalancerAddress[];
201
+ }
202
+ export declare class AvailabilityZoneNotSupportedException extends __BaseException {
203
+ readonly name: "AvailabilityZoneNotSupportedException";
204
+ readonly $fault: "client";
205
+ Message?: string;
206
+ constructor(
207
+ opts: __ExceptionOptionType<
208
+ AvailabilityZoneNotSupportedException,
209
+ __BaseException
210
+ >
211
+ );
212
+ }
213
+ export interface Cipher {
214
+ Name?: string;
215
+ Priority?: number;
216
+ }
217
+ export declare type ProtocolEnum =
218
+ | "GENEVE"
219
+ | "HTTP"
220
+ | "HTTPS"
221
+ | "TCP"
222
+ | "TCP_UDP"
223
+ | "TLS"
224
+ | "UDP";
225
+ export interface CreateListenerInput {
226
+ LoadBalancerArn: string | undefined;
227
+ Protocol?: ProtocolEnum | string;
228
+ Port?: number;
229
+ SslPolicy?: string;
230
+ Certificates?: Certificate[];
231
+ DefaultActions: Action[] | undefined;
232
+ AlpnPolicy?: string[];
233
+ Tags?: Tag[];
234
+ }
235
+ export interface Listener {
236
+ ListenerArn?: string;
237
+ LoadBalancerArn?: string;
238
+ Port?: number;
239
+ Protocol?: ProtocolEnum | string;
240
+ Certificates?: Certificate[];
241
+ SslPolicy?: string;
242
+ DefaultActions?: Action[];
243
+ AlpnPolicy?: string[];
244
+ }
245
+ export interface CreateListenerOutput {
246
+ Listeners?: Listener[];
247
+ }
248
+ export declare class DuplicateListenerException extends __BaseException {
249
+ readonly name: "DuplicateListenerException";
250
+ readonly $fault: "client";
251
+ Message?: string;
252
+ constructor(
253
+ opts: __ExceptionOptionType<DuplicateListenerException, __BaseException>
254
+ );
255
+ }
256
+ export declare class IncompatibleProtocolsException extends __BaseException {
257
+ readonly name: "IncompatibleProtocolsException";
258
+ readonly $fault: "client";
259
+ Message?: string;
260
+ constructor(
261
+ opts: __ExceptionOptionType<IncompatibleProtocolsException, __BaseException>
262
+ );
263
+ }
264
+ export declare class InvalidConfigurationRequestException extends __BaseException {
265
+ readonly name: "InvalidConfigurationRequestException";
266
+ readonly $fault: "client";
267
+ Message?: string;
268
+ constructor(
269
+ opts: __ExceptionOptionType<
270
+ InvalidConfigurationRequestException,
271
+ __BaseException
272
+ >
273
+ );
274
+ }
275
+ export declare class InvalidLoadBalancerActionException extends __BaseException {
276
+ readonly name: "InvalidLoadBalancerActionException";
277
+ readonly $fault: "client";
278
+ Message?: string;
279
+ constructor(
280
+ opts: __ExceptionOptionType<
281
+ InvalidLoadBalancerActionException,
282
+ __BaseException
283
+ >
284
+ );
285
+ }
286
+ export declare class SSLPolicyNotFoundException extends __BaseException {
287
+ readonly name: "SSLPolicyNotFoundException";
288
+ readonly $fault: "client";
289
+ Message?: string;
290
+ constructor(
291
+ opts: __ExceptionOptionType<SSLPolicyNotFoundException, __BaseException>
292
+ );
293
+ }
294
+ export declare class TargetGroupAssociationLimitException extends __BaseException {
295
+ readonly name: "TargetGroupAssociationLimitException";
296
+ readonly $fault: "client";
297
+ Message?: string;
298
+ constructor(
299
+ opts: __ExceptionOptionType<
300
+ TargetGroupAssociationLimitException,
301
+ __BaseException
302
+ >
303
+ );
304
+ }
305
+ export declare class TooManyActionsException extends __BaseException {
306
+ readonly name: "TooManyActionsException";
307
+ readonly $fault: "client";
308
+ Message?: string;
309
+ constructor(
310
+ opts: __ExceptionOptionType<TooManyActionsException, __BaseException>
311
+ );
312
+ }
313
+ export declare class TooManyListenersException extends __BaseException {
314
+ readonly name: "TooManyListenersException";
315
+ readonly $fault: "client";
316
+ Message?: string;
317
+ constructor(
318
+ opts: __ExceptionOptionType<TooManyListenersException, __BaseException>
319
+ );
320
+ }
321
+ export declare class TooManyRegistrationsForTargetIdException extends __BaseException {
322
+ readonly name: "TooManyRegistrationsForTargetIdException";
323
+ readonly $fault: "client";
324
+ Message?: string;
325
+ constructor(
326
+ opts: __ExceptionOptionType<
327
+ TooManyRegistrationsForTargetIdException,
328
+ __BaseException
329
+ >
330
+ );
331
+ }
332
+ export declare class TooManyTargetsException extends __BaseException {
333
+ readonly name: "TooManyTargetsException";
334
+ readonly $fault: "client";
335
+ Message?: string;
336
+ constructor(
337
+ opts: __ExceptionOptionType<TooManyTargetsException, __BaseException>
338
+ );
339
+ }
340
+ export declare class TooManyUniqueTargetGroupsPerLoadBalancerException extends __BaseException {
341
+ readonly name: "TooManyUniqueTargetGroupsPerLoadBalancerException";
342
+ readonly $fault: "client";
343
+ Message?: string;
344
+ constructor(
345
+ opts: __ExceptionOptionType<
346
+ TooManyUniqueTargetGroupsPerLoadBalancerException,
347
+ __BaseException
348
+ >
349
+ );
350
+ }
351
+ export declare class UnsupportedProtocolException extends __BaseException {
352
+ readonly name: "UnsupportedProtocolException";
353
+ readonly $fault: "client";
354
+ Message?: string;
355
+ constructor(
356
+ opts: __ExceptionOptionType<UnsupportedProtocolException, __BaseException>
357
+ );
358
+ }
359
+ export declare enum IpAddressType {
360
+ DUALSTACK = "dualstack",
361
+ IPV4 = "ipv4",
362
+ }
363
+ export declare enum LoadBalancerSchemeEnum {
364
+ INTERNAL = "internal",
365
+ INTERNET_FACING = "internet-facing",
366
+ }
367
+ export interface SubnetMapping {
368
+ SubnetId?: string;
369
+ AllocationId?: string;
370
+ PrivateIPv4Address?: string;
371
+ IPv6Address?: string;
372
+ }
373
+ export declare enum LoadBalancerTypeEnum {
374
+ APPLICATION = "application",
375
+ GATEWAY = "gateway",
376
+ NETWORK = "network",
377
+ }
378
+ export interface CreateLoadBalancerInput {
379
+ Name: string | undefined;
380
+ Subnets?: string[];
381
+ SubnetMappings?: SubnetMapping[];
382
+ SecurityGroups?: string[];
383
+ Scheme?: LoadBalancerSchemeEnum | string;
384
+ Tags?: Tag[];
385
+ Type?: LoadBalancerTypeEnum | string;
386
+ IpAddressType?: IpAddressType | string;
387
+ CustomerOwnedIpv4Pool?: string;
388
+ }
389
+ export declare enum LoadBalancerStateEnum {
390
+ ACTIVE = "active",
391
+ ACTIVE_IMPAIRED = "active_impaired",
392
+ FAILED = "failed",
393
+ PROVISIONING = "provisioning",
394
+ }
395
+ export interface LoadBalancerState {
396
+ Code?: LoadBalancerStateEnum | string;
397
+ Reason?: string;
398
+ }
399
+ export interface LoadBalancer {
400
+ LoadBalancerArn?: string;
401
+ DNSName?: string;
402
+ CanonicalHostedZoneId?: string;
403
+ CreatedTime?: Date;
404
+ LoadBalancerName?: string;
405
+ Scheme?: LoadBalancerSchemeEnum | string;
406
+ VpcId?: string;
407
+ State?: LoadBalancerState;
408
+ Type?: LoadBalancerTypeEnum | string;
409
+ AvailabilityZones?: AvailabilityZone[];
410
+ SecurityGroups?: string[];
411
+ IpAddressType?: IpAddressType | string;
412
+ CustomerOwnedIpv4Pool?: string;
413
+ }
414
+ export interface CreateLoadBalancerOutput {
415
+ LoadBalancers?: LoadBalancer[];
416
+ }
417
+ export declare class DuplicateLoadBalancerNameException extends __BaseException {
418
+ readonly name: "DuplicateLoadBalancerNameException";
419
+ readonly $fault: "client";
420
+ Message?: string;
421
+ constructor(
422
+ opts: __ExceptionOptionType<
423
+ DuplicateLoadBalancerNameException,
424
+ __BaseException
425
+ >
426
+ );
427
+ }
428
+ export declare class InvalidSchemeException extends __BaseException {
429
+ readonly name: "InvalidSchemeException";
430
+ readonly $fault: "client";
431
+ Message?: string;
432
+ constructor(
433
+ opts: __ExceptionOptionType<InvalidSchemeException, __BaseException>
434
+ );
435
+ }
436
+ export declare class InvalidSecurityGroupException extends __BaseException {
437
+ readonly name: "InvalidSecurityGroupException";
438
+ readonly $fault: "client";
439
+ Message?: string;
440
+ constructor(
441
+ opts: __ExceptionOptionType<InvalidSecurityGroupException, __BaseException>
442
+ );
443
+ }
444
+ export declare class InvalidSubnetException extends __BaseException {
445
+ readonly name: "InvalidSubnetException";
446
+ readonly $fault: "client";
447
+ Message?: string;
448
+ constructor(
449
+ opts: __ExceptionOptionType<InvalidSubnetException, __BaseException>
450
+ );
451
+ }
452
+ export declare class OperationNotPermittedException extends __BaseException {
453
+ readonly name: "OperationNotPermittedException";
454
+ readonly $fault: "client";
455
+ Message?: string;
456
+ constructor(
457
+ opts: __ExceptionOptionType<OperationNotPermittedException, __BaseException>
458
+ );
459
+ }
460
+ export declare class ResourceInUseException extends __BaseException {
461
+ readonly name: "ResourceInUseException";
462
+ readonly $fault: "client";
463
+ Message?: string;
464
+ constructor(
465
+ opts: __ExceptionOptionType<ResourceInUseException, __BaseException>
466
+ );
467
+ }
468
+ export declare class SubnetNotFoundException extends __BaseException {
469
+ readonly name: "SubnetNotFoundException";
470
+ readonly $fault: "client";
471
+ Message?: string;
472
+ constructor(
473
+ opts: __ExceptionOptionType<SubnetNotFoundException, __BaseException>
474
+ );
475
+ }
476
+ export declare class TooManyLoadBalancersException extends __BaseException {
477
+ readonly name: "TooManyLoadBalancersException";
478
+ readonly $fault: "client";
479
+ Message?: string;
480
+ constructor(
481
+ opts: __ExceptionOptionType<TooManyLoadBalancersException, __BaseException>
482
+ );
483
+ }
484
+ export interface HostHeaderConditionConfig {
485
+ Values?: string[];
486
+ }
487
+ export interface HttpHeaderConditionConfig {
488
+ HttpHeaderName?: string;
489
+ Values?: string[];
490
+ }
491
+ export interface HttpRequestMethodConditionConfig {
492
+ Values?: string[];
493
+ }
494
+ export interface PathPatternConditionConfig {
495
+ Values?: string[];
496
+ }
497
+ export interface QueryStringKeyValuePair {
498
+ Key?: string;
499
+ Value?: string;
500
+ }
501
+ export interface QueryStringConditionConfig {
502
+ Values?: QueryStringKeyValuePair[];
503
+ }
504
+ export interface SourceIpConditionConfig {
505
+ Values?: string[];
506
+ }
507
+ export interface RuleCondition {
508
+ Field?: string;
509
+ Values?: string[];
510
+ HostHeaderConfig?: HostHeaderConditionConfig;
511
+ PathPatternConfig?: PathPatternConditionConfig;
512
+ HttpHeaderConfig?: HttpHeaderConditionConfig;
513
+ QueryStringConfig?: QueryStringConditionConfig;
514
+ HttpRequestMethodConfig?: HttpRequestMethodConditionConfig;
515
+ SourceIpConfig?: SourceIpConditionConfig;
516
+ }
517
+ export interface CreateRuleInput {
518
+ ListenerArn: string | undefined;
519
+ Conditions: RuleCondition[] | undefined;
520
+ Priority: number | undefined;
521
+ Actions: Action[] | undefined;
522
+ Tags?: Tag[];
523
+ }
524
+ export interface Rule {
525
+ RuleArn?: string;
526
+ Priority?: string;
527
+ Conditions?: RuleCondition[];
528
+ Actions?: Action[];
529
+ IsDefault?: boolean;
530
+ }
531
+ export interface CreateRuleOutput {
532
+ Rules?: Rule[];
533
+ }
534
+ export declare class PriorityInUseException extends __BaseException {
535
+ readonly name: "PriorityInUseException";
536
+ readonly $fault: "client";
537
+ Message?: string;
538
+ constructor(
539
+ opts: __ExceptionOptionType<PriorityInUseException, __BaseException>
540
+ );
541
+ }
542
+ export declare class TooManyRulesException extends __BaseException {
543
+ readonly name: "TooManyRulesException";
544
+ readonly $fault: "client";
545
+ Message?: string;
546
+ constructor(
547
+ opts: __ExceptionOptionType<TooManyRulesException, __BaseException>
548
+ );
549
+ }
550
+ export declare class TooManyTargetGroupsException extends __BaseException {
551
+ readonly name: "TooManyTargetGroupsException";
552
+ readonly $fault: "client";
553
+ Message?: string;
554
+ constructor(
555
+ opts: __ExceptionOptionType<TooManyTargetGroupsException, __BaseException>
556
+ );
557
+ }
558
+ export declare enum TargetGroupIpAddressTypeEnum {
559
+ IPV4 = "ipv4",
560
+ IPV6 = "ipv6",
561
+ }
562
+ export interface Matcher {
563
+ HttpCode?: string;
564
+ GrpcCode?: string;
565
+ }
566
+ export declare enum TargetTypeEnum {
567
+ ALB = "alb",
568
+ INSTANCE = "instance",
569
+ IP = "ip",
570
+ LAMBDA = "lambda",
571
+ }
572
+ export interface CreateTargetGroupInput {
573
+ Name: string | undefined;
574
+ Protocol?: ProtocolEnum | string;
575
+ ProtocolVersion?: string;
576
+ Port?: number;
577
+ VpcId?: string;
578
+ HealthCheckProtocol?: ProtocolEnum | string;
579
+ HealthCheckPort?: string;
580
+ HealthCheckEnabled?: boolean;
581
+ HealthCheckPath?: string;
582
+ HealthCheckIntervalSeconds?: number;
583
+ HealthCheckTimeoutSeconds?: number;
584
+ HealthyThresholdCount?: number;
585
+ UnhealthyThresholdCount?: number;
586
+ Matcher?: Matcher;
587
+ TargetType?: TargetTypeEnum | string;
588
+ Tags?: Tag[];
589
+ IpAddressType?: TargetGroupIpAddressTypeEnum | string;
590
+ }
591
+ export interface TargetGroup {
592
+ TargetGroupArn?: string;
593
+ TargetGroupName?: string;
594
+ Protocol?: ProtocolEnum | string;
595
+ Port?: number;
596
+ VpcId?: string;
597
+ HealthCheckProtocol?: ProtocolEnum | string;
598
+ HealthCheckPort?: string;
599
+ HealthCheckEnabled?: boolean;
600
+ HealthCheckIntervalSeconds?: number;
601
+ HealthCheckTimeoutSeconds?: number;
602
+ HealthyThresholdCount?: number;
603
+ UnhealthyThresholdCount?: number;
604
+ HealthCheckPath?: string;
605
+ Matcher?: Matcher;
606
+ LoadBalancerArns?: string[];
607
+ TargetType?: TargetTypeEnum | string;
608
+ ProtocolVersion?: string;
609
+ IpAddressType?: TargetGroupIpAddressTypeEnum | string;
610
+ }
611
+ export interface CreateTargetGroupOutput {
612
+ TargetGroups?: TargetGroup[];
613
+ }
614
+ export declare class DuplicateTargetGroupNameException extends __BaseException {
615
+ readonly name: "DuplicateTargetGroupNameException";
616
+ readonly $fault: "client";
617
+ Message?: string;
618
+ constructor(
619
+ opts: __ExceptionOptionType<
620
+ DuplicateTargetGroupNameException,
621
+ __BaseException
622
+ >
623
+ );
624
+ }
625
+ export interface DeleteListenerInput {
626
+ ListenerArn: string | undefined;
627
+ }
628
+ export interface DeleteListenerOutput {}
629
+ export interface DeleteLoadBalancerInput {
630
+ LoadBalancerArn: string | undefined;
631
+ }
632
+ export interface DeleteLoadBalancerOutput {}
633
+ export interface DeleteRuleInput {
634
+ RuleArn: string | undefined;
635
+ }
636
+ export interface DeleteRuleOutput {}
637
+ export interface DeleteTargetGroupInput {
638
+ TargetGroupArn: string | undefined;
639
+ }
640
+ export interface DeleteTargetGroupOutput {}
641
+ export interface TargetDescription {
642
+ Id: string | undefined;
643
+ Port?: number;
644
+ AvailabilityZone?: string;
645
+ }
646
+ export interface DeregisterTargetsInput {
647
+ TargetGroupArn: string | undefined;
648
+ Targets: TargetDescription[] | undefined;
649
+ }
650
+ export interface DeregisterTargetsOutput {}
651
+ export declare class InvalidTargetException extends __BaseException {
652
+ readonly name: "InvalidTargetException";
653
+ readonly $fault: "client";
654
+ Message?: string;
655
+ constructor(
656
+ opts: __ExceptionOptionType<InvalidTargetException, __BaseException>
657
+ );
658
+ }
659
+ export interface DescribeAccountLimitsInput {
660
+ Marker?: string;
661
+ PageSize?: number;
662
+ }
663
+ export interface Limit {
664
+ Name?: string;
665
+ Max?: string;
666
+ }
667
+ export interface DescribeAccountLimitsOutput {
668
+ Limits?: Limit[];
669
+ NextMarker?: string;
670
+ }
671
+ export interface DescribeListenerCertificatesInput {
672
+ ListenerArn: string | undefined;
673
+ Marker?: string;
674
+ PageSize?: number;
675
+ }
676
+ export interface DescribeListenerCertificatesOutput {
677
+ Certificates?: Certificate[];
678
+ NextMarker?: string;
679
+ }
680
+ export interface DescribeListenersInput {
681
+ LoadBalancerArn?: string;
682
+ ListenerArns?: string[];
683
+ Marker?: string;
684
+ PageSize?: number;
685
+ }
686
+ export interface DescribeListenersOutput {
687
+ Listeners?: Listener[];
688
+ NextMarker?: string;
689
+ }
690
+ export interface DescribeLoadBalancerAttributesInput {
691
+ LoadBalancerArn: string | undefined;
692
+ }
693
+ export interface LoadBalancerAttribute {
694
+ Key?: string;
695
+ Value?: string;
696
+ }
697
+ export interface DescribeLoadBalancerAttributesOutput {
698
+ Attributes?: LoadBalancerAttribute[];
699
+ }
700
+ export interface DescribeLoadBalancersInput {
701
+ LoadBalancerArns?: string[];
702
+ Names?: string[];
703
+ Marker?: string;
704
+ PageSize?: number;
705
+ }
706
+ export interface DescribeLoadBalancersOutput {
707
+ LoadBalancers?: LoadBalancer[];
708
+ NextMarker?: string;
709
+ }
710
+ export interface DescribeRulesInput {
711
+ ListenerArn?: string;
712
+ RuleArns?: string[];
713
+ Marker?: string;
714
+ PageSize?: number;
715
+ }
716
+ export interface DescribeRulesOutput {
717
+ Rules?: Rule[];
718
+ NextMarker?: string;
719
+ }
720
+ export interface DescribeSSLPoliciesInput {
721
+ Names?: string[];
722
+ Marker?: string;
723
+ PageSize?: number;
724
+ LoadBalancerType?: LoadBalancerTypeEnum | string;
725
+ }
726
+ export interface SslPolicy {
727
+ SslProtocols?: string[];
728
+ Ciphers?: Cipher[];
729
+ Name?: string;
730
+ SupportedLoadBalancerTypes?: string[];
731
+ }
732
+ export interface DescribeSSLPoliciesOutput {
733
+ SslPolicies?: SslPolicy[];
734
+ NextMarker?: string;
735
+ }
736
+ export interface DescribeTagsInput {
737
+ ResourceArns: string[] | undefined;
738
+ }
739
+ export interface TagDescription {
740
+ ResourceArn?: string;
741
+ Tags?: Tag[];
742
+ }
743
+ export interface DescribeTagsOutput {
744
+ TagDescriptions?: TagDescription[];
745
+ }
746
+ export interface DescribeTargetGroupAttributesInput {
747
+ TargetGroupArn: string | undefined;
748
+ }
749
+ export interface TargetGroupAttribute {
750
+ Key?: string;
751
+ Value?: string;
752
+ }
753
+ export interface DescribeTargetGroupAttributesOutput {
754
+ Attributes?: TargetGroupAttribute[];
755
+ }
756
+ export interface DescribeTargetGroupsInput {
757
+ LoadBalancerArn?: string;
758
+ TargetGroupArns?: string[];
759
+ Names?: string[];
760
+ Marker?: string;
761
+ PageSize?: number;
762
+ }
763
+ export interface DescribeTargetGroupsOutput {
764
+ TargetGroups?: TargetGroup[];
765
+ NextMarker?: string;
766
+ }
767
+ export interface DescribeTargetHealthInput {
768
+ TargetGroupArn: string | undefined;
769
+ Targets?: TargetDescription[];
770
+ }
771
+ export declare enum TargetHealthReasonEnum {
772
+ DEREGISTRATION_IN_PROGRESS = "Target.DeregistrationInProgress",
773
+ FAILED_HEALTH_CHECKS = "Target.FailedHealthChecks",
774
+ HEALTH_CHECK_DISABLED = "Target.HealthCheckDisabled",
775
+ INITIAL_HEALTH_CHECKING = "Elb.InitialHealthChecking",
776
+ INTERNAL_ERROR = "Elb.InternalError",
777
+ INVALID_STATE = "Target.InvalidState",
778
+ IP_UNUSABLE = "Target.IpUnusable",
779
+ NOT_IN_USE = "Target.NotInUse",
780
+ NOT_REGISTERED = "Target.NotRegistered",
781
+ REGISTRATION_IN_PROGRESS = "Elb.RegistrationInProgress",
782
+ RESPONSE_CODE_MISMATCH = "Target.ResponseCodeMismatch",
783
+ TIMEOUT = "Target.Timeout",
784
+ }
785
+ export declare enum TargetHealthStateEnum {
786
+ DRAINING = "draining",
787
+ HEALTHY = "healthy",
788
+ INITIAL = "initial",
789
+ UNAVAILABLE = "unavailable",
790
+ UNHEALTHY = "unhealthy",
791
+ UNUSED = "unused",
792
+ }
793
+ export interface TargetHealth {
794
+ State?: TargetHealthStateEnum | string;
795
+ Reason?: TargetHealthReasonEnum | string;
796
+ Description?: string;
797
+ }
798
+ export interface TargetHealthDescription {
799
+ Target?: TargetDescription;
800
+ HealthCheckPort?: string;
801
+ TargetHealth?: TargetHealth;
802
+ }
803
+ export interface DescribeTargetHealthOutput {
804
+ TargetHealthDescriptions?: TargetHealthDescription[];
805
+ }
806
+ export declare class HealthUnavailableException extends __BaseException {
807
+ readonly name: "HealthUnavailableException";
808
+ readonly $fault: "server";
809
+ Message?: string;
810
+ constructor(
811
+ opts: __ExceptionOptionType<HealthUnavailableException, __BaseException>
812
+ );
813
+ }
814
+ export interface ModifyListenerInput {
815
+ ListenerArn: string | undefined;
816
+ Port?: number;
817
+ Protocol?: ProtocolEnum | string;
818
+ SslPolicy?: string;
819
+ Certificates?: Certificate[];
820
+ DefaultActions?: Action[];
821
+ AlpnPolicy?: string[];
822
+ }
823
+ export interface ModifyListenerOutput {
824
+ Listeners?: Listener[];
825
+ }
826
+ export interface ModifyLoadBalancerAttributesInput {
827
+ LoadBalancerArn: string | undefined;
828
+ Attributes: LoadBalancerAttribute[] | undefined;
829
+ }
830
+ export interface ModifyLoadBalancerAttributesOutput {
831
+ Attributes?: LoadBalancerAttribute[];
832
+ }
833
+ export interface ModifyRuleInput {
834
+ RuleArn: string | undefined;
835
+ Conditions?: RuleCondition[];
836
+ Actions?: Action[];
837
+ }
838
+ export interface ModifyRuleOutput {
839
+ Rules?: Rule[];
840
+ }
841
+ export interface ModifyTargetGroupInput {
842
+ TargetGroupArn: string | undefined;
843
+ HealthCheckProtocol?: ProtocolEnum | string;
844
+ HealthCheckPort?: string;
845
+ HealthCheckPath?: string;
846
+ HealthCheckEnabled?: boolean;
847
+ HealthCheckIntervalSeconds?: number;
848
+ HealthCheckTimeoutSeconds?: number;
849
+ HealthyThresholdCount?: number;
850
+ UnhealthyThresholdCount?: number;
851
+ Matcher?: Matcher;
852
+ }
853
+ export interface ModifyTargetGroupOutput {
854
+ TargetGroups?: TargetGroup[];
855
+ }
856
+ export interface ModifyTargetGroupAttributesInput {
857
+ TargetGroupArn: string | undefined;
858
+ Attributes: TargetGroupAttribute[] | undefined;
859
+ }
860
+ export interface ModifyTargetGroupAttributesOutput {
861
+ Attributes?: TargetGroupAttribute[];
862
+ }
863
+ export interface RegisterTargetsInput {
864
+ TargetGroupArn: string | undefined;
865
+ Targets: TargetDescription[] | undefined;
866
+ }
867
+ export interface RegisterTargetsOutput {}
868
+ export interface RemoveListenerCertificatesInput {
869
+ ListenerArn: string | undefined;
870
+ Certificates: Certificate[] | undefined;
871
+ }
872
+ export interface RemoveListenerCertificatesOutput {}
873
+ export interface RemoveTagsInput {
874
+ ResourceArns: string[] | undefined;
875
+ TagKeys: string[] | undefined;
876
+ }
877
+ export interface RemoveTagsOutput {}
878
+ export interface SetIpAddressTypeInput {
879
+ LoadBalancerArn: string | undefined;
880
+ IpAddressType: IpAddressType | string | undefined;
881
+ }
882
+ export interface SetIpAddressTypeOutput {
883
+ IpAddressType?: IpAddressType | string;
884
+ }
885
+ export interface RulePriorityPair {
886
+ RuleArn?: string;
887
+ Priority?: number;
888
+ }
889
+ export interface SetRulePrioritiesInput {
890
+ RulePriorities: RulePriorityPair[] | undefined;
891
+ }
892
+ export interface SetRulePrioritiesOutput {
893
+ Rules?: Rule[];
894
+ }
895
+ export interface SetSecurityGroupsInput {
896
+ LoadBalancerArn: string | undefined;
897
+ SecurityGroups: string[] | undefined;
898
+ }
899
+ export interface SetSecurityGroupsOutput {
900
+ SecurityGroupIds?: string[];
901
+ }
902
+ export interface SetSubnetsInput {
903
+ LoadBalancerArn: string | undefined;
904
+ Subnets?: string[];
905
+ SubnetMappings?: SubnetMapping[];
906
+ IpAddressType?: IpAddressType | string;
907
+ }
908
+ export interface SetSubnetsOutput {
909
+ AvailabilityZones?: AvailabilityZone[];
910
+ IpAddressType?: IpAddressType | string;
911
+ }
912
+ export declare const AuthenticateCognitoActionConfigFilterSensitiveLog: (
913
+ obj: AuthenticateCognitoActionConfig
914
+ ) => any;
915
+ export declare const AuthenticateOidcActionConfigFilterSensitiveLog: (
916
+ obj: AuthenticateOidcActionConfig
917
+ ) => any;
918
+ export declare const FixedResponseActionConfigFilterSensitiveLog: (
919
+ obj: FixedResponseActionConfig
920
+ ) => any;
921
+ export declare const TargetGroupTupleFilterSensitiveLog: (
922
+ obj: TargetGroupTuple
923
+ ) => any;
924
+ export declare const TargetGroupStickinessConfigFilterSensitiveLog: (
925
+ obj: TargetGroupStickinessConfig
926
+ ) => any;
927
+ export declare const ForwardActionConfigFilterSensitiveLog: (
928
+ obj: ForwardActionConfig
929
+ ) => any;
930
+ export declare const RedirectActionConfigFilterSensitiveLog: (
931
+ obj: RedirectActionConfig
932
+ ) => any;
933
+ export declare const ActionFilterSensitiveLog: (obj: Action) => any;
934
+ export declare const CertificateFilterSensitiveLog: (obj: Certificate) => any;
935
+ export declare const AddListenerCertificatesInputFilterSensitiveLog: (
936
+ obj: AddListenerCertificatesInput
937
+ ) => any;
938
+ export declare const AddListenerCertificatesOutputFilterSensitiveLog: (
939
+ obj: AddListenerCertificatesOutput
940
+ ) => any;
941
+ export declare const TagFilterSensitiveLog: (obj: Tag) => any;
942
+ export declare const AddTagsInputFilterSensitiveLog: (obj: AddTagsInput) => any;
943
+ export declare const AddTagsOutputFilterSensitiveLog: (
944
+ obj: AddTagsOutput
945
+ ) => any;
946
+ export declare const LoadBalancerAddressFilterSensitiveLog: (
947
+ obj: LoadBalancerAddress
948
+ ) => any;
949
+ export declare const AvailabilityZoneFilterSensitiveLog: (
950
+ obj: AvailabilityZone
951
+ ) => any;
952
+ export declare const CipherFilterSensitiveLog: (obj: Cipher) => any;
953
+ export declare const CreateListenerInputFilterSensitiveLog: (
954
+ obj: CreateListenerInput
955
+ ) => any;
956
+ export declare const ListenerFilterSensitiveLog: (obj: Listener) => any;
957
+ export declare const CreateListenerOutputFilterSensitiveLog: (
958
+ obj: CreateListenerOutput
959
+ ) => any;
960
+ export declare const SubnetMappingFilterSensitiveLog: (
961
+ obj: SubnetMapping
962
+ ) => any;
963
+ export declare const CreateLoadBalancerInputFilterSensitiveLog: (
964
+ obj: CreateLoadBalancerInput
965
+ ) => any;
966
+ export declare const LoadBalancerStateFilterSensitiveLog: (
967
+ obj: LoadBalancerState
968
+ ) => any;
969
+ export declare const LoadBalancerFilterSensitiveLog: (obj: LoadBalancer) => any;
970
+ export declare const CreateLoadBalancerOutputFilterSensitiveLog: (
971
+ obj: CreateLoadBalancerOutput
972
+ ) => any;
973
+ export declare const HostHeaderConditionConfigFilterSensitiveLog: (
974
+ obj: HostHeaderConditionConfig
975
+ ) => any;
976
+ export declare const HttpHeaderConditionConfigFilterSensitiveLog: (
977
+ obj: HttpHeaderConditionConfig
978
+ ) => any;
979
+ export declare const HttpRequestMethodConditionConfigFilterSensitiveLog: (
980
+ obj: HttpRequestMethodConditionConfig
981
+ ) => any;
982
+ export declare const PathPatternConditionConfigFilterSensitiveLog: (
983
+ obj: PathPatternConditionConfig
984
+ ) => any;
985
+ export declare const QueryStringKeyValuePairFilterSensitiveLog: (
986
+ obj: QueryStringKeyValuePair
987
+ ) => any;
988
+ export declare const QueryStringConditionConfigFilterSensitiveLog: (
989
+ obj: QueryStringConditionConfig
990
+ ) => any;
991
+ export declare const SourceIpConditionConfigFilterSensitiveLog: (
992
+ obj: SourceIpConditionConfig
993
+ ) => any;
994
+ export declare const RuleConditionFilterSensitiveLog: (
995
+ obj: RuleCondition
996
+ ) => any;
997
+ export declare const CreateRuleInputFilterSensitiveLog: (
998
+ obj: CreateRuleInput
999
+ ) => any;
1000
+ export declare const RuleFilterSensitiveLog: (obj: Rule) => any;
1001
+ export declare const CreateRuleOutputFilterSensitiveLog: (
1002
+ obj: CreateRuleOutput
1003
+ ) => any;
1004
+ export declare const MatcherFilterSensitiveLog: (obj: Matcher) => any;
1005
+ export declare const CreateTargetGroupInputFilterSensitiveLog: (
1006
+ obj: CreateTargetGroupInput
1007
+ ) => any;
1008
+ export declare const TargetGroupFilterSensitiveLog: (obj: TargetGroup) => any;
1009
+ export declare const CreateTargetGroupOutputFilterSensitiveLog: (
1010
+ obj: CreateTargetGroupOutput
1011
+ ) => any;
1012
+ export declare const DeleteListenerInputFilterSensitiveLog: (
1013
+ obj: DeleteListenerInput
1014
+ ) => any;
1015
+ export declare const DeleteListenerOutputFilterSensitiveLog: (
1016
+ obj: DeleteListenerOutput
1017
+ ) => any;
1018
+ export declare const DeleteLoadBalancerInputFilterSensitiveLog: (
1019
+ obj: DeleteLoadBalancerInput
1020
+ ) => any;
1021
+ export declare const DeleteLoadBalancerOutputFilterSensitiveLog: (
1022
+ obj: DeleteLoadBalancerOutput
1023
+ ) => any;
1024
+ export declare const DeleteRuleInputFilterSensitiveLog: (
1025
+ obj: DeleteRuleInput
1026
+ ) => any;
1027
+ export declare const DeleteRuleOutputFilterSensitiveLog: (
1028
+ obj: DeleteRuleOutput
1029
+ ) => any;
1030
+ export declare const DeleteTargetGroupInputFilterSensitiveLog: (
1031
+ obj: DeleteTargetGroupInput
1032
+ ) => any;
1033
+ export declare const DeleteTargetGroupOutputFilterSensitiveLog: (
1034
+ obj: DeleteTargetGroupOutput
1035
+ ) => any;
1036
+ export declare const TargetDescriptionFilterSensitiveLog: (
1037
+ obj: TargetDescription
1038
+ ) => any;
1039
+ export declare const DeregisterTargetsInputFilterSensitiveLog: (
1040
+ obj: DeregisterTargetsInput
1041
+ ) => any;
1042
+ export declare const DeregisterTargetsOutputFilterSensitiveLog: (
1043
+ obj: DeregisterTargetsOutput
1044
+ ) => any;
1045
+ export declare const DescribeAccountLimitsInputFilterSensitiveLog: (
1046
+ obj: DescribeAccountLimitsInput
1047
+ ) => any;
1048
+ export declare const LimitFilterSensitiveLog: (obj: Limit) => any;
1049
+ export declare const DescribeAccountLimitsOutputFilterSensitiveLog: (
1050
+ obj: DescribeAccountLimitsOutput
1051
+ ) => any;
1052
+ export declare const DescribeListenerCertificatesInputFilterSensitiveLog: (
1053
+ obj: DescribeListenerCertificatesInput
1054
+ ) => any;
1055
+ export declare const DescribeListenerCertificatesOutputFilterSensitiveLog: (
1056
+ obj: DescribeListenerCertificatesOutput
1057
+ ) => any;
1058
+ export declare const DescribeListenersInputFilterSensitiveLog: (
1059
+ obj: DescribeListenersInput
1060
+ ) => any;
1061
+ export declare const DescribeListenersOutputFilterSensitiveLog: (
1062
+ obj: DescribeListenersOutput
1063
+ ) => any;
1064
+ export declare const DescribeLoadBalancerAttributesInputFilterSensitiveLog: (
1065
+ obj: DescribeLoadBalancerAttributesInput
1066
+ ) => any;
1067
+ export declare const LoadBalancerAttributeFilterSensitiveLog: (
1068
+ obj: LoadBalancerAttribute
1069
+ ) => any;
1070
+ export declare const DescribeLoadBalancerAttributesOutputFilterSensitiveLog: (
1071
+ obj: DescribeLoadBalancerAttributesOutput
1072
+ ) => any;
1073
+ export declare const DescribeLoadBalancersInputFilterSensitiveLog: (
1074
+ obj: DescribeLoadBalancersInput
1075
+ ) => any;
1076
+ export declare const DescribeLoadBalancersOutputFilterSensitiveLog: (
1077
+ obj: DescribeLoadBalancersOutput
1078
+ ) => any;
1079
+ export declare const DescribeRulesInputFilterSensitiveLog: (
1080
+ obj: DescribeRulesInput
1081
+ ) => any;
1082
+ export declare const DescribeRulesOutputFilterSensitiveLog: (
1083
+ obj: DescribeRulesOutput
1084
+ ) => any;
1085
+ export declare const DescribeSSLPoliciesInputFilterSensitiveLog: (
1086
+ obj: DescribeSSLPoliciesInput
1087
+ ) => any;
1088
+ export declare const SslPolicyFilterSensitiveLog: (obj: SslPolicy) => any;
1089
+ export declare const DescribeSSLPoliciesOutputFilterSensitiveLog: (
1090
+ obj: DescribeSSLPoliciesOutput
1091
+ ) => any;
1092
+ export declare const DescribeTagsInputFilterSensitiveLog: (
1093
+ obj: DescribeTagsInput
1094
+ ) => any;
1095
+ export declare const TagDescriptionFilterSensitiveLog: (
1096
+ obj: TagDescription
1097
+ ) => any;
1098
+ export declare const DescribeTagsOutputFilterSensitiveLog: (
1099
+ obj: DescribeTagsOutput
1100
+ ) => any;
1101
+ export declare const DescribeTargetGroupAttributesInputFilterSensitiveLog: (
1102
+ obj: DescribeTargetGroupAttributesInput
1103
+ ) => any;
1104
+ export declare const TargetGroupAttributeFilterSensitiveLog: (
1105
+ obj: TargetGroupAttribute
1106
+ ) => any;
1107
+ export declare const DescribeTargetGroupAttributesOutputFilterSensitiveLog: (
1108
+ obj: DescribeTargetGroupAttributesOutput
1109
+ ) => any;
1110
+ export declare const DescribeTargetGroupsInputFilterSensitiveLog: (
1111
+ obj: DescribeTargetGroupsInput
1112
+ ) => any;
1113
+ export declare const DescribeTargetGroupsOutputFilterSensitiveLog: (
1114
+ obj: DescribeTargetGroupsOutput
1115
+ ) => any;
1116
+ export declare const DescribeTargetHealthInputFilterSensitiveLog: (
1117
+ obj: DescribeTargetHealthInput
1118
+ ) => any;
1119
+ export declare const TargetHealthFilterSensitiveLog: (obj: TargetHealth) => any;
1120
+ export declare const TargetHealthDescriptionFilterSensitiveLog: (
1121
+ obj: TargetHealthDescription
1122
+ ) => any;
1123
+ export declare const DescribeTargetHealthOutputFilterSensitiveLog: (
1124
+ obj: DescribeTargetHealthOutput
1125
+ ) => any;
1126
+ export declare const ModifyListenerInputFilterSensitiveLog: (
1127
+ obj: ModifyListenerInput
1128
+ ) => any;
1129
+ export declare const ModifyListenerOutputFilterSensitiveLog: (
1130
+ obj: ModifyListenerOutput
1131
+ ) => any;
1132
+ export declare const ModifyLoadBalancerAttributesInputFilterSensitiveLog: (
1133
+ obj: ModifyLoadBalancerAttributesInput
1134
+ ) => any;
1135
+ export declare const ModifyLoadBalancerAttributesOutputFilterSensitiveLog: (
1136
+ obj: ModifyLoadBalancerAttributesOutput
1137
+ ) => any;
1138
+ export declare const ModifyRuleInputFilterSensitiveLog: (
1139
+ obj: ModifyRuleInput
1140
+ ) => any;
1141
+ export declare const ModifyRuleOutputFilterSensitiveLog: (
1142
+ obj: ModifyRuleOutput
1143
+ ) => any;
1144
+ export declare const ModifyTargetGroupInputFilterSensitiveLog: (
1145
+ obj: ModifyTargetGroupInput
1146
+ ) => any;
1147
+ export declare const ModifyTargetGroupOutputFilterSensitiveLog: (
1148
+ obj: ModifyTargetGroupOutput
1149
+ ) => any;
1150
+ export declare const ModifyTargetGroupAttributesInputFilterSensitiveLog: (
1151
+ obj: ModifyTargetGroupAttributesInput
1152
+ ) => any;
1153
+ export declare const ModifyTargetGroupAttributesOutputFilterSensitiveLog: (
1154
+ obj: ModifyTargetGroupAttributesOutput
1155
+ ) => any;
1156
+ export declare const RegisterTargetsInputFilterSensitiveLog: (
1157
+ obj: RegisterTargetsInput
1158
+ ) => any;
1159
+ export declare const RegisterTargetsOutputFilterSensitiveLog: (
1160
+ obj: RegisterTargetsOutput
1161
+ ) => any;
1162
+ export declare const RemoveListenerCertificatesInputFilterSensitiveLog: (
1163
+ obj: RemoveListenerCertificatesInput
1164
+ ) => any;
1165
+ export declare const RemoveListenerCertificatesOutputFilterSensitiveLog: (
1166
+ obj: RemoveListenerCertificatesOutput
1167
+ ) => any;
1168
+ export declare const RemoveTagsInputFilterSensitiveLog: (
1169
+ obj: RemoveTagsInput
1170
+ ) => any;
1171
+ export declare const RemoveTagsOutputFilterSensitiveLog: (
1172
+ obj: RemoveTagsOutput
1173
+ ) => any;
1174
+ export declare const SetIpAddressTypeInputFilterSensitiveLog: (
1175
+ obj: SetIpAddressTypeInput
1176
+ ) => any;
1177
+ export declare const SetIpAddressTypeOutputFilterSensitiveLog: (
1178
+ obj: SetIpAddressTypeOutput
1179
+ ) => any;
1180
+ export declare const RulePriorityPairFilterSensitiveLog: (
1181
+ obj: RulePriorityPair
1182
+ ) => any;
1183
+ export declare const SetRulePrioritiesInputFilterSensitiveLog: (
1184
+ obj: SetRulePrioritiesInput
1185
+ ) => any;
1186
+ export declare const SetRulePrioritiesOutputFilterSensitiveLog: (
1187
+ obj: SetRulePrioritiesOutput
1188
+ ) => any;
1189
+ export declare const SetSecurityGroupsInputFilterSensitiveLog: (
1190
+ obj: SetSecurityGroupsInput
1191
+ ) => any;
1192
+ export declare const SetSecurityGroupsOutputFilterSensitiveLog: (
1193
+ obj: SetSecurityGroupsOutput
1194
+ ) => any;
1195
+ export declare const SetSubnetsInputFilterSensitiveLog: (
1196
+ obj: SetSubnetsInput
1197
+ ) => any;
1198
+ export declare const SetSubnetsOutputFilterSensitiveLog: (
1199
+ obj: SetSubnetsOutput
1200
+ ) => any;