UNPKG

39.7 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. You must specify the US-West-2 (Oregon) Region to create or update accelerators.
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. You must specify the US-West-2 (Oregon) Region to create or update accelerators.
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. To see an AWS CLI example of updating an accelerator, scroll down to Example. You must specify the US-West-2 (Oregon) Region to create or update accelerators.
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. To see an AWS CLI example of updating an accelerator, scroll down to Example. You must specify the US-West-2 (Oregon) Region to create or update accelerators.
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 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 the 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, accelerator can be deleted.
167 */
168 Enabled?: GenericBoolean;
169 /**
170 * The static IP addresses that Global Accelerator associates with the accelerator.
171 */
172 IpSets?: IpSets;
173 /**
174 * The Domain Name System (DNS) name that Global Accelerator creates that points to your accelerator's static IP addresses. The naming convention for the DNS name is: a lower case letter a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: a1234567890abcdef.awsglobalaccelerator.com. For more information about the default DNS name, see Support for DNS Addressing in Global Accelerator in the AWS Global Accelerator Developer Guide.
175 */
176 DnsName?: GenericString;
177 /**
178 * Describes the deployment status of the accelerator.
179 */
180 Status?: AcceleratorStatus;
181 /**
182 * The date and time that the accelerator was created.
183 */
184 CreatedTime?: Timestamp;
185 /**
186 * The date and time that the accelerator was last modified.
187 */
188 LastModifiedTime?: Timestamp;
189 }
190 export interface AcceleratorAttributes {
191 /**
192 * 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.
193 */
194 FlowLogsEnabled?: GenericBoolean;
195 /**
196 * 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.
197 */
198 FlowLogsS3Bucket?: GenericString;
199 /**
200 * 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.
201 */
202 FlowLogsS3Prefix?: GenericString;
203 }
204 export type AcceleratorStatus = "DEPLOYED"|"IN_PROGRESS"|string;
205 export type Accelerators = Accelerator[];
206 export type ClientAffinity = "NONE"|"SOURCE_IP"|string;
207 export interface CreateAcceleratorRequest {
208 /**
209 * 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.
210 */
211 Name: GenericString;
212 /**
213 * The value for the address type must be IPv4.
214 */
215 IpAddressType?: IpAddressType;
216 /**
217 * 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.
218 */
219 Enabled?: GenericBoolean;
220 /**
221 * A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.
222 */
223 IdempotencyToken: IdempotencyToken;
224 }
225 export interface CreateAcceleratorResponse {
226 /**
227 * The accelerator that is created by specifying a listener and the supported IP address types.
228 */
229 Accelerator?: Accelerator;
230 }
231 export interface CreateEndpointGroupRequest {
232 /**
233 * The Amazon Resource Name (ARN) of the listener.
234 */
235 ListenerArn: GenericString;
236 /**
237 * The name of the AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.
238 */
239 EndpointGroupRegion: GenericString;
240 /**
241 * The list of endpoint objects.
242 */
243 EndpointConfigurations?: EndpointConfigurations;
244 /**
245 * 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.
246 */
247 TrafficDialPercentage?: TrafficDialPercentage;
248 /**
249 * 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.
250 */
251 HealthCheckPort?: HealthCheckPort;
252 /**
253 * 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.
254 */
255 HealthCheckProtocol?: HealthCheckProtocol;
256 /**
257 * If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).
258 */
259 HealthCheckPath?: GenericString;
260 /**
261 * The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.
262 */
263 HealthCheckIntervalSeconds?: HealthCheckIntervalSeconds;
264 /**
265 * 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.
266 */
267 ThresholdCount?: ThresholdCount;
268 /**
269 * A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
270 */
271 IdempotencyToken: IdempotencyToken;
272 }
273 export interface CreateEndpointGroupResponse {
274 /**
275 * The information about the endpoint group that was created.
276 */
277 EndpointGroup?: EndpointGroup;
278 }
279 export interface CreateListenerRequest {
280 /**
281 * The Amazon Resource Name (ARN) of your accelerator.
282 */
283 AcceleratorArn: GenericString;
284 /**
285 * The list of port ranges to support for connections from clients to your accelerator.
286 */
287 PortRanges: PortRanges;
288 /**
289 * The protocol for connections from clients to your accelerator.
290 */
291 Protocol: Protocol;
292 /**
293 * 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.
294 */
295 ClientAffinity?: ClientAffinity;
296 /**
297 * A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
298 */
299 IdempotencyToken: IdempotencyToken;
300 }
301 export interface CreateListenerResponse {
302 /**
303 * The listener that you've created.
304 */
305 Listener?: Listener;
306 }
307 export interface DeleteAcceleratorRequest {
308 /**
309 * The Amazon Resource Name (ARN) of an accelerator.
310 */
311 AcceleratorArn: GenericString;
312 }
313 export interface DeleteEndpointGroupRequest {
314 /**
315 * The Amazon Resource Name (ARN) of the endpoint group to delete.
316 */
317 EndpointGroupArn: GenericString;
318 }
319 export interface DeleteListenerRequest {
320 /**
321 * The Amazon Resource Name (ARN) of the listener.
322 */
323 ListenerArn: GenericString;
324 }
325 export interface DescribeAcceleratorAttributesRequest {
326 /**
327 * The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe.
328 */
329 AcceleratorArn: GenericString;
330 }
331 export interface DescribeAcceleratorAttributesResponse {
332 /**
333 * The attributes of the accelerator.
334 */
335 AcceleratorAttributes?: AcceleratorAttributes;
336 }
337 export interface DescribeAcceleratorRequest {
338 /**
339 * The Amazon Resource Name (ARN) of the accelerator to describe.
340 */
341 AcceleratorArn: GenericString;
342 }
343 export interface DescribeAcceleratorResponse {
344 /**
345 * The description of the accelerator.
346 */
347 Accelerator?: Accelerator;
348 }
349 export interface DescribeEndpointGroupRequest {
350 /**
351 * The Amazon Resource Name (ARN) of the endpoint group to describe.
352 */
353 EndpointGroupArn: GenericString;
354 }
355 export interface DescribeEndpointGroupResponse {
356 /**
357 * The description of an endpoint group.
358 */
359 EndpointGroup?: EndpointGroup;
360 }
361 export interface DescribeListenerRequest {
362 /**
363 * The Amazon Resource Name (ARN) of the listener to describe.
364 */
365 ListenerArn: GenericString;
366 }
367 export interface DescribeListenerResponse {
368 /**
369 * The description of a listener.
370 */
371 Listener?: Listener;
372 }
373 export interface EndpointConfiguration {
374 /**
375 * 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.
376 */
377 EndpointId?: GenericString;
378 /**
379 * 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.
380 */
381 Weight?: EndpointWeight;
382 /**
383 * Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint. The value is true or false. The default value is true for new accelerators. If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator. For more information, see Viewing Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.
384 */
385 ClientIPPreservationEnabled?: GenericBoolean;
386 }
387 export type EndpointConfigurations = EndpointConfiguration[];
388 export interface EndpointDescription {
389 /**
390 * 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. An Application Load Balancer can be either internal or internet-facing.
391 */
392 EndpointId?: GenericString;
393 /**
394 * 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.
395 */
396 Weight?: EndpointWeight;
397 /**
398 * The health status of the endpoint.
399 */
400 HealthState?: HealthState;
401 /**
402 * 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.
403 */
404 HealthReason?: GenericString;
405 /**
406 * Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint. The value is true or false. The default value is true for new accelerators. If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator. For more information, see Viewing Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.
407 */
408 ClientIPPreservationEnabled?: GenericBoolean;
409 }
410 export type EndpointDescriptions = EndpointDescription[];
411 export interface EndpointGroup {
412 /**
413 * The Amazon Resource Name (ARN) of the endpoint group.
414 */
415 EndpointGroupArn?: GenericString;
416 /**
417 * The AWS Region that this endpoint group belongs.
418 */
419 EndpointGroupRegion?: GenericString;
420 /**
421 * The list of endpoint objects.
422 */
423 EndpointDescriptions?: EndpointDescriptions;
424 /**
425 * 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.
426 */
427 TrafficDialPercentage?: TrafficDialPercentage;
428 /**
429 * 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.
430 */
431 HealthCheckPort?: HealthCheckPort;
432 /**
433 * The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default value is TCP.
434 */
435 HealthCheckProtocol?: HealthCheckProtocol;
436 /**
437 * 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 (/).
438 */
439 HealthCheckPath?: GenericString;
440 /**
441 * The time—10 seconds or 30 seconds—between health checks for each endpoint. The default value is 30.
442 */
443 HealthCheckIntervalSeconds?: HealthCheckIntervalSeconds;
444 /**
445 * 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.
446 */
447 ThresholdCount?: ThresholdCount;
448 }
449 export type EndpointGroups = EndpointGroup[];
450 export type EndpointWeight = number;
451 export type GenericBoolean = boolean;
452 export type GenericString = string;
453 export type HealthCheckIntervalSeconds = number;
454 export type HealthCheckPort = number;
455 export type HealthCheckProtocol = "TCP"|"HTTP"|"HTTPS"|string;
456 export type HealthState = "INITIAL"|"HEALTHY"|"UNHEALTHY"|string;
457 export type IdempotencyToken = string;
458 export type IpAddress = string;
459 export type IpAddressType = "IPV4"|string;
460 export type IpAddresses = IpAddress[];
461 export interface IpSet {
462 /**
463 * The types of IP addresses included in this IP set.
464 */
465 IpFamily?: GenericString;
466 /**
467 * The array of IP addresses in the IP address set. An IP address set can have a maximum of two IP addresses.
468 */
469 IpAddresses?: IpAddresses;
470 }
471 export type IpSets = IpSet[];
472 export interface ListAcceleratorsRequest {
473 /**
474 * The number of Global Accelerator objects that you want to return with this call. The default value is 10.
475 */
476 MaxResults?: MaxResults;
477 /**
478 * The token for the next set of results. You receive this token from a previous call.
479 */
480 NextToken?: GenericString;
481 }
482 export interface ListAcceleratorsResponse {
483 /**
484 * The list of accelerators for a customer account.
485 */
486 Accelerators?: Accelerators;
487 /**
488 * The token for the next set of results. You receive this token from a previous call.
489 */
490 NextToken?: GenericString;
491 }
492 export interface ListEndpointGroupsRequest {
493 /**
494 * The Amazon Resource Name (ARN) of the listener.
495 */
496 ListenerArn: GenericString;
497 /**
498 * The number of endpoint group objects that you want to return with this call. The default value is 10.
499 */
500 MaxResults?: MaxResults;
501 /**
502 * The token for the next set of results. You receive this token from a previous call.
503 */
504 NextToken?: GenericString;
505 }
506 export interface ListEndpointGroupsResponse {
507 /**
508 * The list of the endpoint groups associated with a listener.
509 */
510 EndpointGroups?: EndpointGroups;
511 /**
512 * The token for the next set of results. You receive this token from a previous call.
513 */
514 NextToken?: GenericString;
515 }
516 export interface ListListenersRequest {
517 /**
518 * The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects.
519 */
520 AcceleratorArn: GenericString;
521 /**
522 * The number of listener objects that you want to return with this call. The default value is 10.
523 */
524 MaxResults?: MaxResults;
525 /**
526 * The token for the next set of results. You receive this token from a previous call.
527 */
528 NextToken?: GenericString;
529 }
530 export interface ListListenersResponse {
531 /**
532 * The list of listeners for an accelerator.
533 */
534 Listeners?: Listeners;
535 /**
536 * The token for the next set of results. You receive this token from a previous call.
537 */
538 NextToken?: GenericString;
539 }
540 export interface Listener {
541 /**
542 * The Amazon Resource Name (ARN) of the listener.
543 */
544 ListenerArn?: GenericString;
545 /**
546 * The list of port ranges for the connections from clients to the accelerator.
547 */
548 PortRanges?: PortRanges;
549 /**
550 * The protocol for the connections from clients to the accelerator.
551 */
552 Protocol?: Protocol;
553 /**
554 * 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.
555 */
556 ClientAffinity?: ClientAffinity;
557 }
558 export type Listeners = Listener[];
559 export type MaxResults = number;
560 export type PortNumber = number;
561 export interface PortRange {
562 /**
563 * The first port in the range of ports, inclusive.
564 */
565 FromPort?: PortNumber;
566 /**
567 * The last port in the range of ports, inclusive.
568 */
569 ToPort?: PortNumber;
570 }
571 export type PortRanges = PortRange[];
572 export type Protocol = "TCP"|"UDP"|string;
573 export type ThresholdCount = number;
574 export type Timestamp = Date;
575 export type TrafficDialPercentage = number;
576 export interface UpdateAcceleratorAttributesRequest {
577 /**
578 * The Amazon Resource Name (ARN) of the accelerator that you want to update.
579 */
580 AcceleratorArn: GenericString;
581 /**
582 * 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.
583 */
584 FlowLogsEnabled?: GenericBoolean;
585 /**
586 * 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.
587 */
588 FlowLogsS3Bucket?: GenericString;
589 /**
590 * 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.
591 */
592 FlowLogsS3Prefix?: GenericString;
593 }
594 export interface UpdateAcceleratorAttributesResponse {
595 /**
596 * Updated attributes for the accelerator.
597 */
598 AcceleratorAttributes?: AcceleratorAttributes;
599 }
600 export interface UpdateAcceleratorRequest {
601 /**
602 * The Amazon Resource Name (ARN) of the accelerator to update.
603 */
604 AcceleratorArn: GenericString;
605 /**
606 * 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.
607 */
608 Name?: GenericString;
609 /**
610 * The value for the address type must be IPv4.
611 */
612 IpAddressType?: IpAddressType;
613 /**
614 * 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.
615 */
616 Enabled?: GenericBoolean;
617 }
618 export interface UpdateAcceleratorResponse {
619 /**
620 * Information about the updated accelerator.
621 */
622 Accelerator?: Accelerator;
623 }
624 export interface UpdateEndpointGroupRequest {
625 /**
626 * The Amazon Resource Name (ARN) of the endpoint group.
627 */
628 EndpointGroupArn: GenericString;
629 /**
630 * The list of endpoint objects.
631 */
632 EndpointConfigurations?: EndpointConfigurations;
633 /**
634 * 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.
635 */
636 TrafficDialPercentage?: TrafficDialPercentage;
637 /**
638 * 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.
639 */
640 HealthCheckPort?: HealthCheckPort;
641 /**
642 * 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.
643 */
644 HealthCheckProtocol?: HealthCheckProtocol;
645 /**
646 * If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).
647 */
648 HealthCheckPath?: GenericString;
649 /**
650 * The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.
651 */
652 HealthCheckIntervalSeconds?: HealthCheckIntervalSeconds;
653 /**
654 * 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.
655 */
656 ThresholdCount?: ThresholdCount;
657 }
658 export interface UpdateEndpointGroupResponse {
659 /**
660 * The information about the endpoint group that was updated.
661 */
662 EndpointGroup?: EndpointGroup;
663 }
664 export interface UpdateListenerRequest {
665 /**
666 * The Amazon Resource Name (ARN) of the listener to update.
667 */
668 ListenerArn: GenericString;
669 /**
670 * The updated list of port ranges for the connections from clients to the accelerator.
671 */
672 PortRanges?: PortRanges;
673 /**
674 * The updated protocol for the connections from clients to the accelerator.
675 */
676 Protocol?: Protocol;
677 /**
678 * 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.
679 */
680 ClientAffinity?: ClientAffinity;
681 }
682 export interface UpdateListenerResponse {
683 /**
684 * Information for the updated listener.
685 */
686 Listener?: Listener;
687 }
688 /**
689 * 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.
690 */
691 export type apiVersion = "2018-08-08"|"latest"|string;
692 export interface ClientApiVersions {
693 /**
694 * 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.
695 */
696 apiVersion?: apiVersion;
697 }
698 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
699 /**
700 * Contains interfaces for use with the GlobalAccelerator client.
701 */
702 export import Types = GlobalAccelerator;
703}
704export = GlobalAccelerator;