UNPKG

37.5 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class GlobalAccelerator extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: GlobalAccelerator.Types.ClientConfiguration)
13 config: Config & GlobalAccelerator.Types.ClientConfiguration;
14 /**
15 * Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers. To see an AWS CLI example of creating an accelerator, scroll down to Example.
16 */
17 createAccelerator(params: GlobalAccelerator.Types.CreateAcceleratorRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.CreateAcceleratorResponse) => void): Request<GlobalAccelerator.Types.CreateAcceleratorResponse, AWSError>;
18 /**
19 * Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers. To see an AWS CLI example of creating an accelerator, scroll down to Example.
20 */
21 createAccelerator(callback?: (err: AWSError, data: GlobalAccelerator.Types.CreateAcceleratorResponse) => void): Request<GlobalAccelerator.Types.CreateAcceleratorResponse, AWSError>;
22 /**
23 * Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.
24 */
25 createEndpointGroup(params: GlobalAccelerator.Types.CreateEndpointGroupRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.CreateEndpointGroupResponse) => void): Request<GlobalAccelerator.Types.CreateEndpointGroupResponse, AWSError>;
26 /**
27 * Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.
28 */
29 createEndpointGroup(callback?: (err: AWSError, data: GlobalAccelerator.Types.CreateEndpointGroupResponse) => void): Request<GlobalAccelerator.Types.CreateEndpointGroupResponse, AWSError>;
30 /**
31 * Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify. To see an AWS CLI example of creating a listener, scroll down to Example.
32 */
33 createListener(params: GlobalAccelerator.Types.CreateListenerRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.CreateListenerResponse) => void): Request<GlobalAccelerator.Types.CreateListenerResponse, AWSError>;
34 /**
35 * Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify. To see an AWS CLI example of creating a listener, scroll down to Example.
36 */
37 createListener(callback?: (err: AWSError, data: GlobalAccelerator.Types.CreateListenerResponse) => void): Request<GlobalAccelerator.Types.CreateListenerResponse, AWSError>;
38 /**
39 * Delete an accelerator. Note: before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups).
40 */
41 deleteAccelerator(params: GlobalAccelerator.Types.DeleteAcceleratorRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
42 /**
43 * Delete an accelerator. Note: before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups).
44 */
45 deleteAccelerator(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
46 /**
47 * Delete an endpoint group from a listener.
48 */
49 deleteEndpointGroup(params: GlobalAccelerator.Types.DeleteEndpointGroupRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
50 /**
51 * Delete an endpoint group from a listener.
52 */
53 deleteEndpointGroup(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
54 /**
55 * Delete a listener from an accelerator.
56 */
57 deleteListener(params: GlobalAccelerator.Types.DeleteListenerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
58 /**
59 * Delete a listener from an accelerator.
60 */
61 deleteListener(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
62 /**
63 * Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example.
64 */
65 describeAccelerator(params: GlobalAccelerator.Types.DescribeAcceleratorRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeAcceleratorResponse) => void): Request<GlobalAccelerator.Types.DescribeAcceleratorResponse, AWSError>;
66 /**
67 * Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example.
68 */
69 describeAccelerator(callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeAcceleratorResponse) => void): Request<GlobalAccelerator.Types.DescribeAcceleratorResponse, AWSError>;
70 /**
71 * Describe the attributes of an accelerator.
72 */
73 describeAcceleratorAttributes(params: GlobalAccelerator.Types.DescribeAcceleratorAttributesRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeAcceleratorAttributesResponse) => void): Request<GlobalAccelerator.Types.DescribeAcceleratorAttributesResponse, AWSError>;
74 /**
75 * Describe the attributes of an accelerator.
76 */
77 describeAcceleratorAttributes(callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeAcceleratorAttributesResponse) => void): Request<GlobalAccelerator.Types.DescribeAcceleratorAttributesResponse, AWSError>;
78 /**
79 * Describe an endpoint group.
80 */
81 describeEndpointGroup(params: GlobalAccelerator.Types.DescribeEndpointGroupRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeEndpointGroupResponse) => void): Request<GlobalAccelerator.Types.DescribeEndpointGroupResponse, AWSError>;
82 /**
83 * Describe an endpoint group.
84 */
85 describeEndpointGroup(callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeEndpointGroupResponse) => void): Request<GlobalAccelerator.Types.DescribeEndpointGroupResponse, AWSError>;
86 /**
87 * Describe a listener.
88 */
89 describeListener(params: GlobalAccelerator.Types.DescribeListenerRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeListenerResponse) => void): Request<GlobalAccelerator.Types.DescribeListenerResponse, AWSError>;
90 /**
91 * Describe a listener.
92 */
93 describeListener(callback?: (err: AWSError, data: GlobalAccelerator.Types.DescribeListenerResponse) => void): Request<GlobalAccelerator.Types.DescribeListenerResponse, AWSError>;
94 /**
95 * List the accelerators for an AWS account.
96 */
97 listAccelerators(params: GlobalAccelerator.Types.ListAcceleratorsRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.ListAcceleratorsResponse) => void): Request<GlobalAccelerator.Types.ListAcceleratorsResponse, AWSError>;
98 /**
99 * List the accelerators for an AWS account.
100 */
101 listAccelerators(callback?: (err: AWSError, data: GlobalAccelerator.Types.ListAcceleratorsResponse) => void): Request<GlobalAccelerator.Types.ListAcceleratorsResponse, AWSError>;
102 /**
103 * List the endpoint groups that are associated with a listener.
104 */
105 listEndpointGroups(params: GlobalAccelerator.Types.ListEndpointGroupsRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.ListEndpointGroupsResponse) => void): Request<GlobalAccelerator.Types.ListEndpointGroupsResponse, AWSError>;
106 /**
107 * List the endpoint groups that are associated with a listener.
108 */
109 listEndpointGroups(callback?: (err: AWSError, data: GlobalAccelerator.Types.ListEndpointGroupsResponse) => void): Request<GlobalAccelerator.Types.ListEndpointGroupsResponse, AWSError>;
110 /**
111 * List the listeners for an accelerator.
112 */
113 listListeners(params: GlobalAccelerator.Types.ListListenersRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.ListListenersResponse) => void): Request<GlobalAccelerator.Types.ListListenersResponse, AWSError>;
114 /**
115 * List the listeners for an accelerator.
116 */
117 listListeners(callback?: (err: AWSError, data: GlobalAccelerator.Types.ListListenersResponse) => void): Request<GlobalAccelerator.Types.ListListenersResponse, AWSError>;
118 /**
119 * Update an accelerator.
120 */
121 updateAccelerator(params: GlobalAccelerator.Types.UpdateAcceleratorRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateAcceleratorResponse) => void): Request<GlobalAccelerator.Types.UpdateAcceleratorResponse, AWSError>;
122 /**
123 * Update an accelerator.
124 */
125 updateAccelerator(callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateAcceleratorResponse) => void): Request<GlobalAccelerator.Types.UpdateAcceleratorResponse, AWSError>;
126 /**
127 * Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow logs, scroll down to Example.
128 */
129 updateAcceleratorAttributes(params: GlobalAccelerator.Types.UpdateAcceleratorAttributesRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateAcceleratorAttributesResponse) => void): Request<GlobalAccelerator.Types.UpdateAcceleratorAttributesResponse, AWSError>;
130 /**
131 * Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow logs, scroll down to Example.
132 */
133 updateAcceleratorAttributes(callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateAcceleratorAttributesResponse) => void): Request<GlobalAccelerator.Types.UpdateAcceleratorAttributesResponse, AWSError>;
134 /**
135 * Update an endpoint group. To see an AWS CLI example of updating an endpoint group, scroll down to Example.
136 */
137 updateEndpointGroup(params: GlobalAccelerator.Types.UpdateEndpointGroupRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateEndpointGroupResponse) => void): Request<GlobalAccelerator.Types.UpdateEndpointGroupResponse, AWSError>;
138 /**
139 * Update an endpoint group. To see an AWS CLI example of updating an endpoint group, scroll down to Example.
140 */
141 updateEndpointGroup(callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateEndpointGroupResponse) => void): Request<GlobalAccelerator.Types.UpdateEndpointGroupResponse, AWSError>;
142 /**
143 * Update a listener.
144 */
145 updateListener(params: GlobalAccelerator.Types.UpdateListenerRequest, callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateListenerResponse) => void): Request<GlobalAccelerator.Types.UpdateListenerResponse, AWSError>;
146 /**
147 * Update a listener.
148 */
149 updateListener(callback?: (err: AWSError, data: GlobalAccelerator.Types.UpdateListenerResponse) => void): Request<GlobalAccelerator.Types.UpdateListenerResponse, AWSError>;
150}
151declare namespace GlobalAccelerator {
152 export interface Accelerator {
153 /**
154 * The Amazon Resource Name (ARN) of the accelerator.
155 */
156 AcceleratorArn?: GenericString;
157 /**
158 * The name of the accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.
159 */
160 Name?: GenericString;
161 /**
162 * The value for the address type must be IPv4.
163 */
164 IpAddressType?: IpAddressType;
165 /**
166 * Indicates whether theaccelerator is enabled. The value is true or false. The default value is true. If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.
167 */
168 Enabled?: GenericBoolean;
169 /**
170 * IP address set associated with the accelerator.
171 */
172 IpSets?: IpSets;
173 /**
174 * Describes the deployment status of the accelerator.
175 */
176 Status?: AcceleratorStatus;
177 /**
178 * The date and time that the accelerator was created.
179 */
180 CreatedTime?: Timestamp;
181 /**
182 * The date and time that the accelerator was last modified.
183 */
184 LastModifiedTime?: Timestamp;
185 }
186 export interface AcceleratorAttributes {
187 /**
188 * Indicates whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified. For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.
189 */
190 FlowLogsEnabled?: GenericBoolean;
191 /**
192 * The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.
193 */
194 FlowLogsS3Bucket?: GenericString;
195 /**
196 * The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. If you don’t specify a prefix, the flow logs are stored in the root of the bucket.
197 */
198 FlowLogsS3Prefix?: GenericString;
199 }
200 export type AcceleratorStatus = "DEPLOYED"|"IN_PROGRESS"|string;
201 export type Accelerators = Accelerator[];
202 export type ClientAffinity = "NONE"|"SOURCE_IP"|string;
203 export interface CreateAcceleratorRequest {
204 /**
205 * The name of an accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.
206 */
207 Name: GenericString;
208 /**
209 * The value for the address type must be IPv4.
210 */
211 IpAddressType?: IpAddressType;
212 /**
213 * Indicates whether an accelerator is enabled. The value is true or false. The default value is true. If the value is set to true, an accelerator cannot be deleted. If set to false, the accelerator can be deleted.
214 */
215 Enabled?: GenericBoolean;
216 /**
217 * A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.
218 */
219 IdempotencyToken: IdempotencyToken;
220 }
221 export interface CreateAcceleratorResponse {
222 /**
223 * The accelerator that is created by specifying a listener and the supported IP address types.
224 */
225 Accelerator?: Accelerator;
226 }
227 export interface CreateEndpointGroupRequest {
228 /**
229 * The Amazon Resource Name (ARN) of the listener.
230 */
231 ListenerArn: GenericString;
232 /**
233 * The name of the AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.
234 */
235 EndpointGroupRegion: GenericString;
236 /**
237 * The list of endpoint objects.
238 */
239 EndpointConfigurations?: EndpointConfigurations;
240 /**
241 * The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing. The default value is 100.
242 */
243 TrafficDialPercentage?: TrafficDialPercentage;
244 /**
245 * The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If listener port is a list of ports, Global Accelerator uses the first port in the list.
246 */
247 HealthCheckPort?: HealthCheckPort;
248 /**
249 * The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.
250 */
251 HealthCheckProtocol?: HealthCheckProtocol;
252 /**
253 * If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).
254 */
255 HealthCheckPath?: GenericString;
256 /**
257 * The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.
258 */
259 HealthCheckIntervalSeconds?: HealthCheckIntervalSeconds;
260 /**
261 * The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.
262 */
263 ThresholdCount?: ThresholdCount;
264 /**
265 * A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
266 */
267 IdempotencyToken: IdempotencyToken;
268 }
269 export interface CreateEndpointGroupResponse {
270 /**
271 * The information about the endpoint group that was created.
272 */
273 EndpointGroup?: EndpointGroup;
274 }
275 export interface CreateListenerRequest {
276 /**
277 * The Amazon Resource Name (ARN) of your accelerator.
278 */
279 AcceleratorArn: GenericString;
280 /**
281 * The list of port ranges to support for connections from clients to your accelerator.
282 */
283 PortRanges: PortRanges;
284 /**
285 * The protocol for connections from clients to your accelerator.
286 */
287 Protocol: Protocol;
288 /**
289 * Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint. AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes. If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value. The default value is NONE.
290 */
291 ClientAffinity?: ClientAffinity;
292 /**
293 * A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
294 */
295 IdempotencyToken: IdempotencyToken;
296 }
297 export interface CreateListenerResponse {
298 /**
299 * The listener that you've created.
300 */
301 Listener?: Listener;
302 }
303 export interface DeleteAcceleratorRequest {
304 /**
305 * The Amazon Resource Name (ARN) of an accelerator.
306 */
307 AcceleratorArn: GenericString;
308 }
309 export interface DeleteEndpointGroupRequest {
310 /**
311 * The Amazon Resource Name (ARN) of the endpoint group to delete.
312 */
313 EndpointGroupArn: GenericString;
314 }
315 export interface DeleteListenerRequest {
316 /**
317 * The Amazon Resource Name (ARN) of the listener.
318 */
319 ListenerArn: GenericString;
320 }
321 export interface DescribeAcceleratorAttributesRequest {
322 /**
323 * The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe. Value is required.
324 */
325 AcceleratorArn?: GenericString;
326 }
327 export interface DescribeAcceleratorAttributesResponse {
328 /**
329 * The attributes of the accelerator.
330 */
331 AcceleratorAttributes?: AcceleratorAttributes;
332 }
333 export interface DescribeAcceleratorRequest {
334 /**
335 * The Amazon Resource Name (ARN) of the accelerator to describe.
336 */
337 AcceleratorArn: GenericString;
338 }
339 export interface DescribeAcceleratorResponse {
340 /**
341 * The description of the accelerator.
342 */
343 Accelerator?: Accelerator;
344 }
345 export interface DescribeEndpointGroupRequest {
346 /**
347 * The Amazon Resource Name (ARN) of the endpoint group to describe.
348 */
349 EndpointGroupArn: GenericString;
350 }
351 export interface DescribeEndpointGroupResponse {
352 /**
353 * The description of an endpoint group.
354 */
355 EndpointGroup?: EndpointGroup;
356 }
357 export interface DescribeListenerRequest {
358 /**
359 * The Amazon Resource Name (ARN) of the listener to describe.
360 */
361 ListenerArn: GenericString;
362 }
363 export interface DescribeListenerResponse {
364 /**
365 * The description of a listener.
366 */
367 Listener?: Listener;
368 }
369 export interface EndpointConfiguration {
370 /**
371 * An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID.
372 */
373 EndpointId?: GenericString;
374 /**
375 * The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.
376 */
377 Weight?: EndpointWeight;
378 }
379 export type EndpointConfigurations = EndpointConfiguration[];
380 export interface EndpointDescription {
381 /**
382 * An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID.
383 */
384 EndpointId?: GenericString;
385 /**
386 * The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.
387 */
388 Weight?: EndpointWeight;
389 /**
390 * The health status of the endpoint.
391 */
392 HealthState?: HealthState;
393 /**
394 * The reason code associated with why the endpoint is not healthy. If the endpoint state is healthy, a reason code is not provided. If the endpoint state is unhealthy, the reason code can be one of the following values: Timeout: The health check requests to the endpoint are timing out before returning a status. Failed: The health check failed, for example because the endpoint response was invalid (malformed). If the endpoint state is initial, the reason code can be one of the following values: ProvisioningInProgress: The endpoint is in the process of being provisioned. InitialHealthChecking: Global Accelerator is still setting up the minimum number of health checks for the endpoint that are required to determine its health status.
395 */
396 HealthReason?: GenericString;
397 }
398 export type EndpointDescriptions = EndpointDescription[];
399 export interface EndpointGroup {
400 /**
401 * The Amazon Resource Name (ARN) of the endpoint group.
402 */
403 EndpointGroupArn?: GenericString;
404 /**
405 * The AWS Region that this endpoint group belongs.
406 */
407 EndpointGroupRegion?: GenericString;
408 /**
409 * The list of endpoint objects.
410 */
411 EndpointDescriptions?: EndpointDescriptions;
412 /**
413 * The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing. The default value is 100.
414 */
415 TrafficDialPercentage?: TrafficDialPercentage;
416 /**
417 * The port that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default port is the port for the listener that this endpoint group is associated with. If the listener port is a list, Global Accelerator uses the first specified port in the list of ports.
418 */
419 HealthCheckPort?: HealthCheckPort;
420 /**
421 * The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default value is TCP.
422 */
423 HealthCheckProtocol?: HealthCheckProtocol;
424 /**
425 * If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the endpoints for health checks. The default is slash (/).
426 */
427 HealthCheckPath?: GenericString;
428 /**
429 * The time—10 seconds or 30 seconds—between health checks for each endpoint. The default value is 30.
430 */
431 HealthCheckIntervalSeconds?: HealthCheckIntervalSeconds;
432 /**
433 * The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.
434 */
435 ThresholdCount?: ThresholdCount;
436 }
437 export type EndpointGroups = EndpointGroup[];
438 export type EndpointWeight = number;
439 export type GenericBoolean = boolean;
440 export type GenericString = string;
441 export type HealthCheckIntervalSeconds = number;
442 export type HealthCheckPort = number;
443 export type HealthCheckProtocol = "TCP"|"HTTP"|"HTTPS"|string;
444 export type HealthState = "INITIAL"|"HEALTHY"|"UNHEALTHY"|string;
445 export type IdempotencyToken = string;
446 export type IpAddress = string;
447 export type IpAddressType = "IPV4"|string;
448 export type IpAddresses = IpAddress[];
449 export interface IpSet {
450 /**
451 * The types of IP addresses included in this IP set.
452 */
453 IpFamily?: GenericString;
454 /**
455 * The array of IP addresses in the IP address set. An IP address set can have a maximum of two IP addresses.
456 */
457 IpAddresses?: IpAddresses;
458 }
459 export type IpSets = IpSet[];
460 export interface ListAcceleratorsRequest {
461 /**
462 * The number of Global Accelerator objects that you want to return with this call. The default value is 10.
463 */
464 MaxResults?: MaxResults;
465 /**
466 * The token for the next set of results. You receive this token from a previous call.
467 */
468 NextToken?: GenericString;
469 }
470 export interface ListAcceleratorsResponse {
471 /**
472 * The list of accelerators for a customer account.
473 */
474 Accelerators?: Accelerators;
475 /**
476 * The token for the next set of results. You receive this token from a previous call.
477 */
478 NextToken?: GenericString;
479 }
480 export interface ListEndpointGroupsRequest {
481 /**
482 * The Amazon Resource Name (ARN) of the listener.
483 */
484 ListenerArn: GenericString;
485 /**
486 * The number of endpoint group objects that you want to return with this call. The default value is 10.
487 */
488 MaxResults?: MaxResults;
489 /**
490 * The token for the next set of results. You receive this token from a previous call.
491 */
492 NextToken?: GenericString;
493 }
494 export interface ListEndpointGroupsResponse {
495 /**
496 * The list of the endpoint groups associated with a listener.
497 */
498 EndpointGroups?: EndpointGroups;
499 /**
500 * The token for the next set of results. You receive this token from a previous call.
501 */
502 NextToken?: GenericString;
503 }
504 export interface ListListenersRequest {
505 /**
506 * The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects.
507 */
508 AcceleratorArn: GenericString;
509 /**
510 * The number of listener objects that you want to return with this call. The default value is 10.
511 */
512 MaxResults?: MaxResults;
513 /**
514 * The token for the next set of results. You receive this token from a previous call.
515 */
516 NextToken?: GenericString;
517 }
518 export interface ListListenersResponse {
519 /**
520 * The list of listeners for an accelerator.
521 */
522 Listeners?: Listeners;
523 /**
524 * The token for the next set of results. You receive this token from a previous call.
525 */
526 NextToken?: GenericString;
527 }
528 export interface Listener {
529 /**
530 * The Amazon Resource Name (ARN) of the listener.
531 */
532 ListenerArn?: GenericString;
533 /**
534 * The list of port ranges for the connections from clients to the accelerator.
535 */
536 PortRanges?: PortRanges;
537 /**
538 * The protocol for the connections from clients to the accelerator.
539 */
540 Protocol?: Protocol;
541 /**
542 * Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint. AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes. If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value. The default value is NONE.
543 */
544 ClientAffinity?: ClientAffinity;
545 }
546 export type Listeners = Listener[];
547 export type MaxResults = number;
548 export type PortNumber = number;
549 export interface PortRange {
550 /**
551 * The first port in the range of ports, inclusive.
552 */
553 FromPort?: PortNumber;
554 /**
555 * The last port in the range of ports, inclusive.
556 */
557 ToPort?: PortNumber;
558 }
559 export type PortRanges = PortRange[];
560 export type Protocol = "TCP"|"UDP"|string;
561 export type ThresholdCount = number;
562 export type Timestamp = Date;
563 export type TrafficDialPercentage = number;
564 export interface UpdateAcceleratorAttributesRequest {
565 /**
566 * The Amazon Resource Name (ARN) of the accelerator that you want to update. Attribute is required.
567 */
568 AcceleratorArn?: GenericString;
569 /**
570 * Update whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified. For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.
571 */
572 FlowLogsEnabled?: GenericBoolean;
573 /**
574 * The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.
575 */
576 FlowLogsS3Bucket?: GenericString;
577 /**
578 * Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. If you don’t specify a prefix, the flow logs are stored in the root of the bucket.
579 */
580 FlowLogsS3Prefix?: GenericString;
581 }
582 export interface UpdateAcceleratorAttributesResponse {
583 /**
584 * Updated attributes for the accelerator.
585 */
586 AcceleratorAttributes?: AcceleratorAttributes;
587 }
588 export interface UpdateAcceleratorRequest {
589 /**
590 * The Amazon Resource Name (ARN) of the accelerator to update.
591 */
592 AcceleratorArn: GenericString;
593 /**
594 * The name of the accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.
595 */
596 Name?: GenericString;
597 /**
598 * The value for the address type must be IPv4.
599 */
600 IpAddressType?: IpAddressType;
601 /**
602 * Indicates whether an accelerator is enabled. The value is true or false. The default value is true. If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.
603 */
604 Enabled?: GenericBoolean;
605 }
606 export interface UpdateAcceleratorResponse {
607 /**
608 * Information about the updated accelerator.
609 */
610 Accelerator?: Accelerator;
611 }
612 export interface UpdateEndpointGroupRequest {
613 /**
614 * The Amazon Resource Name (ARN) of the endpoint group.
615 */
616 EndpointGroupArn: GenericString;
617 /**
618 * The list of endpoint objects.
619 */
620 EndpointConfigurations?: EndpointConfigurations;
621 /**
622 * The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing. The default value is 100.
623 */
624 TrafficDialPercentage?: TrafficDialPercentage;
625 /**
626 * The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If the listener port is a list of ports, Global Accelerator uses the first port in the list.
627 */
628 HealthCheckPort?: HealthCheckPort;
629 /**
630 * The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.
631 */
632 HealthCheckProtocol?: HealthCheckProtocol;
633 /**
634 * If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).
635 */
636 HealthCheckPath?: GenericString;
637 /**
638 * The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.
639 */
640 HealthCheckIntervalSeconds?: HealthCheckIntervalSeconds;
641 /**
642 * The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.
643 */
644 ThresholdCount?: ThresholdCount;
645 }
646 export interface UpdateEndpointGroupResponse {
647 /**
648 * The information about the endpoint group that was updated.
649 */
650 EndpointGroup?: EndpointGroup;
651 }
652 export interface UpdateListenerRequest {
653 /**
654 * The Amazon Resource Name (ARN) of the listener to update.
655 */
656 ListenerArn: GenericString;
657 /**
658 * The updated list of port ranges for the connections from clients to the accelerator.
659 */
660 PortRanges?: PortRanges;
661 /**
662 * The updated protocol for the connections from clients to the accelerator.
663 */
664 Protocol?: Protocol;
665 /**
666 * Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint. AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes. If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value. The default value is NONE.
667 */
668 ClientAffinity?: ClientAffinity;
669 }
670 export interface UpdateListenerResponse {
671 /**
672 * Information for the updated listener.
673 */
674 Listener?: Listener;
675 }
676 /**
677 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
678 */
679 export type apiVersion = "2018-08-08"|"latest"|string;
680 export interface ClientApiVersions {
681 /**
682 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
683 */
684 apiVersion?: apiVersion;
685 }
686 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
687 /**
688 * Contains interfaces for use with the GlobalAccelerator client.
689 */
690 export import Types = GlobalAccelerator;
691}
692export = GlobalAccelerator;