export interface CustomRoutingEndpointConfiguration {
    /** An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID. */
    EndpointId?: string;
    /** The Amazon Resource Name (ARN) of the cross-account attachment that specifies the endpoints (resources) that can be added to accelerators and principals that have permission to add the endpoints. */
    AttachmentArn?: string;
}
export interface EndpointConfiguration {
    /** 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  */
    EndpointId?: string;
    /** The weight associated with the endpoint. When you add weights to endpoints, you configure Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endp */
    Weight?: number;
    /** Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for Application Load Balancer endpoints. If the value is set to true, */
    ClientIPPreservationEnabled?: boolean;
    /** The Amazon Resource Name (ARN) of the cross-account attachment that specifies the endpoints (resources) that can be added to accelerators and principals that have permission to add the endpoints. */
    AttachmentArn?: string;
}
export interface Tag {
    /** A string that contains a Tag key. */
    Key: string;
    /** A string that contains a Tag value. */
    Value: string;
}
export interface Resource {
    /** The endpoint ID for the endpoint that is specified as a Amazon Web Services resource. An endpoint ID for the cross-account feature is the ARN of an Amazon Web Services resource, such as a Network Load */
    EndpointId?: string;
    /** An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in Global Accelerator by following the bring your own IP address (BYOIP) process for  */
    Cidr?: string;
    /** The Amazon Web Services Region where a shared endpoint resource is located. */
    Region?: string;
}
export interface CustomRoutingDestinationConfiguration {
    /** The first port, inclusive, in the range of ports for the endpoint group that is associated with a custom routing accelerator. */
    FromPort: number;
    /** The last port, inclusive, in the range of ports for the endpoint group that is associated with a custom routing accelerator. */
    ToPort: number;
    /** The protocol for the endpoint group that is associated with a custom routing accelerator. The protocol can be either TCP or UDP. */
    Protocols: any[];
}
export interface PortRange {
    /** The first port in the range of ports, inclusive. */
    FromPort?: number;
    /** The last port in the range of ports, inclusive. */
    ToPort?: number;
}
export interface PortOverride {
    /** The listener port that you want to map to a specific endpoint port. This is the port that user traffic arrives to the Global Accelerator on. */
    ListenerPort?: number;
    /** The endpoint port that you want a listener port to be mapped to. This is the port on the endpoint, such as the Application Load Balancer or Amazon EC2 instance. */
    EndpointPort?: number;
}
export interface CidrAuthorizationContext {
    /** The plain-text authorization message for the prefix and account. */
    Message: string;
    /** The signed authorization message for the prefix and account. */
    Signature: string;
}
export interface EndpointIdentifier {
    /** 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  */
    EndpointId: string;
    /** Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. If the value is set to true, the client's IP address is preserved in the X-Forwarded-For reques */
    ClientIPPreservationEnabled?: boolean;
}
export interface AddCustomRoutingEndpointsInput {
    /** The list of endpoint objects to add to a custom routing accelerator. */
    EndpointConfigurations: CustomRoutingEndpointConfiguration[];
    /** The Amazon Resource Name (ARN) of the endpoint group for the custom routing endpoint. */
    EndpointGroupArn: string;
}
export interface AddEndpointsInput {
    /** The list of endpoint objects. */
    EndpointConfigurations: EndpointConfiguration[];
    /** The Amazon Resource Name (ARN) of the endpoint group. */
    EndpointGroupArn: string;
}
export interface AdvertiseByoipCidrInput {
    /** The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range. For more information, see Bring your own IP address */
    Cidr: string;
}
export interface AllowCustomRoutingTrafficInput {
    /** The Amazon Resource Name (ARN) of the endpoint group. */
    EndpointGroupArn: string;
    /** An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID. */
    EndpointId: string;
    /** Indicates whether all destination IP addresses and ports for a specified VPC subnet endpoint can receive traffic from a custom routing accelerator. The value is TRUE or FALSE. When set to TRUE, all de */
    AllowAllTrafficToEndpoint?: boolean;
    /** A list of specific Amazon EC2 instance IP addresses (destination addresses) in a subnet that you want to allow to receive traffic. The IP addresses must be a subset of the IP addresses that you specif */
    DestinationAddresses?: string[];
    /** A list of specific Amazon EC2 instance ports (destination ports) that you want to allow to receive traffic. */
    DestinationPorts?: number[];
}
export interface CreateAcceleratorInput {
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator. */
    IdempotencyToken: string;
    /** The name of the accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters, periods (.), or hyphens (-), and must not begin or end with a hyphen or period. */
    Name: string;
    /** 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  */
    Enabled?: boolean;
    /** Optionally, if you've added your own IP address pool to Global Accelerator (BYOIP), you can choose an IPv4 address from your own pool to use for the accelerator's static IPv4 address when you create a */
    IpAddresses?: string[];
    /** The IP address type that an accelerator supports. For a standard accelerator, the value can be IPV4 or DUAL_STACK. */
    IpAddressType?: 'IPV4' | 'DUAL_STACK';
    /** Create tags for an accelerator. For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide. */
    Tags?: Tag[];
}
export interface CreateCrossAccountAttachmentInput {
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request. */
    IdempotencyToken: string;
    /** The name of the cross-account attachment. */
    Name: string;
    /** The principals to include in the cross-account attachment. A principal can be an Amazon Web Services account number or the Amazon Resource Name (ARN) for an accelerator. */
    Principals?: string[];
    /** The Amazon Resource Names (ARNs) for the resources to include in the cross-account attachment. A resource can be any supported Amazon Web Services resource type for Global Accelerator or a CIDR range  */
    Resources?: Resource[];
    /** Add tags for a cross-account attachment. For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide. */
    Tags?: Tag[];
}
export interface CreateCustomRoutingAcceleratorInput {
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request. */
    IdempotencyToken: string;
    /** The name of a custom routing accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen. */
    Name: string;
    /** 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  */
    Enabled?: boolean;
    /** Optionally, if you've added your own IP address pool to Global Accelerator (BYOIP), you can choose an IPv4 address from your own pool to use for the accelerator's static IPv4 address when you create a */
    IpAddresses?: string[];
    /** The IP address type that an accelerator supports. For a custom routing accelerator, the value must be IPV4. */
    IpAddressType?: 'IPV4' | 'DUAL_STACK';
    /** Create tags for an accelerator. For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide. */
    Tags?: Tag[];
}
export interface CreateCustomRoutingEndpointGroupInput {
    /** Sets the port range and protocol for all endpoints (virtual private cloud subnets) in a custom routing endpoint group to accept client traffic on. */
    DestinationConfigurations: CustomRoutingDestinationConfiguration[];
    /** The Amazon Web Services Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region. */
    EndpointGroupRegion: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request. */
    IdempotencyToken: string;
    /** The Amazon Resource Name (ARN) of the listener for a custom routing endpoint. */
    ListenerArn: string;
}
export interface CreateCustomRoutingListenerInput {
    /** The Amazon Resource Name (ARN) of the accelerator for a custom routing listener. */
    AcceleratorArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request. */
    IdempotencyToken: string;
    /** The port range to support for connections from clients to your accelerator. Separately, you set port ranges for endpoints. For more information, see About endpoints for custom routing accelerators. */
    PortRanges: PortRange[];
}
export interface CreateEndpointGroupInput {
    /** The Amazon Web Services Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region. */
    EndpointGroupRegion: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request. */
    IdempotencyToken: string;
    /** The Amazon Resource Name (ARN) of the listener. */
    ListenerArn: string;
    /** The list of endpoint objects. */
    EndpointConfigurations?: EndpointConfiguration[];
    /** The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30. */
    HealthCheckIntervalSeconds?: number;
    /** If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/). */
    HealthCheckPath?: string;
    /** The port that 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 liste */
    HealthCheckPort?: number;
    /** The protocol that Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP. */
    HealthCheckProtocol?: 'TCP' | 'HTTP' | 'HTTPS';
    /** Override specific listener ports used to route traffic to endpoints that are part of this endpoint group. For example, you can create a port override in which the listener receives user traffic on por */
    PortOverrides?: PortOverride[];
    /** 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. */
    ThresholdCount?: number;
    /** The percentage of traffic to send to an Amazon Web Services Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dia */
    TrafficDialPercentage?: number;
}
export interface CreateListenerInput {
    /** The Amazon Resource Name (ARN) of your accelerator. */
    AcceleratorArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request. */
    IdempotencyToken: string;
    /** The list of port ranges to support for connections from clients to your accelerator. */
    PortRanges: PortRange[];
    /** The protocol for connections from clients to your accelerator. */
    Protocol: 'TCP' | 'UDP';
    /** 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. Client affinity gives you c */
    ClientAffinity?: 'NONE' | 'SOURCE_IP';
}
export interface DeleteAcceleratorInput {
    /** The Amazon Resource Name (ARN) of an accelerator. */
    AcceleratorArn: string;
}
export interface DeleteCrossAccountAttachmentInput {
    /** The Amazon Resource Name (ARN) for the cross-account attachment to delete. */
    AttachmentArn: string;
}
export interface DeleteCustomRoutingAcceleratorInput {
    /** The Amazon Resource Name (ARN) of the custom routing accelerator to delete. */
    AcceleratorArn: string;
}
export interface DeleteCustomRoutingEndpointGroupInput {
    /** The Amazon Resource Name (ARN) of the endpoint group to delete. */
    EndpointGroupArn: string;
}
export interface DeleteCustomRoutingListenerInput {
    /** The Amazon Resource Name (ARN) of the listener to delete. */
    ListenerArn: string;
}
export interface DeleteEndpointGroupInput {
    /** The Amazon Resource Name (ARN) of the endpoint group to delete. */
    EndpointGroupArn: string;
}
export interface DeleteListenerInput {
    /** The Amazon Resource Name (ARN) of the listener. */
    ListenerArn: string;
}
export interface DenyCustomRoutingTrafficInput {
    /** The Amazon Resource Name (ARN) of the endpoint group. */
    EndpointGroupArn: string;
    /** An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID. */
    EndpointId: string;
    /** Indicates whether all destination IP addresses and ports for a specified VPC subnet endpoint cannot receive traffic from a custom routing accelerator. The value is TRUE or FALSE. When set to TRUE, no  */
    DenyAllTrafficToEndpoint?: boolean;
    /** A list of specific Amazon EC2 instance IP addresses (destination addresses) in a subnet that you want to prevent from receiving traffic. The IP addresses must be a subset of the IP addresses allowed f */
    DestinationAddresses?: string[];
    /** A list of specific Amazon EC2 instance ports (destination ports) in a subnet endpoint that you want to prevent from receiving traffic. */
    DestinationPorts?: number[];
}
export interface DeprovisionByoipCidrInput {
    /** The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range. For more information, see Bring your own IP addresses (BYOIP) in the  */
    Cidr: string;
}
export interface DescribeAcceleratorInput {
    /** The Amazon Resource Name (ARN) of the accelerator to describe. */
    AcceleratorArn: string;
}
export interface DescribeAcceleratorAttributesInput {
    /** The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe. */
    AcceleratorArn: string;
}
export interface DescribeCrossAccountAttachmentInput {
    /** The Amazon Resource Name (ARN) for the cross-account attachment to describe. */
    AttachmentArn: string;
}
export interface DescribeCustomRoutingAcceleratorInput {
    /** The Amazon Resource Name (ARN) of the accelerator to describe. */
    AcceleratorArn: string;
}
export interface DescribeCustomRoutingAcceleratorAttributesInput {
    /** The Amazon Resource Name (ARN) of the custom routing accelerator to describe the attributes for. */
    AcceleratorArn: string;
}
export interface DescribeCustomRoutingEndpointGroupInput {
    /** The Amazon Resource Name (ARN) of the endpoint group to describe. */
    EndpointGroupArn: string;
}
export interface DescribeCustomRoutingListenerInput {
    /** The Amazon Resource Name (ARN) of the listener to describe. */
    ListenerArn: string;
}
export interface DescribeEndpointGroupInput {
    /** The Amazon Resource Name (ARN) of the endpoint group to describe. */
    EndpointGroupArn: string;
}
export interface DescribeListenerInput {
    /** The Amazon Resource Name (ARN) of the listener to describe. */
    ListenerArn: string;
}
export interface ListAcceleratorsInput {
    /** The number of Global Accelerator objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListByoipCidrsInput {
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListCrossAccountAttachmentsInput {
    /** The number of cross-account attachment objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListCrossAccountResourcesInput {
    /** The account ID of a resource owner in a cross-account attachment. */
    ResourceOwnerAwsAccountId: string;
    /** The Amazon Resource Name (ARN) of an accelerator in a cross-account attachment. */
    AcceleratorArn?: string;
    /** The number of cross-account resource objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListCustomRoutingAcceleratorsInput {
    /** The number of custom routing Global Accelerator objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListCustomRoutingEndpointGroupsInput {
    /** The Amazon Resource Name (ARN) of the listener to list endpoint groups for. */
    ListenerArn: string;
    /** The number of endpoint group objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListCustomRoutingListenersInput {
    /** The Amazon Resource Name (ARN) of the accelerator to list listeners for. */
    AcceleratorArn: string;
    /** The number of listener objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListCustomRoutingPortMappingsInput {
    /** The Amazon Resource Name (ARN) of the accelerator to list the custom routing port mappings for. */
    AcceleratorArn: string;
    /** The Amazon Resource Name (ARN) of the endpoint group to list the custom routing port mappings for. */
    EndpointGroupArn?: string;
    /** The number of destination port mappings that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListCustomRoutingPortMappingsByDestinationInput {
    /** The endpoint IP address in a virtual private cloud (VPC) subnet for which you want to receive back port mappings. */
    DestinationAddress: string;
    /** The ID for the virtual private cloud (VPC) subnet. */
    EndpointId: string;
    /** The number of destination port mappings that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListEndpointGroupsInput {
    /** The Amazon Resource Name (ARN) of the listener. */
    ListenerArn: string;
    /** The number of endpoint group objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListListenersInput {
    /** The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects. */
    AcceleratorArn: string;
    /** The number of listener objects that you want to return with this call. The default value is 10. */
    MaxResults?: number;
    /** The token for the next set of results. You receive this token from a previous call. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN uniquely identifies an accelerator. */
    ResourceArn: string;
}
export interface ProvisionByoipCidrInput {
    /** The public IPv4 address range, in CIDR notation. The most specific IP prefix that you can specify is /24. The address range cannot overlap with another address range that you've brought to this Amazon */
    Cidr: string;
    /** A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. */
    CidrAuthorizationContext: CidrAuthorizationContext;
}
export interface RemoveCustomRoutingEndpointsInput {
    /** The Amazon Resource Name (ARN) of the endpoint group to remove endpoints from. */
    EndpointGroupArn: string;
    /** The IDs for the endpoints. For custom routing accelerators, endpoint IDs are the virtual private cloud (VPC) subnet IDs. */
    EndpointIds: string[];
}
export interface RemoveEndpointsInput {
    /** The Amazon Resource Name (ARN) of the endpoint group. */
    EndpointGroupArn: string;
    /** The identifiers of the endpoints that you want to remove. */
    EndpointIdentifiers: EndpointIdentifier[];
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags to. An ARN uniquely identifies a resource. */
    ResourceArn: string;
    /** The tags to add to a resource. A tag consists of a key and a value that you define. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource. */
    ResourceArn: string;
    /** The tag key pairs that you want to remove from the specified resources. */
    TagKeys: string[];
}
export interface UpdateAcceleratorInput {
    /** The Amazon Resource Name (ARN) of the accelerator to update. */
    AcceleratorArn: string;
    /** 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 */
    Enabled?: boolean;
    /** The IP addresses for an accelerator. */
    IpAddresses?: string[];
    /** The IP address type that an accelerator supports. For a standard accelerator, the value can be IPV4 or DUAL_STACK. */
    IpAddressType?: 'IPV4' | 'DUAL_STACK';
    /** The name of the accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters, periods (.), or hyphens (-), and must not begin or end with a hyphen or period. */
    Name?: string;
}
export interface UpdateAcceleratorAttributesInput {
    /** The Amazon Resource Name (ARN) of the accelerator that you want to update. */
    AcceleratorArn: string;
    /** 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 Global Accel */
    FlowLogsEnabled?: boolean;
    /** 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 Global Accelerator permission to write  */
    FlowLogsS3Bucket?: string;
    /** Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. If you specify slash (/) for the S3 bucket prefix, the log file bucket f */
    FlowLogsS3Prefix?: string;
}
export interface UpdateCrossAccountAttachmentInput {
    /** The Amazon Resource Name (ARN) of the cross-account attachment to update. */
    AttachmentArn: string;
    /** The principals to add to the cross-account attachment. A principal is an account or the Amazon Resource Name (ARN) of an accelerator that the attachment gives permission to work with resources from an */
    AddPrincipals?: string[];
    /** The resources to add to the cross-account attachment. A resource listed in a cross-account attachment can be used with an accelerator by the principals that are listed in the attachment. To add more t */
    AddResources?: Resource[];
    /** The name of the cross-account attachment. */
    Name?: string;
    /** The principals to remove from the cross-account attachment. A principal is an account or the Amazon Resource Name (ARN) of an accelerator that the attachment gives permission to work with resources fr */
    RemovePrincipals?: string[];
    /** The resources to remove from the cross-account attachment. A resource listed in a cross-account attachment can be used with an accelerator by the principals that are listed in the attachment. To remov */
    RemoveResources?: Resource[];
}
export interface UpdateCustomRoutingAcceleratorInput {
    /** The Amazon Resource Name (ARN) of the accelerator to update. */
    AcceleratorArn: string;
    /** 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 */
    Enabled?: boolean;
    /** The IP addresses for an accelerator. */
    IpAddresses?: string[];
    /** The IP address type that an accelerator supports. For a custom routing accelerator, the value must be IPV4. */
    IpAddressType?: 'IPV4' | 'DUAL_STACK';
    /** The name of the accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters, periods (.), or hyphens (-), and must not begin or end with a hyphen or period. */
    Name?: string;
}
export interface UpdateCustomRoutingAcceleratorAttributesInput {
    /** The Amazon Resource Name (ARN) of the custom routing accelerator to update attributes for. */
    AcceleratorArn: string;
    /** 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 Global Accel */
    FlowLogsEnabled?: boolean;
    /** 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 Global Accelerator permission to write  */
    FlowLogsS3Bucket?: string;
    /** 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 t */
    FlowLogsS3Prefix?: string;
}
export interface UpdateCustomRoutingListenerInput {
    /** The Amazon Resource Name (ARN) of the listener to update. */
    ListenerArn: string;
    /** The updated port range to support for connections from clients to your accelerator. If you remove ports that are currently being used by a subnet endpoint, the call fails. Separately, you set port ran */
    PortRanges: PortRange[];
}
export interface UpdateEndpointGroupInput {
    /** The Amazon Resource Name (ARN) of the endpoint group. */
    EndpointGroupArn: string;
    /** The list of endpoint objects. A resource must be valid and active when you add it as an endpoint. */
    EndpointConfigurations?: EndpointConfiguration[];
    /** The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30. */
    HealthCheckIntervalSeconds?: number;
    /** If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/). */
    HealthCheckPath?: string;
    /** The port that 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 l */
    HealthCheckPort?: number;
    /** The protocol that Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP. */
    HealthCheckProtocol?: 'TCP' | 'HTTP' | 'HTTPS';
    /** Override specific listener ports used to route traffic to endpoints that are part of this endpoint group. For example, you can create a port override in which the listener receives user traffic on por */
    PortOverrides?: PortOverride[];
    /** 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. */
    ThresholdCount?: number;
    /** The percentage of traffic to send to an Amazon Web Services Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dia */
    TrafficDialPercentage?: number;
}
export interface UpdateListenerInput {
    /** The Amazon Resource Name (ARN) of the listener to update. */
    ListenerArn: string;
    /** 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. Client affinity gives you c */
    ClientAffinity?: 'NONE' | 'SOURCE_IP';
    /** The updated list of port ranges for the connections from clients to the accelerator. */
    PortRanges?: PortRange[];
    /** The updated protocol for the connections from clients to the accelerator. */
    Protocol?: 'TCP' | 'UDP';
}
export interface WithdrawByoipCidrInput {
    /** The address range, in CIDR notation. For more information, see Bring your own IP addresses (BYOIP) in the Global Accelerator Developer Guide. */
    Cidr: string;
}
/** Global Accelerator service binding for Step Functions SDK integrations. */
export declare class GlobalAccelerator {
    constructor();
    addCustomRoutingEndpoints<T>(params: AddCustomRoutingEndpointsInput): Promise<T>;
    addEndpoints<T>(params: AddEndpointsInput): Promise<T>;
    advertiseByoipCidr<T>(params: AdvertiseByoipCidrInput): Promise<T>;
    allowCustomRoutingTraffic<T>(params: AllowCustomRoutingTrafficInput): Promise<T>;
    createAccelerator<T>(params: CreateAcceleratorInput): Promise<T>;
    createCrossAccountAttachment<T>(params: CreateCrossAccountAttachmentInput): Promise<T>;
    createCustomRoutingAccelerator<T>(params: CreateCustomRoutingAcceleratorInput): Promise<T>;
    createCustomRoutingEndpointGroup<T>(params: CreateCustomRoutingEndpointGroupInput): Promise<T>;
    createCustomRoutingListener<T>(params: CreateCustomRoutingListenerInput): Promise<T>;
    createEndpointGroup<T>(params: CreateEndpointGroupInput): Promise<T>;
    createListener<T>(params: CreateListenerInput): Promise<T>;
    deleteAccelerator<T>(params: DeleteAcceleratorInput): Promise<T>;
    deleteCrossAccountAttachment<T>(params: DeleteCrossAccountAttachmentInput): Promise<T>;
    deleteCustomRoutingAccelerator<T>(params: DeleteCustomRoutingAcceleratorInput): Promise<T>;
    deleteCustomRoutingEndpointGroup<T>(params: DeleteCustomRoutingEndpointGroupInput): Promise<T>;
    deleteCustomRoutingListener<T>(params: DeleteCustomRoutingListenerInput): Promise<T>;
    deleteEndpointGroup<T>(params: DeleteEndpointGroupInput): Promise<T>;
    deleteListener<T>(params: DeleteListenerInput): Promise<T>;
    denyCustomRoutingTraffic<T>(params: DenyCustomRoutingTrafficInput): Promise<T>;
    deprovisionByoipCidr<T>(params: DeprovisionByoipCidrInput): Promise<T>;
    describeAccelerator<T>(params: DescribeAcceleratorInput): Promise<T>;
    describeAcceleratorAttributes<T>(params: DescribeAcceleratorAttributesInput): Promise<T>;
    describeCrossAccountAttachment<T>(params: DescribeCrossAccountAttachmentInput): Promise<T>;
    describeCustomRoutingAccelerator<T>(params: DescribeCustomRoutingAcceleratorInput): Promise<T>;
    describeCustomRoutingAcceleratorAttributes<T>(params: DescribeCustomRoutingAcceleratorAttributesInput): Promise<T>;
    describeCustomRoutingEndpointGroup<T>(params: DescribeCustomRoutingEndpointGroupInput): Promise<T>;
    describeCustomRoutingListener<T>(params: DescribeCustomRoutingListenerInput): Promise<T>;
    describeEndpointGroup<T>(params: DescribeEndpointGroupInput): Promise<T>;
    describeListener<T>(params: DescribeListenerInput): Promise<T>;
    listAccelerators<T>(params: ListAcceleratorsInput): Promise<T>;
    listByoipCidrs<T>(params: ListByoipCidrsInput): Promise<T>;
    listCrossAccountAttachments<T>(params: ListCrossAccountAttachmentsInput): Promise<T>;
    listCrossAccountResourceAccounts<T>(params: Record<string, any>): Promise<T>;
    listCrossAccountResources<T>(params: ListCrossAccountResourcesInput): Promise<T>;
    listCustomRoutingAccelerators<T>(params: ListCustomRoutingAcceleratorsInput): Promise<T>;
    listCustomRoutingEndpointGroups<T>(params: ListCustomRoutingEndpointGroupsInput): Promise<T>;
    listCustomRoutingListeners<T>(params: ListCustomRoutingListenersInput): Promise<T>;
    listCustomRoutingPortMappings<T>(params: ListCustomRoutingPortMappingsInput): Promise<T>;
    listCustomRoutingPortMappingsByDestination<T>(params: ListCustomRoutingPortMappingsByDestinationInput): Promise<T>;
    listEndpointGroups<T>(params: ListEndpointGroupsInput): Promise<T>;
    listListeners<T>(params: ListListenersInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    provisionByoipCidr<T>(params: ProvisionByoipCidrInput): Promise<T>;
    removeCustomRoutingEndpoints<T>(params: RemoveCustomRoutingEndpointsInput): Promise<T>;
    removeEndpoints<T>(params: RemoveEndpointsInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAccelerator<T>(params: UpdateAcceleratorInput): Promise<T>;
    updateAcceleratorAttributes<T>(params: UpdateAcceleratorAttributesInput): Promise<T>;
    updateCrossAccountAttachment<T>(params: UpdateCrossAccountAttachmentInput): Promise<T>;
    updateCustomRoutingAccelerator<T>(params: UpdateCustomRoutingAcceleratorInput): Promise<T>;
    updateCustomRoutingAcceleratorAttributes<T>(params: UpdateCustomRoutingAcceleratorAttributesInput): Promise<T>;
    updateCustomRoutingListener<T>(params: UpdateCustomRoutingListenerInput): Promise<T>;
    updateEndpointGroup<T>(params: UpdateEndpointGroupInput): Promise<T>;
    updateListener<T>(params: UpdateListenerInput): Promise<T>;
    withdrawByoipCidr<T>(params: WithdrawByoipCidrInput): Promise<T>;
}
//# sourceMappingURL=GlobalAccelerator.d.ts.map