From 5bf92ba8606b2bdc7f00269174f76b6ba8530057 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 9 Dec 2020 11:13:02 -0800 Subject: [PATCH] Release v1.36.5 (2020-12-09) (#3686) Release v1.36.5 (2020-12-09) === ### Service Client Updates * `service/ec2`: Updates service API * This release adds support for G4ad instances powered by AMD Radeon Pro V520 GPUs and AMD 2nd Generation EPYC processors * `service/globalaccelerator`: Updates service API, documentation, and paginators * `service/redshift`: Updates service API and documentation * Add support for availability zone relocation feature. ### SDK Enhancements * `aws/session`: Add support for client TLS certs on HTTP client ([#3654](https://github.com/aws/aws-sdk-go/pull/3654)) * Adds support for the SDK to automatically modify the HTTP client to include TLS configuration of custom Client TLS certificate. --- CHANGELOG.md | 14 + CHANGELOG_PENDING.md | 2 - aws/endpoints/defaults.go | 16 + aws/version.go | 2 +- models/apis/ec2/2016-11-15/api-2.json | 3 + .../globalaccelerator/2018-08-08/api-2.json | 934 +- .../globalaccelerator/2018-08-08/docs-2.json | 591 +- .../2018-08-08/paginators-1.json | 40 + models/apis/redshift/2012-12-01/api-2.json | 45 +- models/apis/redshift/2012-12-01/docs-2.json | 30 +- models/endpoints/endpoints.json | 15 + service/ec2/api.go | 12 + service/globalaccelerator/api.go | 9596 +++++++++++++---- service/globalaccelerator/doc.go | 168 +- service/globalaccelerator/errors.go | 21 + .../globalacceleratoriface/interface.go | 116 +- service/redshift/api.go | 118 +- 17 files changed, 9380 insertions(+), 2343 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1454d8eb1ac..958288fea3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +Release v1.36.5 (2020-12-09) +=== + +### Service Client Updates +* `service/ec2`: Updates service API + * This release adds support for G4ad instances powered by AMD Radeon Pro V520 GPUs and AMD 2nd Generation EPYC processors +* `service/globalaccelerator`: Updates service API, documentation, and paginators +* `service/redshift`: Updates service API and documentation + * Add support for availability zone relocation feature. + +### SDK Enhancements +* `aws/session`: Add support for client TLS certs on HTTP client ([#3654](https://github.com/aws/aws-sdk-go/pull/3654)) + * Adds support for the SDK to automatically modify the HTTP client to include TLS configuration of custom Client TLS certificate. + Release v1.36.4 (2020-12-08) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index d8f161a6bc4..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,7 +1,5 @@ ### SDK Features ### SDK Enhancements -* `aws/session`: Add support for client TLS certs on HTTP client ([#3654](https://github.com/aws/aws-sdk-go/pull/3654)) - * Adds support for the SDK to automatically modify the HTTP client to include TLS configuration of custom Client TLS certificate. ### SDK Bugs diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index b19c17fcec8..78f2226071d 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -2685,6 +2685,14 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "emr-containers": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "entitlement.marketplace": service{ Defaults: endpoint{ CredentialScope: credentialScope{ @@ -3248,6 +3256,14 @@ var awsPartition = partition{ }, }, }, + "healthlake": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, "honeycode": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 90ec79807e7..b18b40cab04 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.36.4" +const SDKVersion = "1.36.5" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 890ef518387..86598200db5 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -19033,6 +19033,9 @@ "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", diff --git a/models/apis/globalaccelerator/2018-08-08/api-2.json b/models/apis/globalaccelerator/2018-08-08/api-2.json index a4da0878562..17500a717e1 100644 --- a/models/apis/globalaccelerator/2018-08-08/api-2.json +++ b/models/apis/globalaccelerator/2018-08-08/api-2.json @@ -13,6 +13,24 @@ "uid":"globalaccelerator-2018-08-08" }, "operations":{ + "AddCustomRoutingEndpoints":{ + "name":"AddCustomRoutingEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddCustomRoutingEndpointsRequest"}, + "output":{"shape":"AddCustomRoutingEndpointsResponse"}, + "errors":[ + {"shape":"EndpointAlreadyExistsException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ] + }, "AdvertiseByoipCidr":{ "name":"AdvertiseByoipCidr", "http":{ @@ -29,6 +47,18 @@ {"shape":"IncorrectCidrStateException"} ] }, + "AllowCustomRoutingTraffic":{ + "name":"AllowCustomRoutingTraffic", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllowCustomRoutingTrafficRequest"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceErrorException"} + ] + }, "CreateAccelerator":{ "name":"CreateAccelerator", "http":{ @@ -43,6 +73,56 @@ {"shape":"LimitExceededException"} ] }, + "CreateCustomRoutingAccelerator":{ + "name":"CreateCustomRoutingAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomRoutingAcceleratorRequest"}, + "output":{"shape":"CreateCustomRoutingAcceleratorResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"} + ] + }, + "CreateCustomRoutingEndpointGroup":{ + "name":"CreateCustomRoutingEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomRoutingEndpointGroupRequest"}, + "output":{"shape":"CreateCustomRoutingEndpointGroupResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"EndpointGroupAlreadyExistsException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidPortRangeException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"} + ] + }, + "CreateCustomRoutingListener":{ + "name":"CreateCustomRoutingListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomRoutingListenerRequest"}, + "output":{"shape":"CreateCustomRoutingListenerResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InvalidPortRangeException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"LimitExceededException"} + ] + }, "CreateEndpointGroup":{ "name":"CreateEndpointGroup", "http":{ @@ -92,6 +172,48 @@ {"shape":"InvalidArgumentException"} ] }, + "DeleteCustomRoutingAccelerator":{ + "name":"DeleteCustomRoutingAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomRoutingAcceleratorRequest"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"AcceleratorNotDisabledException"}, + {"shape":"AssociatedListenerFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ] + }, + "DeleteCustomRoutingEndpointGroup":{ + "name":"DeleteCustomRoutingEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomRoutingEndpointGroupRequest"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "DeleteCustomRoutingListener":{ + "name":"DeleteCustomRoutingListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomRoutingListenerRequest"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"AssociatedEndpointGroupFoundException"}, + {"shape":"InternalServiceErrorException"} + ] + }, "DeleteEndpointGroup":{ "name":"DeleteEndpointGroup", "http":{ @@ -119,6 +241,18 @@ {"shape":"InternalServiceErrorException"} ] }, + "DenyCustomRoutingTraffic":{ + "name":"DenyCustomRoutingTraffic", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DenyCustomRoutingTrafficRequest"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceErrorException"} + ] + }, "DeprovisionByoipCidr":{ "name":"DeprovisionByoipCidr", "http":{ @@ -163,6 +297,62 @@ {"shape":"InvalidArgumentException"} ] }, + "DescribeCustomRoutingAccelerator":{ + "name":"DescribeCustomRoutingAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomRoutingAcceleratorRequest"}, + "output":{"shape":"DescribeCustomRoutingAcceleratorResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ] + }, + "DescribeCustomRoutingAcceleratorAttributes":{ + "name":"DescribeCustomRoutingAcceleratorAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomRoutingAcceleratorAttributesRequest"}, + "output":{"shape":"DescribeCustomRoutingAcceleratorAttributesResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ] + }, + "DescribeCustomRoutingEndpointGroup":{ + "name":"DescribeCustomRoutingEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomRoutingEndpointGroupRequest"}, + "output":{"shape":"DescribeCustomRoutingEndpointGroupResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "DescribeCustomRoutingListener":{ + "name":"DescribeCustomRoutingListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomRoutingListenerRequest"}, + "output":{"shape":"DescribeCustomRoutingListenerResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ] + }, "DescribeEndpointGroup":{ "name":"DescribeEndpointGroup", "http":{ @@ -220,6 +410,81 @@ {"shape":"InvalidNextTokenException"} ] }, + "ListCustomRoutingAccelerators":{ + "name":"ListCustomRoutingAccelerators", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomRoutingAcceleratorsRequest"}, + "output":{"shape":"ListCustomRoutingAcceleratorsResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListCustomRoutingEndpointGroups":{ + "name":"ListCustomRoutingEndpointGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomRoutingEndpointGroupsRequest"}, + "output":{"shape":"ListCustomRoutingEndpointGroupsResponse"}, + "errors":[ + {"shape":"ListenerNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListCustomRoutingListeners":{ + "name":"ListCustomRoutingListeners", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomRoutingListenersRequest"}, + "output":{"shape":"ListCustomRoutingListenersResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListCustomRoutingPortMappings":{ + "name":"ListCustomRoutingPortMappings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomRoutingPortMappingsRequest"}, + "output":{"shape":"ListCustomRoutingPortMappingsResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListCustomRoutingPortMappingsByDestination":{ + "name":"ListCustomRoutingPortMappingsByDestination", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomRoutingPortMappingsByDestinationRequest"}, + "output":{"shape":"ListCustomRoutingPortMappingsByDestinationResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"EndpointNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ] + }, "ListEndpointGroups":{ "name":"ListEndpointGroups", "http":{ @@ -280,6 +545,22 @@ {"shape":"IncorrectCidrStateException"} ] }, + "RemoveCustomRoutingEndpoints":{ + "name":"RemoveCustomRoutingEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveCustomRoutingEndpointsRequest"}, + "errors":[ + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"EndpointNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ] + }, "TagResource":{ "name":"TagResource", "http":{ @@ -337,6 +618,51 @@ {"shape":"AccessDeniedException"} ] }, + "UpdateCustomRoutingAccelerator":{ + "name":"UpdateCustomRoutingAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomRoutingAcceleratorRequest"}, + "output":{"shape":"UpdateCustomRoutingAcceleratorResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ] + }, + "UpdateCustomRoutingAcceleratorAttributes":{ + "name":"UpdateCustomRoutingAcceleratorAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomRoutingAcceleratorAttributesRequest"}, + "output":{"shape":"UpdateCustomRoutingAcceleratorAttributesResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"} + ] + }, + "UpdateCustomRoutingListener":{ + "name":"UpdateCustomRoutingListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomRoutingListenerRequest"}, + "output":{"shape":"UpdateCustomRoutingListenerResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidPortRangeException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"LimitExceededException"} + ] + }, "UpdateEndpointGroup":{ "name":"UpdateEndpointGroup", "http":{ @@ -441,6 +767,24 @@ }, "exception":true }, + "AddCustomRoutingEndpointsRequest":{ + "type":"structure", + "required":[ + "EndpointConfigurations", + "EndpointGroupArn" + ], + "members":{ + "EndpointConfigurations":{"shape":"CustomRoutingEndpointConfigurations"}, + "EndpointGroupArn":{"shape":"GenericString"} + } + }, + "AddCustomRoutingEndpointsResponse":{ + "type":"structure", + "members":{ + "EndpointDescriptions":{"shape":"CustomRoutingEndpointDescriptions"}, + "EndpointGroupArn":{"shape":"GenericString"} + } + }, "AdvertiseByoipCidrRequest":{ "type":"structure", "required":["Cidr"], @@ -454,6 +798,20 @@ "ByoipCidr":{"shape":"ByoipCidr"} } }, + "AllowCustomRoutingTrafficRequest":{ + "type":"structure", + "required":[ + "EndpointGroupArn", + "EndpointId" + ], + "members":{ + "EndpointGroupArn":{"shape":"GenericString"}, + "EndpointId":{"shape":"GenericString"}, + "DestinationAddresses":{"shape":"DestinationAddresses"}, + "DestinationPorts":{"shape":"DestinationPorts"}, + "AllowAllTrafficToEndpoint":{"shape":"GenericBoolean"} + } + }, "AssociatedEndpointGroupFoundException":{ "type":"structure", "members":{ @@ -532,6 +890,13 @@ "SOURCE_IP" ] }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "CreateAcceleratorRequest":{ "type":"structure", "required":[ @@ -556,6 +921,75 @@ "Accelerator":{"shape":"Accelerator"} } }, + "CreateCustomRoutingAcceleratorRequest":{ + "type":"structure", + "required":[ + "Name", + "IdempotencyToken" + ], + "members":{ + "Name":{"shape":"GenericString"}, + "IpAddressType":{"shape":"IpAddressType"}, + "Enabled":{"shape":"GenericBoolean"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "Tags":{"shape":"Tags"} + } + }, + "CreateCustomRoutingAcceleratorResponse":{ + "type":"structure", + "members":{ + "Accelerator":{"shape":"CustomRoutingAccelerator"} + } + }, + "CreateCustomRoutingEndpointGroupRequest":{ + "type":"structure", + "required":[ + "ListenerArn", + "EndpointGroupRegion", + "DestinationConfigurations", + "IdempotencyToken" + ], + "members":{ + "ListenerArn":{"shape":"GenericString"}, + "EndpointGroupRegion":{"shape":"GenericString"}, + "DestinationConfigurations":{"shape":"CustomRoutingDestinationConfigurations"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateCustomRoutingEndpointGroupResponse":{ + "type":"structure", + "members":{ + "EndpointGroup":{"shape":"CustomRoutingEndpointGroup"} + } + }, + "CreateCustomRoutingListenerRequest":{ + "type":"structure", + "required":[ + "AcceleratorArn", + "PortRanges", + "IdempotencyToken" + ], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "PortRanges":{"shape":"PortRanges"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateCustomRoutingListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{"shape":"CustomRoutingListener"} + } + }, "CreateEndpointGroupRequest":{ "type":"structure", "required":[ @@ -570,7 +1004,7 @@ "TrafficDialPercentage":{"shape":"TrafficDialPercentage"}, "HealthCheckPort":{"shape":"HealthCheckPort"}, "HealthCheckProtocol":{"shape":"HealthCheckProtocol"}, - "HealthCheckPath":{"shape":"GenericString"}, + "HealthCheckPath":{"shape":"HealthCheckPath"}, "HealthCheckIntervalSeconds":{"shape":"HealthCheckIntervalSeconds"}, "ThresholdCount":{"shape":"ThresholdCount"}, "IdempotencyToken":{ @@ -580,42 +1014,193 @@ "PortOverrides":{"shape":"PortOverrides"} } }, - "CreateEndpointGroupResponse":{ + "CreateEndpointGroupResponse":{ + "type":"structure", + "members":{ + "EndpointGroup":{"shape":"EndpointGroup"} + } + }, + "CreateListenerRequest":{ + "type":"structure", + "required":[ + "AcceleratorArn", + "PortRanges", + "Protocol", + "IdempotencyToken" + ], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "PortRanges":{"shape":"PortRanges"}, + "Protocol":{"shape":"Protocol"}, + "ClientAffinity":{"shape":"ClientAffinity"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{"shape":"Listener"} + } + }, + "CustomRoutingAccelerator":{ + "type":"structure", + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "Name":{"shape":"GenericString"}, + "IpAddressType":{"shape":"IpAddressType"}, + "Enabled":{"shape":"GenericBoolean"}, + "IpSets":{"shape":"IpSets"}, + "DnsName":{"shape":"GenericString"}, + "Status":{"shape":"CustomRoutingAcceleratorStatus"}, + "CreatedTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"} + } + }, + "CustomRoutingAcceleratorAttributes":{ + "type":"structure", + "members":{ + "FlowLogsEnabled":{"shape":"GenericBoolean"}, + "FlowLogsS3Bucket":{"shape":"GenericString"}, + "FlowLogsS3Prefix":{"shape":"GenericString"} + } + }, + "CustomRoutingAcceleratorStatus":{ + "type":"string", + "enum":[ + "DEPLOYED", + "IN_PROGRESS" + ] + }, + "CustomRoutingAccelerators":{ + "type":"list", + "member":{"shape":"CustomRoutingAccelerator"} + }, + "CustomRoutingDestinationConfiguration":{ + "type":"structure", + "required":[ + "FromPort", + "ToPort", + "Protocols" + ], + "members":{ + "FromPort":{"shape":"PortNumber"}, + "ToPort":{"shape":"PortNumber"}, + "Protocols":{"shape":"CustomRoutingProtocols"} + } + }, + "CustomRoutingDestinationConfigurations":{ + "type":"list", + "member":{"shape":"CustomRoutingDestinationConfiguration"}, + "max":100, + "min":1 + }, + "CustomRoutingDestinationDescription":{ + "type":"structure", + "members":{ + "FromPort":{"shape":"PortNumber"}, + "ToPort":{"shape":"PortNumber"}, + "Protocols":{"shape":"Protocols"} + } + }, + "CustomRoutingDestinationDescriptions":{ + "type":"list", + "member":{"shape":"CustomRoutingDestinationDescription"} + }, + "CustomRoutingDestinationTrafficState":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "CustomRoutingEndpointConfiguration":{ + "type":"structure", + "members":{ + "EndpointId":{"shape":"GenericString"} + } + }, + "CustomRoutingEndpointConfigurations":{ + "type":"list", + "member":{"shape":"CustomRoutingEndpointConfiguration"}, + "max":20, + "min":1 + }, + "CustomRoutingEndpointDescription":{ + "type":"structure", + "members":{ + "EndpointId":{"shape":"GenericString"} + } + }, + "CustomRoutingEndpointDescriptions":{ + "type":"list", + "member":{"shape":"CustomRoutingEndpointDescription"} + }, + "CustomRoutingEndpointGroup":{ + "type":"structure", + "members":{ + "EndpointGroupArn":{"shape":"GenericString"}, + "EndpointGroupRegion":{"shape":"GenericString"}, + "DestinationDescriptions":{"shape":"CustomRoutingDestinationDescriptions"}, + "EndpointDescriptions":{"shape":"CustomRoutingEndpointDescriptions"} + } + }, + "CustomRoutingEndpointGroups":{ + "type":"list", + "member":{"shape":"CustomRoutingEndpointGroup"} + }, + "CustomRoutingListener":{ + "type":"structure", + "members":{ + "ListenerArn":{"shape":"GenericString"}, + "PortRanges":{"shape":"PortRanges"} + } + }, + "CustomRoutingListeners":{ + "type":"list", + "member":{"shape":"CustomRoutingListener"} + }, + "CustomRoutingProtocol":{ + "type":"string", + "enum":[ + "TCP", + "UDP" + ] + }, + "CustomRoutingProtocols":{ + "type":"list", + "member":{"shape":"CustomRoutingProtocol"}, + "max":2, + "min":1 + }, + "DeleteAcceleratorRequest":{ "type":"structure", + "required":["AcceleratorArn"], "members":{ - "EndpointGroup":{"shape":"EndpointGroup"} + "AcceleratorArn":{"shape":"GenericString"} } }, - "CreateListenerRequest":{ + "DeleteCustomRoutingAcceleratorRequest":{ "type":"structure", - "required":[ - "AcceleratorArn", - "PortRanges", - "Protocol", - "IdempotencyToken" - ], + "required":["AcceleratorArn"], "members":{ - "AcceleratorArn":{"shape":"GenericString"}, - "PortRanges":{"shape":"PortRanges"}, - "Protocol":{"shape":"Protocol"}, - "ClientAffinity":{"shape":"ClientAffinity"}, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "idempotencyToken":true - } + "AcceleratorArn":{"shape":"GenericString"} } }, - "CreateListenerResponse":{ + "DeleteCustomRoutingEndpointGroupRequest":{ "type":"structure", + "required":["EndpointGroupArn"], "members":{ - "Listener":{"shape":"Listener"} + "EndpointGroupArn":{"shape":"GenericString"} } }, - "DeleteAcceleratorRequest":{ + "DeleteCustomRoutingListenerRequest":{ "type":"structure", - "required":["AcceleratorArn"], + "required":["ListenerArn"], "members":{ - "AcceleratorArn":{"shape":"GenericString"} + "ListenerArn":{"shape":"GenericString"} } }, "DeleteEndpointGroupRequest":{ @@ -632,6 +1217,20 @@ "ListenerArn":{"shape":"GenericString"} } }, + "DenyCustomRoutingTrafficRequest":{ + "type":"structure", + "required":[ + "EndpointGroupArn", + "EndpointId" + ], + "members":{ + "EndpointGroupArn":{"shape":"GenericString"}, + "EndpointId":{"shape":"GenericString"}, + "DestinationAddresses":{"shape":"DestinationAddresses"}, + "DestinationPorts":{"shape":"DestinationPorts"}, + "DenyAllTrafficToEndpoint":{"shape":"GenericBoolean"} + } + }, "DeprovisionByoipCidrRequest":{ "type":"structure", "required":["Cidr"], @@ -671,6 +1270,58 @@ "Accelerator":{"shape":"Accelerator"} } }, + "DescribeCustomRoutingAcceleratorAttributesRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"} + } + }, + "DescribeCustomRoutingAcceleratorAttributesResponse":{ + "type":"structure", + "members":{ + "AcceleratorAttributes":{"shape":"CustomRoutingAcceleratorAttributes"} + } + }, + "DescribeCustomRoutingAcceleratorRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"} + } + }, + "DescribeCustomRoutingAcceleratorResponse":{ + "type":"structure", + "members":{ + "Accelerator":{"shape":"CustomRoutingAccelerator"} + } + }, + "DescribeCustomRoutingEndpointGroupRequest":{ + "type":"structure", + "required":["EndpointGroupArn"], + "members":{ + "EndpointGroupArn":{"shape":"GenericString"} + } + }, + "DescribeCustomRoutingEndpointGroupResponse":{ + "type":"structure", + "members":{ + "EndpointGroup":{"shape":"CustomRoutingEndpointGroup"} + } + }, + "DescribeCustomRoutingListenerRequest":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{"shape":"GenericString"} + } + }, + "DescribeCustomRoutingListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{"shape":"CustomRoutingListener"} + } + }, "DescribeEndpointGroupRequest":{ "type":"structure", "required":["EndpointGroupArn"], @@ -697,6 +1348,40 @@ "Listener":{"shape":"Listener"} } }, + "DestinationAddresses":{ + "type":"list", + "member":{"shape":"IpAddress"}, + "max":100 + }, + "DestinationPortMapping":{ + "type":"structure", + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "AcceleratorSocketAddresses":{"shape":"SocketAddresses"}, + "EndpointGroupArn":{"shape":"GenericString"}, + "EndpointId":{"shape":"GenericString"}, + "EndpointGroupRegion":{"shape":"GenericString"}, + "DestinationSocketAddress":{"shape":"SocketAddress"}, + "IpAddressType":{"shape":"IpAddressType"}, + "DestinationTrafficState":{"shape":"CustomRoutingDestinationTrafficState"} + } + }, + "DestinationPortMappings":{ + "type":"list", + "member":{"shape":"DestinationPortMapping"} + }, + "DestinationPorts":{ + "type":"list", + "member":{"shape":"PortNumber"}, + "max":100 + }, + "EndpointAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "EndpointConfiguration":{ "type":"structure", "members":{ @@ -734,7 +1419,7 @@ "TrafficDialPercentage":{"shape":"TrafficDialPercentage"}, "HealthCheckPort":{"shape":"HealthCheckPort"}, "HealthCheckProtocol":{"shape":"HealthCheckProtocol"}, - "HealthCheckPath":{"shape":"GenericString"}, + "HealthCheckPath":{"shape":"HealthCheckPath"}, "HealthCheckIntervalSeconds":{"shape":"HealthCheckIntervalSeconds"}, "ThresholdCount":{"shape":"ThresholdCount"}, "PortOverrides":{"shape":"PortOverrides"} @@ -758,6 +1443,17 @@ "type":"list", "member":{"shape":"EndpointGroup"} }, + "EndpointIds":{ + "type":"list", + "member":{"shape":"GenericString"} + }, + "EndpointNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "EndpointWeight":{ "type":"integer", "max":255, @@ -774,6 +1470,11 @@ "max":30, "min":10 }, + "HealthCheckPath":{ + "type":"string", + "max":255, + "pattern":"^/[-a-zA-Z0-9@:%_\\\\+.~#?&/=]*$" + }, "HealthCheckPort":{ "type":"integer", "max":65535, @@ -834,7 +1535,10 @@ }, "exception":true }, - "IpAddress":{"type":"string"}, + "IpAddress":{ + "type":"string", + "max":45 + }, "IpAddressType":{ "type":"string", "enum":["IPV4"] @@ -891,6 +1595,89 @@ "NextToken":{"shape":"GenericString"} } }, + "ListCustomRoutingAcceleratorsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingAcceleratorsResponse":{ + "type":"structure", + "members":{ + "Accelerators":{"shape":"CustomRoutingAccelerators"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingEndpointGroupsRequest":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{"shape":"GenericString"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingEndpointGroupsResponse":{ + "type":"structure", + "members":{ + "EndpointGroups":{"shape":"CustomRoutingEndpointGroups"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingListenersRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingListenersResponse":{ + "type":"structure", + "members":{ + "Listeners":{"shape":"CustomRoutingListeners"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingPortMappingsByDestinationRequest":{ + "type":"structure", + "required":[ + "EndpointId", + "DestinationAddress" + ], + "members":{ + "EndpointId":{"shape":"GenericString"}, + "DestinationAddress":{"shape":"GenericString"}, + "MaxResults":{"shape":"PortMappingsMaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingPortMappingsByDestinationResponse":{ + "type":"structure", + "members":{ + "DestinationPortMappings":{"shape":"DestinationPortMappings"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingPortMappingsRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "EndpointGroupArn":{"shape":"GenericString"}, + "MaxResults":{"shape":"PortMappingsMaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCustomRoutingPortMappingsResponse":{ + "type":"structure", + "members":{ + "PortMappings":{"shape":"PortMappings"}, + "NextToken":{"shape":"GenericString"} + } + }, "ListEndpointGroupsRequest":{ "type":"structure", "required":["ListenerArn"], @@ -961,6 +1748,26 @@ "max":100, "min":1 }, + "PortMapping":{ + "type":"structure", + "members":{ + "AcceleratorPort":{"shape":"PortNumber"}, + "EndpointGroupArn":{"shape":"GenericString"}, + "EndpointId":{"shape":"GenericString"}, + "DestinationSocketAddress":{"shape":"SocketAddress"}, + "Protocols":{"shape":"CustomRoutingProtocols"}, + "DestinationTrafficState":{"shape":"CustomRoutingDestinationTrafficState"} + } + }, + "PortMappings":{ + "type":"list", + "member":{"shape":"PortMapping"} + }, + "PortMappingsMaxResults":{ + "type":"integer", + "max":20000, + "min":1 + }, "PortNumber":{ "type":"integer", "max":65535, @@ -999,6 +1806,10 @@ "UDP" ] }, + "Protocols":{ + "type":"list", + "member":{"shape":"Protocol"} + }, "ProvisionByoipCidrRequest":{ "type":"structure", "required":[ @@ -1016,11 +1827,33 @@ "ByoipCidr":{"shape":"ByoipCidr"} } }, + "RemoveCustomRoutingEndpointsRequest":{ + "type":"structure", + "required":[ + "EndpointIds", + "EndpointGroupArn" + ], + "members":{ + "EndpointIds":{"shape":"EndpointIds"}, + "EndpointGroupArn":{"shape":"GenericString"} + } + }, "ResourceArn":{ "type":"string", "max":1011, "min":1 }, + "SocketAddress":{ + "type":"structure", + "members":{ + "IpAddress":{"shape":"GenericString"}, + "Port":{"shape":"PortNumber"} + } + }, + "SocketAddresses":{ + "type":"list", + "member":{"shape":"SocketAddress"} + }, "Tag":{ "type":"structure", "required":[ @@ -1127,6 +1960,55 @@ "Accelerator":{"shape":"Accelerator"} } }, + "UpdateCustomRoutingAcceleratorAttributesRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "FlowLogsEnabled":{"shape":"GenericBoolean"}, + "FlowLogsS3Bucket":{"shape":"GenericString"}, + "FlowLogsS3Prefix":{"shape":"GenericString"} + } + }, + "UpdateCustomRoutingAcceleratorAttributesResponse":{ + "type":"structure", + "members":{ + "AcceleratorAttributes":{"shape":"CustomRoutingAcceleratorAttributes"} + } + }, + "UpdateCustomRoutingAcceleratorRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "Name":{"shape":"GenericString"}, + "IpAddressType":{"shape":"IpAddressType"}, + "Enabled":{"shape":"GenericBoolean"} + } + }, + "UpdateCustomRoutingAcceleratorResponse":{ + "type":"structure", + "members":{ + "Accelerator":{"shape":"CustomRoutingAccelerator"} + } + }, + "UpdateCustomRoutingListenerRequest":{ + "type":"structure", + "required":[ + "ListenerArn", + "PortRanges" + ], + "members":{ + "ListenerArn":{"shape":"GenericString"}, + "PortRanges":{"shape":"PortRanges"} + } + }, + "UpdateCustomRoutingListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{"shape":"CustomRoutingListener"} + } + }, "UpdateEndpointGroupRequest":{ "type":"structure", "required":["EndpointGroupArn"], @@ -1136,7 +2018,7 @@ "TrafficDialPercentage":{"shape":"TrafficDialPercentage"}, "HealthCheckPort":{"shape":"HealthCheckPort"}, "HealthCheckProtocol":{"shape":"HealthCheckProtocol"}, - "HealthCheckPath":{"shape":"GenericString"}, + "HealthCheckPath":{"shape":"HealthCheckPath"}, "HealthCheckIntervalSeconds":{"shape":"HealthCheckIntervalSeconds"}, "ThresholdCount":{"shape":"ThresholdCount"}, "PortOverrides":{"shape":"PortOverrides"} diff --git a/models/apis/globalaccelerator/2018-08-08/docs-2.json b/models/apis/globalaccelerator/2018-08-08/docs-2.json index 4be64a69465..f5c67700e8c 100644 --- a/models/apis/globalaccelerator/2018-08-08/docs-2.json +++ b/models/apis/globalaccelerator/2018-08-08/docs-2.json @@ -1,32 +1,54 @@ { "version": "2.0", - "service": "AWS Global Accelerator

This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide.

AWS Global Accelerator is a service in which you create accelerators to improve availability and performance of your applications for local and global users. Global Accelerator directs traffic to optimal endpoints over the AWS global network. This improves the availability and performance of your internet applications that are used by a global audience. Global Accelerator is a global service that supports endpoints in multiple AWS Regions, which are listed in the AWS Region Table.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

By default, Global Accelerator provides you with static IP addresses that you associate with your accelerator. (Instead of using the IP addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator.) The static IP addresses are anycast from the AWS edge network and distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints can be Network Load Balancers, Application Load Balancers, EC2 instances, or Elastic IP addresses that are located in one AWS Region or multiple Regions.

Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is directed to only healthy endpoints.

Global Accelerator includes components that work together to help you improve performance and availability for your applications:

Static IP address

By default, AWS Global Accelerator provides you with a set of static IP addresses that are anycast from the AWS edge network and serve as the single fixed entry points for your clients. Or you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide. If you already have load balancers, EC2 instances, or Elastic IP addresses set up for your applications, you can easily add those to Global Accelerator to allow the resources to be accessed by the static IP addresses.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Authentication and Access Control in the AWS Global Accelerator Developer Guide.

Accelerator

An accelerator directs traffic to optimal endpoints over the AWS global network to improve availability and performance for your internet applications that have a global audience. Each accelerator includes one or more listeners.

DNS name

Global Accelerator assigns each accelerator a default Domain Name System (DNS) name, similar to a1234567890abcdef.awsglobalaccelerator.com, that points to your Global Accelerator static IP addresses. Depending on the use case, you can use your accelerator's static IP addresses or DNS name to route traffic to your accelerator, or set up DNS records to route traffic using your own custom domain name.

Network zone

A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, by default, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone.

Listener

A listener processes inbound connections from clients to Global Accelerator, based on the protocol and port that you configure. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. Traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.

Endpoint group

Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. You can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing for new releases across different AWS Regions, for example.

Endpoint

An endpoint is a Network Load Balancer, Application Load Balancer, EC2 instance, or Elastic IP address. Traffic is routed to endpoints based on several factors, including the geo-proximity to the user, the health of the endpoint, and the configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region.

", + "service": "AWS Global Accelerator

This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide.

AWS Global Accelerator is a service in which you create accelerators to improve the performance of your applications for local and global users. Depending on the type of accelerator you choose, you can gain additional benefits.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

By default, Global Accelerator provides you with two static IP addresses that you associate with your accelerator. With a standard accelerator, instead of using the IP addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator. The static IP addresses are anycast from the AWS edge network. For a standard accelerator, they distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses that are located in one AWS Region or multiple Regions. For custom routing accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that are virtual private cloud (VPC) subnets.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Tag-based policies.

For standard accelerators, Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is always directed to healthy endpoints.

For a list of the AWS Regions where Global Accelerator and other services are currently supported, see the AWS Region Table.

AWS Global Accelerator includes the following components:

Static IP addresses

Global Accelerator provides you with a set of two static IP addresses that are anycast from the AWS edge network. If you bring your own IP address range to AWS (BYOIP) to use with a standard accelerator, you can instead assign IP addresses from your own pool to use with your accelerator. For more information, see Bring your own IP addresses (BYOIP) in AWS Global Accelerator.

The IP addresses serve as single fixed entry points for your clients. If you already have Elastic Load Balancing load balancers, Amazon EC2 instances, or Elastic IP address resources set up for your applications, you can easily add those to a standard accelerator in Global Accelerator. This allows Global Accelerator to use static IP addresses to access the resources.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to delete an accelerator. For more information, see Tag-based policies.

Accelerator

An accelerator directs traffic to endpoints over the AWS global network to improve the performance of your internet applications. Each accelerator includes one or more listeners.

There are two types of accelerators:

For more information, see Types of accelerators.

DNS name

Global Accelerator assigns each accelerator a default Domain Name System (DNS) name, similar to a1234567890abcdef.awsglobalaccelerator.com, that points to the static IP addresses that Global Accelerator assigns to you or that you choose from your own IP address range. Depending on the use case, you can use your accelerator's static IP addresses or DNS name to route traffic to your accelerator, or set up DNS records to route traffic using your own custom domain name.

Network zone

A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, by default, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone.

Listener

A listener processes inbound connections from clients to Global Accelerator, based on the port (or port range) and protocol (or protocols) that you configure. A listener can be configured for TCP, UDP, or both TCP and UDP protocols. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. With a standard accelerator, traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.

Endpoint group

Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. With a standard accelerator, you can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing, for example, for new releases across different AWS Regions.

Endpoint

An endpoint is a resource that Global Accelerator directs traffic to.

Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses. An Application Load Balancer endpoint can be internet-facing or internal. Traffic for standard accelerators is routed to endpoints based on the health of the endpoint along with configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region.

Endpoints for custom routing accelerators are virtual private cloud (VPC) subnets with one or many EC2 instances.

", "operations": { - "AdvertiseByoipCidr": "

Advertises an IPv4 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP). It can take a few minutes before traffic to the specified addresses starts routing to AWS because of propagation delays. To see an AWS CLI example of advertising an address range, scroll down to Example.

To stop advertising the BYOIP address range, use WithdrawByoipCidr.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

", - "CreateAccelerator": "

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.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

", - "CreateEndpointGroup": "

Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. A resource must be valid and active when you add it as an endpoint.

To see an AWS CLI example of creating an endpoint group, scroll down to Example.

", - "CreateListener": "

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.

", + "AddCustomRoutingEndpoints": "

Associate a virtual private cloud (VPC) subnet endpoint with your custom routing accelerator.

The listener port range must be large enough to support the number of IP addresses that can be specified in your subnet. The number of ports required is: subnet size times the number of ports per destination EC2 instances. For example, a subnet defined as /24 requires a listener port range of at least 255 ports.

Note: You must have enough remaining listener ports available to map to the subnet ports, or the call will fail with a LimitExceededException.

By default, all destinations in a subnet in a custom routing accelerator cannot receive traffic. To enable all destinations to receive traffic, or to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic operation.

", + "AdvertiseByoipCidr": "

Advertises an IPv4 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP). It can take a few minutes before traffic to the specified addresses starts routing to AWS because of propagation delays.

To stop advertising the BYOIP address range, use WithdrawByoipCidr.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

", + "AllowCustomRoutingTraffic": "

Specify the Amazon EC2 instance (destination) IP addresses and ports for a VPC subnet endpoint that can receive traffic for a custom routing accelerator. You can allow traffic to all destinations in the subnet endpoint, or allow traffic to a specified list of destination IP addresses and ports in the subnet. Note that you cannot specify IP addresses or ports outside of the range that you configured for the endpoint group.

After you make changes, you can verify that the updates are complete by checking the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED.

", + "CreateAccelerator": "

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.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

", + "CreateCustomRoutingAccelerator": "

Create a custom routing accelerator. A custom routing accelerator directs traffic to one of possibly thousands of Amazon EC2 instance destinations running in a single or multiple virtual private clouds (VPC) subnet endpoints.

Be aware that, by default, all destination EC2 instances in a VPC subnet endpoint cannot receive traffic. To enable all destinations to receive traffic, or to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic operation.

", + "CreateCustomRoutingEndpointGroup": "

Create an endpoint group for the specified listener for a custom routing accelerator. An endpoint group is a collection of endpoints in one AWS Region.

", + "CreateCustomRoutingListener": "

Create a listener to process inbound connections from clients to a custom routing accelerator. Connections arrive to assigned static IP addresses on the port range that you specify.

", + "CreateEndpointGroup": "

Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. A resource must be valid and active when you add it as an endpoint.

", + "CreateListener": "

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.

", "DeleteAccelerator": "

Delete an accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false.

When you create an accelerator, by default, Global Accelerator provides you with a set of two static IP addresses. Alternatively, you can bring your own IP address ranges to Global Accelerator and assign IP addresses from those ranges.

The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Authentication and Access Control in the AWS Global Accelerator Developer Guide.

", + "DeleteCustomRoutingAccelerator": "

Delete a custom routing accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false.

When you create a custom routing accelerator, by default, Global Accelerator provides you with a set of two static IP addresses.

The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Authentication and Access Control in the AWS Global Accelerator Developer Guide.

", + "DeleteCustomRoutingEndpointGroup": "

Delete an endpoint group from a listener for a custom routing accelerator.

", + "DeleteCustomRoutingListener": "

Delete a listener for a custom routing accelerator.

", "DeleteEndpointGroup": "

Delete an endpoint group from a listener.

", "DeleteListener": "

Delete a listener from an accelerator.

", - "DeprovisionByoipCidr": "

Releases the specified address range that you provisioned to use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool. To see an AWS CLI example of deprovisioning an address range, scroll down to Example.

Before you can release an address range, you must stop advertising it by using WithdrawByoipCidr and you must not have any accelerators that are using static IP addresses allocated from its address range.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

", - "DescribeAccelerator": "

Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example.

", - "DescribeAcceleratorAttributes": "

Describe the attributes of an accelerator. To see an AWS CLI example of describing the attributes of an accelerator, scroll down to Example.

", - "DescribeEndpointGroup": "

Describe an endpoint group. To see an AWS CLI example of describing an endpoint group, scroll down to Example.

", - "DescribeListener": "

Describe a listener. To see an AWS CLI example of describing a listener, scroll down to Example.

", - "ListAccelerators": "

List the accelerators for an AWS account. To see an AWS CLI example of listing the accelerators for an AWS account, scroll down to Example.

", - "ListByoipCidrs": "

Lists the IP address ranges that were specified in calls to ProvisionByoipCidr, including the current state and a history of state changes.

To see an AWS CLI example of listing BYOIP CIDR addresses, scroll down to Example.

", - "ListEndpointGroups": "

List the endpoint groups that are associated with a listener. To see an AWS CLI example of listing the endpoint groups for listener, scroll down to Example.

", - "ListListeners": "

List the listeners for an accelerator. To see an AWS CLI example of listing the listeners for an accelerator, scroll down to Example.

", - "ListTagsForResource": "

List all tags for an accelerator. To see an AWS CLI example of listing tags for an accelerator, scroll down to Example.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", - "ProvisionByoipCidr": "

Provisions an IP address range to use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

To see an AWS CLI example of provisioning an address range for BYOIP, scroll down to Example.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

", - "TagResource": "

Add tags to an accelerator resource. To see an AWS CLI example of adding tags to an accelerator, scroll down to Example.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", - "UntagResource": "

Remove tags from a Global Accelerator resource. When you specify a tag key, the action removes both that key and its associated value. To see an AWS CLI example of removing tags from an accelerator, scroll down to Example. The operation succeeds even if you attempt to remove tags from an accelerator that was already removed.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", - "UpdateAccelerator": "

Update an accelerator. To see an AWS CLI example of updating an accelerator, scroll down to Example.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

", - "UpdateAcceleratorAttributes": "

Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow logs, scroll down to Example.

", - "UpdateEndpointGroup": "

Update an endpoint group. A resource must be valid and active when you add it as an endpoint.

To see an AWS CLI example of updating an endpoint group, scroll down to Example.

", - "UpdateListener": "

Update a listener. To see an AWS CLI example of updating listener, scroll down to Example.

", - "WithdrawByoipCidr": "

Stops advertising an address range that is provisioned as an address pool. You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time. To see an AWS CLI example of withdrawing an address range for BYOIP so it will no longer be advertised by AWS, scroll down to Example.

It can take a few minutes before traffic to the specified addresses stops routing to AWS because of propagation delays.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + "DenyCustomRoutingTraffic": "

Specify the Amazon EC2 instance (destination) IP addresses and ports for a VPC subnet endpoint that cannot receive traffic for a custom routing accelerator. You can deny traffic to all destinations in the VPC endpoint, or deny traffic to a specified list of destination IP addresses and ports. Note that you cannot specify IP addresses or ports outside of the range that you configured for the endpoint group.

After you make changes, you can verify that the updates are complete by checking the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED.

", + "DeprovisionByoipCidr": "

Releases the specified address range that you provisioned to use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

Before you can release an address range, you must stop advertising it by using WithdrawByoipCidr and you must not have any accelerators that are using static IP addresses allocated from its address range.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

", + "DescribeAccelerator": "

Describe an accelerator.

", + "DescribeAcceleratorAttributes": "

Describe the attributes of an accelerator.

", + "DescribeCustomRoutingAccelerator": "

Describe a custom routing accelerator.

", + "DescribeCustomRoutingAcceleratorAttributes": "

Describe the attributes of a custom routing accelerator.

", + "DescribeCustomRoutingEndpointGroup": "

Describe an endpoint group for a custom routing accelerator.

", + "DescribeCustomRoutingListener": "

The description of a listener for a custom routing accelerator.

", + "DescribeEndpointGroup": "

Describe an endpoint group.

", + "DescribeListener": "

Describe a listener.

", + "ListAccelerators": "

List the accelerators for an AWS account.

", + "ListByoipCidrs": "

Lists the IP address ranges that were specified in calls to ProvisionByoipCidr, including the current state and a history of state changes.

", + "ListCustomRoutingAccelerators": "

List the custom routing accelerators for an AWS account.

", + "ListCustomRoutingEndpointGroups": "

List the endpoint groups that are associated with a listener for a custom routing accelerator.

", + "ListCustomRoutingListeners": "

List the listeners for a custom routing accelerator.

", + "ListCustomRoutingPortMappings": "

Provides a complete mapping from the public accelerator IP address and port to destination EC2 instance IP addresses and ports in the virtual public cloud (VPC) subnet endpoint for a custom routing accelerator. For each subnet endpoint that you add, Global Accelerator creates a new static port mapping for the accelerator. The port mappings don't change after Global Accelerator generates them, so you can retrieve and cache the full mapping on your servers.

If you remove a subnet from your accelerator, Global Accelerator removes (reclaims) the port mappings. If you add a subnet to your accelerator, Global Accelerator creates new port mappings (the existing ones don't change). If you add or remove EC2 instances in your subnet, the port mappings don't change, because the mappings are created when you add the subnet to Global Accelerator.

The mappings also include a flag for each destination denoting which destination IP addresses and ports are allowed or denied traffic.

", + "ListCustomRoutingPortMappingsByDestination": "

List the port mappings for a specific EC2 instance (destination) in a VPC subnet endpoint. The response is the mappings for one destination IP address. This is useful when your subnet endpoint has mappings that span multiple custom routing accelerators in your account, or for scenarios where you only want to list the port mappings for a specific destination instance.

", + "ListEndpointGroups": "

List the endpoint groups that are associated with a listener.

", + "ListListeners": "

List the listeners for an accelerator.

", + "ListTagsForResource": "

List all tags for an accelerator.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", + "ProvisionByoipCidr": "

Provisions an IP address range to use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

", + "RemoveCustomRoutingEndpoints": "

Remove endpoints from a custom routing accelerator.

", + "TagResource": "

Add tags to an accelerator resource.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", + "UntagResource": "

Remove tags from a Global Accelerator resource. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from an accelerator that was already removed.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", + "UpdateAccelerator": "

Update an accelerator.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

", + "UpdateAcceleratorAttributes": "

Update the attributes for an accelerator.

", + "UpdateCustomRoutingAccelerator": "

Update a custom routing accelerator.

", + "UpdateCustomRoutingAcceleratorAttributes": "

Update the attributes for a custom routing accelerator.

", + "UpdateCustomRoutingListener": "

Update a listener for a custom routing accelerator.

", + "UpdateEndpointGroup": "

Update an endpoint group. A resource must be valid and active when you add it as an endpoint.

", + "UpdateListener": "

Update a listener.

", + "WithdrawByoipCidr": "

Stops advertising an address range that is provisioned as an address pool. You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time.

It can take a few minutes before traffic to the specified addresses stops routing to AWS because of propagation delays.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" }, "shapes": { "Accelerator": { @@ -72,6 +94,16 @@ "refs": { } }, + "AddCustomRoutingEndpointsRequest": { + "base": null, + "refs": { + } + }, + "AddCustomRoutingEndpointsResponse": { + "base": null, + "refs": { + } + }, "AdvertiseByoipCidrRequest": { "base": null, "refs": { @@ -82,6 +114,11 @@ "refs": { } }, + "AllowCustomRoutingTrafficRequest": { + "base": null, + "refs": { + } + }, "AssociatedEndpointGroupFoundException": { "base": "

The listener that you specified has an endpoint group associated with it. You must remove all dependent resources from a listener before you can delete it.

", "refs": { @@ -145,6 +182,11 @@ "UpdateListenerRequest$ClientAffinity": "

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 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.

" } }, + "ConflictException": { + "base": "

You can't use both of those options.

", + "refs": { + } + }, "CreateAcceleratorRequest": { "base": null, "refs": { @@ -155,6 +197,36 @@ "refs": { } }, + "CreateCustomRoutingAcceleratorRequest": { + "base": null, + "refs": { + } + }, + "CreateCustomRoutingAcceleratorResponse": { + "base": null, + "refs": { + } + }, + "CreateCustomRoutingEndpointGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateCustomRoutingEndpointGroupResponse": { + "base": null, + "refs": { + } + }, + "CreateCustomRoutingListenerRequest": { + "base": null, + "refs": { + } + }, + "CreateCustomRoutingListenerResponse": { + "base": null, + "refs": { + } + }, "CreateEndpointGroupRequest": { "base": null, "refs": { @@ -175,11 +247,152 @@ "refs": { } }, + "CustomRoutingAccelerator": { + "base": "

Attributes of a custom routing accelerator.

", + "refs": { + "CreateCustomRoutingAcceleratorResponse$Accelerator": "

The accelerator that is created.

", + "CustomRoutingAccelerators$member": null, + "DescribeCustomRoutingAcceleratorResponse$Accelerator": "

The description of the custom routing accelerator.

", + "UpdateCustomRoutingAcceleratorResponse$Accelerator": "

Information about the updated custom routing accelerator.

" + } + }, + "CustomRoutingAcceleratorAttributes": { + "base": "

Attributes of a custom routing accelerator.

", + "refs": { + "DescribeCustomRoutingAcceleratorAttributesResponse$AcceleratorAttributes": "

The attributes of the custom routing accelerator.

", + "UpdateCustomRoutingAcceleratorAttributesResponse$AcceleratorAttributes": "

Updated custom routing accelerator.

" + } + }, + "CustomRoutingAcceleratorStatus": { + "base": null, + "refs": { + "CustomRoutingAccelerator$Status": "

Describes the deployment status of the accelerator.

" + } + }, + "CustomRoutingAccelerators": { + "base": null, + "refs": { + "ListCustomRoutingAcceleratorsResponse$Accelerators": "

The list of custom routing accelerators for a customer account.

" + } + }, + "CustomRoutingDestinationConfiguration": { + "base": "

For a custom routing accelerator, sets the port range and protocol for all endpoints (virtual private cloud subnets) in an endpoint group to accept client traffic on.

", + "refs": { + "CustomRoutingDestinationConfigurations$member": null + } + }, + "CustomRoutingDestinationConfigurations": { + "base": null, + "refs": { + "CreateCustomRoutingEndpointGroupRequest$DestinationConfigurations": "

Sets the port range and protocol for all endpoints (virtual private cloud subnets) in a custom routing endpoint group to accept client traffic on.

" + } + }, + "CustomRoutingDestinationDescription": { + "base": "

For a custom routing accelerator, describes the port range and protocol for all endpoints (virtual private cloud subnets) in an endpoint group to accept client traffic on.

", + "refs": { + "CustomRoutingDestinationDescriptions$member": null + } + }, + "CustomRoutingDestinationDescriptions": { + "base": null, + "refs": { + "CustomRoutingEndpointGroup$DestinationDescriptions": "

For a custom routing accelerator, describes the port range and protocol for all endpoints (virtual private cloud subnets) in an endpoint group to accept client traffic on.

" + } + }, + "CustomRoutingDestinationTrafficState": { + "base": null, + "refs": { + "DestinationPortMapping$DestinationTrafficState": "

Indicates whether or not a port mapping destination can receive traffic. The value is either ALLOW, if traffic is allowed to the destination, or DENY, if traffic is not allowed to the destination.

", + "PortMapping$DestinationTrafficState": "

Indicates whether or not a port mapping destination can receive traffic. The value is either ALLOW, if traffic is allowed to the destination, or DENY, if traffic is not allowed to the destination.

" + } + }, + "CustomRoutingEndpointConfiguration": { + "base": "

The list of endpoint objects. For custom routing, this is a list of virtual private cloud (VPC) subnet IDs.

", + "refs": { + "CustomRoutingEndpointConfigurations$member": null + } + }, + "CustomRoutingEndpointConfigurations": { + "base": null, + "refs": { + "AddCustomRoutingEndpointsRequest$EndpointConfigurations": "

The list of endpoint objects to add to a custom routing accelerator.

" + } + }, + "CustomRoutingEndpointDescription": { + "base": "

A complex type for an endpoint for a custom routing accelerator. Each endpoint group can include one or more endpoints, which are virtual private cloud (VPC) subnets.

", + "refs": { + "CustomRoutingEndpointDescriptions$member": null + } + }, + "CustomRoutingEndpointDescriptions": { + "base": null, + "refs": { + "AddCustomRoutingEndpointsResponse$EndpointDescriptions": "

The endpoint objects added to the custom routing accelerator.

", + "CustomRoutingEndpointGroup$EndpointDescriptions": "

For a custom routing accelerator, describes the endpoints (virtual private cloud subnets) in an endpoint group to accept client traffic on.

" + } + }, + "CustomRoutingEndpointGroup": { + "base": "

A complex type for the endpoint group for a custom routing accelerator. An AWS Region can have only one endpoint group for a specific listener.

", + "refs": { + "CreateCustomRoutingEndpointGroupResponse$EndpointGroup": "

The information about the endpoint group created for a custom routing accelerator.

", + "CustomRoutingEndpointGroups$member": null, + "DescribeCustomRoutingEndpointGroupResponse$EndpointGroup": "

The description of an endpoint group for a custom routing accelerator.

" + } + }, + "CustomRoutingEndpointGroups": { + "base": null, + "refs": { + "ListCustomRoutingEndpointGroupsResponse$EndpointGroups": "

The list of the endpoint groups associated with a listener for a custom routing accelerator.

" + } + }, + "CustomRoutingListener": { + "base": "

A complex type for a listener for a custom routing accelerator.

", + "refs": { + "CreateCustomRoutingListenerResponse$Listener": "

The listener that you've created for a custom routing accelerator.

", + "CustomRoutingListeners$member": null, + "DescribeCustomRoutingListenerResponse$Listener": "

The description of a listener for a custom routing accelerator.

", + "UpdateCustomRoutingListenerResponse$Listener": "

Information for the updated listener for a custom routing accelerator.

" + } + }, + "CustomRoutingListeners": { + "base": null, + "refs": { + "ListCustomRoutingListenersResponse$Listeners": "

The list of listeners for a custom routing accelerator.

" + } + }, + "CustomRoutingProtocol": { + "base": null, + "refs": { + "CustomRoutingProtocols$member": null + } + }, + "CustomRoutingProtocols": { + "base": null, + "refs": { + "CustomRoutingDestinationConfiguration$Protocols": "

The protocol for the endpoint group that is associated with a custom routing accelerator. The protocol can be either TCP or UDP.

", + "PortMapping$Protocols": "

The protocols supported by the endpoint group.

" + } + }, "DeleteAcceleratorRequest": { "base": null, "refs": { } }, + "DeleteCustomRoutingAcceleratorRequest": { + "base": null, + "refs": { + } + }, + "DeleteCustomRoutingEndpointGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteCustomRoutingListenerRequest": { + "base": null, + "refs": { + } + }, "DeleteEndpointGroupRequest": { "base": null, "refs": { @@ -190,6 +403,11 @@ "refs": { } }, + "DenyCustomRoutingTrafficRequest": { + "base": null, + "refs": { + } + }, "DeprovisionByoipCidrRequest": { "base": null, "refs": { @@ -220,6 +438,46 @@ "refs": { } }, + "DescribeCustomRoutingAcceleratorAttributesRequest": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingAcceleratorAttributesResponse": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingAcceleratorRequest": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingAcceleratorResponse": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingEndpointGroupRequest": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingEndpointGroupResponse": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingListenerRequest": { + "base": null, + "refs": { + } + }, + "DescribeCustomRoutingListenerResponse": { + "base": null, + "refs": { + } + }, "DescribeEndpointGroupRequest": { "base": null, "refs": { @@ -240,6 +498,37 @@ "refs": { } }, + "DestinationAddresses": { + "base": null, + "refs": { + "AllowCustomRoutingTrafficRequest$DestinationAddresses": "

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 specified for the endpoint group.

DestinationAddresses is required if AllowAllTrafficToEndpoint is FALSE or is not specified.

", + "DenyCustomRoutingTrafficRequest$DestinationAddresses": "

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 for the VPC subnet associated with the endpoint group.

" + } + }, + "DestinationPortMapping": { + "base": "

The port mappings for a specified endpoint IP address (destination).

", + "refs": { + "DestinationPortMappings$member": null + } + }, + "DestinationPortMappings": { + "base": null, + "refs": { + "ListCustomRoutingPortMappingsByDestinationResponse$DestinationPortMappings": "

The port mappings for the endpoint IP address that you specified in the request.

" + } + }, + "DestinationPorts": { + "base": null, + "refs": { + "AllowCustomRoutingTrafficRequest$DestinationPorts": "

A list of specific Amazon EC2 instance ports (destination ports) that you want to allow to receive traffic.

", + "DenyCustomRoutingTrafficRequest$DestinationPorts": "

A list of specific Amazon EC2 instance ports (destination ports) in a subnet endpoint that you want to prevent from receiving traffic.

" + } + }, + "EndpointAlreadyExistsException": { + "base": "

The endpoint that you specified doesn't exist.

", + "refs": { + } + }, "EndpointConfiguration": { "base": "

A complex type for endpoints. A resource must be valid and active when you add it as an endpoint.

", "refs": { @@ -290,6 +579,17 @@ "ListEndpointGroupsResponse$EndpointGroups": "

The list of the endpoint groups associated with a listener.

" } }, + "EndpointIds": { + "base": null, + "refs": { + "RemoveCustomRoutingEndpointsRequest$EndpointIds": "

The IDs for the endpoints. For custom routing accelerators, endpoint IDs are the virtual private cloud (VPC) subnet IDs.

" + } + }, + "EndpointNotFoundException": { + "base": "

The endpoint that you specified doesn't exist.

", + "refs": { + } + }, "EndpointWeight": { "base": null, "refs": { @@ -306,8 +606,11 @@ "AssociatedEndpointGroupFoundException$Message": null, "AssociatedListenerFoundException$Message": null, "ByoipCidrNotFoundException$Message": null, + "ConflictException$Message": null, + "EndpointAlreadyExistsException$Message": null, "EndpointGroupAlreadyExistsException$Message": null, "EndpointGroupNotFoundException$Message": null, + "EndpointNotFoundException$Message": null, "IncorrectCidrStateException$Message": null, "InternalServiceErrorException$Message": null, "InvalidArgumentException$Message": null, @@ -322,11 +625,18 @@ "refs": { "Accelerator$Enabled": "

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.

", "AcceleratorAttributes$FlowLogsEnabled": "

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.

", + "AllowCustomRoutingTrafficRequest$AllowAllTrafficToEndpoint": "

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 destinations in the custom routing VPC subnet can receive traffic. Note that you cannot specify destination IP addresses and ports when the value is set to TRUE.

When set to FALSE (or not specified), you must specify a list of destination IP addresses that are allowed to receive traffic. A list of ports is optional. If you don't specify a list of ports, the ports that can accept traffic is the same as the ports configured for the endpoint group.

The default value is FALSE.

", "CreateAcceleratorRequest$Enabled": "

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.

", + "CreateCustomRoutingAcceleratorRequest$Enabled": "

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.

", + "CustomRoutingAccelerator$Enabled": "

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.

", + "CustomRoutingAcceleratorAttributes$FlowLogsEnabled": "

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.

", + "DenyCustomRoutingTrafficRequest$DenyAllTrafficToEndpoint": "

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 destinations in the custom routing VPC subnet can receive traffic. Note that you cannot specify destination IP addresses and ports when the value is set to TRUE.

When set to FALSE (or not specified), you must specify a list of destination IP addresses that cannot receive traffic. A list of ports is optional. If you don't specify a list of ports, the ports that can accept traffic is the same as the ports configured for the endpoint group.

The default value is FALSE.

", "EndpointConfiguration$ClientIPPreservationEnabled": "

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 Preserve Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", "EndpointDescription$ClientIPPreservationEnabled": "

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.

", "UpdateAcceleratorAttributesRequest$FlowLogsEnabled": "

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.

", - "UpdateAcceleratorRequest$Enabled": "

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.

" + "UpdateAcceleratorRequest$Enabled": "

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.

", + "UpdateCustomRoutingAcceleratorAttributesRequest$FlowLogsEnabled": "

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.

", + "UpdateCustomRoutingAcceleratorRequest$Enabled": "

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.

" } }, "GenericString": { @@ -337,35 +647,81 @@ "Accelerator$DnsName": "

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 the following: A lowercase 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.

", "AcceleratorAttributes$FlowLogsS3Bucket": "

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.

", "AcceleratorAttributes$FlowLogsS3Prefix": "

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. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

s3-bucket_name//AWSLogs/aws_account_id

", + "AddCustomRoutingEndpointsRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group for the custom routing endpoint.

", + "AddCustomRoutingEndpointsResponse$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group for the custom routing endpoint.

", "AdvertiseByoipCidrRequest$Cidr": "

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.

", + "AllowCustomRoutingTrafficRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "AllowCustomRoutingTrafficRequest$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", "ByoipCidr$Cidr": "

The address range, in CIDR notation.

", "ByoipCidrEvent$Message": "

A string that contains an Event message describing changes that you make in the status of an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

", "CidrAuthorizationContext$Message": "

The plain-text authorization message for the prefix and account.

", "CidrAuthorizationContext$Signature": "

The signed authorization message for the prefix and account.

", "CreateAcceleratorRequest$Name": "

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.

", + "CreateCustomRoutingAcceleratorRequest$Name": "

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.

", + "CreateCustomRoutingEndpointGroupRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener for a custom routing endpoint.

", + "CreateCustomRoutingEndpointGroupRequest$EndpointGroupRegion": "

The AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.

", + "CreateCustomRoutingListenerRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator for a custom routing listener.

", "CreateEndpointGroupRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", "CreateEndpointGroupRequest$EndpointGroupRegion": "

The AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.

", - "CreateEndpointGroupRequest$HealthCheckPath": "

If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).

", "CreateListenerRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of your accelerator.

", + "CustomRoutingAccelerator$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator.

", + "CustomRoutingAccelerator$Name": "

The name of the accelerator. The name must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.

", + "CustomRoutingAccelerator$DnsName": "

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 the following: A lowercase 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.

", + "CustomRoutingAcceleratorAttributes$FlowLogsS3Bucket": "

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.

", + "CustomRoutingAcceleratorAttributes$FlowLogsS3Prefix": "

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. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id

", + "CustomRoutingEndpointConfiguration$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", + "CustomRoutingEndpointDescription$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", + "CustomRoutingEndpointGroup$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "CustomRoutingEndpointGroup$EndpointGroupRegion": "

The AWS Region where the endpoint group is located.

", + "CustomRoutingListener$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", "DeleteAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of an accelerator.

", + "DeleteCustomRoutingAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator to delete.

", + "DeleteCustomRoutingEndpointGroupRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to delete.

", + "DeleteCustomRoutingListenerRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to delete.

", "DeleteEndpointGroupRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to delete.

", "DeleteListenerRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", + "DenyCustomRoutingTrafficRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "DenyCustomRoutingTrafficRequest$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", "DeprovisionByoipCidrRequest$Cidr": "

The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.

", "DescribeAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe.

", "DescribeAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to describe.

", + "DescribeCustomRoutingAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator to describe the attributes for.

", + "DescribeCustomRoutingAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to describe.

", + "DescribeCustomRoutingEndpointGroupRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to describe.

", + "DescribeCustomRoutingListenerRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to describe.

", "DescribeEndpointGroupRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to describe.

", "DescribeListenerRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to describe.

", + "DestinationPortMapping$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator that you have port mappings for.

", + "DestinationPortMapping$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "DestinationPortMapping$EndpointId": "

The ID for the virtual private cloud (VPC) subnet.

", + "DestinationPortMapping$EndpointGroupRegion": "

The AWS Region for the endpoint group.

", "EndpointConfiguration$EndpointId": "

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. For Amazon EC2 instances, this is the EC2 instance ID. A resource must be valid and active when you add it as an endpoint.

An Application Load Balancer can be either internal or internet-facing.

", - "EndpointDescription$EndpointId": "

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. For EC2 instances, this is the EC2 instance ID.

An Application Load Balancer can be either internal or internet-facing.

", - "EndpointDescription$HealthReason": "

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:

If the endpoint state is initial, the reason code can be one of the following values:

", + "EndpointDescription$EndpointId": "

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. For Amazon EC2 instances, this is the EC2 instance ID.

An Application Load Balancer can be either internal or internet-facing.

", + "EndpointDescription$HealthReason": "

Returns a null result.

", "EndpointGroup$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", "EndpointGroup$EndpointGroupRegion": "

The AWS Region where the endpoint group is located.

", - "EndpointGroup$HealthCheckPath": "

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 (/).

", + "EndpointIds$member": null, "IpSet$IpFamily": "

The types of IP addresses included in this IP set.

", "ListAcceleratorsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListAcceleratorsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListByoipCidrsRequest$NextToken": "

The token for the next page of results.

", "ListByoipCidrsResponse$NextToken": "

The token for the next page of results.

", + "ListCustomRoutingAcceleratorsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingAcceleratorsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingEndpointGroupsRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to list endpoint groups for.

", + "ListCustomRoutingEndpointGroupsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingEndpointGroupsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingListenersRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to list listeners for.

", + "ListCustomRoutingListenersRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingListenersResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingPortMappingsByDestinationRequest$EndpointId": "

The ID for the virtual private cloud (VPC) subnet.

", + "ListCustomRoutingPortMappingsByDestinationRequest$DestinationAddress": "

The endpoint IP address in a virtual private cloud (VPC) subnet for which you want to receive back port mappings.

", + "ListCustomRoutingPortMappingsByDestinationRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingPortMappingsByDestinationResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingPortMappingsRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to list the custom routing port mappings for.

", + "ListCustomRoutingPortMappingsRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to list the custom routing port mappings for.

", + "ListCustomRoutingPortMappingsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCustomRoutingPortMappingsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListEndpointGroupsRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", "ListEndpointGroupsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListEndpointGroupsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", @@ -373,14 +729,23 @@ "ListListenersRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListListenersResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "Listener$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", + "PortMapping$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "PortMapping$EndpointId": "

The IP address of the VPC subnet (the subnet ID).

", "ProvisionByoipCidrRequest$Cidr": "

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 or another Region.

", + "RemoveCustomRoutingEndpointsRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to remove endpoints from.

", + "SocketAddress$IpAddress": "

The IP address for the socket address.

", "UpdateAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator that you want to update.

", "UpdateAcceleratorAttributesRequest$FlowLogsS3Bucket": "

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.

", "UpdateAcceleratorAttributesRequest$FlowLogsS3Prefix": "

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. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

s3-bucket_name//AWSLogs/aws_account_id

", "UpdateAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to update.

", "UpdateAcceleratorRequest$Name": "

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.

", + "UpdateCustomRoutingAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator to update attributes for.

", + "UpdateCustomRoutingAcceleratorAttributesRequest$FlowLogsS3Bucket": "

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.

", + "UpdateCustomRoutingAcceleratorAttributesRequest$FlowLogsS3Prefix": "

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. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id

", + "UpdateCustomRoutingAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to update.

", + "UpdateCustomRoutingAcceleratorRequest$Name": "

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.

", + "UpdateCustomRoutingListenerRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to update.

", "UpdateEndpointGroupRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", - "UpdateEndpointGroupRequest$HealthCheckPath": "

If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).

", "UpdateListenerRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to update.

", "WithdrawByoipCidrRequest$Cidr": "

The address range, in CIDR notation.

" } @@ -393,6 +758,14 @@ "UpdateEndpointGroupRequest$HealthCheckIntervalSeconds": "

The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

" } }, + "HealthCheckPath": { + "base": null, + "refs": { + "CreateEndpointGroupRequest$HealthCheckPath": "

If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).

", + "EndpointGroup$HealthCheckPath": "

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 (/).

", + "UpdateEndpointGroupRequest$HealthCheckPath": "

If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).

" + } + }, "HealthCheckPort": { "base": null, "refs": { @@ -419,6 +792,9 @@ "base": null, "refs": { "CreateAcceleratorRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.

", + "CreateCustomRoutingAcceleratorRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", + "CreateCustomRoutingEndpointGroupRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", + "CreateCustomRoutingListenerRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", "CreateEndpointGroupRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", "CreateListenerRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

" } @@ -451,6 +827,7 @@ "IpAddress": { "base": null, "refs": { + "DestinationAddresses$member": null, "IpAddresses$member": null } }, @@ -458,8 +835,12 @@ "base": null, "refs": { "Accelerator$IpAddressType": "

The value for the address type must be IPv4.

", - "CreateAcceleratorRequest$IpAddressType": "

The value for the address type must be IPv4.

", - "UpdateAcceleratorRequest$IpAddressType": "

The value for the address type must be IPv4.

" + "CreateAcceleratorRequest$IpAddressType": "

The value for the address type must be IPv4.

", + "CreateCustomRoutingAcceleratorRequest$IpAddressType": "

The value for the address type must be IPv4.

", + "CustomRoutingAccelerator$IpAddressType": "

The value for the address type must be IPv4.

", + "DestinationPortMapping$IpAddressType": "

The IP address type, which must be IPv4.

", + "UpdateAcceleratorRequest$IpAddressType": "

The IP address type, which must be IPv4.

", + "UpdateCustomRoutingAcceleratorRequest$IpAddressType": "

The value for the address type must be IPv4.

" } }, "IpAddresses": { @@ -478,7 +859,8 @@ "IpSets": { "base": null, "refs": { - "Accelerator$IpSets": "

The static IP addresses that Global Accelerator associates with the accelerator.

" + "Accelerator$IpSets": "

The static IP addresses that Global Accelerator associates with the accelerator.

", + "CustomRoutingAccelerator$IpSets": "

The static IP addresses that Global Accelerator associates with the accelerator.

" } }, "LimitExceededException": { @@ -506,6 +888,56 @@ "refs": { } }, + "ListCustomRoutingAcceleratorsRequest": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingAcceleratorsResponse": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingEndpointGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingEndpointGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingListenersRequest": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingListenersResponse": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingPortMappingsByDestinationRequest": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingPortMappingsByDestinationResponse": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingPortMappingsRequest": { + "base": null, + "refs": { + } + }, + "ListCustomRoutingPortMappingsResponse": { + "base": null, + "refs": { + } + }, "ListEndpointGroupsRequest": { "base": null, "refs": { @@ -561,17 +993,46 @@ "refs": { "ListAcceleratorsRequest$MaxResults": "

The number of Global Accelerator objects that you want to return with this call. The default value is 10.

", "ListByoipCidrsRequest$MaxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "ListCustomRoutingAcceleratorsRequest$MaxResults": "

The number of custom routing Global Accelerator objects that you want to return with this call. The default value is 10.

", + "ListCustomRoutingEndpointGroupsRequest$MaxResults": "

The number of endpoint group objects that you want to return with this call. The default value is 10.

", + "ListCustomRoutingListenersRequest$MaxResults": "

The number of listener objects that you want to return with this call. The default value is 10.

", "ListEndpointGroupsRequest$MaxResults": "

The number of endpoint group objects that you want to return with this call. The default value is 10.

", "ListListenersRequest$MaxResults": "

The number of listener objects that you want to return with this call. The default value is 10.

" } }, + "PortMapping": { + "base": "

Returns the ports and associated IP addresses and ports of Amazon EC2 instances in your virtual private cloud (VPC) subnets. Custom routing is a port mapping protocol in AWS Global Accelerator that statically associates port ranges with VPC subnets, which allows Global Accelerator to route to specific instances and ports within one or more subnets.

", + "refs": { + "PortMappings$member": null + } + }, + "PortMappings": { + "base": null, + "refs": { + "ListCustomRoutingPortMappingsResponse$PortMappings": "

The port mappings for a custom routing accelerator.

" + } + }, + "PortMappingsMaxResults": { + "base": null, + "refs": { + "ListCustomRoutingPortMappingsByDestinationRequest$MaxResults": "

The number of destination port mappings that you want to return with this call. The default value is 10.

", + "ListCustomRoutingPortMappingsRequest$MaxResults": "

The number of destination port mappings that you want to return with this call. The default value is 10.

" + } + }, "PortNumber": { "base": null, "refs": { + "CustomRoutingDestinationConfiguration$FromPort": "

The first port, inclusive, in the range of ports for the endpoint group that is associated with a custom routing accelerator.

", + "CustomRoutingDestinationConfiguration$ToPort": "

The last port, inclusive, in the range of ports for the endpoint group that is associated with a custom routing accelerator.

", + "CustomRoutingDestinationDescription$FromPort": "

The first port, inclusive, in the range of ports for the endpoint group that is associated with a custom routing accelerator.

", + "CustomRoutingDestinationDescription$ToPort": "

The last port, inclusive, in the range of ports for the endpoint group that is associated with a custom routing accelerator.

", + "DestinationPorts$member": null, + "PortMapping$AcceleratorPort": "

The accelerator port.

", "PortOverride$ListenerPort": "

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.

", "PortOverride$EndpointPort": "

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.

", "PortRange$FromPort": "

The first port in the range of ports, inclusive.

", - "PortRange$ToPort": "

The last port in the range of ports, inclusive.

" + "PortRange$ToPort": "

The last port in the range of ports, inclusive.

", + "SocketAddress$Port": "

The port for the socket address.

" } }, "PortOverride": { @@ -597,8 +1058,11 @@ "PortRanges": { "base": null, "refs": { + "CreateCustomRoutingListenerRequest$PortRanges": "

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.

", "CreateListenerRequest$PortRanges": "

The list of port ranges to support for connections from clients to your accelerator.

", + "CustomRoutingListener$PortRanges": "

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.

", "Listener$PortRanges": "

The list of port ranges for the connections from clients to the accelerator.

", + "UpdateCustomRoutingListenerRequest$PortRanges": "

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 ranges for endpoints. For more information, see About endpoints for custom routing accelerators.

", "UpdateListenerRequest$PortRanges": "

The updated list of port ranges for the connections from clients to the accelerator.

" } }, @@ -607,9 +1071,16 @@ "refs": { "CreateListenerRequest$Protocol": "

The protocol for connections from clients to your accelerator.

", "Listener$Protocol": "

The protocol for the connections from clients to the accelerator.

", + "Protocols$member": null, "UpdateListenerRequest$Protocol": "

The updated protocol for the connections from clients to the accelerator.

" } }, + "Protocols": { + "base": null, + "refs": { + "CustomRoutingDestinationDescription$Protocols": "

The protocol for the endpoint group that is associated with a custom routing accelerator. The protocol can be either TCP or UDP.

" + } + }, "ProvisionByoipCidrRequest": { "base": null, "refs": { @@ -620,6 +1091,11 @@ "refs": { } }, + "RemoveCustomRoutingEndpointsRequest": { + "base": null, + "refs": { + } + }, "ResourceArn": { "base": null, "refs": { @@ -628,6 +1104,20 @@ "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource.

" } }, + "SocketAddress": { + "base": "

An IP address/port combination.

", + "refs": { + "DestinationPortMapping$DestinationSocketAddress": "

The endpoint IP address/port combination for traffic received on the accelerator socket address.

", + "PortMapping$DestinationSocketAddress": "

The EC2 instance IP address and port number in the virtual private cloud (VPC) subnet.

", + "SocketAddresses$member": null + } + }, + "SocketAddresses": { + "base": null, + "refs": { + "DestinationPortMapping$AcceleratorSocketAddresses": "

The IP address/port combinations (sockets) that map to a given destination socket address.

" + } + }, "Tag": { "base": "

A complex type that contains a Tag key and Tag value.

", "refs": { @@ -667,6 +1157,7 @@ "base": null, "refs": { "CreateAcceleratorRequest$Tags": "

Create tags for an accelerator.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", + "CreateCustomRoutingAcceleratorRequest$Tags": "

Create tags for an accelerator.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

", "ListTagsForResourceResponse$Tags": "

Root level tag for the Tags parameters.

", "TagResourceRequest$Tags": "

The tags to add to a resource. A tag consists of a key and a value that you define.

" } @@ -684,7 +1175,9 @@ "refs": { "Accelerator$CreatedTime": "

The date and time that the accelerator was created.

", "Accelerator$LastModifiedTime": "

The date and time that the accelerator was last modified.

", - "ByoipCidrEvent$Timestamp": "

A timestamp when you make a status change for an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

" + "ByoipCidrEvent$Timestamp": "

A timestamp when you make a status change for an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

", + "CustomRoutingAccelerator$CreatedTime": "

The date and time that the accelerator was created.

", + "CustomRoutingAccelerator$LastModifiedTime": "

The date and time that the accelerator was last modified.

" } }, "TrafficDialPercentage": { @@ -725,6 +1218,36 @@ "refs": { } }, + "UpdateCustomRoutingAcceleratorAttributesRequest": { + "base": null, + "refs": { + } + }, + "UpdateCustomRoutingAcceleratorAttributesResponse": { + "base": null, + "refs": { + } + }, + "UpdateCustomRoutingAcceleratorRequest": { + "base": null, + "refs": { + } + }, + "UpdateCustomRoutingAcceleratorResponse": { + "base": null, + "refs": { + } + }, + "UpdateCustomRoutingListenerRequest": { + "base": null, + "refs": { + } + }, + "UpdateCustomRoutingListenerResponse": { + "base": null, + "refs": { + } + }, "UpdateEndpointGroupRequest": { "base": null, "refs": { diff --git a/models/apis/globalaccelerator/2018-08-08/paginators-1.json b/models/apis/globalaccelerator/2018-08-08/paginators-1.json index 5677bd8e4a2..d5ab47d0790 100644 --- a/models/apis/globalaccelerator/2018-08-08/paginators-1.json +++ b/models/apis/globalaccelerator/2018-08-08/paginators-1.json @@ -1,4 +1,44 @@ { "pagination": { + "ListAccelerators": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListCustomRoutingAccelerators": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListCustomRoutingEndpointGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListCustomRoutingListeners": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListCustomRoutingPortMappings": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListCustomRoutingPortMappingsByDestination": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListEndpointGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListListeners": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } } } diff --git a/models/apis/redshift/2012-12-01/api-2.json b/models/apis/redshift/2012-12-01/api-2.json index ab2e90df6cd..68a6c579f7e 100644 --- a/models/apis/redshift/2012-12-01/api-2.json +++ b/models/apis/redshift/2012-12-01/api-2.json @@ -370,7 +370,8 @@ {"shape":"InvalidScheduleFault"}, {"shape":"SnapshotScheduleQuotaExceededFault"}, {"shape":"TagLimitExceededFault"}, - {"shape":"ScheduleDefinitionTypeUnsupportedFault"} + {"shape":"ScheduleDefinitionTypeUnsupportedFault"}, + {"shape":"InvalidTagFault"} ] }, "CreateTags":{ @@ -383,7 +384,8 @@ "errors":[ {"shape":"TagLimitExceededFault"}, {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidTagFault"} + {"shape":"InvalidTagFault"}, + {"shape":"InvalidClusterStateFault"} ] }, "CreateUsageLimit":{ @@ -1527,7 +1529,8 @@ }, "errors":[ {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"} + {"shape":"InvalidClusterStateFault"}, + {"shape":"InsufficientClusterCapacityFault"} ] }, "RevokeClusterSecurityGroupIngress":{ @@ -1897,6 +1900,7 @@ "ExpectedNextSnapshotScheduleTimeStatus":{"shape":"String"}, "NextMaintenanceWindowStartTime":{"shape":"TStamp"}, "ResizeInfo":{"shape":"ResizeInfo"}, + "AvailabilityZoneRelocationStatus":{"shape":"String"}, "ClusterNamespaceArn":{"shape":"String"} }, "wrapper":true @@ -2395,7 +2399,8 @@ "AdditionalInfo":{"shape":"String"}, "IamRoles":{"shape":"IamRoleArnList"}, "MaintenanceTrackName":{"shape":"String"}, - "SnapshotScheduleIdentifier":{"shape":"String"} + "SnapshotScheduleIdentifier":{"shape":"String"}, + "AvailabilityZoneRelocation":{"shape":"BooleanOptional"} } }, "CreateClusterParameterGroupMessage":{ @@ -3184,7 +3189,8 @@ "type":"structure", "members":{ "Address":{"shape":"String"}, - "Port":{"shape":"Integer"} + "Port":{"shape":"Integer"}, + "VpcEndpoints":{"shape":"SpartaProxyVpcEndpointList"} } }, "Event":{ @@ -3922,7 +3928,10 @@ "EnhancedVpcRouting":{"shape":"BooleanOptional"}, "MaintenanceTrackName":{"shape":"String"}, "Encrypted":{"shape":"BooleanOptional"}, - "KmsKeyId":{"shape":"String"} + "KmsKeyId":{"shape":"String"}, + "AvailabilityZoneRelocation":{"shape":"BooleanOptional"}, + "AvailabilityZone":{"shape":"String"}, + "Port":{"shape":"IntegerOptional"} } }, "ModifyClusterParameterGroupMessage":{ @@ -4413,7 +4422,7 @@ "ClusterIdentifier":{"shape":"String"}, "ClusterType":{"shape":"String"}, "NodeType":{"shape":"String"}, - "NumberOfNodes":{"shape":"Integer"}, + "NumberOfNodes":{"shape":"IntegerOptional"}, "Classic":{"shape":"BooleanOptional"} } }, @@ -4512,7 +4521,8 @@ "IamRoles":{"shape":"IamRoleArnList"}, "MaintenanceTrackName":{"shape":"String"}, "SnapshotScheduleIdentifier":{"shape":"String"}, - "NumberOfNodes":{"shape":"IntegerOptional"} + "NumberOfNodes":{"shape":"IntegerOptional"}, + "AvailabilityZoneRelocation":{"shape":"BooleanOptional"} } }, "RestoreFromClusterSnapshotResult":{ @@ -4842,6 +4852,7 @@ "ClusterCreateTime":{"shape":"TStamp"}, "MasterUsername":{"shape":"String"}, "ClusterVersion":{"shape":"String"}, + "EngineFullVersion":{"shape":"String"}, "SnapshotType":{"shape":"String"}, "NodeType":{"shape":"String"}, "NumberOfNodes":{"shape":"Integer"}, @@ -5109,7 +5120,23 @@ "scheduled-action" ] }, - "String":{"type":"string"}, + "SpartaProxyVpcEndpoint":{ + "type":"structure", + "members":{ + "VpcEndpointId":{"shape":"String"} + } + }, + "SpartaProxyVpcEndpointList":{ + "type":"list", + "member":{ + "shape":"SpartaProxyVpcEndpoint", + "locationName":"SpartaProxyVpcEndpoint" + } + }, + "String":{ + "type":"string", + "max":2147483647 + }, "Subnet":{ "type":"structure", "members":{ diff --git a/models/apis/redshift/2012-12-01/docs-2.json b/models/apis/redshift/2012-12-01/docs-2.json index 276ae8002de..6aca250a25d 100644 --- a/models/apis/redshift/2012-12-01/docs-2.json +++ b/models/apis/redshift/2012-12-01/docs-2.json @@ -87,7 +87,7 @@ "PurchaseReservedNodeOffering": "

Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

", "RebootCluster": "

Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

", "ResetClusterParameterGroup": "

Sets one or more parameters of the specified parameter group to their default values and sets the source values of the parameters to \"engine-default\". To reset the entire parameter group specify the ResetAllParameters parameter. For parameter changes to take effect you must reboot any associated clusters.

", - "ResizeCluster": "

Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize, your cluster is available for read and write operations more quickly than with the classic resize method.

Elastic resize operations have the following restrictions:

", + "ResizeCluster": "

Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize, your cluster is available for read and write operations more quickly than with the classic resize method.

Elastic resize operations have the following restrictions:

", "RestoreFromClusterSnapshot": "

Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

", "RestoreTableFromClusterSnapshot": "

Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from.

You cannot use RestoreTableFromClusterSnapshot to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call RestoreTableFromClusterSnapshot. When you have renamed your original table, then you can pass the original name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot. This way, you can replace the original table with the table created from the snapshot.

", "ResumeCluster": "

Resumes a paused cluster.

", @@ -288,6 +288,7 @@ "CreateClusterMessage$PubliclyAccessible": "

If true, the cluster can be accessed from a public network.

", "CreateClusterMessage$Encrypted": "

If true, the data in the cluster is encrypted at rest.

Default: false

", "CreateClusterMessage$EnhancedVpcRouting": "

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

", + "CreateClusterMessage$AvailabilityZoneRelocation": "

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.

", "CreateEventSubscriptionMessage$Enabled": "

A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.

", "CreateScheduledActionMessage$Enable": "

If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about state of the scheduled action, see ScheduledAction.

", "CreateSnapshotScheduleMessage$DryRun": "

", @@ -299,6 +300,7 @@ "ModifyClusterMessage$PubliclyAccessible": "

If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be publicly available.

", "ModifyClusterMessage$EnhancedVpcRouting": "

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

", "ModifyClusterMessage$Encrypted": "

Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't provide a KmsKeyId, we encrypt with the default key.

If the value is not encrypted (false), then the cluster is decrypted.

", + "ModifyClusterMessage$AvailabilityZoneRelocation": "

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster modification is complete.

", "ModifyClusterSnapshotScheduleMessage$DisassociateSchedule": "

A boolean to indicate whether to remove the assoiciation between the cluster and the schedule.

", "ModifyEventSubscriptionMessage$Enabled": "

A Boolean value indicating if the subscription is enabled. true indicates the subscription is enabled

", "ModifyScheduledActionMessage$Enable": "

A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

", @@ -307,7 +309,8 @@ "ResizeClusterMessage$Classic": "

A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false, the resize type is elastic.

", "RestoreFromClusterSnapshotMessage$AllowVersionUpgrade": "

If true, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.

Default: true

", "RestoreFromClusterSnapshotMessage$PubliclyAccessible": "

If true, the cluster can be accessed from a public network.

", - "RestoreFromClusterSnapshotMessage$EnhancedVpcRouting": "

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "RestoreFromClusterSnapshotMessage$EnhancedVpcRouting": "

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

", + "RestoreFromClusterSnapshotMessage$AvailabilityZoneRelocation": "

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.

" } }, "BucketNotFoundFault": { @@ -1344,7 +1347,6 @@ "ReservedNode$Duration": "

The duration of the node reservation in seconds.

", "ReservedNode$NodeCount": "

The number of reserved compute nodes.

", "ReservedNodeOffering$Duration": "

The duration, in seconds, for which the offering will reserve the node.

", - "ResizeClusterMessage$NumberOfNodes": "

The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

", "Snapshot$Port": "

The port that the cluster is listening on.

", "Snapshot$NumberOfNodes": "

The number of nodes in the cluster.

" } @@ -1394,10 +1396,12 @@ "ModifyClusterMessage$NumberOfNodes": "

The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type parameter.

For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

Valid Values: Integer greater than 0.

", "ModifyClusterMessage$AutomatedSnapshotRetentionPeriod": "

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

If you decrease the automated snapshot retention period from its current value, existing automated snapshots that fall outside of the new retention period will be immediately deleted.

Default: Uses existing setting.

Constraints: Must be a value from 0 to 35.

", "ModifyClusterMessage$ManualSnapshotRetentionPeriod": "

The default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing manual snapshots.

The value must be either -1 or an integer between 1 and 3,653.

The default value is -1.

", + "ModifyClusterMessage$Port": "

The option to change the port of an Amazon Redshift cluster.

", "ModifyClusterSnapshotMessage$ManualSnapshotRetentionPeriod": "

The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

If the manual snapshot falls outside of the new retention period, you can specify the force option to immediately delete the snapshot.

The value must be either -1 or an integer between 1 and 3,653.

", "PendingModifiedValues$NumberOfNodes": "

The pending or in-progress change of the number of nodes in the cluster.

", "PendingModifiedValues$AutomatedSnapshotRetentionPeriod": "

The pending or in-progress change of the automated snapshot retention period.

", "PurchaseReservedNodeOfferingMessage$NodeCount": "

The number of reserved nodes that you want to purchase.

Default: 1

", + "ResizeClusterMessage$NumberOfNodes": "

The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

", "ResizeProgressMessage$TargetNumberOfNodes": "

The number of nodes that the cluster will have after the resize operation is complete.

", "RestoreFromClusterSnapshotMessage$Port": "

The port number on which the cluster accepts connections.

Default: The same port as the original cluster.

Constraints: Must be between 1115 and 65535.

", "RestoreFromClusterSnapshotMessage$AutomatedSnapshotRetentionPeriod": "

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

Default: The value selected for the cluster from which the snapshot was taken.

Constraints: Must be a value from 0 to 35.

", @@ -2322,6 +2326,18 @@ "Event$SourceType": "

The source type for this event.

" } }, + "SpartaProxyVpcEndpoint": { + "base": "

The connection endpoint for connecting an Amazon Redshift cluster through the proxy.

", + "refs": { + "SpartaProxyVpcEndpointList$member": null + } + }, + "SpartaProxyVpcEndpointList": { + "base": null, + "refs": { + "Endpoint$VpcEndpoints": "

Describes a connection endpoint.

" + } + }, "String": { "base": null, "refs": { @@ -2360,6 +2376,7 @@ "Cluster$ElasticResizeNumberOfNodeOptions": "

The number of nodes that you can resize the cluster to with the elastic resize method.

", "Cluster$SnapshotScheduleIdentifier": "

A unique identifier for the cluster snapshot schedule.

", "Cluster$ExpectedNextSnapshotScheduleTimeStatus": "

The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

", + "Cluster$AvailabilityZoneRelocationStatus": "

Describes the status of the Availability Zone relocation operation.

", "Cluster$ClusterNamespaceArn": "

The namespace Amazon Resource Name (ARN) of the cluster.

", "ClusterAssociatedToSchedule$ClusterIdentifier": "

", "ClusterCredentials$DbUser": "

A database user name that is authorized to log on to the database DbName using the password DbPassword. If the specified DbUser exists in the database, the new user name has the same database privileges as the the user named in DbUser. By default, the user is added to PUBLIC. If the DbGroups parameter is specifed, DbUser is added to the listed groups for any sessions created using these credentials.

", @@ -2407,7 +2424,7 @@ "CreateClusterMessage$DBName": "

The name of the first database to be created when the cluster is created.

To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

Default: dev

Constraints:

", "CreateClusterMessage$ClusterIdentifier": "

A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.

Constraints:

Example: myexamplecluster

", "CreateClusterMessage$ClusterType": "

The type of the cluster. When cluster type is specified as

Valid Values: multi-node | single-node

Default: multi-node

", - "CreateClusterMessage$NodeType": "

The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge

", + "CreateClusterMessage$NodeType": "

The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.xlplus | ra3.4xlarge | ra3.16xlarge

", "CreateClusterMessage$MasterUsername": "

The user name associated with the master user account for the cluster that is being created.

Constraints:

", "CreateClusterMessage$MasterUserPassword": "

The password associated with the master user account for the cluster that is being created.

Constraints:

", "CreateClusterMessage$ClusterSubnetGroupName": "

The name of a cluster subnet group to be associated with this cluster.

If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).

", @@ -2602,7 +2619,7 @@ "ModifyClusterMaintenanceMessage$DeferMaintenanceIdentifier": "

A unique identifier for the deferred maintenance window.

", "ModifyClusterMessage$ClusterIdentifier": "

The unique identifier of the cluster to be modified.

Example: examplecluster

", "ModifyClusterMessage$ClusterType": "

The new cluster type.

When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request.

Valid Values: multi-node | single-node

", - "ModifyClusterMessage$NodeType": "

The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter.

For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge

", + "ModifyClusterMessage$NodeType": "

The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter.

For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.xlplus | ra3.4xlarge | ra3.16xlarge

", "ModifyClusterMessage$MasterUserPassword": "

The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Operations never return the password, so this operation provides a way to regain access to the master user account for a cluster if the password is lost.

Default: Uses existing setting.

Constraints:

", "ModifyClusterMessage$ClusterParameterGroupName": "

The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.

Default: Uses existing setting.

Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster version.

", "ModifyClusterMessage$PreferredMaintenanceWindow": "

The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is necessary during the window, it may result in an outage.

This maintenance window change is made immediately. If the new maintenance window indicates the current time, there must be at least 120 minutes between the current time and end of the window in order to ensure that pending changes are applied.

Default: Uses existing setting.

Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes.

", @@ -2613,6 +2630,7 @@ "ModifyClusterMessage$ElasticIp": "

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

", "ModifyClusterMessage$MaintenanceTrackName": "

The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.

", "ModifyClusterMessage$KmsKeyId": "

The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.

", + "ModifyClusterMessage$AvailabilityZone": "

The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone.

", "ModifyClusterParameterGroupMessage$ParameterGroupName": "

The name of the parameter group to be modified.

", "ModifyClusterSnapshotMessage$SnapshotIdentifier": "

The identifier of the snapshot whose setting you want to modify.

", "ModifyClusterSnapshotScheduleMessage$ClusterIdentifier": "

A unique identifier for the cluster whose snapshot schedule you want to modify.

", @@ -2727,6 +2745,7 @@ "Snapshot$AvailabilityZone": "

The Availability Zone in which the cluster was created.

", "Snapshot$MasterUsername": "

The master user name for the cluster.

", "Snapshot$ClusterVersion": "

The version ID of the Amazon Redshift engine that is running on the cluster.

", + "Snapshot$EngineFullVersion": "

The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.

", "Snapshot$SnapshotType": "

The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of type \"manual\".

", "Snapshot$NodeType": "

The node type of the nodes in the cluster.

", "Snapshot$DBName": "

The name of the database that was created when the cluster was created.

", @@ -2747,6 +2766,7 @@ "SnapshotSchedule$ScheduleIdentifier": "

A unique identifier for the schedule.

", "SnapshotSchedule$ScheduleDescription": "

The description of the schedule.

", "SourceIdsList$member": null, + "SpartaProxyVpcEndpoint$VpcEndpointId": "

The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

", "Subnet$SubnetIdentifier": "

The identifier of the subnet.

", "Subnet$SubnetStatus": "

The status of the subnet.

", "SubnetIdentifierList$member": null, diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 6b7a821af32..8127531c636 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -2545,6 +2545,13 @@ "us-west-2" : { } } }, + "emr-containers" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "entitlement.marketplace" : { "defaults" : { "credentialScope" : { @@ -3098,6 +3105,14 @@ } } }, + "healthlake" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-east-1" : { } + } + }, "honeycode" : { "endpoints" : { "us-west-2" : { } diff --git a/service/ec2/api.go b/service/ec2/api.go index 8b21f7a66cd..f49d31d758b 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -119154,6 +119154,15 @@ const ( // InstanceTypeG3sXlarge is a InstanceType enum value InstanceTypeG3sXlarge = "g3s.xlarge" + // InstanceTypeG4ad4xlarge is a InstanceType enum value + InstanceTypeG4ad4xlarge = "g4ad.4xlarge" + + // InstanceTypeG4ad8xlarge is a InstanceType enum value + InstanceTypeG4ad8xlarge = "g4ad.8xlarge" + + // InstanceTypeG4ad16xlarge is a InstanceType enum value + InstanceTypeG4ad16xlarge = "g4ad.16xlarge" + // InstanceTypeG4dnXlarge is a InstanceType enum value InstanceTypeG4dnXlarge = "g4dn.xlarge" @@ -119837,6 +119846,9 @@ func InstanceType_Values() []string { InstanceTypeG38xlarge, InstanceTypeG316xlarge, InstanceTypeG3sXlarge, + InstanceTypeG4ad4xlarge, + InstanceTypeG4ad8xlarge, + InstanceTypeG4ad16xlarge, InstanceTypeG4dnXlarge, InstanceTypeG4dn2xlarge, InstanceTypeG4dn4xlarge, diff --git a/service/globalaccelerator/api.go b/service/globalaccelerator/api.go index 968776c3f30..0172aa58f34 100644 --- a/service/globalaccelerator/api.go +++ b/service/globalaccelerator/api.go @@ -13,6 +13,120 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAddCustomRoutingEndpoints = "AddCustomRoutingEndpoints" + +// AddCustomRoutingEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the AddCustomRoutingEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AddCustomRoutingEndpoints for more information on using the AddCustomRoutingEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AddCustomRoutingEndpointsRequest method. +// req, resp := client.AddCustomRoutingEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddCustomRoutingEndpoints +func (c *GlobalAccelerator) AddCustomRoutingEndpointsRequest(input *AddCustomRoutingEndpointsInput) (req *request.Request, output *AddCustomRoutingEndpointsOutput) { + op := &request.Operation{ + Name: opAddCustomRoutingEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddCustomRoutingEndpointsInput{} + } + + output = &AddCustomRoutingEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddCustomRoutingEndpoints API operation for AWS Global Accelerator. +// +// Associate a virtual private cloud (VPC) subnet endpoint with your custom +// routing accelerator. +// +// The listener port range must be large enough to support the number of IP +// addresses that can be specified in your subnet. The number of ports required +// is: subnet size times the number of ports per destination EC2 instances. +// For example, a subnet defined as /24 requires a listener port range of at +// least 255 ports. +// +// Note: You must have enough remaining listener ports available to map to the +// subnet ports, or the call will fail with a LimitExceededException. +// +// By default, all destinations in a subnet in a custom routing accelerator +// cannot receive traffic. To enable all destinations to receive traffic, or +// to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic +// (https://docs.aws.amazon.com/global-accelerator/latest/api/API_AllowCustomRoutingTraffic.html) +// operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation AddCustomRoutingEndpoints for usage and error information. +// +// Returned Error Types: +// * EndpointAlreadyExistsException +// The endpoint that you specified doesn't exist. +// +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// * AccessDeniedException +// You don't have access permission. +// +// * ConflictException +// You can't use both of those options. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddCustomRoutingEndpoints +func (c *GlobalAccelerator) AddCustomRoutingEndpoints(input *AddCustomRoutingEndpointsInput) (*AddCustomRoutingEndpointsOutput, error) { + req, out := c.AddCustomRoutingEndpointsRequest(input) + return out, req.Send() +} + +// AddCustomRoutingEndpointsWithContext is the same as AddCustomRoutingEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See AddCustomRoutingEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) AddCustomRoutingEndpointsWithContext(ctx aws.Context, input *AddCustomRoutingEndpointsInput, opts ...request.Option) (*AddCustomRoutingEndpointsOutput, error) { + req, out := c.AddCustomRoutingEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAdvertiseByoipCidr = "AdvertiseByoipCidr" // AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the @@ -60,8 +174,7 @@ func (c *GlobalAccelerator) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrI // Advertises an IPv4 address range that is provisioned for use with your AWS // resources through bring your own IP addresses (BYOIP). It can take a few // minutes before traffic to the specified addresses starts routing to AWS because -// of propagation delays. To see an AWS CLI example of advertising an address -// range, scroll down to Example. +// of propagation delays. // // To stop advertising the BYOIP address range, use WithdrawByoipCidr (https://docs.aws.amazon.com/global-accelerator/latest/api/WithdrawByoipCidr.html). // @@ -114,6 +227,97 @@ func (c *GlobalAccelerator) AdvertiseByoipCidrWithContext(ctx aws.Context, input return out, req.Send() } +const opAllowCustomRoutingTraffic = "AllowCustomRoutingTraffic" + +// AllowCustomRoutingTrafficRequest generates a "aws/request.Request" representing the +// client's request for the AllowCustomRoutingTraffic operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AllowCustomRoutingTraffic for more information on using the AllowCustomRoutingTraffic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AllowCustomRoutingTrafficRequest method. +// req, resp := client.AllowCustomRoutingTrafficRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AllowCustomRoutingTraffic +func (c *GlobalAccelerator) AllowCustomRoutingTrafficRequest(input *AllowCustomRoutingTrafficInput) (req *request.Request, output *AllowCustomRoutingTrafficOutput) { + op := &request.Operation{ + Name: opAllowCustomRoutingTraffic, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AllowCustomRoutingTrafficInput{} + } + + output = &AllowCustomRoutingTrafficOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AllowCustomRoutingTraffic API operation for AWS Global Accelerator. +// +// Specify the Amazon EC2 instance (destination) IP addresses and ports for +// a VPC subnet endpoint that can receive traffic for a custom routing accelerator. +// You can allow traffic to all destinations in the subnet endpoint, or allow +// traffic to a specified list of destination IP addresses and ports in the +// subnet. Note that you cannot specify IP addresses or ports outside of the +// range that you configured for the endpoint group. +// +// After you make changes, you can verify that the updates are complete by checking +// the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation AllowCustomRoutingTraffic for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AllowCustomRoutingTraffic +func (c *GlobalAccelerator) AllowCustomRoutingTraffic(input *AllowCustomRoutingTrafficInput) (*AllowCustomRoutingTrafficOutput, error) { + req, out := c.AllowCustomRoutingTrafficRequest(input) + return out, req.Send() +} + +// AllowCustomRoutingTrafficWithContext is the same as AllowCustomRoutingTraffic with the addition of +// the ability to pass a context and additional request options. +// +// See AllowCustomRoutingTraffic for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) AllowCustomRoutingTrafficWithContext(ctx aws.Context, input *AllowCustomRoutingTrafficInput, opts ...request.Option) (*AllowCustomRoutingTrafficOutput, error) { + req, out := c.AllowCustomRoutingTrafficRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateAccelerator = "CreateAccelerator" // CreateAcceleratorRequest generates a "aws/request.Request" representing the @@ -160,8 +364,7 @@ func (c *GlobalAccelerator) CreateAcceleratorRequest(input *CreateAcceleratorInp // // 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. +// each of which includes endpoints, such as Network Load Balancers. // // Global Accelerator is a global service that supports endpoints in multiple // AWS Regions but you must specify the US West (Oregon) Region to create or @@ -207,73 +410,68 @@ func (c *GlobalAccelerator) CreateAcceleratorWithContext(ctx aws.Context, input return out, req.Send() } -const opCreateEndpointGroup = "CreateEndpointGroup" +const opCreateCustomRoutingAccelerator = "CreateCustomRoutingAccelerator" -// CreateEndpointGroupRequest generates a "aws/request.Request" representing the -// client's request for the CreateEndpointGroup operation. The "output" return +// CreateCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomRoutingAccelerator operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See CreateEndpointGroup for more information on using the CreateEndpointGroup +// See CreateCustomRoutingAccelerator for more information on using the CreateCustomRoutingAccelerator // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the CreateEndpointGroupRequest method. -// req, resp := client.CreateEndpointGroupRequest(params) +// // Example sending a request using the CreateCustomRoutingAcceleratorRequest method. +// req, resp := client.CreateCustomRoutingAcceleratorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup -func (c *GlobalAccelerator) CreateEndpointGroupRequest(input *CreateEndpointGroupInput) (req *request.Request, output *CreateEndpointGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingAccelerator +func (c *GlobalAccelerator) CreateCustomRoutingAcceleratorRequest(input *CreateCustomRoutingAcceleratorInput) (req *request.Request, output *CreateCustomRoutingAcceleratorOutput) { op := &request.Operation{ - Name: opCreateEndpointGroup, + Name: opCreateCustomRoutingAccelerator, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &CreateEndpointGroupInput{} + input = &CreateCustomRoutingAcceleratorInput{} } - output = &CreateEndpointGroupOutput{} + output = &CreateCustomRoutingAcceleratorOutput{} req = c.newRequest(op, input, output) return } -// CreateEndpointGroup API operation for AWS Global Accelerator. +// CreateCustomRoutingAccelerator API operation for AWS Global Accelerator. // -// Create an endpoint group for the specified listener. An endpoint group is -// a collection of endpoints in one AWS Region. A resource must be valid and -// active when you add it as an endpoint. +// Create a custom routing accelerator. A custom routing accelerator directs +// traffic to one of possibly thousands of Amazon EC2 instance destinations +// running in a single or multiple virtual private clouds (VPC) subnet endpoints. // -// To see an AWS CLI example of creating an endpoint group, scroll down to Example. +// Be aware that, by default, all destination EC2 instances in a VPC subnet +// endpoint cannot receive traffic. To enable all destinations to receive traffic, +// or to specify individual port mappings that can receive traffic, see the +// AllowCustomRoutingTraffic (https://docs.aws.amazon.com/global-accelerator/latest/api/API_AllowCustomRoutingTraffic.html) +// operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation CreateEndpointGroup for usage and error information. +// API operation CreateCustomRoutingAccelerator for usage and error information. // // Returned Error Types: -// * AcceleratorNotFoundException -// The accelerator that you specified doesn't exist. -// -// * EndpointGroupAlreadyExistsException -// The endpoint group that you specified already exists. -// -// * ListenerNotFoundException -// The listener that you specified doesn't exist. -// // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // @@ -287,467 +485,483 @@ func (c *GlobalAccelerator) CreateEndpointGroupRequest(input *CreateEndpointGrou // * AccessDeniedException // You don't have access permission. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup -func (c *GlobalAccelerator) CreateEndpointGroup(input *CreateEndpointGroupInput) (*CreateEndpointGroupOutput, error) { - req, out := c.CreateEndpointGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingAccelerator +func (c *GlobalAccelerator) CreateCustomRoutingAccelerator(input *CreateCustomRoutingAcceleratorInput) (*CreateCustomRoutingAcceleratorOutput, error) { + req, out := c.CreateCustomRoutingAcceleratorRequest(input) return out, req.Send() } -// CreateEndpointGroupWithContext is the same as CreateEndpointGroup with the addition of +// CreateCustomRoutingAcceleratorWithContext is the same as CreateCustomRoutingAccelerator with the addition of // the ability to pass a context and additional request options. // -// See CreateEndpointGroup for details on how to use this API operation. +// See CreateCustomRoutingAccelerator for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) CreateEndpointGroupWithContext(ctx aws.Context, input *CreateEndpointGroupInput, opts ...request.Option) (*CreateEndpointGroupOutput, error) { - req, out := c.CreateEndpointGroupRequest(input) +func (c *GlobalAccelerator) CreateCustomRoutingAcceleratorWithContext(ctx aws.Context, input *CreateCustomRoutingAcceleratorInput, opts ...request.Option) (*CreateCustomRoutingAcceleratorOutput, error) { + req, out := c.CreateCustomRoutingAcceleratorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opCreateListener = "CreateListener" +const opCreateCustomRoutingEndpointGroup = "CreateCustomRoutingEndpointGroup" -// CreateListenerRequest generates a "aws/request.Request" representing the -// client's request for the CreateListener operation. The "output" return +// CreateCustomRoutingEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomRoutingEndpointGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See CreateListener for more information on using the CreateListener +// See CreateCustomRoutingEndpointGroup for more information on using the CreateCustomRoutingEndpointGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the CreateListenerRequest method. -// req, resp := client.CreateListenerRequest(params) +// // Example sending a request using the CreateCustomRoutingEndpointGroupRequest method. +// req, resp := client.CreateCustomRoutingEndpointGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener -func (c *GlobalAccelerator) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingEndpointGroup +func (c *GlobalAccelerator) CreateCustomRoutingEndpointGroupRequest(input *CreateCustomRoutingEndpointGroupInput) (req *request.Request, output *CreateCustomRoutingEndpointGroupOutput) { op := &request.Operation{ - Name: opCreateListener, + Name: opCreateCustomRoutingEndpointGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &CreateListenerInput{} + input = &CreateCustomRoutingEndpointGroupInput{} } - output = &CreateListenerOutput{} + output = &CreateCustomRoutingEndpointGroupOutput{} req = c.newRequest(op, input, output) return } -// CreateListener API operation for AWS Global Accelerator. +// CreateCustomRoutingEndpointGroup API operation for AWS Global Accelerator. // -// 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. +// Create an endpoint group for the specified listener for a custom routing +// accelerator. An endpoint group is a collection of endpoints in one AWS Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation CreateListener for usage and error information. +// API operation CreateCustomRoutingEndpointGroup for usage and error information. // // Returned Error Types: -// * InvalidArgumentException -// An argument that you specified is invalid. -// // * AcceleratorNotFoundException // The accelerator that you specified doesn't exist. // -// * InvalidPortRangeException -// The port numbers that you specified are not valid numbers or are not unique -// for this accelerator. +// * EndpointGroupAlreadyExistsException +// The endpoint group that you specified already exists. +// +// * ListenerNotFoundException +// The listener that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InvalidPortRangeException +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. +// // * LimitExceededException // Processing your request would cause you to exceed an AWS Global Accelerator // limit. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener -func (c *GlobalAccelerator) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { - req, out := c.CreateListenerRequest(input) +// * AccessDeniedException +// You don't have access permission. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingEndpointGroup +func (c *GlobalAccelerator) CreateCustomRoutingEndpointGroup(input *CreateCustomRoutingEndpointGroupInput) (*CreateCustomRoutingEndpointGroupOutput, error) { + req, out := c.CreateCustomRoutingEndpointGroupRequest(input) return out, req.Send() } -// CreateListenerWithContext is the same as CreateListener with the addition of +// CreateCustomRoutingEndpointGroupWithContext is the same as CreateCustomRoutingEndpointGroup with the addition of // the ability to pass a context and additional request options. // -// See CreateListener for details on how to use this API operation. +// See CreateCustomRoutingEndpointGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) { - req, out := c.CreateListenerRequest(input) +func (c *GlobalAccelerator) CreateCustomRoutingEndpointGroupWithContext(ctx aws.Context, input *CreateCustomRoutingEndpointGroupInput, opts ...request.Option) (*CreateCustomRoutingEndpointGroupOutput, error) { + req, out := c.CreateCustomRoutingEndpointGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteAccelerator = "DeleteAccelerator" +const opCreateCustomRoutingListener = "CreateCustomRoutingListener" -// DeleteAcceleratorRequest generates a "aws/request.Request" representing the -// client's request for the DeleteAccelerator operation. The "output" return +// CreateCustomRoutingListenerRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomRoutingListener operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteAccelerator for more information on using the DeleteAccelerator +// See CreateCustomRoutingListener for more information on using the CreateCustomRoutingListener // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteAcceleratorRequest method. -// req, resp := client.DeleteAcceleratorRequest(params) +// // Example sending a request using the CreateCustomRoutingListenerRequest method. +// req, resp := client.CreateCustomRoutingListenerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator -func (c *GlobalAccelerator) DeleteAcceleratorRequest(input *DeleteAcceleratorInput) (req *request.Request, output *DeleteAcceleratorOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingListener +func (c *GlobalAccelerator) CreateCustomRoutingListenerRequest(input *CreateCustomRoutingListenerInput) (req *request.Request, output *CreateCustomRoutingListenerOutput) { op := &request.Operation{ - Name: opDeleteAccelerator, + Name: opCreateCustomRoutingListener, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteAcceleratorInput{} + input = &CreateCustomRoutingListenerInput{} } - output = &DeleteAcceleratorOutput{} + output = &CreateCustomRoutingListenerOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteAccelerator API operation for AWS Global Accelerator. -// -// Delete an accelerator. Before you can delete an accelerator, you must disable -// it and remove all dependent resources (listeners and endpoint groups). To -// disable the accelerator, update the accelerator to set Enabled to false. -// -// When you create an accelerator, by default, Global Accelerator provides you -// with a set of two static IP addresses. Alternatively, you can bring your -// own IP address ranges to Global Accelerator and assign IP addresses from -// those ranges. +// CreateCustomRoutingListener API operation for AWS Global Accelerator. // -// The IP addresses are assigned to your accelerator for as long as it exists, -// even if you disable the accelerator and it no longer accepts or routes traffic. -// However, when you delete an accelerator, you lose the static IP addresses -// that are assigned to the accelerator, so you can no longer route traffic -// by using them. As a best practice, ensure that you have permissions in place -// to avoid inadvertently deleting accelerators. You can use IAM policies with -// Global Accelerator to limit the users who have permissions to delete an accelerator. -// For more information, see Authentication and Access Control (https://docs.aws.amazon.com/global-accelerator/latest/dg/auth-and-access-control.html) -// in the AWS Global Accelerator Developer Guide. +// Create a listener to process inbound connections from clients to a custom +// routing accelerator. Connections arrive to assigned static IP addresses on +// the port range that you specify. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DeleteAccelerator for usage and error information. +// API operation CreateCustomRoutingListener for usage and error information. // // Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// // * AcceleratorNotFoundException // The accelerator that you specified doesn't exist. // -// * AcceleratorNotDisabledException -// The accelerator that you specified could not be disabled. -// -// * AssociatedListenerFoundException -// The accelerator that you specified has a listener associated with it. You -// must remove all dependent resources from an accelerator before you can delete -// it. +// * InvalidPortRangeException +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// * InvalidArgumentException -// An argument that you specified is invalid. +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator -func (c *GlobalAccelerator) DeleteAccelerator(input *DeleteAcceleratorInput) (*DeleteAcceleratorOutput, error) { - req, out := c.DeleteAcceleratorRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingListener +func (c *GlobalAccelerator) CreateCustomRoutingListener(input *CreateCustomRoutingListenerInput) (*CreateCustomRoutingListenerOutput, error) { + req, out := c.CreateCustomRoutingListenerRequest(input) return out, req.Send() } -// DeleteAcceleratorWithContext is the same as DeleteAccelerator with the addition of +// CreateCustomRoutingListenerWithContext is the same as CreateCustomRoutingListener with the addition of // the ability to pass a context and additional request options. // -// See DeleteAccelerator for details on how to use this API operation. +// See CreateCustomRoutingListener for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DeleteAcceleratorWithContext(ctx aws.Context, input *DeleteAcceleratorInput, opts ...request.Option) (*DeleteAcceleratorOutput, error) { - req, out := c.DeleteAcceleratorRequest(input) +func (c *GlobalAccelerator) CreateCustomRoutingListenerWithContext(ctx aws.Context, input *CreateCustomRoutingListenerInput, opts ...request.Option) (*CreateCustomRoutingListenerOutput, error) { + req, out := c.CreateCustomRoutingListenerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteEndpointGroup = "DeleteEndpointGroup" +const opCreateEndpointGroup = "CreateEndpointGroup" -// DeleteEndpointGroupRequest generates a "aws/request.Request" representing the -// client's request for the DeleteEndpointGroup operation. The "output" return +// CreateEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateEndpointGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteEndpointGroup for more information on using the DeleteEndpointGroup +// See CreateEndpointGroup for more information on using the CreateEndpointGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteEndpointGroupRequest method. -// req, resp := client.DeleteEndpointGroupRequest(params) +// // Example sending a request using the CreateEndpointGroupRequest method. +// req, resp := client.CreateEndpointGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup -func (c *GlobalAccelerator) DeleteEndpointGroupRequest(input *DeleteEndpointGroupInput) (req *request.Request, output *DeleteEndpointGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup +func (c *GlobalAccelerator) CreateEndpointGroupRequest(input *CreateEndpointGroupInput) (req *request.Request, output *CreateEndpointGroupOutput) { op := &request.Operation{ - Name: opDeleteEndpointGroup, + Name: opCreateEndpointGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteEndpointGroupInput{} + input = &CreateEndpointGroupInput{} } - output = &DeleteEndpointGroupOutput{} + output = &CreateEndpointGroupOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteEndpointGroup API operation for AWS Global Accelerator. +// CreateEndpointGroup API operation for AWS Global Accelerator. // -// Delete an endpoint group from a listener. +// Create an endpoint group for the specified listener. An endpoint group is +// a collection of endpoints in one AWS Region. A resource must be valid and +// active when you add it as an endpoint. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DeleteEndpointGroup for usage and error information. +// API operation CreateEndpointGroup for usage and error information. // // Returned Error Types: -// * InvalidArgumentException -// An argument that you specified is invalid. +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. // -// * EndpointGroupNotFoundException -// The endpoint group that you specified doesn't exist. +// * EndpointGroupAlreadyExistsException +// The endpoint group that you specified already exists. +// +// * ListenerNotFoundException +// The listener that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup -func (c *GlobalAccelerator) DeleteEndpointGroup(input *DeleteEndpointGroupInput) (*DeleteEndpointGroupOutput, error) { - req, out := c.DeleteEndpointGroupRequest(input) +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// * AccessDeniedException +// You don't have access permission. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup +func (c *GlobalAccelerator) CreateEndpointGroup(input *CreateEndpointGroupInput) (*CreateEndpointGroupOutput, error) { + req, out := c.CreateEndpointGroupRequest(input) return out, req.Send() } -// DeleteEndpointGroupWithContext is the same as DeleteEndpointGroup with the addition of +// CreateEndpointGroupWithContext is the same as CreateEndpointGroup with the addition of // the ability to pass a context and additional request options. // -// See DeleteEndpointGroup for details on how to use this API operation. +// See CreateEndpointGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DeleteEndpointGroupWithContext(ctx aws.Context, input *DeleteEndpointGroupInput, opts ...request.Option) (*DeleteEndpointGroupOutput, error) { - req, out := c.DeleteEndpointGroupRequest(input) +func (c *GlobalAccelerator) CreateEndpointGroupWithContext(ctx aws.Context, input *CreateEndpointGroupInput, opts ...request.Option) (*CreateEndpointGroupOutput, error) { + req, out := c.CreateEndpointGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteListener = "DeleteListener" +const opCreateListener = "CreateListener" -// DeleteListenerRequest generates a "aws/request.Request" representing the -// client's request for the DeleteListener operation. The "output" return +// CreateListenerRequest generates a "aws/request.Request" representing the +// client's request for the CreateListener operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteListener for more information on using the DeleteListener +// See CreateListener for more information on using the CreateListener // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteListenerRequest method. -// req, resp := client.DeleteListenerRequest(params) +// // Example sending a request using the CreateListenerRequest method. +// req, resp := client.CreateListenerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener -func (c *GlobalAccelerator) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener +func (c *GlobalAccelerator) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) { op := &request.Operation{ - Name: opDeleteListener, + Name: opCreateListener, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteListenerInput{} + input = &CreateListenerInput{} } - output = &DeleteListenerOutput{} + output = &CreateListenerOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteListener API operation for AWS Global Accelerator. +// CreateListener API operation for AWS Global Accelerator. // -// Delete a listener from an accelerator. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DeleteListener for usage and error information. +// API operation CreateListener for usage and error information. // // Returned Error Types: // * InvalidArgumentException // An argument that you specified is invalid. // -// * ListenerNotFoundException -// The listener that you specified doesn't exist. +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. // -// * AssociatedEndpointGroupFoundException -// The listener that you specified has an endpoint group associated with it. -// You must remove all dependent resources from a listener before you can delete -// it. +// * InvalidPortRangeException +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener -func (c *GlobalAccelerator) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) { - req, out := c.DeleteListenerRequest(input) +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener +func (c *GlobalAccelerator) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { + req, out := c.CreateListenerRequest(input) return out, req.Send() } -// DeleteListenerWithContext is the same as DeleteListener with the addition of +// CreateListenerWithContext is the same as CreateListener with the addition of // the ability to pass a context and additional request options. // -// See DeleteListener for details on how to use this API operation. +// See CreateListener for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) { - req, out := c.DeleteListenerRequest(input) +func (c *GlobalAccelerator) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) { + req, out := c.CreateListenerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeprovisionByoipCidr = "DeprovisionByoipCidr" +const opDeleteAccelerator = "DeleteAccelerator" -// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the -// client's request for the DeprovisionByoipCidr operation. The "output" return +// DeleteAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccelerator operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr +// See DeleteAccelerator for more information on using the DeleteAccelerator // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeprovisionByoipCidrRequest method. -// req, resp := client.DeprovisionByoipCidrRequest(params) +// // Example sending a request using the DeleteAcceleratorRequest method. +// req, resp := client.DeleteAcceleratorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeprovisionByoipCidr -func (c *GlobalAccelerator) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator +func (c *GlobalAccelerator) DeleteAcceleratorRequest(input *DeleteAcceleratorInput) (req *request.Request, output *DeleteAcceleratorOutput) { op := &request.Operation{ - Name: opDeprovisionByoipCidr, + Name: opDeleteAccelerator, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeprovisionByoipCidrInput{} + input = &DeleteAcceleratorInput{} } - output = &DeprovisionByoipCidrOutput{} + output = &DeleteAcceleratorOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeprovisionByoipCidr API operation for AWS Global Accelerator. +// DeleteAccelerator API operation for AWS Global Accelerator. // -// Releases the specified address range that you provisioned to use with your -// AWS resources through bring your own IP addresses (BYOIP) and deletes the -// corresponding address pool. To see an AWS CLI example of deprovisioning an -// address range, scroll down to Example. +// Delete an accelerator. Before you can delete an accelerator, you must disable +// it and remove all dependent resources (listeners and endpoint groups). To +// disable the accelerator, update the accelerator to set Enabled to false. // -// Before you can release an address range, you must stop advertising it by -// using WithdrawByoipCidr (https://docs.aws.amazon.com/global-accelerator/latest/api/WithdrawByoipCidr.html) -// and you must not have any accelerators that are using static IP addresses -// allocated from its address range. +// When you create an accelerator, by default, Global Accelerator provides you +// with a set of two static IP addresses. Alternatively, you can bring your +// own IP address ranges to Global Accelerator and assign IP addresses from +// those ranges. // -// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) +// The IP addresses are assigned to your accelerator for as long as it exists, +// even if you disable the accelerator and it no longer accepts or routes traffic. +// However, when you delete an accelerator, you lose the static IP addresses +// that are assigned to the accelerator, so you can no longer route traffic +// by using them. As a best practice, ensure that you have permissions in place +// to avoid inadvertently deleting accelerators. You can use IAM policies with +// Global Accelerator to limit the users who have permissions to delete an accelerator. +// For more information, see Authentication and Access Control (https://docs.aws.amazon.com/global-accelerator/latest/dg/auth-and-access-control.html) // in the AWS Global Accelerator Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -755,804 +969,842 @@ func (c *GlobalAccelerator) DeprovisionByoipCidrRequest(input *DeprovisionByoipC // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DeprovisionByoipCidr for usage and error information. +// API operation DeleteAccelerator for usage and error information. // // Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * AcceleratorNotDisabledException +// The accelerator that you specified could not be disabled. +// +// * AssociatedListenerFoundException +// The accelerator that you specified has a listener associated with it. You +// must remove all dependent resources from an accelerator before you can delete +// it. +// // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // // * InvalidArgumentException // An argument that you specified is invalid. // -// * AccessDeniedException -// You don't have access permission. -// -// * ByoipCidrNotFoundException -// The CIDR that you specified was not found or is incorrect. -// -// * IncorrectCidrStateException -// The CIDR that you specified is not valid for this action. For example, the -// state of the CIDR might be incorrect for this action. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeprovisionByoipCidr -func (c *GlobalAccelerator) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) { - req, out := c.DeprovisionByoipCidrRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator +func (c *GlobalAccelerator) DeleteAccelerator(input *DeleteAcceleratorInput) (*DeleteAcceleratorOutput, error) { + req, out := c.DeleteAcceleratorRequest(input) return out, req.Send() } -// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of +// DeleteAcceleratorWithContext is the same as DeleteAccelerator with the addition of // the ability to pass a context and additional request options. // -// See DeprovisionByoipCidr for details on how to use this API operation. +// See DeleteAccelerator for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) { - req, out := c.DeprovisionByoipCidrRequest(input) +func (c *GlobalAccelerator) DeleteAcceleratorWithContext(ctx aws.Context, input *DeleteAcceleratorInput, opts ...request.Option) (*DeleteAcceleratorOutput, error) { + req, out := c.DeleteAcceleratorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeAccelerator = "DescribeAccelerator" +const opDeleteCustomRoutingAccelerator = "DeleteCustomRoutingAccelerator" -// DescribeAcceleratorRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAccelerator operation. The "output" return +// DeleteCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomRoutingAccelerator operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeAccelerator for more information on using the DescribeAccelerator +// See DeleteCustomRoutingAccelerator for more information on using the DeleteCustomRoutingAccelerator // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeAcceleratorRequest method. -// req, resp := client.DescribeAcceleratorRequest(params) +// // Example sending a request using the DeleteCustomRoutingAcceleratorRequest method. +// req, resp := client.DeleteCustomRoutingAcceleratorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator -func (c *GlobalAccelerator) DescribeAcceleratorRequest(input *DescribeAcceleratorInput) (req *request.Request, output *DescribeAcceleratorOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingAccelerator +func (c *GlobalAccelerator) DeleteCustomRoutingAcceleratorRequest(input *DeleteCustomRoutingAcceleratorInput) (req *request.Request, output *DeleteCustomRoutingAcceleratorOutput) { op := &request.Operation{ - Name: opDescribeAccelerator, + Name: opDeleteCustomRoutingAccelerator, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeAcceleratorInput{} + input = &DeleteCustomRoutingAcceleratorInput{} } - output = &DescribeAcceleratorOutput{} + output = &DeleteCustomRoutingAcceleratorOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeAccelerator API operation for AWS Global Accelerator. +// DeleteCustomRoutingAccelerator API operation for AWS Global Accelerator. +// +// Delete a custom routing accelerator. Before you can delete an accelerator, +// you must disable it and remove all dependent resources (listeners and endpoint +// groups). To disable the accelerator, update the accelerator to set Enabled +// to false. // -// Describe an accelerator. To see an AWS CLI example of describing an accelerator, -// scroll down to Example. +// When you create a custom routing accelerator, by default, Global Accelerator +// provides you with a set of two static IP addresses. +// +// The IP addresses are assigned to your accelerator for as long as it exists, +// even if you disable the accelerator and it no longer accepts or routes traffic. +// However, when you delete an accelerator, you lose the static IP addresses +// that are assigned to the accelerator, so you can no longer route traffic +// by using them. As a best practice, ensure that you have permissions in place +// to avoid inadvertently deleting accelerators. You can use IAM policies with +// Global Accelerator to limit the users who have permissions to delete an accelerator. +// For more information, see Authentication and Access Control (https://docs.aws.amazon.com/global-accelerator/latest/dg/auth-and-access-control.html) +// in the AWS Global Accelerator Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DescribeAccelerator for usage and error information. +// API operation DeleteCustomRoutingAccelerator for usage and error information. // // Returned Error Types: // * AcceleratorNotFoundException // The accelerator that you specified doesn't exist. // -// * InternalServiceErrorException -// There was an internal error for AWS Global Accelerator. -// -// * InvalidArgumentException -// An argument that you specified is invalid. +// * AcceleratorNotDisabledException +// The accelerator that you specified could not be disabled. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator -func (c *GlobalAccelerator) DescribeAccelerator(input *DescribeAcceleratorInput) (*DescribeAcceleratorOutput, error) { - req, out := c.DescribeAcceleratorRequest(input) +// * AssociatedListenerFoundException +// The accelerator that you specified has a listener associated with it. You +// must remove all dependent resources from an accelerator before you can delete +// it. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingAccelerator +func (c *GlobalAccelerator) DeleteCustomRoutingAccelerator(input *DeleteCustomRoutingAcceleratorInput) (*DeleteCustomRoutingAcceleratorOutput, error) { + req, out := c.DeleteCustomRoutingAcceleratorRequest(input) return out, req.Send() } -// DescribeAcceleratorWithContext is the same as DescribeAccelerator with the addition of +// DeleteCustomRoutingAcceleratorWithContext is the same as DeleteCustomRoutingAccelerator with the addition of // the ability to pass a context and additional request options. // -// See DescribeAccelerator for details on how to use this API operation. +// See DeleteCustomRoutingAccelerator for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DescribeAcceleratorWithContext(ctx aws.Context, input *DescribeAcceleratorInput, opts ...request.Option) (*DescribeAcceleratorOutput, error) { - req, out := c.DescribeAcceleratorRequest(input) +func (c *GlobalAccelerator) DeleteCustomRoutingAcceleratorWithContext(ctx aws.Context, input *DeleteCustomRoutingAcceleratorInput, opts ...request.Option) (*DeleteCustomRoutingAcceleratorOutput, error) { + req, out := c.DeleteCustomRoutingAcceleratorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeAcceleratorAttributes = "DescribeAcceleratorAttributes" +const opDeleteCustomRoutingEndpointGroup = "DeleteCustomRoutingEndpointGroup" -// DescribeAcceleratorAttributesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAcceleratorAttributes operation. The "output" return +// DeleteCustomRoutingEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomRoutingEndpointGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeAcceleratorAttributes for more information on using the DescribeAcceleratorAttributes +// See DeleteCustomRoutingEndpointGroup for more information on using the DeleteCustomRoutingEndpointGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeAcceleratorAttributesRequest method. -// req, resp := client.DescribeAcceleratorAttributesRequest(params) +// // Example sending a request using the DeleteCustomRoutingEndpointGroupRequest method. +// req, resp := client.DeleteCustomRoutingEndpointGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes -func (c *GlobalAccelerator) DescribeAcceleratorAttributesRequest(input *DescribeAcceleratorAttributesInput) (req *request.Request, output *DescribeAcceleratorAttributesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingEndpointGroup +func (c *GlobalAccelerator) DeleteCustomRoutingEndpointGroupRequest(input *DeleteCustomRoutingEndpointGroupInput) (req *request.Request, output *DeleteCustomRoutingEndpointGroupOutput) { op := &request.Operation{ - Name: opDescribeAcceleratorAttributes, + Name: opDeleteCustomRoutingEndpointGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeAcceleratorAttributesInput{} + input = &DeleteCustomRoutingEndpointGroupInput{} } - output = &DescribeAcceleratorAttributesOutput{} + output = &DeleteCustomRoutingEndpointGroupOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeAcceleratorAttributes API operation for AWS Global Accelerator. +// DeleteCustomRoutingEndpointGroup API operation for AWS Global Accelerator. // -// Describe the attributes of an accelerator. To see an AWS CLI example of describing -// the attributes of an accelerator, scroll down to Example. +// Delete an endpoint group from a listener for a custom routing accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DescribeAcceleratorAttributes for usage and error information. +// API operation DeleteCustomRoutingEndpointGroup for usage and error information. // // Returned Error Types: -// * AcceleratorNotFoundException -// The accelerator that you specified doesn't exist. +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// * InvalidArgumentException -// An argument that you specified is invalid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes -func (c *GlobalAccelerator) DescribeAcceleratorAttributes(input *DescribeAcceleratorAttributesInput) (*DescribeAcceleratorAttributesOutput, error) { - req, out := c.DescribeAcceleratorAttributesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingEndpointGroup +func (c *GlobalAccelerator) DeleteCustomRoutingEndpointGroup(input *DeleteCustomRoutingEndpointGroupInput) (*DeleteCustomRoutingEndpointGroupOutput, error) { + req, out := c.DeleteCustomRoutingEndpointGroupRequest(input) return out, req.Send() } -// DescribeAcceleratorAttributesWithContext is the same as DescribeAcceleratorAttributes with the addition of +// DeleteCustomRoutingEndpointGroupWithContext is the same as DeleteCustomRoutingEndpointGroup with the addition of // the ability to pass a context and additional request options. // -// See DescribeAcceleratorAttributes for details on how to use this API operation. +// See DeleteCustomRoutingEndpointGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DescribeAcceleratorAttributesWithContext(ctx aws.Context, input *DescribeAcceleratorAttributesInput, opts ...request.Option) (*DescribeAcceleratorAttributesOutput, error) { - req, out := c.DescribeAcceleratorAttributesRequest(input) +func (c *GlobalAccelerator) DeleteCustomRoutingEndpointGroupWithContext(ctx aws.Context, input *DeleteCustomRoutingEndpointGroupInput, opts ...request.Option) (*DeleteCustomRoutingEndpointGroupOutput, error) { + req, out := c.DeleteCustomRoutingEndpointGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeEndpointGroup = "DescribeEndpointGroup" +const opDeleteCustomRoutingListener = "DeleteCustomRoutingListener" -// DescribeEndpointGroupRequest generates a "aws/request.Request" representing the -// client's request for the DescribeEndpointGroup operation. The "output" return +// DeleteCustomRoutingListenerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomRoutingListener operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeEndpointGroup for more information on using the DescribeEndpointGroup +// See DeleteCustomRoutingListener for more information on using the DeleteCustomRoutingListener // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeEndpointGroupRequest method. -// req, resp := client.DescribeEndpointGroupRequest(params) +// // Example sending a request using the DeleteCustomRoutingListenerRequest method. +// req, resp := client.DeleteCustomRoutingListenerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup -func (c *GlobalAccelerator) DescribeEndpointGroupRequest(input *DescribeEndpointGroupInput) (req *request.Request, output *DescribeEndpointGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingListener +func (c *GlobalAccelerator) DeleteCustomRoutingListenerRequest(input *DeleteCustomRoutingListenerInput) (req *request.Request, output *DeleteCustomRoutingListenerOutput) { op := &request.Operation{ - Name: opDescribeEndpointGroup, + Name: opDeleteCustomRoutingListener, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeEndpointGroupInput{} + input = &DeleteCustomRoutingListenerInput{} } - output = &DescribeEndpointGroupOutput{} + output = &DeleteCustomRoutingListenerOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeEndpointGroup API operation for AWS Global Accelerator. +// DeleteCustomRoutingListener API operation for AWS Global Accelerator. // -// Describe an endpoint group. To see an AWS CLI example of describing an endpoint -// group, scroll down to Example. +// Delete a listener for a custom routing accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DescribeEndpointGroup for usage and error information. +// API operation DeleteCustomRoutingListener for usage and error information. // // Returned Error Types: // * InvalidArgumentException // An argument that you specified is invalid. // -// * EndpointGroupNotFoundException -// The endpoint group that you specified doesn't exist. +// * ListenerNotFoundException +// The listener that you specified doesn't exist. +// +// * AssociatedEndpointGroupFoundException +// The listener that you specified has an endpoint group associated with it. +// You must remove all dependent resources from a listener before you can delete +// it. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup -func (c *GlobalAccelerator) DescribeEndpointGroup(input *DescribeEndpointGroupInput) (*DescribeEndpointGroupOutput, error) { - req, out := c.DescribeEndpointGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingListener +func (c *GlobalAccelerator) DeleteCustomRoutingListener(input *DeleteCustomRoutingListenerInput) (*DeleteCustomRoutingListenerOutput, error) { + req, out := c.DeleteCustomRoutingListenerRequest(input) return out, req.Send() } -// DescribeEndpointGroupWithContext is the same as DescribeEndpointGroup with the addition of +// DeleteCustomRoutingListenerWithContext is the same as DeleteCustomRoutingListener with the addition of // the ability to pass a context and additional request options. // -// See DescribeEndpointGroup for details on how to use this API operation. +// See DeleteCustomRoutingListener for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DescribeEndpointGroupWithContext(ctx aws.Context, input *DescribeEndpointGroupInput, opts ...request.Option) (*DescribeEndpointGroupOutput, error) { - req, out := c.DescribeEndpointGroupRequest(input) +func (c *GlobalAccelerator) DeleteCustomRoutingListenerWithContext(ctx aws.Context, input *DeleteCustomRoutingListenerInput, opts ...request.Option) (*DeleteCustomRoutingListenerOutput, error) { + req, out := c.DeleteCustomRoutingListenerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeListener = "DescribeListener" +const opDeleteEndpointGroup = "DeleteEndpointGroup" -// DescribeListenerRequest generates a "aws/request.Request" representing the -// client's request for the DescribeListener operation. The "output" return +// DeleteEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpointGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeListener for more information on using the DescribeListener +// See DeleteEndpointGroup for more information on using the DeleteEndpointGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeListenerRequest method. -// req, resp := client.DescribeListenerRequest(params) +// // Example sending a request using the DeleteEndpointGroupRequest method. +// req, resp := client.DeleteEndpointGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener -func (c *GlobalAccelerator) DescribeListenerRequest(input *DescribeListenerInput) (req *request.Request, output *DescribeListenerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup +func (c *GlobalAccelerator) DeleteEndpointGroupRequest(input *DeleteEndpointGroupInput) (req *request.Request, output *DeleteEndpointGroupOutput) { op := &request.Operation{ - Name: opDescribeListener, + Name: opDeleteEndpointGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeListenerInput{} + input = &DeleteEndpointGroupInput{} } - output = &DescribeListenerOutput{} + output = &DeleteEndpointGroupOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeListener API operation for AWS Global Accelerator. +// DeleteEndpointGroup API operation for AWS Global Accelerator. // -// Describe a listener. To see an AWS CLI example of describing a listener, -// scroll down to Example. +// Delete an endpoint group from a listener. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation DescribeListener for usage and error information. +// API operation DeleteEndpointGroup for usage and error information. // // Returned Error Types: // * InvalidArgumentException // An argument that you specified is invalid. // -// * ListenerNotFoundException -// The listener that you specified doesn't exist. +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener -func (c *GlobalAccelerator) DescribeListener(input *DescribeListenerInput) (*DescribeListenerOutput, error) { - req, out := c.DescribeListenerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup +func (c *GlobalAccelerator) DeleteEndpointGroup(input *DeleteEndpointGroupInput) (*DeleteEndpointGroupOutput, error) { + req, out := c.DeleteEndpointGroupRequest(input) return out, req.Send() } -// DescribeListenerWithContext is the same as DescribeListener with the addition of +// DeleteEndpointGroupWithContext is the same as DeleteEndpointGroup with the addition of // the ability to pass a context and additional request options. // -// See DescribeListener for details on how to use this API operation. +// See DeleteEndpointGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) DescribeListenerWithContext(ctx aws.Context, input *DescribeListenerInput, opts ...request.Option) (*DescribeListenerOutput, error) { - req, out := c.DescribeListenerRequest(input) +func (c *GlobalAccelerator) DeleteEndpointGroupWithContext(ctx aws.Context, input *DeleteEndpointGroupInput, opts ...request.Option) (*DeleteEndpointGroupOutput, error) { + req, out := c.DeleteEndpointGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListAccelerators = "ListAccelerators" +const opDeleteListener = "DeleteListener" -// ListAcceleratorsRequest generates a "aws/request.Request" representing the -// client's request for the ListAccelerators operation. The "output" return +// DeleteListenerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteListener operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAccelerators for more information on using the ListAccelerators +// See DeleteListener for more information on using the DeleteListener // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListAcceleratorsRequest method. -// req, resp := client.ListAcceleratorsRequest(params) +// // Example sending a request using the DeleteListenerRequest method. +// req, resp := client.DeleteListenerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators -func (c *GlobalAccelerator) ListAcceleratorsRequest(input *ListAcceleratorsInput) (req *request.Request, output *ListAcceleratorsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener +func (c *GlobalAccelerator) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) { op := &request.Operation{ - Name: opListAccelerators, + Name: opDeleteListener, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListAcceleratorsInput{} + input = &DeleteListenerInput{} } - output = &ListAcceleratorsOutput{} + output = &DeleteListenerOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ListAccelerators API operation for AWS Global Accelerator. +// DeleteListener API operation for AWS Global Accelerator. // -// List the accelerators for an AWS account. To see an AWS CLI example of listing -// the accelerators for an AWS account, scroll down to Example. +// Delete a listener from an accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation ListAccelerators for usage and error information. +// API operation DeleteListener for usage and error information. // // Returned Error Types: // * InvalidArgumentException // An argument that you specified is invalid. // -// * InvalidNextTokenException -// There isn't another item to return. +// * ListenerNotFoundException +// The listener that you specified doesn't exist. +// +// * AssociatedEndpointGroupFoundException +// The listener that you specified has an endpoint group associated with it. +// You must remove all dependent resources from a listener before you can delete +// it. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators -func (c *GlobalAccelerator) ListAccelerators(input *ListAcceleratorsInput) (*ListAcceleratorsOutput, error) { - req, out := c.ListAcceleratorsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener +func (c *GlobalAccelerator) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) { + req, out := c.DeleteListenerRequest(input) return out, req.Send() } -// ListAcceleratorsWithContext is the same as ListAccelerators with the addition of +// DeleteListenerWithContext is the same as DeleteListener with the addition of // the ability to pass a context and additional request options. // -// See ListAccelerators for details on how to use this API operation. +// See DeleteListener for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) ListAcceleratorsWithContext(ctx aws.Context, input *ListAcceleratorsInput, opts ...request.Option) (*ListAcceleratorsOutput, error) { - req, out := c.ListAcceleratorsRequest(input) +func (c *GlobalAccelerator) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) { + req, out := c.DeleteListenerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListByoipCidrs = "ListByoipCidrs" +const opDenyCustomRoutingTraffic = "DenyCustomRoutingTraffic" -// ListByoipCidrsRequest generates a "aws/request.Request" representing the -// client's request for the ListByoipCidrs operation. The "output" return +// DenyCustomRoutingTrafficRequest generates a "aws/request.Request" representing the +// client's request for the DenyCustomRoutingTraffic operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListByoipCidrs for more information on using the ListByoipCidrs +// See DenyCustomRoutingTraffic for more information on using the DenyCustomRoutingTraffic // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListByoipCidrsRequest method. -// req, resp := client.ListByoipCidrsRequest(params) +// // Example sending a request using the DenyCustomRoutingTrafficRequest method. +// req, resp := client.DenyCustomRoutingTrafficRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrs -func (c *GlobalAccelerator) ListByoipCidrsRequest(input *ListByoipCidrsInput) (req *request.Request, output *ListByoipCidrsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DenyCustomRoutingTraffic +func (c *GlobalAccelerator) DenyCustomRoutingTrafficRequest(input *DenyCustomRoutingTrafficInput) (req *request.Request, output *DenyCustomRoutingTrafficOutput) { op := &request.Operation{ - Name: opListByoipCidrs, + Name: opDenyCustomRoutingTraffic, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListByoipCidrsInput{} + input = &DenyCustomRoutingTrafficInput{} } - output = &ListByoipCidrsOutput{} + output = &DenyCustomRoutingTrafficOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ListByoipCidrs API operation for AWS Global Accelerator. +// DenyCustomRoutingTraffic API operation for AWS Global Accelerator. // -// Lists the IP address ranges that were specified in calls to ProvisionByoipCidr -// (https://docs.aws.amazon.com/global-accelerator/latest/api/ProvisionByoipCidr.html), -// including the current state and a history of state changes. +// Specify the Amazon EC2 instance (destination) IP addresses and ports for +// a VPC subnet endpoint that cannot receive traffic for a custom routing accelerator. +// You can deny traffic to all destinations in the VPC endpoint, or deny traffic +// to a specified list of destination IP addresses and ports. Note that you +// cannot specify IP addresses or ports outside of the range that you configured +// for the endpoint group. // -// To see an AWS CLI example of listing BYOIP CIDR addresses, scroll down to -// Example. +// After you make changes, you can verify that the updates are complete by checking +// the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation ListByoipCidrs for usage and error information. +// API operation DenyCustomRoutingTraffic for usage and error information. // // Returned Error Types: -// * InternalServiceErrorException -// There was an internal error for AWS Global Accelerator. -// // * InvalidArgumentException // An argument that you specified is invalid. // -// * AccessDeniedException -// You don't have access permission. -// -// * InvalidNextTokenException -// There isn't another item to return. +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrs -func (c *GlobalAccelerator) ListByoipCidrs(input *ListByoipCidrsInput) (*ListByoipCidrsOutput, error) { - req, out := c.ListByoipCidrsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DenyCustomRoutingTraffic +func (c *GlobalAccelerator) DenyCustomRoutingTraffic(input *DenyCustomRoutingTrafficInput) (*DenyCustomRoutingTrafficOutput, error) { + req, out := c.DenyCustomRoutingTrafficRequest(input) return out, req.Send() } -// ListByoipCidrsWithContext is the same as ListByoipCidrs with the addition of +// DenyCustomRoutingTrafficWithContext is the same as DenyCustomRoutingTraffic with the addition of // the ability to pass a context and additional request options. // -// See ListByoipCidrs for details on how to use this API operation. +// See DenyCustomRoutingTraffic for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) ListByoipCidrsWithContext(ctx aws.Context, input *ListByoipCidrsInput, opts ...request.Option) (*ListByoipCidrsOutput, error) { - req, out := c.ListByoipCidrsRequest(input) +func (c *GlobalAccelerator) DenyCustomRoutingTrafficWithContext(ctx aws.Context, input *DenyCustomRoutingTrafficInput, opts ...request.Option) (*DenyCustomRoutingTrafficOutput, error) { + req, out := c.DenyCustomRoutingTrafficRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListEndpointGroups = "ListEndpointGroups" +const opDeprovisionByoipCidr = "DeprovisionByoipCidr" -// ListEndpointGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListEndpointGroups operation. The "output" return +// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the +// client's request for the DeprovisionByoipCidr operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListEndpointGroups for more information on using the ListEndpointGroups +// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListEndpointGroupsRequest method. -// req, resp := client.ListEndpointGroupsRequest(params) +// // Example sending a request using the DeprovisionByoipCidrRequest method. +// req, resp := client.DeprovisionByoipCidrRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups -func (c *GlobalAccelerator) ListEndpointGroupsRequest(input *ListEndpointGroupsInput) (req *request.Request, output *ListEndpointGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeprovisionByoipCidr +func (c *GlobalAccelerator) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) { op := &request.Operation{ - Name: opListEndpointGroups, + Name: opDeprovisionByoipCidr, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListEndpointGroupsInput{} + input = &DeprovisionByoipCidrInput{} } - output = &ListEndpointGroupsOutput{} + output = &DeprovisionByoipCidrOutput{} req = c.newRequest(op, input, output) return } -// ListEndpointGroups API operation for AWS Global Accelerator. +// DeprovisionByoipCidr API operation for AWS Global Accelerator. +// +// Releases the specified address range that you provisioned to use with your +// AWS resources through bring your own IP addresses (BYOIP) and deletes the +// corresponding address pool. +// +// Before you can release an address range, you must stop advertising it by +// using WithdrawByoipCidr (https://docs.aws.amazon.com/global-accelerator/latest/api/WithdrawByoipCidr.html) +// and you must not have any accelerators that are using static IP addresses +// allocated from its address range. // -// List the endpoint groups that are associated with a listener. To see an AWS -// CLI example of listing the endpoint groups for listener, scroll down to Example. +// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) +// in the AWS Global Accelerator Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation ListEndpointGroups for usage and error information. +// API operation DeprovisionByoipCidr for usage and error information. // // Returned Error Types: -// * ListenerNotFoundException -// The listener that you specified doesn't exist. -// -// * InvalidNextTokenException -// There isn't another item to return. +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. // // * InvalidArgumentException // An argument that you specified is invalid. // -// * InternalServiceErrorException -// There was an internal error for AWS Global Accelerator. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups -func (c *GlobalAccelerator) ListEndpointGroups(input *ListEndpointGroupsInput) (*ListEndpointGroupsOutput, error) { - req, out := c.ListEndpointGroupsRequest(input) +// * AccessDeniedException +// You don't have access permission. +// +// * ByoipCidrNotFoundException +// The CIDR that you specified was not found or is incorrect. +// +// * IncorrectCidrStateException +// The CIDR that you specified is not valid for this action. For example, the +// state of the CIDR might be incorrect for this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeprovisionByoipCidr +func (c *GlobalAccelerator) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) { + req, out := c.DeprovisionByoipCidrRequest(input) return out, req.Send() } -// ListEndpointGroupsWithContext is the same as ListEndpointGroups with the addition of +// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of // the ability to pass a context and additional request options. // -// See ListEndpointGroups for details on how to use this API operation. +// See DeprovisionByoipCidr for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) ListEndpointGroupsWithContext(ctx aws.Context, input *ListEndpointGroupsInput, opts ...request.Option) (*ListEndpointGroupsOutput, error) { - req, out := c.ListEndpointGroupsRequest(input) +func (c *GlobalAccelerator) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) { + req, out := c.DeprovisionByoipCidrRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListListeners = "ListListeners" +const opDescribeAccelerator = "DescribeAccelerator" -// ListListenersRequest generates a "aws/request.Request" representing the -// client's request for the ListListeners operation. The "output" return +// DescribeAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccelerator operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListListeners for more information on using the ListListeners +// See DescribeAccelerator for more information on using the DescribeAccelerator // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListListenersRequest method. -// req, resp := client.ListListenersRequest(params) +// // Example sending a request using the DescribeAcceleratorRequest method. +// req, resp := client.DescribeAcceleratorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners -func (c *GlobalAccelerator) ListListenersRequest(input *ListListenersInput) (req *request.Request, output *ListListenersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator +func (c *GlobalAccelerator) DescribeAcceleratorRequest(input *DescribeAcceleratorInput) (req *request.Request, output *DescribeAcceleratorOutput) { op := &request.Operation{ - Name: opListListeners, + Name: opDescribeAccelerator, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListListenersInput{} + input = &DescribeAcceleratorInput{} } - output = &ListListenersOutput{} + output = &DescribeAcceleratorOutput{} req = c.newRequest(op, input, output) return } -// ListListeners API operation for AWS Global Accelerator. +// DescribeAccelerator API operation for AWS Global Accelerator. // -// List the listeners for an accelerator. To see an AWS CLI example of listing -// the listeners for an accelerator, scroll down to Example. +// Describe an accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation ListListeners for usage and error information. +// API operation DescribeAccelerator for usage and error information. // // Returned Error Types: -// * InvalidArgumentException -// An argument that you specified is invalid. -// // * AcceleratorNotFoundException // The accelerator that you specified doesn't exist. // -// * InvalidNextTokenException -// There isn't another item to return. -// // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners -func (c *GlobalAccelerator) ListListeners(input *ListListenersInput) (*ListListenersOutput, error) { - req, out := c.ListListenersRequest(input) +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator +func (c *GlobalAccelerator) DescribeAccelerator(input *DescribeAcceleratorInput) (*DescribeAcceleratorOutput, error) { + req, out := c.DescribeAcceleratorRequest(input) return out, req.Send() } -// ListListenersWithContext is the same as ListListeners with the addition of +// DescribeAcceleratorWithContext is the same as DescribeAccelerator with the addition of // the ability to pass a context and additional request options. // -// See ListListeners for details on how to use this API operation. +// See DescribeAccelerator for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) ListListenersWithContext(ctx aws.Context, input *ListListenersInput, opts ...request.Option) (*ListListenersOutput, error) { - req, out := c.ListListenersRequest(input) +func (c *GlobalAccelerator) DescribeAcceleratorWithContext(ctx aws.Context, input *DescribeAcceleratorInput, opts ...request.Option) (*DescribeAcceleratorOutput, error) { + req, out := c.DescribeAcceleratorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTagsForResource = "ListTagsForResource" +const opDescribeAcceleratorAttributes = "DescribeAcceleratorAttributes" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// DescribeAcceleratorAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAcceleratorAttributes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See DescribeAcceleratorAttributes for more information on using the DescribeAcceleratorAttributes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the DescribeAcceleratorAttributesRequest method. +// req, resp := client.DescribeAcceleratorAttributesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListTagsForResource -func (c *GlobalAccelerator) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes +func (c *GlobalAccelerator) DescribeAcceleratorAttributesRequest(input *DescribeAcceleratorAttributesInput) (req *request.Request, output *DescribeAcceleratorAttributesOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opDescribeAcceleratorAttributes, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListTagsForResourceInput{} + input = &DescribeAcceleratorAttributesInput{} } - output = &ListTagsForResourceOutput{} + output = &DescribeAcceleratorAttributesOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Global Accelerator. -// -// List all tags for an accelerator. To see an AWS CLI example of listing tags -// for an accelerator, scroll down to Example. +// DescribeAcceleratorAttributes API operation for AWS Global Accelerator. // -// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) -// in the AWS Global Accelerator Developer Guide. +// Describe the attributes of an accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation ListTagsForResource for usage and error information. +// API operation DescribeAcceleratorAttributes for usage and error information. // // Returned Error Types: // * AcceleratorNotFoundException @@ -1564,187 +1816,165 @@ func (c *GlobalAccelerator) ListTagsForResourceRequest(input *ListTagsForResourc // * InvalidArgumentException // An argument that you specified is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListTagsForResource -func (c *GlobalAccelerator) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes +func (c *GlobalAccelerator) DescribeAcceleratorAttributes(input *DescribeAcceleratorAttributesInput) (*DescribeAcceleratorAttributesOutput, error) { + req, out := c.DescribeAcceleratorAttributesRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// DescribeAcceleratorAttributesWithContext is the same as DescribeAcceleratorAttributes with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See DescribeAcceleratorAttributes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *GlobalAccelerator) DescribeAcceleratorAttributesWithContext(ctx aws.Context, input *DescribeAcceleratorAttributesInput, opts ...request.Option) (*DescribeAcceleratorAttributesOutput, error) { + req, out := c.DescribeAcceleratorAttributesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opProvisionByoipCidr = "ProvisionByoipCidr" +const opDescribeCustomRoutingAccelerator = "DescribeCustomRoutingAccelerator" -// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the -// client's request for the ProvisionByoipCidr operation. The "output" return +// DescribeCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomRoutingAccelerator operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr +// See DescribeCustomRoutingAccelerator for more information on using the DescribeCustomRoutingAccelerator // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ProvisionByoipCidrRequest method. -// req, resp := client.ProvisionByoipCidrRequest(params) +// // Example sending a request using the DescribeCustomRoutingAcceleratorRequest method. +// req, resp := client.DescribeCustomRoutingAcceleratorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ProvisionByoipCidr -func (c *GlobalAccelerator) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAccelerator +func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorRequest(input *DescribeCustomRoutingAcceleratorInput) (req *request.Request, output *DescribeCustomRoutingAcceleratorOutput) { op := &request.Operation{ - Name: opProvisionByoipCidr, + Name: opDescribeCustomRoutingAccelerator, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ProvisionByoipCidrInput{} + input = &DescribeCustomRoutingAcceleratorInput{} } - output = &ProvisionByoipCidrOutput{} + output = &DescribeCustomRoutingAcceleratorOutput{} req = c.newRequest(op, input, output) return } -// ProvisionByoipCidr API operation for AWS Global Accelerator. +// DescribeCustomRoutingAccelerator API operation for AWS Global Accelerator. // -// Provisions an IP address range to use with your AWS resources through bring -// your own IP addresses (BYOIP) and creates a corresponding address pool. After -// the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr -// (https://docs.aws.amazon.com/global-accelerator/latest/api/AdvertiseByoipCidr.html). -// -// To see an AWS CLI example of provisioning an address range for BYOIP, scroll -// down to Example. -// -// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) -// in the AWS Global Accelerator Developer Guide. +// Describe a custom routing accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation ProvisionByoipCidr for usage and error information. +// API operation DescribeCustomRoutingAccelerator for usage and error information. // // Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // // * InvalidArgumentException // An argument that you specified is invalid. // -// * LimitExceededException -// Processing your request would cause you to exceed an AWS Global Accelerator -// limit. -// -// * AccessDeniedException -// You don't have access permission. -// -// * IncorrectCidrStateException -// The CIDR that you specified is not valid for this action. For example, the -// state of the CIDR might be incorrect for this action. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ProvisionByoipCidr -func (c *GlobalAccelerator) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) { - req, out := c.ProvisionByoipCidrRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAccelerator +func (c *GlobalAccelerator) DescribeCustomRoutingAccelerator(input *DescribeCustomRoutingAcceleratorInput) (*DescribeCustomRoutingAcceleratorOutput, error) { + req, out := c.DescribeCustomRoutingAcceleratorRequest(input) return out, req.Send() } -// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of +// DescribeCustomRoutingAcceleratorWithContext is the same as DescribeCustomRoutingAccelerator with the addition of // the ability to pass a context and additional request options. // -// See ProvisionByoipCidr for details on how to use this API operation. +// See DescribeCustomRoutingAccelerator for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) { - req, out := c.ProvisionByoipCidrRequest(input) +func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorWithContext(ctx aws.Context, input *DescribeCustomRoutingAcceleratorInput, opts ...request.Option) (*DescribeCustomRoutingAcceleratorOutput, error) { + req, out := c.DescribeCustomRoutingAcceleratorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opDescribeCustomRoutingAcceleratorAttributes = "DescribeCustomRoutingAcceleratorAttributes" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// DescribeCustomRoutingAcceleratorAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomRoutingAcceleratorAttributes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See DescribeCustomRoutingAcceleratorAttributes for more information on using the DescribeCustomRoutingAcceleratorAttributes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the DescribeCustomRoutingAcceleratorAttributesRequest method. +// req, resp := client.DescribeCustomRoutingAcceleratorAttributesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TagResource -func (c *GlobalAccelerator) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorAttributes +func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorAttributesRequest(input *DescribeCustomRoutingAcceleratorAttributesInput) (req *request.Request, output *DescribeCustomRoutingAcceleratorAttributesOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opDescribeCustomRoutingAcceleratorAttributes, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &DescribeCustomRoutingAcceleratorAttributesInput{} } - output = &TagResourceOutput{} + output = &DescribeCustomRoutingAcceleratorAttributesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS Global Accelerator. -// -// Add tags to an accelerator resource. To see an AWS CLI example of adding -// tags to an accelerator, scroll down to Example. +// DescribeCustomRoutingAcceleratorAttributes API operation for AWS Global Accelerator. // -// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) -// in the AWS Global Accelerator Developer Guide. +// Describe the attributes of a custom routing accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation TagResource for usage and error information. +// API operation DescribeCustomRoutingAcceleratorAttributes for usage and error information. // // Returned Error Types: // * AcceleratorNotFoundException @@ -1756,551 +1986,565 @@ func (c *GlobalAccelerator) TagResourceRequest(input *TagResourceInput) (req *re // * InvalidArgumentException // An argument that you specified is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TagResource -func (c *GlobalAccelerator) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorAttributes +func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorAttributes(input *DescribeCustomRoutingAcceleratorAttributesInput) (*DescribeCustomRoutingAcceleratorAttributesOutput, error) { + req, out := c.DescribeCustomRoutingAcceleratorAttributesRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// DescribeCustomRoutingAcceleratorAttributesWithContext is the same as DescribeCustomRoutingAcceleratorAttributes with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See DescribeCustomRoutingAcceleratorAttributes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorAttributesWithContext(ctx aws.Context, input *DescribeCustomRoutingAcceleratorAttributesInput, opts ...request.Option) (*DescribeCustomRoutingAcceleratorAttributesOutput, error) { + req, out := c.DescribeCustomRoutingAcceleratorAttributesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opDescribeCustomRoutingEndpointGroup = "DescribeCustomRoutingEndpointGroup" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// DescribeCustomRoutingEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomRoutingEndpointGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See DescribeCustomRoutingEndpointGroup for more information on using the DescribeCustomRoutingEndpointGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the DescribeCustomRoutingEndpointGroupRequest method. +// req, resp := client.DescribeCustomRoutingEndpointGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UntagResource -func (c *GlobalAccelerator) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingEndpointGroup +func (c *GlobalAccelerator) DescribeCustomRoutingEndpointGroupRequest(input *DescribeCustomRoutingEndpointGroupInput) (req *request.Request, output *DescribeCustomRoutingEndpointGroupOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opDescribeCustomRoutingEndpointGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &DescribeCustomRoutingEndpointGroupInput{} } - output = &UntagResourceOutput{} + output = &DescribeCustomRoutingEndpointGroupOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS Global Accelerator. -// -// Remove tags from a Global Accelerator resource. When you specify a tag key, -// the action removes both that key and its associated value. To see an AWS -// CLI example of removing tags from an accelerator, scroll down to Example. -// The operation succeeds even if you attempt to remove tags from an accelerator -// that was already removed. +// DescribeCustomRoutingEndpointGroup API operation for AWS Global Accelerator. // -// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) -// in the AWS Global Accelerator Developer Guide. +// Describe an endpoint group for a custom routing accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation UntagResource for usage and error information. +// API operation DescribeCustomRoutingEndpointGroup for usage and error information. // // Returned Error Types: -// * AcceleratorNotFoundException -// The accelerator that you specified doesn't exist. +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// * InvalidArgumentException -// An argument that you specified is invalid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UntagResource -func (c *GlobalAccelerator) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingEndpointGroup +func (c *GlobalAccelerator) DescribeCustomRoutingEndpointGroup(input *DescribeCustomRoutingEndpointGroupInput) (*DescribeCustomRoutingEndpointGroupOutput, error) { + req, out := c.DescribeCustomRoutingEndpointGroupRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// DescribeCustomRoutingEndpointGroupWithContext is the same as DescribeCustomRoutingEndpointGroup with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See DescribeCustomRoutingEndpointGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *GlobalAccelerator) DescribeCustomRoutingEndpointGroupWithContext(ctx aws.Context, input *DescribeCustomRoutingEndpointGroupInput, opts ...request.Option) (*DescribeCustomRoutingEndpointGroupOutput, error) { + req, out := c.DescribeCustomRoutingEndpointGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAccelerator = "UpdateAccelerator" +const opDescribeCustomRoutingListener = "DescribeCustomRoutingListener" -// UpdateAcceleratorRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAccelerator operation. The "output" return +// DescribeCustomRoutingListenerRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomRoutingListener operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAccelerator for more information on using the UpdateAccelerator +// See DescribeCustomRoutingListener for more information on using the DescribeCustomRoutingListener // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateAcceleratorRequest method. -// req, resp := client.UpdateAcceleratorRequest(params) +// // Example sending a request using the DescribeCustomRoutingListenerRequest method. +// req, resp := client.DescribeCustomRoutingListenerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator -func (c *GlobalAccelerator) UpdateAcceleratorRequest(input *UpdateAcceleratorInput) (req *request.Request, output *UpdateAcceleratorOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingListener +func (c *GlobalAccelerator) DescribeCustomRoutingListenerRequest(input *DescribeCustomRoutingListenerInput) (req *request.Request, output *DescribeCustomRoutingListenerOutput) { op := &request.Operation{ - Name: opUpdateAccelerator, + Name: opDescribeCustomRoutingListener, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateAcceleratorInput{} + input = &DescribeCustomRoutingListenerInput{} } - output = &UpdateAcceleratorOutput{} + output = &DescribeCustomRoutingListenerOutput{} req = c.newRequest(op, input, output) return } -// UpdateAccelerator API operation for AWS Global Accelerator. -// -// Update an accelerator. To see an AWS CLI example of updating an accelerator, -// scroll down to Example. +// DescribeCustomRoutingListener API operation for AWS Global Accelerator. // -// Global Accelerator is a global service that supports endpoints in multiple -// AWS Regions but you must specify the US West (Oregon) Region to create or -// update accelerators. +// The description of a listener for a custom routing accelerator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation UpdateAccelerator for usage and error information. +// API operation DescribeCustomRoutingListener for usage and error information. // // Returned Error Types: -// * AcceleratorNotFoundException -// The accelerator that you specified doesn't exist. +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * ListenerNotFoundException +// The listener that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// * InvalidArgumentException -// An argument that you specified is invalid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator -func (c *GlobalAccelerator) UpdateAccelerator(input *UpdateAcceleratorInput) (*UpdateAcceleratorOutput, error) { - req, out := c.UpdateAcceleratorRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingListener +func (c *GlobalAccelerator) DescribeCustomRoutingListener(input *DescribeCustomRoutingListenerInput) (*DescribeCustomRoutingListenerOutput, error) { + req, out := c.DescribeCustomRoutingListenerRequest(input) return out, req.Send() } -// UpdateAcceleratorWithContext is the same as UpdateAccelerator with the addition of +// DescribeCustomRoutingListenerWithContext is the same as DescribeCustomRoutingListener with the addition of // the ability to pass a context and additional request options. // -// See UpdateAccelerator for details on how to use this API operation. +// See DescribeCustomRoutingListener for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) UpdateAcceleratorWithContext(ctx aws.Context, input *UpdateAcceleratorInput, opts ...request.Option) (*UpdateAcceleratorOutput, error) { - req, out := c.UpdateAcceleratorRequest(input) +func (c *GlobalAccelerator) DescribeCustomRoutingListenerWithContext(ctx aws.Context, input *DescribeCustomRoutingListenerInput, opts ...request.Option) (*DescribeCustomRoutingListenerOutput, error) { + req, out := c.DescribeCustomRoutingListenerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAcceleratorAttributes = "UpdateAcceleratorAttributes" +const opDescribeEndpointGroup = "DescribeEndpointGroup" -// UpdateAcceleratorAttributesRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAcceleratorAttributes operation. The "output" return -// value will be populated with the request's response once the request completes +// DescribeEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEndpointGroup operation. The "output" return +// value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAcceleratorAttributes for more information on using the UpdateAcceleratorAttributes +// See DescribeEndpointGroup for more information on using the DescribeEndpointGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateAcceleratorAttributesRequest method. -// req, resp := client.UpdateAcceleratorAttributesRequest(params) +// // Example sending a request using the DescribeEndpointGroupRequest method. +// req, resp := client.DescribeEndpointGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes -func (c *GlobalAccelerator) UpdateAcceleratorAttributesRequest(input *UpdateAcceleratorAttributesInput) (req *request.Request, output *UpdateAcceleratorAttributesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup +func (c *GlobalAccelerator) DescribeEndpointGroupRequest(input *DescribeEndpointGroupInput) (req *request.Request, output *DescribeEndpointGroupOutput) { op := &request.Operation{ - Name: opUpdateAcceleratorAttributes, + Name: opDescribeEndpointGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateAcceleratorAttributesInput{} + input = &DescribeEndpointGroupInput{} } - output = &UpdateAcceleratorAttributesOutput{} + output = &DescribeEndpointGroupOutput{} req = c.newRequest(op, input, output) return } -// UpdateAcceleratorAttributes API operation for AWS Global Accelerator. +// DescribeEndpointGroup API operation for AWS Global Accelerator. // -// Update the attributes for an accelerator. To see an AWS CLI example of updating -// an accelerator to enable flow logs, scroll down to Example. +// Describe an endpoint group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation UpdateAcceleratorAttributes for usage and error information. +// API operation DescribeEndpointGroup for usage and error information. // // Returned Error Types: -// * AcceleratorNotFoundException -// The accelerator that you specified doesn't exist. -// -// * InternalServiceErrorException -// There was an internal error for AWS Global Accelerator. -// // * InvalidArgumentException // An argument that you specified is invalid. // -// * AccessDeniedException -// You don't have access permission. +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes -func (c *GlobalAccelerator) UpdateAcceleratorAttributes(input *UpdateAcceleratorAttributesInput) (*UpdateAcceleratorAttributesOutput, error) { - req, out := c.UpdateAcceleratorAttributesRequest(input) +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup +func (c *GlobalAccelerator) DescribeEndpointGroup(input *DescribeEndpointGroupInput) (*DescribeEndpointGroupOutput, error) { + req, out := c.DescribeEndpointGroupRequest(input) return out, req.Send() } -// UpdateAcceleratorAttributesWithContext is the same as UpdateAcceleratorAttributes with the addition of +// DescribeEndpointGroupWithContext is the same as DescribeEndpointGroup with the addition of // the ability to pass a context and additional request options. // -// See UpdateAcceleratorAttributes for details on how to use this API operation. +// See DescribeEndpointGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) UpdateAcceleratorAttributesWithContext(ctx aws.Context, input *UpdateAcceleratorAttributesInput, opts ...request.Option) (*UpdateAcceleratorAttributesOutput, error) { - req, out := c.UpdateAcceleratorAttributesRequest(input) +func (c *GlobalAccelerator) DescribeEndpointGroupWithContext(ctx aws.Context, input *DescribeEndpointGroupInput, opts ...request.Option) (*DescribeEndpointGroupOutput, error) { + req, out := c.DescribeEndpointGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEndpointGroup = "UpdateEndpointGroup" +const opDescribeListener = "DescribeListener" -// UpdateEndpointGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEndpointGroup operation. The "output" return +// DescribeListenerRequest generates a "aws/request.Request" representing the +// client's request for the DescribeListener operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateEndpointGroup for more information on using the UpdateEndpointGroup +// See DescribeListener for more information on using the DescribeListener // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateEndpointGroupRequest method. -// req, resp := client.UpdateEndpointGroupRequest(params) +// // Example sending a request using the DescribeListenerRequest method. +// req, resp := client.DescribeListenerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup -func (c *GlobalAccelerator) UpdateEndpointGroupRequest(input *UpdateEndpointGroupInput) (req *request.Request, output *UpdateEndpointGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener +func (c *GlobalAccelerator) DescribeListenerRequest(input *DescribeListenerInput) (req *request.Request, output *DescribeListenerOutput) { op := &request.Operation{ - Name: opUpdateEndpointGroup, + Name: opDescribeListener, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateEndpointGroupInput{} + input = &DescribeListenerInput{} } - output = &UpdateEndpointGroupOutput{} + output = &DescribeListenerOutput{} req = c.newRequest(op, input, output) return } -// UpdateEndpointGroup API operation for AWS Global Accelerator. -// -// Update an endpoint group. A resource must be valid and active when you add -// it as an endpoint. +// DescribeListener API operation for AWS Global Accelerator. // -// To see an AWS CLI example of updating an endpoint group, scroll down to Example. +// Describe a listener. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation UpdateEndpointGroup for usage and error information. +// API operation DescribeListener for usage and error information. // // Returned Error Types: // * InvalidArgumentException // An argument that you specified is invalid. // -// * EndpointGroupNotFoundException -// The endpoint group that you specified doesn't exist. +// * ListenerNotFoundException +// The listener that you specified doesn't exist. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// * LimitExceededException -// Processing your request would cause you to exceed an AWS Global Accelerator -// limit. -// -// * AccessDeniedException -// You don't have access permission. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup -func (c *GlobalAccelerator) UpdateEndpointGroup(input *UpdateEndpointGroupInput) (*UpdateEndpointGroupOutput, error) { - req, out := c.UpdateEndpointGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener +func (c *GlobalAccelerator) DescribeListener(input *DescribeListenerInput) (*DescribeListenerOutput, error) { + req, out := c.DescribeListenerRequest(input) return out, req.Send() } -// UpdateEndpointGroupWithContext is the same as UpdateEndpointGroup with the addition of +// DescribeListenerWithContext is the same as DescribeListener with the addition of // the ability to pass a context and additional request options. // -// See UpdateEndpointGroup for details on how to use this API operation. +// See DescribeListener for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) UpdateEndpointGroupWithContext(ctx aws.Context, input *UpdateEndpointGroupInput, opts ...request.Option) (*UpdateEndpointGroupOutput, error) { - req, out := c.UpdateEndpointGroupRequest(input) +func (c *GlobalAccelerator) DescribeListenerWithContext(ctx aws.Context, input *DescribeListenerInput, opts ...request.Option) (*DescribeListenerOutput, error) { + req, out := c.DescribeListenerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateListener = "UpdateListener" +const opListAccelerators = "ListAccelerators" -// UpdateListenerRequest generates a "aws/request.Request" representing the -// client's request for the UpdateListener operation. The "output" return +// ListAcceleratorsRequest generates a "aws/request.Request" representing the +// client's request for the ListAccelerators operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateListener for more information on using the UpdateListener +// See ListAccelerators for more information on using the ListAccelerators // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateListenerRequest method. -// req, resp := client.UpdateListenerRequest(params) +// // Example sending a request using the ListAcceleratorsRequest method. +// req, resp := client.ListAcceleratorsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener -func (c *GlobalAccelerator) UpdateListenerRequest(input *UpdateListenerInput) (req *request.Request, output *UpdateListenerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators +func (c *GlobalAccelerator) ListAcceleratorsRequest(input *ListAcceleratorsInput) (req *request.Request, output *ListAcceleratorsOutput) { op := &request.Operation{ - Name: opUpdateListener, + Name: opListAccelerators, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateListenerInput{} + input = &ListAcceleratorsInput{} } - output = &UpdateListenerOutput{} + output = &ListAcceleratorsOutput{} req = c.newRequest(op, input, output) return } -// UpdateListener API operation for AWS Global Accelerator. +// ListAccelerators API operation for AWS Global Accelerator. // -// Update a listener. To see an AWS CLI example of updating listener, scroll -// down to Example. +// List the accelerators for an AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation UpdateListener for usage and error information. +// API operation ListAccelerators for usage and error information. // // Returned Error Types: // * InvalidArgumentException // An argument that you specified is invalid. // -// * InvalidPortRangeException -// The port numbers that you specified are not valid numbers or are not unique -// for this accelerator. -// -// * ListenerNotFoundException -// The listener that you specified doesn't exist. +// * InvalidNextTokenException +// There isn't another item to return. // // * InternalServiceErrorException // There was an internal error for AWS Global Accelerator. // -// * LimitExceededException -// Processing your request would cause you to exceed an AWS Global Accelerator -// limit. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener -func (c *GlobalAccelerator) UpdateListener(input *UpdateListenerInput) (*UpdateListenerOutput, error) { - req, out := c.UpdateListenerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators +func (c *GlobalAccelerator) ListAccelerators(input *ListAcceleratorsInput) (*ListAcceleratorsOutput, error) { + req, out := c.ListAcceleratorsRequest(input) return out, req.Send() } -// UpdateListenerWithContext is the same as UpdateListener with the addition of +// ListAcceleratorsWithContext is the same as ListAccelerators with the addition of // the ability to pass a context and additional request options. // -// See UpdateListener for details on how to use this API operation. +// See ListAccelerators for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) UpdateListenerWithContext(ctx aws.Context, input *UpdateListenerInput, opts ...request.Option) (*UpdateListenerOutput, error) { - req, out := c.UpdateListenerRequest(input) +func (c *GlobalAccelerator) ListAcceleratorsWithContext(ctx aws.Context, input *ListAcceleratorsInput, opts ...request.Option) (*ListAcceleratorsOutput, error) { + req, out := c.ListAcceleratorsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opWithdrawByoipCidr = "WithdrawByoipCidr" +// ListAcceleratorsPages iterates over the pages of a ListAccelerators operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAccelerators method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAccelerators operation. +// pageNum := 0 +// err := client.ListAcceleratorsPages(params, +// func(page *globalaccelerator.ListAcceleratorsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListAcceleratorsPages(input *ListAcceleratorsInput, fn func(*ListAcceleratorsOutput, bool) bool) error { + return c.ListAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the -// client's request for the WithdrawByoipCidr operation. The "output" return +// ListAcceleratorsPagesWithContext same as ListAcceleratorsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListAcceleratorsPagesWithContext(ctx aws.Context, input *ListAcceleratorsInput, fn func(*ListAcceleratorsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAcceleratorsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAcceleratorsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAcceleratorsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListByoipCidrs = "ListByoipCidrs" + +// ListByoipCidrsRequest generates a "aws/request.Request" representing the +// client's request for the ListByoipCidrs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr +// See ListByoipCidrs for more information on using the ListByoipCidrs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the WithdrawByoipCidrRequest method. -// req, resp := client.WithdrawByoipCidrRequest(params) +// // Example sending a request using the ListByoipCidrsRequest method. +// req, resp := client.ListByoipCidrsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/WithdrawByoipCidr -func (c *GlobalAccelerator) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrs +func (c *GlobalAccelerator) ListByoipCidrsRequest(input *ListByoipCidrsInput) (req *request.Request, output *ListByoipCidrsOutput) { op := &request.Operation{ - Name: opWithdrawByoipCidr, + Name: opListByoipCidrs, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &WithdrawByoipCidrInput{} + input = &ListByoipCidrsInput{} } - output = &WithdrawByoipCidrOutput{} + output = &ListByoipCidrsOutput{} req = c.newRequest(op, input, output) return } -// WithdrawByoipCidr API operation for AWS Global Accelerator. -// -// Stops advertising an address range that is provisioned as an address pool. -// You can perform this operation at most once every 10 seconds, even if you -// specify different address ranges each time. To see an AWS CLI example of -// withdrawing an address range for BYOIP so it will no longer be advertised -// by AWS, scroll down to Example. -// -// It can take a few minutes before traffic to the specified addresses stops -// routing to AWS because of propagation delays. +// ListByoipCidrs API operation for AWS Global Accelerator. // -// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) -// in the AWS Global Accelerator Developer Guide. +// Lists the IP address ranges that were specified in calls to ProvisionByoipCidr +// (https://docs.aws.amazon.com/global-accelerator/latest/api/ProvisionByoipCidr.html), +// including the current state and a history of state changes. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Global Accelerator's -// API operation WithdrawByoipCidr for usage and error information. +// API operation ListByoipCidrs for usage and error information. // // Returned Error Types: // * InternalServiceErrorException @@ -2312,58 +2556,4108 @@ func (c *GlobalAccelerator) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInp // * AccessDeniedException // You don't have access permission. // -// * ByoipCidrNotFoundException -// The CIDR that you specified was not found or is incorrect. -// -// * IncorrectCidrStateException -// The CIDR that you specified is not valid for this action. For example, the -// state of the CIDR might be incorrect for this action. +// * InvalidNextTokenException +// There isn't another item to return. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/WithdrawByoipCidr -func (c *GlobalAccelerator) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) { - req, out := c.WithdrawByoipCidrRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrs +func (c *GlobalAccelerator) ListByoipCidrs(input *ListByoipCidrsInput) (*ListByoipCidrsOutput, error) { + req, out := c.ListByoipCidrsRequest(input) return out, req.Send() } -// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of +// ListByoipCidrsWithContext is the same as ListByoipCidrs with the addition of // the ability to pass a context and additional request options. // -// See WithdrawByoipCidr for details on how to use this API operation. +// See ListByoipCidrs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *GlobalAccelerator) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) { - req, out := c.WithdrawByoipCidrRequest(input) +func (c *GlobalAccelerator) ListByoipCidrsWithContext(ctx aws.Context, input *ListByoipCidrsInput, opts ...request.Option) (*ListByoipCidrsOutput, error) { + req, out := c.ListByoipCidrsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// An accelerator is a complex type that includes one or more listeners that -// process inbound connections and then direct traffic to one or more endpoint -// groups, each of which includes endpoints, such as load balancers. -type Accelerator struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the accelerator. - AcceleratorArn *string `type:"string"` - - // The date and time that the accelerator was created. - CreatedTime *time.Time `type:"timestamp"` +const opListCustomRoutingAccelerators = "ListCustomRoutingAccelerators" - // 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 the following: A lowercase 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing) - // in the AWS Global Accelerator Developer Guide. - DnsName *string `type:"string"` +// ListCustomRoutingAcceleratorsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingAccelerators operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCustomRoutingAccelerators for more information on using the ListCustomRoutingAccelerators +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCustomRoutingAcceleratorsRequest method. +// req, resp := client.ListCustomRoutingAcceleratorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators +func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsRequest(input *ListCustomRoutingAcceleratorsInput) (req *request.Request, output *ListCustomRoutingAcceleratorsOutput) { + op := &request.Operation{ + Name: opListCustomRoutingAccelerators, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomRoutingAcceleratorsInput{} + } + + output = &ListCustomRoutingAcceleratorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomRoutingAccelerators API operation for AWS Global Accelerator. +// +// List the custom routing accelerators for an AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListCustomRoutingAccelerators for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators +func (c *GlobalAccelerator) ListCustomRoutingAccelerators(input *ListCustomRoutingAcceleratorsInput) (*ListCustomRoutingAcceleratorsOutput, error) { + req, out := c.ListCustomRoutingAcceleratorsRequest(input) + return out, req.Send() +} + +// ListCustomRoutingAcceleratorsWithContext is the same as ListCustomRoutingAccelerators with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomRoutingAccelerators for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, opts ...request.Option) (*ListCustomRoutingAcceleratorsOutput, error) { + req, out := c.ListCustomRoutingAcceleratorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomRoutingAcceleratorsPages iterates over the pages of a ListCustomRoutingAccelerators operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomRoutingAccelerators method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCustomRoutingAccelerators operation. +// pageNum := 0 +// err := client.ListCustomRoutingAcceleratorsPages(params, +// func(page *globalaccelerator.ListCustomRoutingAcceleratorsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPages(input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool) error { + return c.ListCustomRoutingAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomRoutingAcceleratorsPagesWithContext same as ListCustomRoutingAcceleratorsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPagesWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomRoutingAcceleratorsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomRoutingAcceleratorsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomRoutingAcceleratorsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCustomRoutingEndpointGroups = "ListCustomRoutingEndpointGroups" + +// ListCustomRoutingEndpointGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingEndpointGroups operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCustomRoutingEndpointGroups for more information on using the ListCustomRoutingEndpointGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCustomRoutingEndpointGroupsRequest method. +// req, resp := client.ListCustomRoutingEndpointGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroups +func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsRequest(input *ListCustomRoutingEndpointGroupsInput) (req *request.Request, output *ListCustomRoutingEndpointGroupsOutput) { + op := &request.Operation{ + Name: opListCustomRoutingEndpointGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomRoutingEndpointGroupsInput{} + } + + output = &ListCustomRoutingEndpointGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomRoutingEndpointGroups API operation for AWS Global Accelerator. +// +// List the endpoint groups that are associated with a listener for a custom +// routing accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListCustomRoutingEndpointGroups for usage and error information. +// +// Returned Error Types: +// * ListenerNotFoundException +// The listener that you specified doesn't exist. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroups +func (c *GlobalAccelerator) ListCustomRoutingEndpointGroups(input *ListCustomRoutingEndpointGroupsInput) (*ListCustomRoutingEndpointGroupsOutput, error) { + req, out := c.ListCustomRoutingEndpointGroupsRequest(input) + return out, req.Send() +} + +// ListCustomRoutingEndpointGroupsWithContext is the same as ListCustomRoutingEndpointGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomRoutingEndpointGroups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsWithContext(ctx aws.Context, input *ListCustomRoutingEndpointGroupsInput, opts ...request.Option) (*ListCustomRoutingEndpointGroupsOutput, error) { + req, out := c.ListCustomRoutingEndpointGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomRoutingEndpointGroupsPages iterates over the pages of a ListCustomRoutingEndpointGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomRoutingEndpointGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCustomRoutingEndpointGroups operation. +// pageNum := 0 +// err := client.ListCustomRoutingEndpointGroupsPages(params, +// func(page *globalaccelerator.ListCustomRoutingEndpointGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsPages(input *ListCustomRoutingEndpointGroupsInput, fn func(*ListCustomRoutingEndpointGroupsOutput, bool) bool) error { + return c.ListCustomRoutingEndpointGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomRoutingEndpointGroupsPagesWithContext same as ListCustomRoutingEndpointGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsPagesWithContext(ctx aws.Context, input *ListCustomRoutingEndpointGroupsInput, fn func(*ListCustomRoutingEndpointGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomRoutingEndpointGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomRoutingEndpointGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomRoutingEndpointGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCustomRoutingListeners = "ListCustomRoutingListeners" + +// ListCustomRoutingListenersRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingListeners operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCustomRoutingListeners for more information on using the ListCustomRoutingListeners +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCustomRoutingListenersRequest method. +// req, resp := client.ListCustomRoutingListenersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingListeners +func (c *GlobalAccelerator) ListCustomRoutingListenersRequest(input *ListCustomRoutingListenersInput) (req *request.Request, output *ListCustomRoutingListenersOutput) { + op := &request.Operation{ + Name: opListCustomRoutingListeners, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomRoutingListenersInput{} + } + + output = &ListCustomRoutingListenersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomRoutingListeners API operation for AWS Global Accelerator. +// +// List the listeners for a custom routing accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListCustomRoutingListeners for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingListeners +func (c *GlobalAccelerator) ListCustomRoutingListeners(input *ListCustomRoutingListenersInput) (*ListCustomRoutingListenersOutput, error) { + req, out := c.ListCustomRoutingListenersRequest(input) + return out, req.Send() +} + +// ListCustomRoutingListenersWithContext is the same as ListCustomRoutingListeners with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomRoutingListeners for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingListenersWithContext(ctx aws.Context, input *ListCustomRoutingListenersInput, opts ...request.Option) (*ListCustomRoutingListenersOutput, error) { + req, out := c.ListCustomRoutingListenersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomRoutingListenersPages iterates over the pages of a ListCustomRoutingListeners operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomRoutingListeners method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCustomRoutingListeners operation. +// pageNum := 0 +// err := client.ListCustomRoutingListenersPages(params, +// func(page *globalaccelerator.ListCustomRoutingListenersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListCustomRoutingListenersPages(input *ListCustomRoutingListenersInput, fn func(*ListCustomRoutingListenersOutput, bool) bool) error { + return c.ListCustomRoutingListenersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomRoutingListenersPagesWithContext same as ListCustomRoutingListenersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingListenersPagesWithContext(ctx aws.Context, input *ListCustomRoutingListenersInput, fn func(*ListCustomRoutingListenersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomRoutingListenersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomRoutingListenersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomRoutingListenersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCustomRoutingPortMappings = "ListCustomRoutingPortMappings" + +// ListCustomRoutingPortMappingsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingPortMappings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCustomRoutingPortMappings for more information on using the ListCustomRoutingPortMappings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCustomRoutingPortMappingsRequest method. +// req, resp := client.ListCustomRoutingPortMappingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappings +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsRequest(input *ListCustomRoutingPortMappingsInput) (req *request.Request, output *ListCustomRoutingPortMappingsOutput) { + op := &request.Operation{ + Name: opListCustomRoutingPortMappings, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomRoutingPortMappingsInput{} + } + + output = &ListCustomRoutingPortMappingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomRoutingPortMappings API operation for AWS Global Accelerator. +// +// Provides a complete mapping from the public accelerator IP address and port +// to destination EC2 instance IP addresses and ports in the virtual public +// cloud (VPC) subnet endpoint for a custom routing accelerator. For each subnet +// endpoint that you add, Global Accelerator creates a new static port mapping +// for the accelerator. The port mappings don't change after Global Accelerator +// generates them, so you can retrieve and cache the full mapping on your servers. +// +// If you remove a subnet from your accelerator, Global Accelerator removes +// (reclaims) the port mappings. If you add a subnet to your accelerator, Global +// Accelerator creates new port mappings (the existing ones don't change). If +// you add or remove EC2 instances in your subnet, the port mappings don't change, +// because the mappings are created when you add the subnet to Global Accelerator. +// +// The mappings also include a flag for each destination denoting which destination +// IP addresses and ports are allowed or denied traffic. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListCustomRoutingPortMappings for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. +// +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappings +func (c *GlobalAccelerator) ListCustomRoutingPortMappings(input *ListCustomRoutingPortMappingsInput) (*ListCustomRoutingPortMappingsOutput, error) { + req, out := c.ListCustomRoutingPortMappingsRequest(input) + return out, req.Send() +} + +// ListCustomRoutingPortMappingsWithContext is the same as ListCustomRoutingPortMappings with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomRoutingPortMappings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsInput, opts ...request.Option) (*ListCustomRoutingPortMappingsOutput, error) { + req, out := c.ListCustomRoutingPortMappingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomRoutingPortMappingsPages iterates over the pages of a ListCustomRoutingPortMappings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomRoutingPortMappings method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCustomRoutingPortMappings operation. +// pageNum := 0 +// err := client.ListCustomRoutingPortMappingsPages(params, +// func(page *globalaccelerator.ListCustomRoutingPortMappingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsPages(input *ListCustomRoutingPortMappingsInput, fn func(*ListCustomRoutingPortMappingsOutput, bool) bool) error { + return c.ListCustomRoutingPortMappingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomRoutingPortMappingsPagesWithContext same as ListCustomRoutingPortMappingsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsPagesWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsInput, fn func(*ListCustomRoutingPortMappingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomRoutingPortMappingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomRoutingPortMappingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomRoutingPortMappingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCustomRoutingPortMappingsByDestination = "ListCustomRoutingPortMappingsByDestination" + +// ListCustomRoutingPortMappingsByDestinationRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingPortMappingsByDestination operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCustomRoutingPortMappingsByDestination for more information on using the ListCustomRoutingPortMappingsByDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCustomRoutingPortMappingsByDestinationRequest method. +// req, resp := client.ListCustomRoutingPortMappingsByDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsByDestination +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationRequest(input *ListCustomRoutingPortMappingsByDestinationInput) (req *request.Request, output *ListCustomRoutingPortMappingsByDestinationOutput) { + op := &request.Operation{ + Name: opListCustomRoutingPortMappingsByDestination, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomRoutingPortMappingsByDestinationInput{} + } + + output = &ListCustomRoutingPortMappingsByDestinationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomRoutingPortMappingsByDestination API operation for AWS Global Accelerator. +// +// List the port mappings for a specific EC2 instance (destination) in a VPC +// subnet endpoint. The response is the mappings for one destination IP address. +// This is useful when your subnet endpoint has mappings that span multiple +// custom routing accelerators in your account, or for scenarios where you only +// want to list the port mappings for a specific destination instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListCustomRoutingPortMappingsByDestination for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * EndpointNotFoundException +// The endpoint that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsByDestination +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestination(input *ListCustomRoutingPortMappingsByDestinationInput) (*ListCustomRoutingPortMappingsByDestinationOutput, error) { + req, out := c.ListCustomRoutingPortMappingsByDestinationRequest(input) + return out, req.Send() +} + +// ListCustomRoutingPortMappingsByDestinationWithContext is the same as ListCustomRoutingPortMappingsByDestination with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomRoutingPortMappingsByDestination for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsByDestinationInput, opts ...request.Option) (*ListCustomRoutingPortMappingsByDestinationOutput, error) { + req, out := c.ListCustomRoutingPortMappingsByDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomRoutingPortMappingsByDestinationPages iterates over the pages of a ListCustomRoutingPortMappingsByDestination operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomRoutingPortMappingsByDestination method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCustomRoutingPortMappingsByDestination operation. +// pageNum := 0 +// err := client.ListCustomRoutingPortMappingsByDestinationPages(params, +// func(page *globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationPages(input *ListCustomRoutingPortMappingsByDestinationInput, fn func(*ListCustomRoutingPortMappingsByDestinationOutput, bool) bool) error { + return c.ListCustomRoutingPortMappingsByDestinationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomRoutingPortMappingsByDestinationPagesWithContext same as ListCustomRoutingPortMappingsByDestinationPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationPagesWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsByDestinationInput, fn func(*ListCustomRoutingPortMappingsByDestinationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomRoutingPortMappingsByDestinationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomRoutingPortMappingsByDestinationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomRoutingPortMappingsByDestinationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEndpointGroups = "ListEndpointGroups" + +// ListEndpointGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpointGroups operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEndpointGroups for more information on using the ListEndpointGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListEndpointGroupsRequest method. +// req, resp := client.ListEndpointGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups +func (c *GlobalAccelerator) ListEndpointGroupsRequest(input *ListEndpointGroupsInput) (req *request.Request, output *ListEndpointGroupsOutput) { + op := &request.Operation{ + Name: opListEndpointGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEndpointGroupsInput{} + } + + output = &ListEndpointGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpointGroups API operation for AWS Global Accelerator. +// +// List the endpoint groups that are associated with a listener. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListEndpointGroups for usage and error information. +// +// Returned Error Types: +// * ListenerNotFoundException +// The listener that you specified doesn't exist. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups +func (c *GlobalAccelerator) ListEndpointGroups(input *ListEndpointGroupsInput) (*ListEndpointGroupsOutput, error) { + req, out := c.ListEndpointGroupsRequest(input) + return out, req.Send() +} + +// ListEndpointGroupsWithContext is the same as ListEndpointGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpointGroups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListEndpointGroupsWithContext(ctx aws.Context, input *ListEndpointGroupsInput, opts ...request.Option) (*ListEndpointGroupsOutput, error) { + req, out := c.ListEndpointGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEndpointGroupsPages iterates over the pages of a ListEndpointGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEndpointGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEndpointGroups operation. +// pageNum := 0 +// err := client.ListEndpointGroupsPages(params, +// func(page *globalaccelerator.ListEndpointGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListEndpointGroupsPages(input *ListEndpointGroupsInput, fn func(*ListEndpointGroupsOutput, bool) bool) error { + return c.ListEndpointGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEndpointGroupsPagesWithContext same as ListEndpointGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListEndpointGroupsPagesWithContext(ctx aws.Context, input *ListEndpointGroupsInput, fn func(*ListEndpointGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEndpointGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEndpointGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEndpointGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListListeners = "ListListeners" + +// ListListenersRequest generates a "aws/request.Request" representing the +// client's request for the ListListeners operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListListeners for more information on using the ListListeners +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListListenersRequest method. +// req, resp := client.ListListenersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners +func (c *GlobalAccelerator) ListListenersRequest(input *ListListenersInput) (req *request.Request, output *ListListenersOutput) { + op := &request.Operation{ + Name: opListListeners, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListListenersInput{} + } + + output = &ListListenersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListListeners API operation for AWS Global Accelerator. +// +// List the listeners for an accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListListeners for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InvalidNextTokenException +// There isn't another item to return. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners +func (c *GlobalAccelerator) ListListeners(input *ListListenersInput) (*ListListenersOutput, error) { + req, out := c.ListListenersRequest(input) + return out, req.Send() +} + +// ListListenersWithContext is the same as ListListeners with the addition of +// the ability to pass a context and additional request options. +// +// See ListListeners for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListListenersWithContext(ctx aws.Context, input *ListListenersInput, opts ...request.Option) (*ListListenersOutput, error) { + req, out := c.ListListenersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListListenersPages iterates over the pages of a ListListeners operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListListeners method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListListeners operation. +// pageNum := 0 +// err := client.ListListenersPages(params, +// func(page *globalaccelerator.ListListenersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GlobalAccelerator) ListListenersPages(input *ListListenersInput, fn func(*ListListenersOutput, bool) bool) error { + return c.ListListenersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListListenersPagesWithContext same as ListListenersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListListenersPagesWithContext(ctx aws.Context, input *ListListenersInput, fn func(*ListListenersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListListenersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListListenersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListListenersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListTagsForResource +func (c *GlobalAccelerator) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Global Accelerator. +// +// List all tags for an accelerator. +// +// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) +// in the AWS Global Accelerator Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListTagsForResource +func (c *GlobalAccelerator) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opProvisionByoipCidr = "ProvisionByoipCidr" + +// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the +// client's request for the ProvisionByoipCidr operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ProvisionByoipCidrRequest method. +// req, resp := client.ProvisionByoipCidrRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ProvisionByoipCidr +func (c *GlobalAccelerator) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) { + op := &request.Operation{ + Name: opProvisionByoipCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ProvisionByoipCidrInput{} + } + + output = &ProvisionByoipCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// ProvisionByoipCidr API operation for AWS Global Accelerator. +// +// Provisions an IP address range to use with your AWS resources through bring +// your own IP addresses (BYOIP) and creates a corresponding address pool. After +// the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr +// (https://docs.aws.amazon.com/global-accelerator/latest/api/AdvertiseByoipCidr.html). +// +// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) +// in the AWS Global Accelerator Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation ProvisionByoipCidr for usage and error information. +// +// Returned Error Types: +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// * AccessDeniedException +// You don't have access permission. +// +// * IncorrectCidrStateException +// The CIDR that you specified is not valid for this action. For example, the +// state of the CIDR might be incorrect for this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ProvisionByoipCidr +func (c *GlobalAccelerator) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) { + req, out := c.ProvisionByoipCidrRequest(input) + return out, req.Send() +} + +// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of +// the ability to pass a context and additional request options. +// +// See ProvisionByoipCidr for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) { + req, out := c.ProvisionByoipCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRemoveCustomRoutingEndpoints = "RemoveCustomRoutingEndpoints" + +// RemoveCustomRoutingEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveCustomRoutingEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RemoveCustomRoutingEndpoints for more information on using the RemoveCustomRoutingEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RemoveCustomRoutingEndpointsRequest method. +// req, resp := client.RemoveCustomRoutingEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveCustomRoutingEndpoints +func (c *GlobalAccelerator) RemoveCustomRoutingEndpointsRequest(input *RemoveCustomRoutingEndpointsInput) (req *request.Request, output *RemoveCustomRoutingEndpointsOutput) { + op := &request.Operation{ + Name: opRemoveCustomRoutingEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveCustomRoutingEndpointsInput{} + } + + output = &RemoveCustomRoutingEndpointsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveCustomRoutingEndpoints API operation for AWS Global Accelerator. +// +// Remove endpoints from a custom routing accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation RemoveCustomRoutingEndpoints for usage and error information. +// +// Returned Error Types: +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. +// +// * EndpointNotFoundException +// The endpoint that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * AccessDeniedException +// You don't have access permission. +// +// * ConflictException +// You can't use both of those options. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveCustomRoutingEndpoints +func (c *GlobalAccelerator) RemoveCustomRoutingEndpoints(input *RemoveCustomRoutingEndpointsInput) (*RemoveCustomRoutingEndpointsOutput, error) { + req, out := c.RemoveCustomRoutingEndpointsRequest(input) + return out, req.Send() +} + +// RemoveCustomRoutingEndpointsWithContext is the same as RemoveCustomRoutingEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveCustomRoutingEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) RemoveCustomRoutingEndpointsWithContext(ctx aws.Context, input *RemoveCustomRoutingEndpointsInput, opts ...request.Option) (*RemoveCustomRoutingEndpointsOutput, error) { + req, out := c.RemoveCustomRoutingEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TagResource +func (c *GlobalAccelerator) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Global Accelerator. +// +// Add tags to an accelerator resource. +// +// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) +// in the AWS Global Accelerator Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TagResource +func (c *GlobalAccelerator) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UntagResource +func (c *GlobalAccelerator) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Global Accelerator. +// +// Remove tags from a Global Accelerator resource. When you specify a tag key, +// the action removes both that key and its associated value. The operation +// succeeds even if you attempt to remove tags from an accelerator that was +// already removed. +// +// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) +// in the AWS Global Accelerator Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UntagResource +func (c *GlobalAccelerator) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAccelerator = "UpdateAccelerator" + +// UpdateAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccelerator operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAccelerator for more information on using the UpdateAccelerator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAcceleratorRequest method. +// req, resp := client.UpdateAcceleratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator +func (c *GlobalAccelerator) UpdateAcceleratorRequest(input *UpdateAcceleratorInput) (req *request.Request, output *UpdateAcceleratorOutput) { + op := &request.Operation{ + Name: opUpdateAccelerator, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAcceleratorInput{} + } + + output = &UpdateAcceleratorOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccelerator API operation for AWS Global Accelerator. +// +// Update an accelerator. +// +// Global Accelerator is a global service that supports endpoints in multiple +// AWS Regions but you must specify the US West (Oregon) Region to create or +// update accelerators. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateAccelerator for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator +func (c *GlobalAccelerator) UpdateAccelerator(input *UpdateAcceleratorInput) (*UpdateAcceleratorOutput, error) { + req, out := c.UpdateAcceleratorRequest(input) + return out, req.Send() +} + +// UpdateAcceleratorWithContext is the same as UpdateAccelerator with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccelerator for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateAcceleratorWithContext(ctx aws.Context, input *UpdateAcceleratorInput, opts ...request.Option) (*UpdateAcceleratorOutput, error) { + req, out := c.UpdateAcceleratorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAcceleratorAttributes = "UpdateAcceleratorAttributes" + +// UpdateAcceleratorAttributesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAcceleratorAttributes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAcceleratorAttributes for more information on using the UpdateAcceleratorAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAcceleratorAttributesRequest method. +// req, resp := client.UpdateAcceleratorAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes +func (c *GlobalAccelerator) UpdateAcceleratorAttributesRequest(input *UpdateAcceleratorAttributesInput) (req *request.Request, output *UpdateAcceleratorAttributesOutput) { + op := &request.Operation{ + Name: opUpdateAcceleratorAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAcceleratorAttributesInput{} + } + + output = &UpdateAcceleratorAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAcceleratorAttributes API operation for AWS Global Accelerator. +// +// Update the attributes for an accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateAcceleratorAttributes for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * AccessDeniedException +// You don't have access permission. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes +func (c *GlobalAccelerator) UpdateAcceleratorAttributes(input *UpdateAcceleratorAttributesInput) (*UpdateAcceleratorAttributesOutput, error) { + req, out := c.UpdateAcceleratorAttributesRequest(input) + return out, req.Send() +} + +// UpdateAcceleratorAttributesWithContext is the same as UpdateAcceleratorAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAcceleratorAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateAcceleratorAttributesWithContext(ctx aws.Context, input *UpdateAcceleratorAttributesInput, opts ...request.Option) (*UpdateAcceleratorAttributesOutput, error) { + req, out := c.UpdateAcceleratorAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCustomRoutingAccelerator = "UpdateCustomRoutingAccelerator" + +// UpdateCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCustomRoutingAccelerator operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCustomRoutingAccelerator for more information on using the UpdateCustomRoutingAccelerator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCustomRoutingAcceleratorRequest method. +// req, resp := client.UpdateCustomRoutingAcceleratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAccelerator +func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorRequest(input *UpdateCustomRoutingAcceleratorInput) (req *request.Request, output *UpdateCustomRoutingAcceleratorOutput) { + op := &request.Operation{ + Name: opUpdateCustomRoutingAccelerator, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCustomRoutingAcceleratorInput{} + } + + output = &UpdateCustomRoutingAcceleratorOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCustomRoutingAccelerator API operation for AWS Global Accelerator. +// +// Update a custom routing accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateCustomRoutingAccelerator for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAccelerator +func (c *GlobalAccelerator) UpdateCustomRoutingAccelerator(input *UpdateCustomRoutingAcceleratorInput) (*UpdateCustomRoutingAcceleratorOutput, error) { + req, out := c.UpdateCustomRoutingAcceleratorRequest(input) + return out, req.Send() +} + +// UpdateCustomRoutingAcceleratorWithContext is the same as UpdateCustomRoutingAccelerator with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCustomRoutingAccelerator for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorWithContext(ctx aws.Context, input *UpdateCustomRoutingAcceleratorInput, opts ...request.Option) (*UpdateCustomRoutingAcceleratorOutput, error) { + req, out := c.UpdateCustomRoutingAcceleratorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCustomRoutingAcceleratorAttributes = "UpdateCustomRoutingAcceleratorAttributes" + +// UpdateCustomRoutingAcceleratorAttributesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCustomRoutingAcceleratorAttributes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCustomRoutingAcceleratorAttributes for more information on using the UpdateCustomRoutingAcceleratorAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCustomRoutingAcceleratorAttributesRequest method. +// req, resp := client.UpdateCustomRoutingAcceleratorAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorAttributes +func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorAttributesRequest(input *UpdateCustomRoutingAcceleratorAttributesInput) (req *request.Request, output *UpdateCustomRoutingAcceleratorAttributesOutput) { + op := &request.Operation{ + Name: opUpdateCustomRoutingAcceleratorAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCustomRoutingAcceleratorAttributesInput{} + } + + output = &UpdateCustomRoutingAcceleratorAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCustomRoutingAcceleratorAttributes API operation for AWS Global Accelerator. +// +// Update the attributes for a custom routing accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateCustomRoutingAcceleratorAttributes for usage and error information. +// +// Returned Error Types: +// * AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * AccessDeniedException +// You don't have access permission. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorAttributes +func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorAttributes(input *UpdateCustomRoutingAcceleratorAttributesInput) (*UpdateCustomRoutingAcceleratorAttributesOutput, error) { + req, out := c.UpdateCustomRoutingAcceleratorAttributesRequest(input) + return out, req.Send() +} + +// UpdateCustomRoutingAcceleratorAttributesWithContext is the same as UpdateCustomRoutingAcceleratorAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCustomRoutingAcceleratorAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorAttributesWithContext(ctx aws.Context, input *UpdateCustomRoutingAcceleratorAttributesInput, opts ...request.Option) (*UpdateCustomRoutingAcceleratorAttributesOutput, error) { + req, out := c.UpdateCustomRoutingAcceleratorAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCustomRoutingListener = "UpdateCustomRoutingListener" + +// UpdateCustomRoutingListenerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCustomRoutingListener operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCustomRoutingListener for more information on using the UpdateCustomRoutingListener +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCustomRoutingListenerRequest method. +// req, resp := client.UpdateCustomRoutingListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingListener +func (c *GlobalAccelerator) UpdateCustomRoutingListenerRequest(input *UpdateCustomRoutingListenerInput) (req *request.Request, output *UpdateCustomRoutingListenerOutput) { + op := &request.Operation{ + Name: opUpdateCustomRoutingListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCustomRoutingListenerInput{} + } + + output = &UpdateCustomRoutingListenerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCustomRoutingListener API operation for AWS Global Accelerator. +// +// Update a listener for a custom routing accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateCustomRoutingListener for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InvalidPortRangeException +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. +// +// * ListenerNotFoundException +// The listener that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingListener +func (c *GlobalAccelerator) UpdateCustomRoutingListener(input *UpdateCustomRoutingListenerInput) (*UpdateCustomRoutingListenerOutput, error) { + req, out := c.UpdateCustomRoutingListenerRequest(input) + return out, req.Send() +} + +// UpdateCustomRoutingListenerWithContext is the same as UpdateCustomRoutingListener with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCustomRoutingListener for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateCustomRoutingListenerWithContext(ctx aws.Context, input *UpdateCustomRoutingListenerInput, opts ...request.Option) (*UpdateCustomRoutingListenerOutput, error) { + req, out := c.UpdateCustomRoutingListenerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEndpointGroup = "UpdateEndpointGroup" + +// UpdateEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpointGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEndpointGroup for more information on using the UpdateEndpointGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateEndpointGroupRequest method. +// req, resp := client.UpdateEndpointGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup +func (c *GlobalAccelerator) UpdateEndpointGroupRequest(input *UpdateEndpointGroupInput) (req *request.Request, output *UpdateEndpointGroupOutput) { + op := &request.Operation{ + Name: opUpdateEndpointGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateEndpointGroupInput{} + } + + output = &UpdateEndpointGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEndpointGroup API operation for AWS Global Accelerator. +// +// Update an endpoint group. A resource must be valid and active when you add +// it as an endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateEndpointGroup for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * EndpointGroupNotFoundException +// The endpoint group that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// * AccessDeniedException +// You don't have access permission. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup +func (c *GlobalAccelerator) UpdateEndpointGroup(input *UpdateEndpointGroupInput) (*UpdateEndpointGroupOutput, error) { + req, out := c.UpdateEndpointGroupRequest(input) + return out, req.Send() +} + +// UpdateEndpointGroupWithContext is the same as UpdateEndpointGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEndpointGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateEndpointGroupWithContext(ctx aws.Context, input *UpdateEndpointGroupInput, opts ...request.Option) (*UpdateEndpointGroupOutput, error) { + req, out := c.UpdateEndpointGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateListener = "UpdateListener" + +// UpdateListenerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateListener operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateListener for more information on using the UpdateListener +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateListenerRequest method. +// req, resp := client.UpdateListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener +func (c *GlobalAccelerator) UpdateListenerRequest(input *UpdateListenerInput) (req *request.Request, output *UpdateListenerOutput) { + op := &request.Operation{ + Name: opUpdateListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateListenerInput{} + } + + output = &UpdateListenerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateListener API operation for AWS Global Accelerator. +// +// Update a listener. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation UpdateListener for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * InvalidPortRangeException +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. +// +// * ListenerNotFoundException +// The listener that you specified doesn't exist. +// +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * LimitExceededException +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener +func (c *GlobalAccelerator) UpdateListener(input *UpdateListenerInput) (*UpdateListenerOutput, error) { + req, out := c.UpdateListenerRequest(input) + return out, req.Send() +} + +// UpdateListenerWithContext is the same as UpdateListener with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateListener for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) UpdateListenerWithContext(ctx aws.Context, input *UpdateListenerInput, opts ...request.Option) (*UpdateListenerOutput, error) { + req, out := c.UpdateListenerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opWithdrawByoipCidr = "WithdrawByoipCidr" + +// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the +// client's request for the WithdrawByoipCidr operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the WithdrawByoipCidrRequest method. +// req, resp := client.WithdrawByoipCidrRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/WithdrawByoipCidr +func (c *GlobalAccelerator) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) { + op := &request.Operation{ + Name: opWithdrawByoipCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &WithdrawByoipCidrInput{} + } + + output = &WithdrawByoipCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// WithdrawByoipCidr API operation for AWS Global Accelerator. +// +// Stops advertising an address range that is provisioned as an address pool. +// You can perform this operation at most once every 10 seconds, even if you +// specify different address ranges each time. +// +// It can take a few minutes before traffic to the specified addresses stops +// routing to AWS because of propagation delays. +// +// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) +// in the AWS Global Accelerator Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Global Accelerator's +// API operation WithdrawByoipCidr for usage and error information. +// +// Returned Error Types: +// * InternalServiceErrorException +// There was an internal error for AWS Global Accelerator. +// +// * InvalidArgumentException +// An argument that you specified is invalid. +// +// * AccessDeniedException +// You don't have access permission. +// +// * ByoipCidrNotFoundException +// The CIDR that you specified was not found or is incorrect. +// +// * IncorrectCidrStateException +// The CIDR that you specified is not valid for this action. For example, the +// state of the CIDR might be incorrect for this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/WithdrawByoipCidr +func (c *GlobalAccelerator) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) { + req, out := c.WithdrawByoipCidrRequest(input) + return out, req.Send() +} + +// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of +// the ability to pass a context and additional request options. +// +// See WithdrawByoipCidr for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GlobalAccelerator) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) { + req, out := c.WithdrawByoipCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An accelerator is a complex type that includes one or more listeners that +// process inbound connections and then direct traffic to one or more endpoint +// groups, each of which includes endpoints, such as load balancers. +type Accelerator struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator. + AcceleratorArn *string `type:"string"` + + // The date and time that the accelerator was created. + CreatedTime *time.Time `type:"timestamp"` + + // 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 the following: A lowercase 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing) + // in the AWS Global Accelerator Developer Guide. + DnsName *string `type:"string"` + + // 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. + Enabled *bool `type:"boolean"` + + // The value for the address type must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // The static IP addresses that Global Accelerator associates with the accelerator. + IpSets []*IpSet `type:"list"` + + // The date and time that the accelerator was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The name of the accelerator. The name must contain only alphanumeric characters + // or hyphens (-), and must not begin or end with a hyphen. + Name *string `type:"string"` + + // Describes the deployment status of the accelerator. + Status *string `type:"string" enum:"AcceleratorStatus"` +} + +// String returns the string representation +func (s Accelerator) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Accelerator) GoString() string { + return s.String() +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *Accelerator) SetAcceleratorArn(v string) *Accelerator { + s.AcceleratorArn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Accelerator) SetCreatedTime(v time.Time) *Accelerator { + s.CreatedTime = &v + return s +} + +// SetDnsName sets the DnsName field's value. +func (s *Accelerator) SetDnsName(v string) *Accelerator { + s.DnsName = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *Accelerator) SetEnabled(v bool) *Accelerator { + s.Enabled = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *Accelerator) SetIpAddressType(v string) *Accelerator { + s.IpAddressType = &v + return s +} + +// SetIpSets sets the IpSets field's value. +func (s *Accelerator) SetIpSets(v []*IpSet) *Accelerator { + s.IpSets = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Accelerator) SetLastModifiedTime(v time.Time) *Accelerator { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Accelerator) SetName(v string) *Accelerator { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Accelerator) SetStatus(v string) *Accelerator { + s.Status = &v + return s +} + +// Attributes of an accelerator. +type AcceleratorAttributes struct { + _ struct{} `type:"structure"` + + // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html) + // in the AWS Global Accelerator Developer Guide. + FlowLogsEnabled *bool `type:"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 AWS Global Accelerator permission to write to the bucket. + FlowLogsS3Bucket *string `type:"string"` + + // 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. If you specify slash (/) for the S3 bucket prefix, the log file + // bucket folder structure will include a double slash (//), like the following: + // + // s3-bucket_name//AWSLogs/aws_account_id + FlowLogsS3Prefix *string `type:"string"` +} + +// String returns the string representation +func (s AcceleratorAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceleratorAttributes) GoString() string { + return s.String() +} + +// SetFlowLogsEnabled sets the FlowLogsEnabled field's value. +func (s *AcceleratorAttributes) SetFlowLogsEnabled(v bool) *AcceleratorAttributes { + s.FlowLogsEnabled = &v + return s +} + +// SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value. +func (s *AcceleratorAttributes) SetFlowLogsS3Bucket(v string) *AcceleratorAttributes { + s.FlowLogsS3Bucket = &v + return s +} + +// SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. +func (s *AcceleratorAttributes) SetFlowLogsS3Prefix(v string) *AcceleratorAttributes { + s.FlowLogsS3Prefix = &v + return s +} + +// The accelerator that you specified could not be disabled. +type AcceleratorNotDisabledException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AcceleratorNotDisabledException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceleratorNotDisabledException) GoString() string { + return s.String() +} + +func newErrorAcceleratorNotDisabledException(v protocol.ResponseMetadata) error { + return &AcceleratorNotDisabledException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AcceleratorNotDisabledException) Code() string { + return "AcceleratorNotDisabledException" +} + +// Message returns the exception's message. +func (s *AcceleratorNotDisabledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AcceleratorNotDisabledException) OrigErr() error { + return nil +} + +func (s *AcceleratorNotDisabledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AcceleratorNotDisabledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AcceleratorNotDisabledException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The accelerator that you specified doesn't exist. +type AcceleratorNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AcceleratorNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceleratorNotFoundException) GoString() string { + return s.String() +} + +func newErrorAcceleratorNotFoundException(v protocol.ResponseMetadata) error { + return &AcceleratorNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AcceleratorNotFoundException) Code() string { + return "AcceleratorNotFoundException" +} + +// Message returns the exception's message. +func (s *AcceleratorNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AcceleratorNotFoundException) OrigErr() error { + return nil +} + +func (s *AcceleratorNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AcceleratorNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AcceleratorNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// You don't have access permission. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AddCustomRoutingEndpointsInput struct { + _ struct{} `type:"structure"` + + // The list of endpoint objects to add to a custom routing accelerator. + // + // EndpointConfigurations is a required field + EndpointConfigurations []*CustomRoutingEndpointConfiguration `min:"1" type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint group for the custom routing + // endpoint. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddCustomRoutingEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddCustomRoutingEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddCustomRoutingEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddCustomRoutingEndpointsInput"} + if s.EndpointConfigurations == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfigurations")) + } + if s.EndpointConfigurations != nil && len(s.EndpointConfigurations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EndpointConfigurations", 1)) + } + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigurations sets the EndpointConfigurations field's value. +func (s *AddCustomRoutingEndpointsInput) SetEndpointConfigurations(v []*CustomRoutingEndpointConfiguration) *AddCustomRoutingEndpointsInput { + s.EndpointConfigurations = v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *AddCustomRoutingEndpointsInput) SetEndpointGroupArn(v string) *AddCustomRoutingEndpointsInput { + s.EndpointGroupArn = &v + return s +} + +type AddCustomRoutingEndpointsOutput struct { + _ struct{} `type:"structure"` + + // The endpoint objects added to the custom routing accelerator. + EndpointDescriptions []*CustomRoutingEndpointDescription `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group for the custom routing + // endpoint. + EndpointGroupArn *string `type:"string"` +} + +// String returns the string representation +func (s AddCustomRoutingEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddCustomRoutingEndpointsOutput) GoString() string { + return s.String() +} + +// SetEndpointDescriptions sets the EndpointDescriptions field's value. +func (s *AddCustomRoutingEndpointsOutput) SetEndpointDescriptions(v []*CustomRoutingEndpointDescription) *AddCustomRoutingEndpointsOutput { + s.EndpointDescriptions = v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *AddCustomRoutingEndpointsOutput) SetEndpointGroupArn(v string) *AddCustomRoutingEndpointsOutput { + s.EndpointGroupArn = &v + return s +} + +type AdvertiseByoipCidrInput struct { + _ struct{} `type:"structure"` + + // 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. + // + // Cidr is a required field + Cidr *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AdvertiseByoipCidrInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdvertiseByoipCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AdvertiseByoipCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput { + s.Cidr = &v + return s +} + +type AdvertiseByoipCidrOutput struct { + _ struct{} `type:"structure"` + + // Information about the address range. + ByoipCidr *ByoipCidr `type:"structure"` +} + +// String returns the string representation +func (s AdvertiseByoipCidrOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdvertiseByoipCidrOutput) GoString() string { + return s.String() +} + +// SetByoipCidr sets the ByoipCidr field's value. +func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput { + s.ByoipCidr = v + return s +} + +type AllowCustomRoutingTrafficInput struct { + _ struct{} `type:"structure"` + + // 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 destinations in the custom routing VPC subnet can receive + // traffic. Note that you cannot specify destination IP addresses and ports + // when the value is set to TRUE. + // + // When set to FALSE (or not specified), you must specify a list of destination + // IP addresses that are allowed to receive traffic. A list of ports is optional. + // If you don't specify a list of ports, the ports that can accept traffic is + // the same as the ports configured for the endpoint group. + // + // The default value is FALSE. + AllowAllTrafficToEndpoint *bool `type:"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 specified for the endpoint group. + // + // DestinationAddresses is required if AllowAllTrafficToEndpoint is FALSE or + // is not specified. + DestinationAddresses []*string `type:"list"` + + // A list of specific Amazon EC2 instance ports (destination ports) that you + // want to allow to receive traffic. + DestinationPorts []*int64 `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` + + // An ID for the endpoint. For custom routing accelerators, this is the virtual + // private cloud (VPC) subnet ID. + // + // EndpointId is a required field + EndpointId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AllowCustomRoutingTrafficInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllowCustomRoutingTrafficInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AllowCustomRoutingTrafficInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AllowCustomRoutingTrafficInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + if s.EndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowAllTrafficToEndpoint sets the AllowAllTrafficToEndpoint field's value. +func (s *AllowCustomRoutingTrafficInput) SetAllowAllTrafficToEndpoint(v bool) *AllowCustomRoutingTrafficInput { + s.AllowAllTrafficToEndpoint = &v + return s +} + +// SetDestinationAddresses sets the DestinationAddresses field's value. +func (s *AllowCustomRoutingTrafficInput) SetDestinationAddresses(v []*string) *AllowCustomRoutingTrafficInput { + s.DestinationAddresses = v + return s +} + +// SetDestinationPorts sets the DestinationPorts field's value. +func (s *AllowCustomRoutingTrafficInput) SetDestinationPorts(v []*int64) *AllowCustomRoutingTrafficInput { + s.DestinationPorts = v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *AllowCustomRoutingTrafficInput) SetEndpointGroupArn(v string) *AllowCustomRoutingTrafficInput { + s.EndpointGroupArn = &v + return s +} + +// SetEndpointId sets the EndpointId field's value. +func (s *AllowCustomRoutingTrafficInput) SetEndpointId(v string) *AllowCustomRoutingTrafficInput { + s.EndpointId = &v + return s +} + +type AllowCustomRoutingTrafficOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AllowCustomRoutingTrafficOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllowCustomRoutingTrafficOutput) GoString() string { + return s.String() +} + +// The listener that you specified has an endpoint group associated with it. +// You must remove all dependent resources from a listener before you can delete +// it. +type AssociatedEndpointGroupFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AssociatedEndpointGroupFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociatedEndpointGroupFoundException) GoString() string { + return s.String() +} + +func newErrorAssociatedEndpointGroupFoundException(v protocol.ResponseMetadata) error { + return &AssociatedEndpointGroupFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AssociatedEndpointGroupFoundException) Code() string { + return "AssociatedEndpointGroupFoundException" +} + +// Message returns the exception's message. +func (s *AssociatedEndpointGroupFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AssociatedEndpointGroupFoundException) OrigErr() error { + return nil +} + +func (s *AssociatedEndpointGroupFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AssociatedEndpointGroupFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AssociatedEndpointGroupFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The accelerator that you specified has a listener associated with it. You +// must remove all dependent resources from an accelerator before you can delete +// it. +type AssociatedListenerFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AssociatedListenerFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociatedListenerFoundException) GoString() string { + return s.String() +} + +func newErrorAssociatedListenerFoundException(v protocol.ResponseMetadata) error { + return &AssociatedListenerFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AssociatedListenerFoundException) Code() string { + return "AssociatedListenerFoundException" +} + +// Message returns the exception's message. +func (s *AssociatedListenerFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AssociatedListenerFoundException) OrigErr() error { + return nil +} + +func (s *AssociatedListenerFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AssociatedListenerFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AssociatedListenerFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Information about an IP address range that is provisioned for use with your +// AWS resources through bring your own IP address (BYOIP). +// +// The following describes each BYOIP State that your IP address range can be +// in. +// +// * PENDING_PROVISIONING — You’ve submitted a request to provision an +// IP address range but it is not yet provisioned with AWS Global Accelerator. +// +// * READY — The address range is provisioned with AWS Global Accelerator +// and can be advertised. +// +// * PENDING_ADVERTISING — You’ve submitted a request for AWS Global +// Accelerator to advertise an address range but it is not yet being advertised. +// +// * ADVERTISING — The address range is being advertised by AWS Global +// Accelerator. +// +// * PENDING_WITHDRAWING — You’ve submitted a request to withdraw an +// address range from being advertised but it is still being advertised by +// AWS Global Accelerator. +// +// * PENDING_DEPROVISIONING — You’ve submitted a request to deprovision +// an address range from AWS Global Accelerator but it is still provisioned. +// +// * DEPROVISIONED — The address range is deprovisioned from AWS Global +// Accelerator. +// +// * FAILED_PROVISION — The request to provision the address range from +// AWS Global Accelerator was not successful. Please make sure that you provide +// all of the correct information, and try again. If the request fails a +// second time, contact AWS support. +// +// * FAILED_ADVERTISING — The request for AWS Global Accelerator to advertise +// the address range was not successful. Please make sure that you provide +// all of the correct information, and try again. If the request fails a +// second time, contact AWS support. +// +// * FAILED_WITHDRAW — The request to withdraw the address range from advertising +// by AWS Global Accelerator was not successful. Please make sure that you +// provide all of the correct information, and try again. If the request +// fails a second time, contact AWS support. +// +// * FAILED_DEPROVISION — The request to deprovision the address range +// from AWS Global Accelerator was not successful. Please make sure that +// you provide all of the correct information, and try again. If the request +// fails a second time, contact AWS support. +type ByoipCidr struct { + _ struct{} `type:"structure"` + + // The address range, in CIDR notation. + Cidr *string `type:"string"` + + // A history of status changes for an IP address range that you bring to AWS + // Global Accelerator through bring your own IP address (BYOIP). + Events []*ByoipCidrEvent `type:"list"` + + // The state of the address pool. + State *string `type:"string" enum:"ByoipCidrState"` +} + +// String returns the string representation +func (s ByoipCidr) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByoipCidr) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *ByoipCidr) SetCidr(v string) *ByoipCidr { + s.Cidr = &v + return s +} + +// SetEvents sets the Events field's value. +func (s *ByoipCidr) SetEvents(v []*ByoipCidrEvent) *ByoipCidr { + s.Events = v + return s +} + +// SetState sets the State field's value. +func (s *ByoipCidr) SetState(v string) *ByoipCidr { + s.State = &v + return s +} + +// A complex type that contains a Message and a Timestamp value for changes +// that you make in the status an IP address range that you bring to AWS Global +// Accelerator through bring your own IP address (BYOIP). +type ByoipCidrEvent struct { + _ struct{} `type:"structure"` + + // A string that contains an Event message describing changes that you make + // in the status of an IP address range that you bring to AWS Global Accelerator + // through bring your own IP address (BYOIP). + Message *string `type:"string"` + + // A timestamp when you make a status change for an IP address range that you + // bring to AWS Global Accelerator through bring your own IP address (BYOIP). + Timestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s ByoipCidrEvent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByoipCidrEvent) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ByoipCidrEvent) SetMessage(v string) *ByoipCidrEvent { + s.Message = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ByoipCidrEvent) SetTimestamp(v time.Time) *ByoipCidrEvent { + s.Timestamp = &v + return s +} + +// The CIDR that you specified was not found or is incorrect. +type ByoipCidrNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ByoipCidrNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByoipCidrNotFoundException) GoString() string { + return s.String() +} + +func newErrorByoipCidrNotFoundException(v protocol.ResponseMetadata) error { + return &ByoipCidrNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ByoipCidrNotFoundException) Code() string { + return "ByoipCidrNotFoundException" +} + +// Message returns the exception's message. +func (s *ByoipCidrNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ByoipCidrNotFoundException) OrigErr() error { + return nil +} + +func (s *ByoipCidrNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ByoipCidrNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ByoipCidrNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Provides authorization for Amazon to bring a specific IP address range to +// a specific AWS account using bring your own IP addresses (BYOIP). +// +// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) +// in the AWS Global Accelerator Developer Guide. +type CidrAuthorizationContext struct { + _ struct{} `type:"structure"` + + // The plain-text authorization message for the prefix and account. + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // The signed authorization message for the prefix and account. + // + // Signature is a required field + Signature *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CidrAuthorizationContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CidrAuthorizationContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CidrAuthorizationContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Signature == nil { + invalidParams.Add(request.NewErrParamRequired("Signature")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMessage sets the Message field's value. +func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext { + s.Message = &v + return s +} + +// SetSignature sets the Signature field's value. +func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext { + s.Signature = &v + return s +} + +// You can't use both of those options. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateAcceleratorInput struct { + _ struct{} `type:"structure"` + + // 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. + Enabled *bool `type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of an accelerator. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The value for the address type must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // Optionally, if you've added your own IP address pool to Global Accelerator + // (BYOIP), you can choose IP addresses from your own pool to use for the accelerator's + // static IP addresses when you create an accelerator. You can specify one or + // two addresses, separated by a comma. Do not include the /32 suffix. + // + // Only one IP address from each of your IP address ranges can be used for each + // accelerator. If you specify only one IP address from your IP address range, + // Global Accelerator assigns a second static IP address for the accelerator + // from the AWS IP address pool. + // + // Note that you can't update IP addresses for an existing accelerator. To change + // them, you must create a new accelerator with the new addresses. + // + // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) + // in the AWS Global Accelerator Developer Guide. + IpAddresses []*string `type:"list"` + + // 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. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Create tags for an accelerator. + // + // For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) + // in the AWS Global Accelerator Developer Guide. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateAcceleratorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAcceleratorInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateAcceleratorInput) SetEnabled(v bool) *CreateAcceleratorInput { + s.Enabled = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateAcceleratorInput) SetIdempotencyToken(v string) *CreateAcceleratorInput { + s.IdempotencyToken = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *CreateAcceleratorInput) SetIpAddressType(v string) *CreateAcceleratorInput { + s.IpAddressType = &v + return s +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *CreateAcceleratorInput) SetIpAddresses(v []*string) *CreateAcceleratorInput { + s.IpAddresses = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAcceleratorInput) SetName(v string) *CreateAcceleratorInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAcceleratorInput) SetTags(v []*Tag) *CreateAcceleratorInput { + s.Tags = v + return s +} + +type CreateAcceleratorOutput struct { + _ struct{} `type:"structure"` + + // The accelerator that is created by specifying a listener and the supported + // IP address types. + Accelerator *Accelerator `type:"structure"` +} + +// String returns the string representation +func (s CreateAcceleratorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAcceleratorOutput) GoString() string { + return s.String() +} + +// SetAccelerator sets the Accelerator field's value. +func (s *CreateAcceleratorOutput) SetAccelerator(v *Accelerator) *CreateAcceleratorOutput { + s.Accelerator = v + return s +} + +type CreateCustomRoutingAcceleratorInput struct { + _ struct{} `type:"structure"` + + // 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. + Enabled *bool `type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The value for the address type must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // 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 is a required field + Name *string `type:"string" required:"true"` + + // Create tags for an accelerator. + // + // For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) + // in the AWS Global Accelerator Developer Guide. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateCustomRoutingAcceleratorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomRoutingAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCustomRoutingAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomRoutingAcceleratorInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateCustomRoutingAcceleratorInput) SetEnabled(v bool) *CreateCustomRoutingAcceleratorInput { + s.Enabled = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateCustomRoutingAcceleratorInput) SetIdempotencyToken(v string) *CreateCustomRoutingAcceleratorInput { + s.IdempotencyToken = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *CreateCustomRoutingAcceleratorInput) SetIpAddressType(v string) *CreateCustomRoutingAcceleratorInput { + s.IpAddressType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateCustomRoutingAcceleratorInput) SetName(v string) *CreateCustomRoutingAcceleratorInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCustomRoutingAcceleratorInput) SetTags(v []*Tag) *CreateCustomRoutingAcceleratorInput { + s.Tags = v + return s +} + +type CreateCustomRoutingAcceleratorOutput struct { + _ struct{} `type:"structure"` + + // The accelerator that is created. + Accelerator *CustomRoutingAccelerator `type:"structure"` +} + +// String returns the string representation +func (s CreateCustomRoutingAcceleratorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomRoutingAcceleratorOutput) GoString() string { + return s.String() +} + +// SetAccelerator sets the Accelerator field's value. +func (s *CreateCustomRoutingAcceleratorOutput) SetAccelerator(v *CustomRoutingAccelerator) *CreateCustomRoutingAcceleratorOutput { + s.Accelerator = v + return s +} + +type CreateCustomRoutingEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // 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 is a required field + DestinationConfigurations []*CustomRoutingDestinationConfiguration `min:"1" type:"list" required:"true"` + + // The AWS Region where the endpoint group is located. A listener can have only + // one endpoint group in a specific Region. + // + // EndpointGroupRegion is a required field + EndpointGroupRegion *string `type:"string" required:"true"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the listener for a custom routing endpoint. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateCustomRoutingEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomRoutingEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCustomRoutingEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomRoutingEndpointGroupInput"} + if s.DestinationConfigurations == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationConfigurations")) + } + if s.DestinationConfigurations != nil && len(s.DestinationConfigurations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DestinationConfigurations", 1)) + } + if s.EndpointGroupRegion == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupRegion")) + } + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.DestinationConfigurations != nil { + for i, v := range s.DestinationConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DestinationConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfigurations sets the DestinationConfigurations field's value. +func (s *CreateCustomRoutingEndpointGroupInput) SetDestinationConfigurations(v []*CustomRoutingDestinationConfiguration) *CreateCustomRoutingEndpointGroupInput { + s.DestinationConfigurations = v + return s +} + +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *CreateCustomRoutingEndpointGroupInput) SetEndpointGroupRegion(v string) *CreateCustomRoutingEndpointGroupInput { + s.EndpointGroupRegion = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateCustomRoutingEndpointGroupInput) SetIdempotencyToken(v string) *CreateCustomRoutingEndpointGroupInput { + s.IdempotencyToken = &v + return s +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *CreateCustomRoutingEndpointGroupInput) SetListenerArn(v string) *CreateCustomRoutingEndpointGroupInput { + s.ListenerArn = &v + return s +} + +type CreateCustomRoutingEndpointGroupOutput struct { + _ struct{} `type:"structure"` + + // The information about the endpoint group created for a custom routing accelerator. + EndpointGroup *CustomRoutingEndpointGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateCustomRoutingEndpointGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomRoutingEndpointGroupOutput) GoString() string { + return s.String() +} + +// SetEndpointGroup sets the EndpointGroup field's value. +func (s *CreateCustomRoutingEndpointGroupOutput) SetEndpointGroup(v *CustomRoutingEndpointGroup) *CreateCustomRoutingEndpointGroupOutput { + s.EndpointGroup = v + return s +} + +type CreateCustomRoutingListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator for a custom routing listener. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html). + // + // PortRanges is a required field + PortRanges []*PortRange `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateCustomRoutingListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomRoutingListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCustomRoutingListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomRoutingListenerInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + if s.PortRanges == nil { + invalidParams.Add(request.NewErrParamRequired("PortRanges")) + } + if s.PortRanges != nil && len(s.PortRanges) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1)) + } + if s.PortRanges != nil { + for i, v := range s.PortRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *CreateCustomRoutingListenerInput) SetAcceleratorArn(v string) *CreateCustomRoutingListenerInput { + s.AcceleratorArn = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateCustomRoutingListenerInput) SetIdempotencyToken(v string) *CreateCustomRoutingListenerInput { + s.IdempotencyToken = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *CreateCustomRoutingListenerInput) SetPortRanges(v []*PortRange) *CreateCustomRoutingListenerInput { + s.PortRanges = v + return s +} + +type CreateCustomRoutingListenerOutput struct { + _ struct{} `type:"structure"` + + // The listener that you've created for a custom routing accelerator. + Listener *CustomRoutingListener `type:"structure"` +} + +// String returns the string representation +func (s CreateCustomRoutingListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomRoutingListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *CreateCustomRoutingListenerOutput) SetListener(v *CustomRoutingListener) *CreateCustomRoutingListenerOutput { + s.Listener = v + return s +} + +type CreateEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The list of endpoint objects. + EndpointConfigurations []*EndpointConfiguration `type:"list"` + + // The AWS Region where the endpoint group is located. A listener can have only + // one endpoint group in a specific Region. + // + // EndpointGroupRegion is a required field + EndpointGroupRegion *string `type:"string" required:"true"` + + // The time—10 seconds or 30 seconds—between each health check for an endpoint. + // The default value is 30. + HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` + + // 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 `type:"string"` + + // 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. + HealthCheckPort *int64 `min:"1" type:"integer"` + + // 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. + HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // 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 ports 80 and 443, but your + // accelerator routes that traffic to ports 1080 and 1443, respectively, on + // the endpoints. + // + // For more information, see Port overrides (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html) + // in the AWS Global Accelerator Developer Guide. + PortOverrides []*PortOverride `type:"list"` + + // 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 *int64 `min:"1" type:"integer"` + + // 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. + TrafficDialPercentage *float64 `type:"float"` +} + +// String returns the string representation +func (s CreateEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEndpointGroupInput"} + if s.EndpointGroupRegion == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupRegion")) + } + if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 10 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 10)) + } + if s.HealthCheckPort != nil && *s.HealthCheckPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckPort", 1)) + } + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.ThresholdCount != nil && *s.ThresholdCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThresholdCount", 1)) + } + if s.PortOverrides != nil { + for i, v := range s.PortOverrides { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortOverrides", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigurations sets the EndpointConfigurations field's value. +func (s *CreateEndpointGroupInput) SetEndpointConfigurations(v []*EndpointConfiguration) *CreateEndpointGroupInput { + s.EndpointConfigurations = v + return s +} + +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *CreateEndpointGroupInput) SetEndpointGroupRegion(v string) *CreateEndpointGroupInput { + s.EndpointGroupRegion = &v + return s +} + +// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateEndpointGroupInput { + s.HealthCheckIntervalSeconds = &v + return s +} + +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckPath(v string) *CreateEndpointGroupInput { + s.HealthCheckPath = &v + return s +} + +// SetHealthCheckPort sets the HealthCheckPort field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckPort(v int64) *CreateEndpointGroupInput { + s.HealthCheckPort = &v + return s +} + +// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckProtocol(v string) *CreateEndpointGroupInput { + s.HealthCheckProtocol = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateEndpointGroupInput) SetIdempotencyToken(v string) *CreateEndpointGroupInput { + s.IdempotencyToken = &v + return s +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *CreateEndpointGroupInput) SetListenerArn(v string) *CreateEndpointGroupInput { + s.ListenerArn = &v + return s +} + +// SetPortOverrides sets the PortOverrides field's value. +func (s *CreateEndpointGroupInput) SetPortOverrides(v []*PortOverride) *CreateEndpointGroupInput { + s.PortOverrides = v + return s +} + +// SetThresholdCount sets the ThresholdCount field's value. +func (s *CreateEndpointGroupInput) SetThresholdCount(v int64) *CreateEndpointGroupInput { + s.ThresholdCount = &v + return s +} + +// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. +func (s *CreateEndpointGroupInput) SetTrafficDialPercentage(v float64) *CreateEndpointGroupInput { + s.TrafficDialPercentage = &v + return s +} + +type CreateEndpointGroupOutput struct { + _ struct{} `type:"structure"` + + // The information about the endpoint group that was created. + EndpointGroup *EndpointGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateEndpointGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointGroupOutput) GoString() string { + return s.String() +} + +// SetEndpointGroup sets the EndpointGroup field's value. +func (s *CreateEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *CreateEndpointGroupOutput { + s.EndpointGroup = v + return s +} + +type CreateListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of your accelerator. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // 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 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. + ClientAffinity *string `type:"string" enum:"ClientAffinity"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The list of port ranges to support for connections from clients to your accelerator. + // + // PortRanges is a required field + PortRanges []*PortRange `min:"1" type:"list" required:"true"` + + // The protocol for connections from clients to your accelerator. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true" enum:"Protocol"` +} + +// String returns the string representation +func (s CreateListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + if s.PortRanges == nil { + invalidParams.Add(request.NewErrParamRequired("PortRanges")) + } + if s.PortRanges != nil && len(s.PortRanges) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.PortRanges != nil { + for i, v := range s.PortRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *CreateListenerInput) SetAcceleratorArn(v string) *CreateListenerInput { + s.AcceleratorArn = &v + return s +} + +// SetClientAffinity sets the ClientAffinity field's value. +func (s *CreateListenerInput) SetClientAffinity(v string) *CreateListenerInput { + s.ClientAffinity = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateListenerInput) SetIdempotencyToken(v string) *CreateListenerInput { + s.IdempotencyToken = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *CreateListenerInput) SetPortRanges(v []*PortRange) *CreateListenerInput { + s.PortRanges = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput { + s.Protocol = &v + return s +} + +type CreateListenerOutput struct { + _ struct{} `type:"structure"` + + // The listener that you've created. + Listener *Listener `type:"structure"` +} + +// String returns the string representation +func (s CreateListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *CreateListenerOutput) SetListener(v *Listener) *CreateListenerOutput { + s.Listener = v + return s +} + +// Attributes of a custom routing accelerator. +type CustomRoutingAccelerator struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom routing accelerator. + AcceleratorArn *string `type:"string"` + + // The date and time that the accelerator was created. + CreatedTime *time.Time `type:"timestamp"` + + // 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 the following: A lowercase 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing) + // in the AWS Global Accelerator Developer Guide. + DnsName *string `type:"string"` // Indicates whether the accelerator is enabled. The value is true or false. // The default value is true. @@ -2386,75 +6680,75 @@ type Accelerator struct { Name *string `type:"string"` // Describes the deployment status of the accelerator. - Status *string `type:"string" enum:"AcceleratorStatus"` + Status *string `type:"string" enum:"CustomRoutingAcceleratorStatus"` } // String returns the string representation -func (s Accelerator) String() string { +func (s CustomRoutingAccelerator) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Accelerator) GoString() string { +func (s CustomRoutingAccelerator) GoString() string { return s.String() } // SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *Accelerator) SetAcceleratorArn(v string) *Accelerator { +func (s *CustomRoutingAccelerator) SetAcceleratorArn(v string) *CustomRoutingAccelerator { s.AcceleratorArn = &v return s } // SetCreatedTime sets the CreatedTime field's value. -func (s *Accelerator) SetCreatedTime(v time.Time) *Accelerator { +func (s *CustomRoutingAccelerator) SetCreatedTime(v time.Time) *CustomRoutingAccelerator { s.CreatedTime = &v return s } // SetDnsName sets the DnsName field's value. -func (s *Accelerator) SetDnsName(v string) *Accelerator { +func (s *CustomRoutingAccelerator) SetDnsName(v string) *CustomRoutingAccelerator { s.DnsName = &v return s } // SetEnabled sets the Enabled field's value. -func (s *Accelerator) SetEnabled(v bool) *Accelerator { +func (s *CustomRoutingAccelerator) SetEnabled(v bool) *CustomRoutingAccelerator { s.Enabled = &v return s } // SetIpAddressType sets the IpAddressType field's value. -func (s *Accelerator) SetIpAddressType(v string) *Accelerator { +func (s *CustomRoutingAccelerator) SetIpAddressType(v string) *CustomRoutingAccelerator { s.IpAddressType = &v return s } // SetIpSets sets the IpSets field's value. -func (s *Accelerator) SetIpSets(v []*IpSet) *Accelerator { +func (s *CustomRoutingAccelerator) SetIpSets(v []*IpSet) *CustomRoutingAccelerator { s.IpSets = v return s } // SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *Accelerator) SetLastModifiedTime(v time.Time) *Accelerator { +func (s *CustomRoutingAccelerator) SetLastModifiedTime(v time.Time) *CustomRoutingAccelerator { s.LastModifiedTime = &v return s } // SetName sets the Name field's value. -func (s *Accelerator) SetName(v string) *Accelerator { +func (s *CustomRoutingAccelerator) SetName(v string) *CustomRoutingAccelerator { s.Name = &v return s } // SetStatus sets the Status field's value. -func (s *Accelerator) SetStatus(v string) *Accelerator { +func (s *CustomRoutingAccelerator) SetStatus(v string) *CustomRoutingAccelerator { s.Status = &v return s } -// Attributes of an accelerator. -type AcceleratorAttributes struct { +// Attributes of a custom routing accelerator. +type CustomRoutingAcceleratorAttributes struct { _ struct{} `type:"structure"` // Indicates whether flow logs are enabled. The default value is false. If the @@ -2476,231 +6770,490 @@ type AcceleratorAttributes struct { // the bucket. If you specify slash (/) for the S3 bucket prefix, the log file // bucket folder structure will include a double slash (//), like the following: // - // s3-bucket_name//AWSLogs/aws_account_id + // DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id FlowLogsS3Prefix *string `type:"string"` } // String returns the string representation -func (s AcceleratorAttributes) String() string { +func (s CustomRoutingAcceleratorAttributes) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AcceleratorAttributes) GoString() string { +func (s CustomRoutingAcceleratorAttributes) GoString() string { return s.String() } // SetFlowLogsEnabled sets the FlowLogsEnabled field's value. -func (s *AcceleratorAttributes) SetFlowLogsEnabled(v bool) *AcceleratorAttributes { +func (s *CustomRoutingAcceleratorAttributes) SetFlowLogsEnabled(v bool) *CustomRoutingAcceleratorAttributes { s.FlowLogsEnabled = &v return s } // SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value. -func (s *AcceleratorAttributes) SetFlowLogsS3Bucket(v string) *AcceleratorAttributes { +func (s *CustomRoutingAcceleratorAttributes) SetFlowLogsS3Bucket(v string) *CustomRoutingAcceleratorAttributes { s.FlowLogsS3Bucket = &v return s } -// SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. -func (s *AcceleratorAttributes) SetFlowLogsS3Prefix(v string) *AcceleratorAttributes { - s.FlowLogsS3Prefix = &v +// SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. +func (s *CustomRoutingAcceleratorAttributes) SetFlowLogsS3Prefix(v string) *CustomRoutingAcceleratorAttributes { + s.FlowLogsS3Prefix = &v + return s +} + +// For a custom routing accelerator, sets the port range and protocol for all +// endpoints (virtual private cloud subnets) in an endpoint group to accept +// client traffic on. +type CustomRoutingDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // The first port, inclusive, in the range of ports for the endpoint group that + // is associated with a custom routing accelerator. + // + // FromPort is a required field + FromPort *int64 `min:"1" type:"integer" required:"true"` + + // The protocol for the endpoint group that is associated with a custom routing + // accelerator. The protocol can be either TCP or UDP. + // + // Protocols is a required field + Protocols []*string `min:"1" type:"list" required:"true"` + + // The last port, inclusive, in the range of ports for the endpoint group that + // is associated with a custom routing accelerator. + // + // ToPort is a required field + ToPort *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s CustomRoutingDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRoutingDestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomRoutingDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomRoutingDestinationConfiguration"} + if s.FromPort == nil { + invalidParams.Add(request.NewErrParamRequired("FromPort")) + } + if s.FromPort != nil && *s.FromPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("FromPort", 1)) + } + if s.Protocols == nil { + invalidParams.Add(request.NewErrParamRequired("Protocols")) + } + if s.Protocols != nil && len(s.Protocols) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) + } + if s.ToPort == nil { + invalidParams.Add(request.NewErrParamRequired("ToPort")) + } + if s.ToPort != nil && *s.ToPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ToPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromPort sets the FromPort field's value. +func (s *CustomRoutingDestinationConfiguration) SetFromPort(v int64) *CustomRoutingDestinationConfiguration { + s.FromPort = &v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *CustomRoutingDestinationConfiguration) SetProtocols(v []*string) *CustomRoutingDestinationConfiguration { + s.Protocols = v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *CustomRoutingDestinationConfiguration) SetToPort(v int64) *CustomRoutingDestinationConfiguration { + s.ToPort = &v + return s +} + +// For a custom routing accelerator, describes the port range and protocol for +// all endpoints (virtual private cloud subnets) in an endpoint group to accept +// client traffic on. +type CustomRoutingDestinationDescription struct { + _ struct{} `type:"structure"` + + // The first port, inclusive, in the range of ports for the endpoint group that + // is associated with a custom routing accelerator. + FromPort *int64 `min:"1" type:"integer"` + + // The protocol for the endpoint group that is associated with a custom routing + // accelerator. The protocol can be either TCP or UDP. + Protocols []*string `type:"list"` + + // The last port, inclusive, in the range of ports for the endpoint group that + // is associated with a custom routing accelerator. + ToPort *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s CustomRoutingDestinationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRoutingDestinationDescription) GoString() string { + return s.String() +} + +// SetFromPort sets the FromPort field's value. +func (s *CustomRoutingDestinationDescription) SetFromPort(v int64) *CustomRoutingDestinationDescription { + s.FromPort = &v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *CustomRoutingDestinationDescription) SetProtocols(v []*string) *CustomRoutingDestinationDescription { + s.Protocols = v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *CustomRoutingDestinationDescription) SetToPort(v int64) *CustomRoutingDestinationDescription { + s.ToPort = &v + return s +} + +// The list of endpoint objects. For custom routing, this is a list of virtual +// private cloud (VPC) subnet IDs. +type CustomRoutingEndpointConfiguration struct { + _ struct{} `type:"structure"` + + // An ID for the endpoint. For custom routing accelerators, this is the virtual + // private cloud (VPC) subnet ID. + EndpointId *string `type:"string"` +} + +// String returns the string representation +func (s CustomRoutingEndpointConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRoutingEndpointConfiguration) GoString() string { + return s.String() +} + +// SetEndpointId sets the EndpointId field's value. +func (s *CustomRoutingEndpointConfiguration) SetEndpointId(v string) *CustomRoutingEndpointConfiguration { + s.EndpointId = &v + return s +} + +// A complex type for an endpoint for a custom routing accelerator. Each endpoint +// group can include one or more endpoints, which are virtual private cloud +// (VPC) subnets. +type CustomRoutingEndpointDescription struct { + _ struct{} `type:"structure"` + + // An ID for the endpoint. For custom routing accelerators, this is the virtual + // private cloud (VPC) subnet ID. + EndpointId *string `type:"string"` +} + +// String returns the string representation +func (s CustomRoutingEndpointDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRoutingEndpointDescription) GoString() string { + return s.String() +} + +// SetEndpointId sets the EndpointId field's value. +func (s *CustomRoutingEndpointDescription) SetEndpointId(v string) *CustomRoutingEndpointDescription { + s.EndpointId = &v + return s +} + +// A complex type for the endpoint group for a custom routing accelerator. An +// AWS Region can have only one endpoint group for a specific listener. +type CustomRoutingEndpointGroup struct { + _ struct{} `type:"structure"` + + // For a custom routing accelerator, describes the port range and protocol for + // all endpoints (virtual private cloud subnets) in an endpoint group to accept + // client traffic on. + DestinationDescriptions []*CustomRoutingDestinationDescription `type:"list"` + + // For a custom routing accelerator, describes the endpoints (virtual private + // cloud subnets) in an endpoint group to accept client traffic on. + EndpointDescriptions []*CustomRoutingEndpointDescription `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group. + EndpointGroupArn *string `type:"string"` + + // The AWS Region where the endpoint group is located. + EndpointGroupRegion *string `type:"string"` +} + +// String returns the string representation +func (s CustomRoutingEndpointGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRoutingEndpointGroup) GoString() string { + return s.String() +} + +// SetDestinationDescriptions sets the DestinationDescriptions field's value. +func (s *CustomRoutingEndpointGroup) SetDestinationDescriptions(v []*CustomRoutingDestinationDescription) *CustomRoutingEndpointGroup { + s.DestinationDescriptions = v + return s +} + +// SetEndpointDescriptions sets the EndpointDescriptions field's value. +func (s *CustomRoutingEndpointGroup) SetEndpointDescriptions(v []*CustomRoutingEndpointDescription) *CustomRoutingEndpointGroup { + s.EndpointDescriptions = v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *CustomRoutingEndpointGroup) SetEndpointGroupArn(v string) *CustomRoutingEndpointGroup { + s.EndpointGroupArn = &v + return s +} + +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *CustomRoutingEndpointGroup) SetEndpointGroupRegion(v string) *CustomRoutingEndpointGroup { + s.EndpointGroupRegion = &v + return s +} + +// A complex type for a listener for a custom routing accelerator. +type CustomRoutingListener struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener. + ListenerArn *string `type:"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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html). + PortRanges []*PortRange `min:"1" type:"list"` +} + +// String returns the string representation +func (s CustomRoutingListener) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRoutingListener) GoString() string { + return s.String() +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *CustomRoutingListener) SetListenerArn(v string) *CustomRoutingListener { + s.ListenerArn = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *CustomRoutingListener) SetPortRanges(v []*PortRange) *CustomRoutingListener { + s.PortRanges = v return s } -// The accelerator that you specified could not be disabled. -type AcceleratorNotDisabledException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteAcceleratorInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of an accelerator. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` } // String returns the string representation -func (s AcceleratorNotDisabledException) String() string { +func (s DeleteAcceleratorInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AcceleratorNotDisabledException) GoString() string { +func (s DeleteAcceleratorInput) GoString() string { return s.String() } -func newErrorAcceleratorNotDisabledException(v protocol.ResponseMetadata) error { - return &AcceleratorNotDisabledException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } -} -// Code returns the exception type name. -func (s *AcceleratorNotDisabledException) Code() string { - return "AcceleratorNotDisabledException" -} - -// Message returns the exception's message. -func (s *AcceleratorNotDisabledException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AcceleratorNotDisabledException) OrigErr() error { - return nil +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DeleteAcceleratorInput) SetAcceleratorArn(v string) *DeleteAcceleratorInput { + s.AcceleratorArn = &v + return s } -func (s *AcceleratorNotDisabledException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeleteAcceleratorOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *AcceleratorNotDisabledException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeleteAcceleratorOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *AcceleratorNotDisabledException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeleteAcceleratorOutput) GoString() string { + return s.String() } -// The accelerator that you specified doesn't exist. -type AcceleratorNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteCustomRoutingAcceleratorInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the custom routing accelerator to delete. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` } // String returns the string representation -func (s AcceleratorNotFoundException) String() string { +func (s DeleteCustomRoutingAcceleratorInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AcceleratorNotFoundException) GoString() string { +func (s DeleteCustomRoutingAcceleratorInput) GoString() string { return s.String() } -func newErrorAcceleratorNotFoundException(v protocol.ResponseMetadata) error { - return &AcceleratorNotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCustomRoutingAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomRoutingAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } -} - -// Code returns the exception type name. -func (s *AcceleratorNotFoundException) Code() string { - return "AcceleratorNotFoundException" -} -// Message returns the exception's message. -func (s *AcceleratorNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AcceleratorNotFoundException) OrigErr() error { - return nil +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DeleteCustomRoutingAcceleratorInput) SetAcceleratorArn(v string) *DeleteCustomRoutingAcceleratorInput { + s.AcceleratorArn = &v + return s } -func (s *AcceleratorNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeleteCustomRoutingAcceleratorOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *AcceleratorNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeleteCustomRoutingAcceleratorOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *AcceleratorNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeleteCustomRoutingAcceleratorOutput) GoString() string { + return s.String() } -// You don't have access permission. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteCustomRoutingEndpointGroupInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the endpoint group to delete. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` } // String returns the string representation -func (s AccessDeniedException) String() string { +func (s DeleteCustomRoutingEndpointGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccessDeniedException) GoString() string { +func (s DeleteCustomRoutingEndpointGroupInput) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCustomRoutingEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomRoutingEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) } -} - -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DeleteCustomRoutingEndpointGroupInput) SetEndpointGroupArn(v string) *DeleteCustomRoutingEndpointGroupInput { + s.EndpointGroupArn = &v + return s } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeleteCustomRoutingEndpointGroupOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeleteCustomRoutingEndpointGroupOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeleteCustomRoutingEndpointGroupOutput) GoString() string { + return s.String() } -type AdvertiseByoipCidrInput struct { +type DeleteCustomRoutingListenerInput struct { _ struct{} `type:"structure"` - // 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. + // The Amazon Resource Name (ARN) of the listener to delete. // - // Cidr is a required field - Cidr *string `type:"string" required:"true"` + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` } // String returns the string representation -func (s AdvertiseByoipCidrInput) String() string { +func (s DeleteCustomRoutingListenerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AdvertiseByoipCidrInput) GoString() string { +func (s DeleteCustomRoutingListenerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AdvertiseByoipCidrInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"} - if s.Cidr == nil { - invalidParams.Add(request.NewErrParamRequired("Cidr")) +func (s *DeleteCustomRoutingListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomRoutingListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) } if invalidParams.Len() > 0 { @@ -2709,371 +7262,328 @@ func (s *AdvertiseByoipCidrInput) Validate() error { return nil } -// SetCidr sets the Cidr field's value. -func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput { - s.Cidr = &v +// SetListenerArn sets the ListenerArn field's value. +func (s *DeleteCustomRoutingListenerInput) SetListenerArn(v string) *DeleteCustomRoutingListenerInput { + s.ListenerArn = &v return s } -type AdvertiseByoipCidrOutput struct { +type DeleteCustomRoutingListenerOutput struct { _ struct{} `type:"structure"` - - // Information about the address range. - ByoipCidr *ByoipCidr `type:"structure"` } // String returns the string representation -func (s AdvertiseByoipCidrOutput) String() string { +func (s DeleteCustomRoutingListenerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AdvertiseByoipCidrOutput) GoString() string { +func (s DeleteCustomRoutingListenerOutput) GoString() string { return s.String() } -// SetByoipCidr sets the ByoipCidr field's value. -func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput { - s.ByoipCidr = v - return s -} - -// The listener that you specified has an endpoint group associated with it. -// You must remove all dependent resources from a listener before you can delete -// it. -type AssociatedEndpointGroupFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteEndpointGroupInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the endpoint group to delete. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` } // String returns the string representation -func (s AssociatedEndpointGroupFoundException) String() string { +func (s DeleteEndpointGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociatedEndpointGroupFoundException) GoString() string { +func (s DeleteEndpointGroupInput) GoString() string { return s.String() } -func newErrorAssociatedEndpointGroupFoundException(v protocol.ResponseMetadata) error { - return &AssociatedEndpointGroupFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) } -} - -// Code returns the exception type name. -func (s *AssociatedEndpointGroupFoundException) Code() string { - return "AssociatedEndpointGroupFoundException" -} -// Message returns the exception's message. -func (s *AssociatedEndpointGroupFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AssociatedEndpointGroupFoundException) OrigErr() error { - return nil +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DeleteEndpointGroupInput) SetEndpointGroupArn(v string) *DeleteEndpointGroupInput { + s.EndpointGroupArn = &v + return s } -func (s *AssociatedEndpointGroupFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeleteEndpointGroupOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *AssociatedEndpointGroupFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeleteEndpointGroupOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *AssociatedEndpointGroupFoundException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeleteEndpointGroupOutput) GoString() string { + return s.String() } -// The accelerator that you specified has a listener associated with it. You -// must remove all dependent resources from an accelerator before you can delete -// it. -type AssociatedListenerFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteListenerInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` } // String returns the string representation -func (s AssociatedListenerFoundException) String() string { +func (s DeleteListenerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociatedListenerFoundException) GoString() string { +func (s DeleteListenerInput) GoString() string { return s.String() } -func newErrorAssociatedListenerFoundException(v protocol.ResponseMetadata) error { - return &AssociatedListenerFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) } -} - -// Code returns the exception type name. -func (s *AssociatedListenerFoundException) Code() string { - return "AssociatedListenerFoundException" -} -// Message returns the exception's message. -func (s *AssociatedListenerFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AssociatedListenerFoundException) OrigErr() error { - return nil +// SetListenerArn sets the ListenerArn field's value. +func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput { + s.ListenerArn = &v + return s } -func (s *AssociatedListenerFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeleteListenerOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *AssociatedListenerFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeleteListenerOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *AssociatedListenerFoundException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeleteListenerOutput) GoString() string { + return s.String() } -// Information about an IP address range that is provisioned for use with your -// AWS resources through bring your own IP address (BYOIP). -// -// The following describes each BYOIP State that your IP address range can be -// in. -// -// * PENDING_PROVISIONING — You’ve submitted a request to provision an -// IP address range but it is not yet provisioned with AWS Global Accelerator. -// -// * READY — The address range is provisioned with AWS Global Accelerator -// and can be advertised. -// -// * PENDING_ADVERTISING — You’ve submitted a request for AWS Global -// Accelerator to advertise an address range but it is not yet being advertised. -// -// * ADVERTISING — The address range is being advertised by AWS Global -// Accelerator. -// -// * PENDING_WITHDRAWING — You’ve submitted a request to withdraw an -// address range from being advertised but it is still being advertised by -// AWS Global Accelerator. -// -// * PENDING_DEPROVISIONING — You’ve submitted a request to deprovision -// an address range from AWS Global Accelerator but it is still provisioned. -// -// * DEPROVISIONED — The address range is deprovisioned from AWS Global -// Accelerator. -// -// * FAILED_PROVISION — The request to provision the address range from -// AWS Global Accelerator was not successful. Please make sure that you provide -// all of the correct information, and try again. If the request fails a -// second time, contact AWS support. -// -// * FAILED_ADVERTISING — The request for AWS Global Accelerator to advertise -// the address range was not successful. Please make sure that you provide -// all of the correct information, and try again. If the request fails a -// second time, contact AWS support. -// -// * FAILED_WITHDRAW — The request to withdraw the address range from advertising -// by AWS Global Accelerator was not successful. Please make sure that you -// provide all of the correct information, and try again. If the request -// fails a second time, contact AWS support. -// -// * FAILED_DEPROVISION — The request to deprovision the address range -// from AWS Global Accelerator was not successful. Please make sure that -// you provide all of the correct information, and try again. If the request -// fails a second time, contact AWS support. -type ByoipCidr struct { +type DenyCustomRoutingTrafficInput struct { _ struct{} `type:"structure"` - // The address range, in CIDR notation. - Cidr *string `type:"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 destinations in the custom routing VPC subnet can receive + // traffic. Note that you cannot specify destination IP addresses and ports + // when the value is set to TRUE. + // + // When set to FALSE (or not specified), you must specify a list of destination + // IP addresses that cannot receive traffic. A list of ports is optional. If + // you don't specify a list of ports, the ports that can accept traffic is the + // same as the ports configured for the endpoint group. + // + // The default value is FALSE. + DenyAllTrafficToEndpoint *bool `type:"boolean"` - // A history of status changes for an IP address range that you bring to AWS - // Global Accelerator through bring your own IP address (BYOIP). - Events []*ByoipCidrEvent `type:"list"` + // 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 for the VPC subnet associated + // with the endpoint group. + DestinationAddresses []*string `type:"list"` - // The state of the address pool. - State *string `type:"string" enum:"ByoipCidrState"` + // A list of specific Amazon EC2 instance ports (destination ports) in a subnet + // endpoint that you want to prevent from receiving traffic. + DestinationPorts []*int64 `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` + + // An ID for the endpoint. For custom routing accelerators, this is the virtual + // private cloud (VPC) subnet ID. + // + // EndpointId is a required field + EndpointId *string `type:"string" required:"true"` } // String returns the string representation -func (s ByoipCidr) String() string { +func (s DenyCustomRoutingTrafficInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ByoipCidr) GoString() string { +func (s DenyCustomRoutingTrafficInput) GoString() string { return s.String() } -// SetCidr sets the Cidr field's value. -func (s *ByoipCidr) SetCidr(v string) *ByoipCidr { - s.Cidr = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DenyCustomRoutingTrafficInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DenyCustomRoutingTrafficInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + if s.EndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDenyAllTrafficToEndpoint sets the DenyAllTrafficToEndpoint field's value. +func (s *DenyCustomRoutingTrafficInput) SetDenyAllTrafficToEndpoint(v bool) *DenyCustomRoutingTrafficInput { + s.DenyAllTrafficToEndpoint = &v return s } -// SetEvents sets the Events field's value. -func (s *ByoipCidr) SetEvents(v []*ByoipCidrEvent) *ByoipCidr { - s.Events = v +// SetDestinationAddresses sets the DestinationAddresses field's value. +func (s *DenyCustomRoutingTrafficInput) SetDestinationAddresses(v []*string) *DenyCustomRoutingTrafficInput { + s.DestinationAddresses = v return s } -// SetState sets the State field's value. -func (s *ByoipCidr) SetState(v string) *ByoipCidr { - s.State = &v +// SetDestinationPorts sets the DestinationPorts field's value. +func (s *DenyCustomRoutingTrafficInput) SetDestinationPorts(v []*int64) *DenyCustomRoutingTrafficInput { + s.DestinationPorts = v return s } -// A complex type that contains a Message and a Timestamp value for changes -// that you make in the status an IP address range that you bring to AWS Global -// Accelerator through bring your own IP address (BYOIP). -type ByoipCidrEvent struct { - _ struct{} `type:"structure"` +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DenyCustomRoutingTrafficInput) SetEndpointGroupArn(v string) *DenyCustomRoutingTrafficInput { + s.EndpointGroupArn = &v + return s +} - // A string that contains an Event message describing changes that you make - // in the status of an IP address range that you bring to AWS Global Accelerator - // through bring your own IP address (BYOIP). - Message *string `type:"string"` +// SetEndpointId sets the EndpointId field's value. +func (s *DenyCustomRoutingTrafficInput) SetEndpointId(v string) *DenyCustomRoutingTrafficInput { + s.EndpointId = &v + return s +} - // A timestamp when you make a status change for an IP address range that you - // bring to AWS Global Accelerator through bring your own IP address (BYOIP). - Timestamp *time.Time `type:"timestamp"` +type DenyCustomRoutingTrafficOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s ByoipCidrEvent) String() string { +func (s DenyCustomRoutingTrafficOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ByoipCidrEvent) GoString() string { +func (s DenyCustomRoutingTrafficOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *ByoipCidrEvent) SetMessage(v string) *ByoipCidrEvent { - s.Message = &v - return s -} - -// SetTimestamp sets the Timestamp field's value. -func (s *ByoipCidrEvent) SetTimestamp(v time.Time) *ByoipCidrEvent { - s.Timestamp = &v - return s -} - -// The CIDR that you specified was not found or is incorrect. -type ByoipCidrNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeprovisionByoipCidrInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The address range, in CIDR notation. The prefix must be the same prefix that + // you specified when you provisioned the address range. + // + // Cidr is a required field + Cidr *string `type:"string" required:"true"` } // String returns the string representation -func (s ByoipCidrNotFoundException) String() string { +func (s DeprovisionByoipCidrInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ByoipCidrNotFoundException) GoString() string { +func (s DeprovisionByoipCidrInput) GoString() string { return s.String() } -func newErrorByoipCidrNotFoundException(v protocol.ResponseMetadata) error { - return &ByoipCidrNotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeprovisionByoipCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) } -} - -// Code returns the exception type name. -func (s *ByoipCidrNotFoundException) Code() string { - return "ByoipCidrNotFoundException" -} -// Message returns the exception's message. -func (s *ByoipCidrNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ByoipCidrNotFoundException) OrigErr() error { - return nil +// SetCidr sets the Cidr field's value. +func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput { + s.Cidr = &v + return s } -func (s *ByoipCidrNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeprovisionByoipCidrOutput struct { + _ struct{} `type:"structure"` + + // Information about the address range. + ByoipCidr *ByoipCidr `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *ByoipCidrNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeprovisionByoipCidrOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *ByoipCidrNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeprovisionByoipCidrOutput) GoString() string { + return s.String() } -// Provides authorization for Amazon to bring a specific IP address range to -// a specific AWS account using bring your own IP addresses (BYOIP). -// -// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) -// in the AWS Global Accelerator Developer Guide. -type CidrAuthorizationContext struct { - _ struct{} `type:"structure"` +// SetByoipCidr sets the ByoipCidr field's value. +func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput { + s.ByoipCidr = v + return s +} - // The plain-text authorization message for the prefix and account. - // - // Message is a required field - Message *string `type:"string" required:"true"` +type DescribeAcceleratorAttributesInput struct { + _ struct{} `type:"structure"` - // The signed authorization message for the prefix and account. + // The Amazon Resource Name (ARN) of the accelerator with the attributes that + // you want to describe. // - // Signature is a required field - Signature *string `type:"string" required:"true"` + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` } // String returns the string representation -func (s CidrAuthorizationContext) String() string { +func (s DescribeAcceleratorAttributesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CidrAuthorizationContext) GoString() string { +func (s DescribeAcceleratorAttributesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CidrAuthorizationContext) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"} - if s.Message == nil { - invalidParams.Add(request.NewErrParamRequired("Message")) - } - if s.Signature == nil { - invalidParams.Add(request.NewErrParamRequired("Signature")) +func (s *DescribeAcceleratorAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorAttributesInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } if invalidParams.Len() > 0 { @@ -3082,91 +7592,59 @@ func (s *CidrAuthorizationContext) Validate() error { return nil } -// SetMessage sets the Message field's value. -func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext { - s.Message = &v - return s -} - -// SetSignature sets the Signature field's value. -func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext { - s.Signature = &v +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DescribeAcceleratorAttributesInput) SetAcceleratorArn(v string) *DescribeAcceleratorAttributesInput { + s.AcceleratorArn = &v return s } -type CreateAcceleratorInput struct { +type DescribeAcceleratorAttributesOutput struct { _ struct{} `type:"structure"` - // 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. - Enabled *bool `type:"boolean"` + // The attributes of the accelerator. + AcceleratorAttributes *AcceleratorAttributes `type:"structure"` +} - // A unique, case-sensitive identifier that you provide to ensure the idempotency—that - // is, the uniqueness—of an accelerator. - IdempotencyToken *string `type:"string" idempotencyToken:"true"` +// String returns the string representation +func (s DescribeAcceleratorAttributesOutput) String() string { + return awsutil.Prettify(s) +} - // The value for the address type must be IPv4. - IpAddressType *string `type:"string" enum:"IpAddressType"` +// GoString returns the string representation +func (s DescribeAcceleratorAttributesOutput) GoString() string { + return s.String() +} - // Optionally, if you've added your own IP address pool to Global Accelerator - // (BYOIP), you can choose IP addresses from your own pool to use for the accelerator's - // static IP addresses when you create an accelerator. You can specify one or - // two addresses, separated by a comma. Do not include the /32 suffix. - // - // Only one IP address from each of your IP address ranges can be used for each - // accelerator. If you specify only one IP address from your IP address range, - // Global Accelerator assigns a second static IP address for the accelerator - // from the AWS IP address pool. - // - // Note that you can't update IP addresses for an existing accelerator. To change - // them, you must create a new accelerator with the new addresses. - // - // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) - // in the AWS Global Accelerator Developer Guide. - IpAddresses []*string `type:"list"` +// SetAcceleratorAttributes sets the AcceleratorAttributes field's value. +func (s *DescribeAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *DescribeAcceleratorAttributesOutput { + s.AcceleratorAttributes = v + return s +} - // 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. - // - // Name is a required field - Name *string `type:"string" required:"true"` +type DescribeAcceleratorInput struct { + _ struct{} `type:"structure"` - // Create tags for an accelerator. + // The Amazon Resource Name (ARN) of the accelerator to describe. // - // For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) - // in the AWS Global Accelerator Developer Guide. - Tags []*Tag `type:"list"` + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateAcceleratorInput) String() string { +func (s DescribeAcceleratorInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateAcceleratorInput) GoString() string { +func (s DescribeAcceleratorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAcceleratorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAcceleratorInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } +func (s *DescribeAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } if invalidParams.Len() > 0 { @@ -3175,168 +7653,121 @@ func (s *CreateAcceleratorInput) Validate() error { return nil } -// SetEnabled sets the Enabled field's value. -func (s *CreateAcceleratorInput) SetEnabled(v bool) *CreateAcceleratorInput { - s.Enabled = &v +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DescribeAcceleratorInput) SetAcceleratorArn(v string) *DescribeAcceleratorInput { + s.AcceleratorArn = &v return s } -// SetIdempotencyToken sets the IdempotencyToken field's value. -func (s *CreateAcceleratorInput) SetIdempotencyToken(v string) *CreateAcceleratorInput { - s.IdempotencyToken = &v - return s -} +type DescribeAcceleratorOutput struct { + _ struct{} `type:"structure"` -// SetIpAddressType sets the IpAddressType field's value. -func (s *CreateAcceleratorInput) SetIpAddressType(v string) *CreateAcceleratorInput { - s.IpAddressType = &v - return s + // The description of the accelerator. + Accelerator *Accelerator `type:"structure"` } -// SetIpAddresses sets the IpAddresses field's value. -func (s *CreateAcceleratorInput) SetIpAddresses(v []*string) *CreateAcceleratorInput { - s.IpAddresses = v - return s +// String returns the string representation +func (s DescribeAcceleratorOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *CreateAcceleratorInput) SetName(v string) *CreateAcceleratorInput { - s.Name = &v - return s +// GoString returns the string representation +func (s DescribeAcceleratorOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateAcceleratorInput) SetTags(v []*Tag) *CreateAcceleratorInput { - s.Tags = v +// SetAccelerator sets the Accelerator field's value. +func (s *DescribeAcceleratorOutput) SetAccelerator(v *Accelerator) *DescribeAcceleratorOutput { + s.Accelerator = v return s } -type CreateAcceleratorOutput struct { +type DescribeCustomRoutingAcceleratorAttributesInput struct { _ struct{} `type:"structure"` - // The accelerator that is created by specifying a listener and the supported - // IP address types. - Accelerator *Accelerator `type:"structure"` + // The Amazon Resource Name (ARN) of the custom routing accelerator to describe + // the attributes for. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateAcceleratorOutput) String() string { +func (s DescribeCustomRoutingAcceleratorAttributesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateAcceleratorOutput) GoString() string { +func (s DescribeCustomRoutingAcceleratorAttributesInput) GoString() string { return s.String() } -// SetAccelerator sets the Accelerator field's value. -func (s *CreateAcceleratorOutput) SetAccelerator(v *Accelerator) *CreateAcceleratorOutput { - s.Accelerator = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCustomRoutingAcceleratorAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingAcceleratorAttributesInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DescribeCustomRoutingAcceleratorAttributesInput) SetAcceleratorArn(v string) *DescribeCustomRoutingAcceleratorAttributesInput { + s.AcceleratorArn = &v return s } -type CreateEndpointGroupInput struct { +type DescribeCustomRoutingAcceleratorAttributesOutput struct { _ struct{} `type:"structure"` - // The list of endpoint objects. - EndpointConfigurations []*EndpointConfiguration `type:"list"` - - // The AWS Region where the endpoint group is located. A listener can have only - // one endpoint group in a specific Region. - // - // EndpointGroupRegion is a required field - EndpointGroupRegion *string `type:"string" required:"true"` - - // The time—10 seconds or 30 seconds—between each health check for an endpoint. - // The default value is 30. - HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` - - // 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 `type:"string"` - - // 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. - HealthCheckPort *int64 `min:"1" type:"integer"` - - // 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. - HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` + // The attributes of the custom routing accelerator. + AcceleratorAttributes *CustomRoutingAcceleratorAttributes `type:"structure"` +} - // A unique, case-sensitive identifier that you provide to ensure the idempotency—that - // is, the uniqueness—of the request. - IdempotencyToken *string `type:"string" idempotencyToken:"true"` +// String returns the string representation +func (s DescribeCustomRoutingAcceleratorAttributesOutput) String() string { + return awsutil.Prettify(s) +} - // The Amazon Resource Name (ARN) of the listener. - // - // ListenerArn is a required field - ListenerArn *string `type:"string" required:"true"` +// GoString returns the string representation +func (s DescribeCustomRoutingAcceleratorAttributesOutput) GoString() string { + return s.String() +} - // 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 ports 80 and 443, but your - // accelerator routes that traffic to ports 1080 and 1443, respectively, on - // the endpoints. - // - // For more information, see Port overrides (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html) - // in the AWS Global Accelerator Developer Guide. - PortOverrides []*PortOverride `type:"list"` +// SetAcceleratorAttributes sets the AcceleratorAttributes field's value. +func (s *DescribeCustomRoutingAcceleratorAttributesOutput) SetAcceleratorAttributes(v *CustomRoutingAcceleratorAttributes) *DescribeCustomRoutingAcceleratorAttributesOutput { + s.AcceleratorAttributes = v + return s +} - // 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 *int64 `min:"1" type:"integer"` +type DescribeCustomRoutingAcceleratorInput struct { + _ struct{} `type:"structure"` - // 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 Amazon Resource Name (ARN) of the accelerator to describe. // - // The default value is 100. - TrafficDialPercentage *float64 `type:"float"` + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateEndpointGroupInput) String() string { +func (s DescribeCustomRoutingAcceleratorInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateEndpointGroupInput) GoString() string { +func (s DescribeCustomRoutingAcceleratorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateEndpointGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateEndpointGroupInput"} - if s.EndpointGroupRegion == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointGroupRegion")) - } - if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 10 { - invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 10)) - } - if s.HealthCheckPort != nil && *s.HealthCheckPort < 1 { - invalidParams.Add(request.NewErrParamMinValue("HealthCheckPort", 1)) - } - if s.ListenerArn == nil { - invalidParams.Add(request.NewErrParamRequired("ListenerArn")) - } - if s.ThresholdCount != nil && *s.ThresholdCount < 1 { - invalidParams.Add(request.NewErrParamMinValue("ThresholdCount", 1)) - } - if s.PortOverrides != nil { - for i, v := range s.PortOverrides { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortOverrides", i), err.(request.ErrInvalidParams)) - } - } +func (s *DescribeCustomRoutingAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } if invalidParams.Len() > 0 { @@ -3345,174 +7776,120 @@ func (s *CreateEndpointGroupInput) Validate() error { return nil } -// SetEndpointConfigurations sets the EndpointConfigurations field's value. -func (s *CreateEndpointGroupInput) SetEndpointConfigurations(v []*EndpointConfiguration) *CreateEndpointGroupInput { - s.EndpointConfigurations = v +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DescribeCustomRoutingAcceleratorInput) SetAcceleratorArn(v string) *DescribeCustomRoutingAcceleratorInput { + s.AcceleratorArn = &v return s } -// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. -func (s *CreateEndpointGroupInput) SetEndpointGroupRegion(v string) *CreateEndpointGroupInput { - s.EndpointGroupRegion = &v - return s -} +type DescribeCustomRoutingAcceleratorOutput struct { + _ struct{} `type:"structure"` -// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. -func (s *CreateEndpointGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateEndpointGroupInput { - s.HealthCheckIntervalSeconds = &v - return s + // The description of the custom routing accelerator. + Accelerator *CustomRoutingAccelerator `type:"structure"` } -// SetHealthCheckPath sets the HealthCheckPath field's value. -func (s *CreateEndpointGroupInput) SetHealthCheckPath(v string) *CreateEndpointGroupInput { - s.HealthCheckPath = &v - return s +// String returns the string representation +func (s DescribeCustomRoutingAcceleratorOutput) String() string { + return awsutil.Prettify(s) } -// SetHealthCheckPort sets the HealthCheckPort field's value. -func (s *CreateEndpointGroupInput) SetHealthCheckPort(v int64) *CreateEndpointGroupInput { - s.HealthCheckPort = &v - return s +// GoString returns the string representation +func (s DescribeCustomRoutingAcceleratorOutput) GoString() string { + return s.String() } -// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. -func (s *CreateEndpointGroupInput) SetHealthCheckProtocol(v string) *CreateEndpointGroupInput { - s.HealthCheckProtocol = &v +// SetAccelerator sets the Accelerator field's value. +func (s *DescribeCustomRoutingAcceleratorOutput) SetAccelerator(v *CustomRoutingAccelerator) *DescribeCustomRoutingAcceleratorOutput { + s.Accelerator = v return s } -// SetIdempotencyToken sets the IdempotencyToken field's value. -func (s *CreateEndpointGroupInput) SetIdempotencyToken(v string) *CreateEndpointGroupInput { - s.IdempotencyToken = &v - return s +type DescribeCustomRoutingEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint group to describe. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` } -// SetListenerArn sets the ListenerArn field's value. -func (s *CreateEndpointGroupInput) SetListenerArn(v string) *CreateEndpointGroupInput { - s.ListenerArn = &v - return s +// String returns the string representation +func (s DescribeCustomRoutingEndpointGroupInput) String() string { + return awsutil.Prettify(s) } -// SetPortOverrides sets the PortOverrides field's value. -func (s *CreateEndpointGroupInput) SetPortOverrides(v []*PortOverride) *CreateEndpointGroupInput { - s.PortOverrides = v - return s +// GoString returns the string representation +func (s DescribeCustomRoutingEndpointGroupInput) GoString() string { + return s.String() } -// SetThresholdCount sets the ThresholdCount field's value. -func (s *CreateEndpointGroupInput) SetThresholdCount(v int64) *CreateEndpointGroupInput { - s.ThresholdCount = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCustomRoutingEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. -func (s *CreateEndpointGroupInput) SetTrafficDialPercentage(v float64) *CreateEndpointGroupInput { - s.TrafficDialPercentage = &v +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DescribeCustomRoutingEndpointGroupInput) SetEndpointGroupArn(v string) *DescribeCustomRoutingEndpointGroupInput { + s.EndpointGroupArn = &v return s } -type CreateEndpointGroupOutput struct { +type DescribeCustomRoutingEndpointGroupOutput struct { _ struct{} `type:"structure"` - // The information about the endpoint group that was created. - EndpointGroup *EndpointGroup `type:"structure"` + // The description of an endpoint group for a custom routing accelerator. + EndpointGroup *CustomRoutingEndpointGroup `type:"structure"` } // String returns the string representation -func (s CreateEndpointGroupOutput) String() string { +func (s DescribeCustomRoutingEndpointGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateEndpointGroupOutput) GoString() string { +func (s DescribeCustomRoutingEndpointGroupOutput) GoString() string { return s.String() } // SetEndpointGroup sets the EndpointGroup field's value. -func (s *CreateEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *CreateEndpointGroupOutput { +func (s *DescribeCustomRoutingEndpointGroupOutput) SetEndpointGroup(v *CustomRoutingEndpointGroup) *DescribeCustomRoutingEndpointGroupOutput { s.EndpointGroup = v return s } -type CreateListenerInput struct { +type DescribeCustomRoutingListenerInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of your accelerator. - // - // AcceleratorArn is a required field - AcceleratorArn *string `type:"string" required:"true"` - - // 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 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. - ClientAffinity *string `type:"string" enum:"ClientAffinity"` - - // A unique, case-sensitive identifier that you provide to ensure the idempotency—that - // is, the uniqueness—of the request. - IdempotencyToken *string `type:"string" idempotencyToken:"true"` - - // The list of port ranges to support for connections from clients to your accelerator. - // - // PortRanges is a required field - PortRanges []*PortRange `min:"1" type:"list" required:"true"` - - // The protocol for connections from clients to your accelerator. + // The Amazon Resource Name (ARN) of the listener to describe. // - // Protocol is a required field - Protocol *string `type:"string" required:"true" enum:"Protocol"` + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateListenerInput) String() string { +func (s DescribeCustomRoutingListenerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateListenerInput) GoString() string { +func (s DescribeCustomRoutingListenerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateListenerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"} - if s.AcceleratorArn == nil { - invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) - } - if s.PortRanges == nil { - invalidParams.Add(request.NewErrParamRequired("PortRanges")) - } - if s.PortRanges != nil && len(s.PortRanges) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) - } - if s.PortRanges != nil { - for i, v := range s.PortRanges { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams)) - } - } +func (s *DescribeCustomRoutingListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) } if invalidParams.Len() > 0 { @@ -3521,83 +7898,120 @@ func (s *CreateListenerInput) Validate() error { return nil } -// SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *CreateListenerInput) SetAcceleratorArn(v string) *CreateListenerInput { - s.AcceleratorArn = &v +// SetListenerArn sets the ListenerArn field's value. +func (s *DescribeCustomRoutingListenerInput) SetListenerArn(v string) *DescribeCustomRoutingListenerInput { + s.ListenerArn = &v return s } -// SetClientAffinity sets the ClientAffinity field's value. -func (s *CreateListenerInput) SetClientAffinity(v string) *CreateListenerInput { - s.ClientAffinity = &v - return s +type DescribeCustomRoutingListenerOutput struct { + _ struct{} `type:"structure"` + + // The description of a listener for a custom routing accelerator. + Listener *CustomRoutingListener `type:"structure"` } -// SetIdempotencyToken sets the IdempotencyToken field's value. -func (s *CreateListenerInput) SetIdempotencyToken(v string) *CreateListenerInput { - s.IdempotencyToken = &v - return s +// String returns the string representation +func (s DescribeCustomRoutingListenerOutput) String() string { + return awsutil.Prettify(s) } -// SetPortRanges sets the PortRanges field's value. -func (s *CreateListenerInput) SetPortRanges(v []*PortRange) *CreateListenerInput { - s.PortRanges = v +// GoString returns the string representation +func (s DescribeCustomRoutingListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *DescribeCustomRoutingListenerOutput) SetListener(v *CustomRoutingListener) *DescribeCustomRoutingListenerOutput { + s.Listener = v return s } -// SetProtocol sets the Protocol field's value. -func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput { - s.Protocol = &v +type DescribeEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint group to describe. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DescribeEndpointGroupInput) SetEndpointGroupArn(v string) *DescribeEndpointGroupInput { + s.EndpointGroupArn = &v return s } -type CreateListenerOutput struct { +type DescribeEndpointGroupOutput struct { _ struct{} `type:"structure"` - // The listener that you've created. - Listener *Listener `type:"structure"` + // The description of an endpoint group. + EndpointGroup *EndpointGroup `type:"structure"` } // String returns the string representation -func (s CreateListenerOutput) String() string { +func (s DescribeEndpointGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateListenerOutput) GoString() string { +func (s DescribeEndpointGroupOutput) GoString() string { return s.String() } -// SetListener sets the Listener field's value. -func (s *CreateListenerOutput) SetListener(v *Listener) *CreateListenerOutput { - s.Listener = v +// SetEndpointGroup sets the EndpointGroup field's value. +func (s *DescribeEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *DescribeEndpointGroupOutput { + s.EndpointGroup = v return s } -type DeleteAcceleratorInput struct { +type DescribeListenerInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of an accelerator. + // The Amazon Resource Name (ARN) of the listener to describe. // - // AcceleratorArn is a required field - AcceleratorArn *string `type:"string" required:"true"` + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` } // String returns the string representation -func (s DeleteAcceleratorInput) String() string { +func (s DescribeListenerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAcceleratorInput) GoString() string { +func (s DescribeListenerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAcceleratorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAcceleratorInput"} - if s.AcceleratorArn == nil { - invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) +func (s *DescribeListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) } if invalidParams.Len() > 0 { @@ -3606,734 +8020,798 @@ func (s *DeleteAcceleratorInput) Validate() error { return nil } -// SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *DeleteAcceleratorInput) SetAcceleratorArn(v string) *DeleteAcceleratorInput { - s.AcceleratorArn = &v +// SetListenerArn sets the ListenerArn field's value. +func (s *DescribeListenerInput) SetListenerArn(v string) *DescribeListenerInput { + s.ListenerArn = &v return s } -type DeleteAcceleratorOutput struct { +type DescribeListenerOutput struct { _ struct{} `type:"structure"` + + // The description of a listener. + Listener *Listener `type:"structure"` } // String returns the string representation -func (s DeleteAcceleratorOutput) String() string { +func (s DescribeListenerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAcceleratorOutput) GoString() string { +func (s DescribeListenerOutput) GoString() string { return s.String() } -type DeleteEndpointGroupInput struct { +// SetListener sets the Listener field's value. +func (s *DescribeListenerOutput) SetListener(v *Listener) *DescribeListenerOutput { + s.Listener = v + return s +} + +// The port mappings for a specified endpoint IP address (destination). +type DestinationPortMapping struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the endpoint group to delete. - // - // EndpointGroupArn is a required field - EndpointGroupArn *string `type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the custom routing accelerator that you + // have port mappings for. + AcceleratorArn *string `type:"string"` + + // The IP address/port combinations (sockets) that map to a given destination + // socket address. + AcceleratorSocketAddresses []*SocketAddress `type:"list"` + + // The endpoint IP address/port combination for traffic received on the accelerator + // socket address. + DestinationSocketAddress *SocketAddress `type:"structure"` + + // Indicates whether or not a port mapping destination can receive traffic. + // The value is either ALLOW, if traffic is allowed to the destination, or DENY, + // if traffic is not allowed to the destination. + DestinationTrafficState *string `type:"string" enum:"CustomRoutingDestinationTrafficState"` + + // The Amazon Resource Name (ARN) of the endpoint group. + EndpointGroupArn *string `type:"string"` + + // The AWS Region for the endpoint group. + EndpointGroupRegion *string `type:"string"` + + // The ID for the virtual private cloud (VPC) subnet. + EndpointId *string `type:"string"` + + // The IP address type, which must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` } // String returns the string representation -func (s DeleteEndpointGroupInput) String() string { +func (s DestinationPortMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEndpointGroupInput) GoString() string { +func (s DestinationPortMapping) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEndpointGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointGroupInput"} - if s.EndpointGroupArn == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) - } +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DestinationPortMapping) SetAcceleratorArn(v string) *DestinationPortMapping { + s.AcceleratorArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAcceleratorSocketAddresses sets the AcceleratorSocketAddresses field's value. +func (s *DestinationPortMapping) SetAcceleratorSocketAddresses(v []*SocketAddress) *DestinationPortMapping { + s.AcceleratorSocketAddresses = v + return s +} + +// SetDestinationSocketAddress sets the DestinationSocketAddress field's value. +func (s *DestinationPortMapping) SetDestinationSocketAddress(v *SocketAddress) *DestinationPortMapping { + s.DestinationSocketAddress = v + return s +} + +// SetDestinationTrafficState sets the DestinationTrafficState field's value. +func (s *DestinationPortMapping) SetDestinationTrafficState(v string) *DestinationPortMapping { + s.DestinationTrafficState = &v + return s } // SetEndpointGroupArn sets the EndpointGroupArn field's value. -func (s *DeleteEndpointGroupInput) SetEndpointGroupArn(v string) *DeleteEndpointGroupInput { +func (s *DestinationPortMapping) SetEndpointGroupArn(v string) *DestinationPortMapping { s.EndpointGroupArn = &v return s } -type DeleteEndpointGroupOutput struct { - _ struct{} `type:"structure"` +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *DestinationPortMapping) SetEndpointGroupRegion(v string) *DestinationPortMapping { + s.EndpointGroupRegion = &v + return s } -// String returns the string representation -func (s DeleteEndpointGroupOutput) String() string { - return awsutil.Prettify(s) +// SetEndpointId sets the EndpointId field's value. +func (s *DestinationPortMapping) SetEndpointId(v string) *DestinationPortMapping { + s.EndpointId = &v + return s } -// GoString returns the string representation -func (s DeleteEndpointGroupOutput) GoString() string { - return s.String() +// SetIpAddressType sets the IpAddressType field's value. +func (s *DestinationPortMapping) SetIpAddressType(v string) *DestinationPortMapping { + s.IpAddressType = &v + return s } -type DeleteListenerInput struct { - _ struct{} `type:"structure"` +// The endpoint that you specified doesn't exist. +type EndpointAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the listener. - // - // ListenerArn is a required field - ListenerArn *string `type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DeleteListenerInput) String() string { +func (s EndpointAlreadyExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteListenerInput) GoString() string { +func (s EndpointAlreadyExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteListenerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"} - if s.ListenerArn == nil { - invalidParams.Add(request.NewErrParamRequired("ListenerArn")) +func newErrorEndpointAlreadyExistsException(v protocol.ResponseMetadata) error { + return &EndpointAlreadyExistsException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *EndpointAlreadyExistsException) Code() string { + return "EndpointAlreadyExistsException" +} + +// Message returns the exception's message. +func (s *EndpointAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetListenerArn sets the ListenerArn field's value. -func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput { - s.ListenerArn = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EndpointAlreadyExistsException) OrigErr() error { + return nil } -type DeleteListenerOutput struct { - _ struct{} `type:"structure"` +func (s *EndpointAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// String returns the string representation -func (s DeleteListenerOutput) String() string { - return awsutil.Prettify(s) +// Status code returns the HTTP status code for the request's response error. +func (s *EndpointAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// GoString returns the string representation -func (s DeleteListenerOutput) GoString() string { - return s.String() +// RequestID returns the service's response RequestID for request. +func (s *EndpointAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID } -type DeprovisionByoipCidrInput struct { +// A complex type for endpoints. A resource must be valid and active when you +// add it as an endpoint. +type EndpointConfiguration struct { _ struct{} `type:"structure"` - // The address range, in CIDR notation. The prefix must be the same prefix that - // you specified when you provisioned the address range. + // 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. // - // Cidr is a required field - Cidr *string `type:"string" required:"true"` + // 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 Preserve Client IP Addresses in AWS Global Accelerator + // (https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html) + // in the AWS Global Accelerator Developer Guide. + ClientIPPreservationEnabled *bool `type:"boolean"` + + // 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. For Amazon EC2 instances, this is the EC2 instance ID. A resource must + // be valid and active when you add it as an endpoint. + // + // An Application Load Balancer can be either internal or internet-facing. + EndpointId *string `type:"string"` + + // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) + // in the AWS Global Accelerator Developer Guide. + Weight *int64 `type:"integer"` } // String returns the string representation -func (s DeprovisionByoipCidrInput) String() string { +func (s EndpointConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeprovisionByoipCidrInput) GoString() string { +func (s EndpointConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeprovisionByoipCidrInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"} - if s.Cidr == nil { - invalidParams.Add(request.NewErrParamRequired("Cidr")) - } +// SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value. +func (s *EndpointConfiguration) SetClientIPPreservationEnabled(v bool) *EndpointConfiguration { + s.ClientIPPreservationEnabled = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEndpointId sets the EndpointId field's value. +func (s *EndpointConfiguration) SetEndpointId(v string) *EndpointConfiguration { + s.EndpointId = &v + return s } -// SetCidr sets the Cidr field's value. -func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput { - s.Cidr = &v +// SetWeight sets the Weight field's value. +func (s *EndpointConfiguration) SetWeight(v int64) *EndpointConfiguration { + s.Weight = &v return s } -type DeprovisionByoipCidrOutput struct { +// A complex type for an endpoint. Each endpoint group can include one or more +// endpoints, such as load balancers. +type EndpointDescription struct { _ struct{} `type:"structure"` - // Information about the address range. - ByoipCidr *ByoipCidr `type:"structure"` + // 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 + // (https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html) + // in the AWS Global Accelerator Developer Guide. + ClientIPPreservationEnabled *bool `type:"boolean"` + + // 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. For Amazon EC2 instances, this is the EC2 instance ID. + // + // An Application Load Balancer can be either internal or internet-facing. + EndpointId *string `type:"string"` + + // Returns a null result. + HealthReason *string `type:"string"` + + // The health status of the endpoint. + HealthState *string `type:"string" enum:"HealthState"` + + // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) + // in the AWS Global Accelerator Developer Guide. + Weight *int64 `type:"integer"` } // String returns the string representation -func (s DeprovisionByoipCidrOutput) String() string { +func (s EndpointDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeprovisionByoipCidrOutput) GoString() string { +func (s EndpointDescription) GoString() string { return s.String() } -// SetByoipCidr sets the ByoipCidr field's value. -func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput { - s.ByoipCidr = v +// SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value. +func (s *EndpointDescription) SetClientIPPreservationEnabled(v bool) *EndpointDescription { + s.ClientIPPreservationEnabled = &v return s } -type DescribeAcceleratorAttributesInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the accelerator with the attributes that - // you want to describe. - // - // AcceleratorArn is a required field - AcceleratorArn *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s DescribeAcceleratorAttributesInput) String() string { - return awsutil.Prettify(s) +// SetEndpointId sets the EndpointId field's value. +func (s *EndpointDescription) SetEndpointId(v string) *EndpointDescription { + s.EndpointId = &v + return s } -// GoString returns the string representation -func (s DescribeAcceleratorAttributesInput) GoString() string { - return s.String() +// SetHealthReason sets the HealthReason field's value. +func (s *EndpointDescription) SetHealthReason(v string) *EndpointDescription { + s.HealthReason = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAcceleratorAttributesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorAttributesInput"} - if s.AcceleratorArn == nil { - invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetHealthState sets the HealthState field's value. +func (s *EndpointDescription) SetHealthState(v string) *EndpointDescription { + s.HealthState = &v + return s } -// SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *DescribeAcceleratorAttributesInput) SetAcceleratorArn(v string) *DescribeAcceleratorAttributesInput { - s.AcceleratorArn = &v +// SetWeight sets the Weight field's value. +func (s *EndpointDescription) SetWeight(v int64) *EndpointDescription { + s.Weight = &v return s } -type DescribeAcceleratorAttributesOutput struct { +// A complex type for the endpoint group. An AWS Region can have only one endpoint +// group for a specific listener. +type EndpointGroup struct { _ struct{} `type:"structure"` - // The attributes of the accelerator. - AcceleratorAttributes *AcceleratorAttributes `type:"structure"` + // The list of endpoint objects. + EndpointDescriptions []*EndpointDescription `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group. + EndpointGroupArn *string `type:"string"` + + // The AWS Region where the endpoint group is located. + EndpointGroupRegion *string `type:"string"` + + // The time—10 seconds or 30 seconds—between health checks for each endpoint. + // The default value is 30. + HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` + + // 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 (/). + HealthCheckPath *string `type:"string"` + + // 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. + HealthCheckPort *int64 `min:"1" type:"integer"` + + // The protocol that Global Accelerator uses to perform health checks on endpoints + // that are part of this endpoint group. The default value is TCP. + HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` + + // Allows you to override the destination ports used to route traffic to an + // endpoint. Using a port override lets you to map a list of external destination + // ports (that your users send traffic to) to a list of internal destination + // ports that you want an application endpoint to receive traffic on. + PortOverrides []*PortOverride `type:"list"` + + // 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 *int64 `min:"1" type:"integer"` + + // 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. + TrafficDialPercentage *float64 `type:"float"` } // String returns the string representation -func (s DescribeAcceleratorAttributesOutput) String() string { +func (s EndpointGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAcceleratorAttributesOutput) GoString() string { +func (s EndpointGroup) GoString() string { return s.String() } -// SetAcceleratorAttributes sets the AcceleratorAttributes field's value. -func (s *DescribeAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *DescribeAcceleratorAttributesOutput { - s.AcceleratorAttributes = v +// SetEndpointDescriptions sets the EndpointDescriptions field's value. +func (s *EndpointGroup) SetEndpointDescriptions(v []*EndpointDescription) *EndpointGroup { + s.EndpointDescriptions = v return s } -type DescribeAcceleratorInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the accelerator to describe. - // - // AcceleratorArn is a required field - AcceleratorArn *string `type:"string" required:"true"` +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *EndpointGroup) SetEndpointGroupArn(v string) *EndpointGroup { + s.EndpointGroupArn = &v + return s } -// String returns the string representation -func (s DescribeAcceleratorInput) String() string { - return awsutil.Prettify(s) +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *EndpointGroup) SetEndpointGroupRegion(v string) *EndpointGroup { + s.EndpointGroupRegion = &v + return s } -// GoString returns the string representation -func (s DescribeAcceleratorInput) GoString() string { - return s.String() +// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. +func (s *EndpointGroup) SetHealthCheckIntervalSeconds(v int64) *EndpointGroup { + s.HealthCheckIntervalSeconds = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAcceleratorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorInput"} - if s.AcceleratorArn == nil { - invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *EndpointGroup) SetHealthCheckPath(v string) *EndpointGroup { + s.HealthCheckPath = &v + return s } -// SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *DescribeAcceleratorInput) SetAcceleratorArn(v string) *DescribeAcceleratorInput { - s.AcceleratorArn = &v +// SetHealthCheckPort sets the HealthCheckPort field's value. +func (s *EndpointGroup) SetHealthCheckPort(v int64) *EndpointGroup { + s.HealthCheckPort = &v return s } -type DescribeAcceleratorOutput struct { - _ struct{} `type:"structure"` - - // The description of the accelerator. - Accelerator *Accelerator `type:"structure"` +// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. +func (s *EndpointGroup) SetHealthCheckProtocol(v string) *EndpointGroup { + s.HealthCheckProtocol = &v + return s } -// String returns the string representation -func (s DescribeAcceleratorOutput) String() string { - return awsutil.Prettify(s) +// SetPortOverrides sets the PortOverrides field's value. +func (s *EndpointGroup) SetPortOverrides(v []*PortOverride) *EndpointGroup { + s.PortOverrides = v + return s } -// GoString returns the string representation -func (s DescribeAcceleratorOutput) GoString() string { - return s.String() +// SetThresholdCount sets the ThresholdCount field's value. +func (s *EndpointGroup) SetThresholdCount(v int64) *EndpointGroup { + s.ThresholdCount = &v + return s } -// SetAccelerator sets the Accelerator field's value. -func (s *DescribeAcceleratorOutput) SetAccelerator(v *Accelerator) *DescribeAcceleratorOutput { - s.Accelerator = v +// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. +func (s *EndpointGroup) SetTrafficDialPercentage(v float64) *EndpointGroup { + s.TrafficDialPercentage = &v return s } -type DescribeEndpointGroupInput struct { - _ struct{} `type:"structure"` +// The endpoint group that you specified already exists. +type EndpointGroupAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the endpoint group to describe. - // - // EndpointGroupArn is a required field - EndpointGroupArn *string `type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DescribeEndpointGroupInput) String() string { +func (s EndpointGroupAlreadyExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeEndpointGroupInput) GoString() string { +func (s EndpointGroupAlreadyExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeEndpointGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointGroupInput"} - if s.EndpointGroupArn == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorEndpointGroupAlreadyExistsException(v protocol.ResponseMetadata) error { + return &EndpointGroupAlreadyExistsException{ + RespMetadata: v, } - return nil } -// SetEndpointGroupArn sets the EndpointGroupArn field's value. -func (s *DescribeEndpointGroupInput) SetEndpointGroupArn(v string) *DescribeEndpointGroupInput { - s.EndpointGroupArn = &v - return s +// Code returns the exception type name. +func (s *EndpointGroupAlreadyExistsException) Code() string { + return "EndpointGroupAlreadyExistsException" } -type DescribeEndpointGroupOutput struct { - _ struct{} `type:"structure"` +// Message returns the exception's message. +func (s *EndpointGroupAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The description of an endpoint group. - EndpointGroup *EndpointGroup `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EndpointGroupAlreadyExistsException) OrigErr() error { + return nil } -// String returns the string representation -func (s DescribeEndpointGroupOutput) String() string { - return awsutil.Prettify(s) +func (s *EndpointGroupAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// GoString returns the string representation -func (s DescribeEndpointGroupOutput) GoString() string { - return s.String() +// Status code returns the HTTP status code for the request's response error. +func (s *EndpointGroupAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetEndpointGroup sets the EndpointGroup field's value. -func (s *DescribeEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *DescribeEndpointGroupOutput { - s.EndpointGroup = v - return s +// RequestID returns the service's response RequestID for request. +func (s *EndpointGroupAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID } -type DescribeListenerInput struct { - _ struct{} `type:"structure"` +// The endpoint group that you specified doesn't exist. +type EndpointGroupNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the listener to describe. - // - // ListenerArn is a required field - ListenerArn *string `type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DescribeListenerInput) String() string { +func (s EndpointGroupNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeListenerInput) GoString() string { +func (s EndpointGroupNotFoundException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeListenerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeListenerInput"} - if s.ListenerArn == nil { - invalidParams.Add(request.NewErrParamRequired("ListenerArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorEndpointGroupNotFoundException(v protocol.ResponseMetadata) error { + return &EndpointGroupNotFoundException{ + RespMetadata: v, } - return nil } -// SetListenerArn sets the ListenerArn field's value. -func (s *DescribeListenerInput) SetListenerArn(v string) *DescribeListenerInput { - s.ListenerArn = &v - return s +// Code returns the exception type name. +func (s *EndpointGroupNotFoundException) Code() string { + return "EndpointGroupNotFoundException" } -type DescribeListenerOutput struct { - _ struct{} `type:"structure"` - - // The description of a listener. - Listener *Listener `type:"structure"` +// Message returns the exception's message. +func (s *EndpointGroupNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// String returns the string representation -func (s DescribeListenerOutput) String() string { - return awsutil.Prettify(s) +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EndpointGroupNotFoundException) OrigErr() error { + return nil } -// GoString returns the string representation -func (s DescribeListenerOutput) GoString() string { - return s.String() +func (s *EndpointGroupNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetListener sets the Listener field's value. -func (s *DescribeListenerOutput) SetListener(v *Listener) *DescribeListenerOutput { - s.Listener = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *EndpointGroupNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -// A complex type for endpoints. A resource must be valid and active when you -// add it as an endpoint. -type EndpointConfiguration struct { - _ struct{} `type:"structure"` - - // 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 Preserve Client IP Addresses in AWS Global Accelerator - // (https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html) - // in the AWS Global Accelerator Developer Guide. - ClientIPPreservationEnabled *bool `type:"boolean"` +// RequestID returns the service's response RequestID for request. +func (s *EndpointGroupNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} - // 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. For Amazon EC2 instances, this is the EC2 instance ID. A resource must - // be valid and active when you add it as an endpoint. - // - // An Application Load Balancer can be either internal or internet-facing. - EndpointId *string `type:"string"` +// The endpoint that you specified doesn't exist. +type EndpointNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) - // in the AWS Global Accelerator Developer Guide. - Weight *int64 `type:"integer"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s EndpointConfiguration) String() string { +func (s EndpointNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointConfiguration) GoString() string { +func (s EndpointNotFoundException) GoString() string { return s.String() } -// SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value. -func (s *EndpointConfiguration) SetClientIPPreservationEnabled(v bool) *EndpointConfiguration { - s.ClientIPPreservationEnabled = &v - return s +func newErrorEndpointNotFoundException(v protocol.ResponseMetadata) error { + return &EndpointNotFoundException{ + RespMetadata: v, + } } -// SetEndpointId sets the EndpointId field's value. -func (s *EndpointConfiguration) SetEndpointId(v string) *EndpointConfiguration { - s.EndpointId = &v - return s +// Code returns the exception type name. +func (s *EndpointNotFoundException) Code() string { + return "EndpointNotFoundException" } -// SetWeight sets the Weight field's value. -func (s *EndpointConfiguration) SetWeight(v int64) *EndpointConfiguration { - s.Weight = &v - return s +// Message returns the exception's message. +func (s *EndpointNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// A complex type for an endpoint. Each endpoint group can include one or more -// endpoints, such as load balancers. -type EndpointDescription struct { - _ struct{} `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EndpointNotFoundException) OrigErr() error { + return nil +} - // 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 - // (https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html) - // in the AWS Global Accelerator Developer Guide. - ClientIPPreservationEnabled *bool `type:"boolean"` +func (s *EndpointNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // 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. For EC2 instances, this is the EC2 instance ID. - // - // An Application Load Balancer can be either internal or internet-facing. - EndpointId *string `type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *EndpointNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // 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. - HealthReason *string `type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *EndpointNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} - // The health status of the endpoint. - HealthState *string `type:"string" enum:"HealthState"` +// The CIDR that you specified is not valid for this action. For example, the +// state of the CIDR might be incorrect for this action. +type IncorrectCidrStateException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) - // in the AWS Global Accelerator Developer Guide. - Weight *int64 `type:"integer"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s EndpointDescription) String() string { +func (s IncorrectCidrStateException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointDescription) GoString() string { +func (s IncorrectCidrStateException) GoString() string { return s.String() } -// SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value. -func (s *EndpointDescription) SetClientIPPreservationEnabled(v bool) *EndpointDescription { - s.ClientIPPreservationEnabled = &v - return s +func newErrorIncorrectCidrStateException(v protocol.ResponseMetadata) error { + return &IncorrectCidrStateException{ + RespMetadata: v, + } } -// SetEndpointId sets the EndpointId field's value. -func (s *EndpointDescription) SetEndpointId(v string) *EndpointDescription { - s.EndpointId = &v - return s +// Code returns the exception type name. +func (s *IncorrectCidrStateException) Code() string { + return "IncorrectCidrStateException" } -// SetHealthReason sets the HealthReason field's value. -func (s *EndpointDescription) SetHealthReason(v string) *EndpointDescription { - s.HealthReason = &v - return s +// Message returns the exception's message. +func (s *IncorrectCidrStateException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetHealthState sets the HealthState field's value. -func (s *EndpointDescription) SetHealthState(v string) *EndpointDescription { - s.HealthState = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IncorrectCidrStateException) OrigErr() error { + return nil +} + +func (s *IncorrectCidrStateException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *IncorrectCidrStateException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetWeight sets the Weight field's value. -func (s *EndpointDescription) SetWeight(v int64) *EndpointDescription { - s.Weight = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *IncorrectCidrStateException) RequestID() string { + return s.RespMetadata.RequestID +} + +// There was an internal error for AWS Global Accelerator. +type InternalServiceErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } -// A complex type for the endpoint group. An AWS Region can have only one endpoint -// group for a specific listener. -type EndpointGroup struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s InternalServiceErrorException) String() string { + return awsutil.Prettify(s) +} - // The list of endpoint objects. - EndpointDescriptions []*EndpointDescription `type:"list"` +// GoString returns the string representation +func (s InternalServiceErrorException) GoString() string { + return s.String() +} - // The Amazon Resource Name (ARN) of the endpoint group. - EndpointGroupArn *string `type:"string"` +func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error { + return &InternalServiceErrorException{ + RespMetadata: v, + } +} - // The AWS Region where the endpoint group is located. - EndpointGroupRegion *string `type:"string"` +// Code returns the exception type name. +func (s *InternalServiceErrorException) Code() string { + return "InternalServiceErrorException" +} - // The time—10 seconds or 30 seconds—between health checks for each endpoint. - // The default value is 30. - HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` +// Message returns the exception's message. +func (s *InternalServiceErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // 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 (/). - HealthCheckPath *string `type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServiceErrorException) OrigErr() error { + return nil +} - // 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. - HealthCheckPort *int64 `min:"1" type:"integer"` +func (s *InternalServiceErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The protocol that Global Accelerator uses to perform health checks on endpoints - // that are part of this endpoint group. The default value is TCP. - HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServiceErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // Allows you to override the destination ports used to route traffic to an - // endpoint. Using a port override lets you to map a list of external destination - // ports (that your users send traffic to) to a list of internal destination - // ports that you want an application endpoint to receive traffic on. - PortOverrides []*PortOverride `type:"list"` +// RequestID returns the service's response RequestID for request. +func (s *InternalServiceErrorException) RequestID() string { + return s.RespMetadata.RequestID +} - // 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 *int64 `min:"1" type:"integer"` +// An argument that you specified is invalid. +type InvalidArgumentException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // 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. - TrafficDialPercentage *float64 `type:"float"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s EndpointGroup) String() string { +func (s InvalidArgumentException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointGroup) GoString() string { +func (s InvalidArgumentException) GoString() string { return s.String() } -// SetEndpointDescriptions sets the EndpointDescriptions field's value. -func (s *EndpointGroup) SetEndpointDescriptions(v []*EndpointDescription) *EndpointGroup { - s.EndpointDescriptions = v - return s -} - -// SetEndpointGroupArn sets the EndpointGroupArn field's value. -func (s *EndpointGroup) SetEndpointGroupArn(v string) *EndpointGroup { - s.EndpointGroupArn = &v - return s -} - -// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. -func (s *EndpointGroup) SetEndpointGroupRegion(v string) *EndpointGroup { - s.EndpointGroupRegion = &v - return s -} - -// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. -func (s *EndpointGroup) SetHealthCheckIntervalSeconds(v int64) *EndpointGroup { - s.HealthCheckIntervalSeconds = &v - return s +func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error { + return &InvalidArgumentException{ + RespMetadata: v, + } } -// SetHealthCheckPath sets the HealthCheckPath field's value. -func (s *EndpointGroup) SetHealthCheckPath(v string) *EndpointGroup { - s.HealthCheckPath = &v - return s +// Code returns the exception type name. +func (s *InvalidArgumentException) Code() string { + return "InvalidArgumentException" } -// SetHealthCheckPort sets the HealthCheckPort field's value. -func (s *EndpointGroup) SetHealthCheckPort(v int64) *EndpointGroup { - s.HealthCheckPort = &v - return s +// Message returns the exception's message. +func (s *InvalidArgumentException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. -func (s *EndpointGroup) SetHealthCheckProtocol(v string) *EndpointGroup { - s.HealthCheckProtocol = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidArgumentException) OrigErr() error { + return nil } -// SetPortOverrides sets the PortOverrides field's value. -func (s *EndpointGroup) SetPortOverrides(v []*PortOverride) *EndpointGroup { - s.PortOverrides = v - return s +func (s *InvalidArgumentException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetThresholdCount sets the ThresholdCount field's value. -func (s *EndpointGroup) SetThresholdCount(v int64) *EndpointGroup { - s.ThresholdCount = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidArgumentException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. -func (s *EndpointGroup) SetTrafficDialPercentage(v float64) *EndpointGroup { - s.TrafficDialPercentage = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidArgumentException) RequestID() string { + return s.RespMetadata.RequestID } -// The endpoint group that you specified already exists. -type EndpointGroupAlreadyExistsException struct { +// There isn't another item to return. +type InvalidNextTokenException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4341,28 +8819,28 @@ type EndpointGroupAlreadyExistsException struct { } // String returns the string representation -func (s EndpointGroupAlreadyExistsException) String() string { +func (s InvalidNextTokenException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointGroupAlreadyExistsException) GoString() string { +func (s InvalidNextTokenException) GoString() string { return s.String() } -func newErrorEndpointGroupAlreadyExistsException(v protocol.ResponseMetadata) error { - return &EndpointGroupAlreadyExistsException{ +func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { + return &InvalidNextTokenException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *EndpointGroupAlreadyExistsException) Code() string { - return "EndpointGroupAlreadyExistsException" +func (s *InvalidNextTokenException) Code() string { + return "InvalidNextTokenException" } // Message returns the exception's message. -func (s *EndpointGroupAlreadyExistsException) Message() string { +func (s *InvalidNextTokenException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -4370,26 +8848,27 @@ func (s *EndpointGroupAlreadyExistsException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *EndpointGroupAlreadyExistsException) OrigErr() error { +func (s *InvalidNextTokenException) OrigErr() error { return nil } -func (s *EndpointGroupAlreadyExistsException) Error() string { +func (s *InvalidNextTokenException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *EndpointGroupAlreadyExistsException) StatusCode() int { +func (s *InvalidNextTokenException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *EndpointGroupAlreadyExistsException) RequestID() string { +func (s *InvalidNextTokenException) RequestID() string { return s.RespMetadata.RequestID } -// The endpoint group that you specified doesn't exist. -type EndpointGroupNotFoundException struct { +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. +type InvalidPortRangeException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4397,28 +8876,28 @@ type EndpointGroupNotFoundException struct { } // String returns the string representation -func (s EndpointGroupNotFoundException) String() string { +func (s InvalidPortRangeException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointGroupNotFoundException) GoString() string { +func (s InvalidPortRangeException) GoString() string { return s.String() } -func newErrorEndpointGroupNotFoundException(v protocol.ResponseMetadata) error { - return &EndpointGroupNotFoundException{ +func newErrorInvalidPortRangeException(v protocol.ResponseMetadata) error { + return &InvalidPortRangeException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *EndpointGroupNotFoundException) Code() string { - return "EndpointGroupNotFoundException" +func (s *InvalidPortRangeException) Code() string { + return "InvalidPortRangeException" } // Message returns the exception's message. -func (s *EndpointGroupNotFoundException) Message() string { +func (s *InvalidPortRangeException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -4426,27 +8905,61 @@ func (s *EndpointGroupNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *EndpointGroupNotFoundException) OrigErr() error { +func (s *InvalidPortRangeException) OrigErr() error { return nil } -func (s *EndpointGroupNotFoundException) Error() string { +func (s *InvalidPortRangeException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *EndpointGroupNotFoundException) StatusCode() int { +func (s *InvalidPortRangeException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *EndpointGroupNotFoundException) RequestID() string { +func (s *InvalidPortRangeException) RequestID() string { return s.RespMetadata.RequestID } -// The CIDR that you specified is not valid for this action. For example, the -// state of the CIDR might be incorrect for this action. -type IncorrectCidrStateException struct { +// A complex type for the set of IP addresses for an accelerator. +type IpSet struct { + _ struct{} `type:"structure"` + + // The array of IP addresses in the IP address set. An IP address set can have + // a maximum of two IP addresses. + IpAddresses []*string `type:"list"` + + // The types of IP addresses included in this IP set. + IpFamily *string `type:"string"` +} + +// String returns the string representation +func (s IpSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IpSet) GoString() string { + return s.String() +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *IpSet) SetIpAddresses(v []*string) *IpSet { + s.IpAddresses = v + return s +} + +// SetIpFamily sets the IpFamily field's value. +func (s *IpSet) SetIpFamily(v string) *IpSet { + s.IpFamily = &v + return s +} + +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +type LimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4454,28 +8967,28 @@ type IncorrectCidrStateException struct { } // String returns the string representation -func (s IncorrectCidrStateException) String() string { +func (s LimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IncorrectCidrStateException) GoString() string { +func (s LimitExceededException) GoString() string { return s.String() } -func newErrorIncorrectCidrStateException(v protocol.ResponseMetadata) error { - return &IncorrectCidrStateException{ +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *IncorrectCidrStateException) Code() string { - return "IncorrectCidrStateException" +func (s *LimitExceededException) Code() string { + return "LimitExceededException" } // Message returns the exception's message. -func (s *IncorrectCidrStateException) Message() string { +func (s *LimitExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -4483,344 +8996,466 @@ func (s *IncorrectCidrStateException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *IncorrectCidrStateException) OrigErr() error { +func (s *LimitExceededException) OrigErr() error { return nil } -func (s *IncorrectCidrStateException) Error() string { +func (s *LimitExceededException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *IncorrectCidrStateException) StatusCode() int { +func (s *LimitExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *IncorrectCidrStateException) RequestID() string { +func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } -// There was an internal error for AWS Global Accelerator. -type InternalServiceErrorException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListAcceleratorsInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The number of Global Accelerator objects that you want to return with this + // call. The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } // String returns the string representation -func (s InternalServiceErrorException) String() string { +func (s ListAcceleratorsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InternalServiceErrorException) GoString() string { +func (s ListAcceleratorsInput) GoString() string { return s.String() } -func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error { - return &InternalServiceErrorException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAcceleratorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAcceleratorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *InternalServiceErrorException) Code() string { - return "InternalServiceErrorException" +// SetMaxResults sets the MaxResults field's value. +func (s *ListAcceleratorsInput) SetMaxResults(v int64) *ListAcceleratorsInput { + s.MaxResults = &v + return s } -// Message returns the exception's message. -func (s *InternalServiceErrorException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetNextToken sets the NextToken field's value. +func (s *ListAcceleratorsInput) SetNextToken(v string) *ListAcceleratorsInput { + s.NextToken = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServiceErrorException) OrigErr() error { - return nil +type ListAcceleratorsOutput struct { + _ struct{} `type:"structure"` + + // The list of accelerators for a customer account. + Accelerators []*Accelerator `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } -func (s *InternalServiceErrorException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// String returns the string representation +func (s ListAcceleratorsOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServiceErrorException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation +func (s ListAcceleratorsOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *InternalServiceErrorException) RequestID() string { - return s.RespMetadata.RequestID +// SetAccelerators sets the Accelerators field's value. +func (s *ListAcceleratorsOutput) SetAccelerators(v []*Accelerator) *ListAcceleratorsOutput { + s.Accelerators = v + return s } -// An argument that you specified is invalid. -type InvalidArgumentException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetNextToken sets the NextToken field's value. +func (s *ListAcceleratorsOutput) SetNextToken(v string) *ListAcceleratorsOutput { + s.NextToken = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +type ListByoipCidrsInput struct { + _ struct{} `type:"structure"` + + // 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 *int64 `min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` } // String returns the string representation -func (s InvalidArgumentException) String() string { +func (s ListByoipCidrsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidArgumentException) GoString() string { +func (s ListByoipCidrsInput) GoString() string { return s.String() } -func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error { - return &InvalidArgumentException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListByoipCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListByoipCidrsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *InvalidArgumentException) Code() string { - return "InvalidArgumentException" +// SetMaxResults sets the MaxResults field's value. +func (s *ListByoipCidrsInput) SetMaxResults(v int64) *ListByoipCidrsInput { + s.MaxResults = &v + return s } -// Message returns the exception's message. -func (s *InvalidArgumentException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetNextToken sets the NextToken field's value. +func (s *ListByoipCidrsInput) SetNextToken(v string) *ListByoipCidrsInput { + s.NextToken = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidArgumentException) OrigErr() error { - return nil +type ListByoipCidrsOutput struct { + _ struct{} `type:"structure"` + + // Information about your address ranges. + ByoipCidrs []*ByoipCidr `type:"list"` + + // The token for the next page of results. + NextToken *string `type:"string"` } -func (s *InvalidArgumentException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// String returns the string representation +func (s ListByoipCidrsOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidArgumentException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation +func (s ListByoipCidrsOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *InvalidArgumentException) RequestID() string { - return s.RespMetadata.RequestID +// SetByoipCidrs sets the ByoipCidrs field's value. +func (s *ListByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *ListByoipCidrsOutput { + s.ByoipCidrs = v + return s } -// There isn't another item to return. -type InvalidNextTokenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetNextToken sets the NextToken field's value. +func (s *ListByoipCidrsOutput) SetNextToken(v string) *ListByoipCidrsOutput { + s.NextToken = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +type ListCustomRoutingAcceleratorsInput struct { + _ struct{} `type:"structure"` + + // The number of custom routing Global Accelerator objects that you want to + // return with this call. The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } // String returns the string representation -func (s InvalidNextTokenException) String() string { +func (s ListCustomRoutingAcceleratorsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidNextTokenException) GoString() string { +func (s ListCustomRoutingAcceleratorsInput) GoString() string { return s.String() } -func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { - return &InvalidNextTokenException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCustomRoutingAcceleratorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingAcceleratorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *InvalidNextTokenException) Code() string { - return "InvalidNextTokenException" +// SetMaxResults sets the MaxResults field's value. +func (s *ListCustomRoutingAcceleratorsInput) SetMaxResults(v int64) *ListCustomRoutingAcceleratorsInput { + s.MaxResults = &v + return s } -// Message returns the exception's message. -func (s *InvalidNextTokenException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetNextToken sets the NextToken field's value. +func (s *ListCustomRoutingAcceleratorsInput) SetNextToken(v string) *ListCustomRoutingAcceleratorsInput { + s.NextToken = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidNextTokenException) OrigErr() error { - return nil +type ListCustomRoutingAcceleratorsOutput struct { + _ struct{} `type:"structure"` + + // The list of custom routing accelerators for a customer account. + Accelerators []*CustomRoutingAccelerator `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } -func (s *InvalidNextTokenException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// String returns the string representation +func (s ListCustomRoutingAcceleratorsOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidNextTokenException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation +func (s ListCustomRoutingAcceleratorsOutput) GoString() string { + return s.String() +} + +// SetAccelerators sets the Accelerators field's value. +func (s *ListCustomRoutingAcceleratorsOutput) SetAccelerators(v []*CustomRoutingAccelerator) *ListCustomRoutingAcceleratorsOutput { + s.Accelerators = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidNextTokenException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListCustomRoutingAcceleratorsOutput) SetNextToken(v string) *ListCustomRoutingAcceleratorsOutput { + s.NextToken = &v + return s } -// The port numbers that you specified are not valid numbers or are not unique -// for this accelerator. -type InvalidPortRangeException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListCustomRoutingEndpointGroupsInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the listener to list endpoint groups for. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // The number of endpoint group objects that you want to return with this call. + // The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } // String returns the string representation -func (s InvalidPortRangeException) String() string { +func (s ListCustomRoutingEndpointGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidPortRangeException) GoString() string { +func (s ListCustomRoutingEndpointGroupsInput) GoString() string { return s.String() } -func newErrorInvalidPortRangeException(v protocol.ResponseMetadata) error { - return &InvalidPortRangeException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCustomRoutingEndpointGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingEndpointGroupsInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) } -} - -// Code returns the exception type name. -func (s *InvalidPortRangeException) Code() string { - return "InvalidPortRangeException" -} - -// Message returns the exception's message. -func (s *InvalidPortRangeException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidPortRangeException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidPortRangeException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetListenerArn sets the ListenerArn field's value. +func (s *ListCustomRoutingEndpointGroupsInput) SetListenerArn(v string) *ListCustomRoutingEndpointGroupsInput { + s.ListenerArn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidPortRangeException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMaxResults sets the MaxResults field's value. +func (s *ListCustomRoutingEndpointGroupsInput) SetMaxResults(v int64) *ListCustomRoutingEndpointGroupsInput { + s.MaxResults = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidPortRangeException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListCustomRoutingEndpointGroupsInput) SetNextToken(v string) *ListCustomRoutingEndpointGroupsInput { + s.NextToken = &v + return s } -// A complex type for the set of IP addresses for an accelerator. -type IpSet struct { +type ListCustomRoutingEndpointGroupsOutput struct { _ struct{} `type:"structure"` - // The array of IP addresses in the IP address set. An IP address set can have - // a maximum of two IP addresses. - IpAddresses []*string `type:"list"` + // The list of the endpoint groups associated with a listener for a custom routing + // accelerator. + EndpointGroups []*CustomRoutingEndpointGroup `type:"list"` - // The types of IP addresses included in this IP set. - IpFamily *string `type:"string"` + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } // String returns the string representation -func (s IpSet) String() string { +func (s ListCustomRoutingEndpointGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IpSet) GoString() string { +func (s ListCustomRoutingEndpointGroupsOutput) GoString() string { return s.String() } -// SetIpAddresses sets the IpAddresses field's value. -func (s *IpSet) SetIpAddresses(v []*string) *IpSet { - s.IpAddresses = v +// SetEndpointGroups sets the EndpointGroups field's value. +func (s *ListCustomRoutingEndpointGroupsOutput) SetEndpointGroups(v []*CustomRoutingEndpointGroup) *ListCustomRoutingEndpointGroupsOutput { + s.EndpointGroups = v return s } -// SetIpFamily sets the IpFamily field's value. -func (s *IpSet) SetIpFamily(v string) *IpSet { - s.IpFamily = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCustomRoutingEndpointGroupsOutput) SetNextToken(v string) *ListCustomRoutingEndpointGroupsOutput { + s.NextToken = &v return s } -// Processing your request would cause you to exceed an AWS Global Accelerator -// limit. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListCustomRoutingListenersInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the accelerator to list listeners for. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // The number of listener objects that you want to return with this call. The + // default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } // String returns the string representation -func (s LimitExceededException) String() string { +func (s ListCustomRoutingListenersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LimitExceededException) GoString() string { +func (s ListCustomRoutingListenersInput) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCustomRoutingListenersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingListenersInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *ListCustomRoutingListenersInput) SetAcceleratorArn(v string) *ListCustomRoutingListenersInput { + s.AcceleratorArn = &v + return s } -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetMaxResults sets the MaxResults field's value. +func (s *ListCustomRoutingListenersInput) SetMaxResults(v int64) *ListCustomRoutingListenersInput { + s.MaxResults = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListCustomRoutingListenersInput) SetNextToken(v string) *ListCustomRoutingListenersInput { + s.NextToken = &v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type ListCustomRoutingListenersOutput struct { + _ struct{} `type:"structure"` + + // The list of listeners for a custom routing accelerator. + Listeners []*CustomRoutingListener `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s ListCustomRoutingListenersOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s ListCustomRoutingListenersOutput) GoString() string { + return s.String() } -type ListAcceleratorsInput struct { +// SetListeners sets the Listeners field's value. +func (s *ListCustomRoutingListenersOutput) SetListeners(v []*CustomRoutingListener) *ListCustomRoutingListenersOutput { + s.Listeners = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomRoutingListenersOutput) SetNextToken(v string) *ListCustomRoutingListenersOutput { + s.NextToken = &v + return s +} + +type ListCustomRoutingPortMappingsByDestinationInput struct { _ struct{} `type:"structure"` - // The number of Global Accelerator objects that you want to return with this + // The endpoint IP address in a virtual private cloud (VPC) subnet for which + // you want to receive back port mappings. + // + // DestinationAddress is a required field + DestinationAddress *string `type:"string" required:"true"` + + // The ID for the virtual private cloud (VPC) subnet. + // + // EndpointId is a required field + EndpointId *string `type:"string" required:"true"` + + // The number of destination port mappings that you want to return with this // call. The default value is 10. MaxResults *int64 `min:"1" type:"integer"` @@ -4830,18 +9465,24 @@ type ListAcceleratorsInput struct { } // String returns the string representation -func (s ListAcceleratorsInput) String() string { +func (s ListCustomRoutingPortMappingsByDestinationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListAcceleratorsInput) GoString() string { +func (s ListCustomRoutingPortMappingsByDestinationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAcceleratorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAcceleratorsInput"} +func (s *ListCustomRoutingPortMappingsByDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingPortMappingsByDestinationInput"} + if s.DestinationAddress == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationAddress")) + } + if s.EndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointId")) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -4852,23 +9493,35 @@ func (s *ListAcceleratorsInput) Validate() error { return nil } +// SetDestinationAddress sets the DestinationAddress field's value. +func (s *ListCustomRoutingPortMappingsByDestinationInput) SetDestinationAddress(v string) *ListCustomRoutingPortMappingsByDestinationInput { + s.DestinationAddress = &v + return s +} + +// SetEndpointId sets the EndpointId field's value. +func (s *ListCustomRoutingPortMappingsByDestinationInput) SetEndpointId(v string) *ListCustomRoutingPortMappingsByDestinationInput { + s.EndpointId = &v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListAcceleratorsInput) SetMaxResults(v int64) *ListAcceleratorsInput { +func (s *ListCustomRoutingPortMappingsByDestinationInput) SetMaxResults(v int64) *ListCustomRoutingPortMappingsByDestinationInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAcceleratorsInput) SetNextToken(v string) *ListAcceleratorsInput { +func (s *ListCustomRoutingPortMappingsByDestinationInput) SetNextToken(v string) *ListCustomRoutingPortMappingsByDestinationInput { s.NextToken = &v return s } -type ListAcceleratorsOutput struct { +type ListCustomRoutingPortMappingsByDestinationOutput struct { _ struct{} `type:"structure"` - // The list of accelerators for a customer account. - Accelerators []*Accelerator `type:"list"` + // The port mappings for the endpoint IP address that you specified in the request. + DestinationPortMappings []*DestinationPortMapping `type:"list"` // The token for the next set of results. You receive this token from a previous // call. @@ -4876,51 +9529,65 @@ type ListAcceleratorsOutput struct { } // String returns the string representation -func (s ListAcceleratorsOutput) String() string { +func (s ListCustomRoutingPortMappingsByDestinationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListAcceleratorsOutput) GoString() string { +func (s ListCustomRoutingPortMappingsByDestinationOutput) GoString() string { return s.String() } -// SetAccelerators sets the Accelerators field's value. -func (s *ListAcceleratorsOutput) SetAccelerators(v []*Accelerator) *ListAcceleratorsOutput { - s.Accelerators = v +// SetDestinationPortMappings sets the DestinationPortMappings field's value. +func (s *ListCustomRoutingPortMappingsByDestinationOutput) SetDestinationPortMappings(v []*DestinationPortMapping) *ListCustomRoutingPortMappingsByDestinationOutput { + s.DestinationPortMappings = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAcceleratorsOutput) SetNextToken(v string) *ListAcceleratorsOutput { +func (s *ListCustomRoutingPortMappingsByDestinationOutput) SetNextToken(v string) *ListCustomRoutingPortMappingsByDestinationOutput { s.NextToken = &v return s } -type ListByoipCidrsInput struct { +type ListCustomRoutingPortMappingsInput struct { _ struct{} `type:"structure"` - // The maximum number of results to return with a single call. To retrieve the - // remaining results, make another call with the returned nextToken value. + // The Amazon Resource Name (ARN) of the accelerator to list the custom routing + // port mappings for. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint group to list the custom routing + // port mappings for. + EndpointGroupArn *string `type:"string"` + + // The number of destination port mappings that you want to return with this + // call. The default value is 10. MaxResults *int64 `min:"1" type:"integer"` - // The token for the next page of results. + // The token for the next set of results. You receive this token from a previous + // call. NextToken *string `type:"string"` } // String returns the string representation -func (s ListByoipCidrsInput) String() string { +func (s ListCustomRoutingPortMappingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListByoipCidrsInput) GoString() string { +func (s ListCustomRoutingPortMappingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListByoipCidrsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListByoipCidrsInput"} +func (s *ListCustomRoutingPortMappingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingPortMappingsInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -4931,50 +9598,63 @@ func (s *ListByoipCidrsInput) Validate() error { return nil } +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *ListCustomRoutingPortMappingsInput) SetAcceleratorArn(v string) *ListCustomRoutingPortMappingsInput { + s.AcceleratorArn = &v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *ListCustomRoutingPortMappingsInput) SetEndpointGroupArn(v string) *ListCustomRoutingPortMappingsInput { + s.EndpointGroupArn = &v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListByoipCidrsInput) SetMaxResults(v int64) *ListByoipCidrsInput { +func (s *ListCustomRoutingPortMappingsInput) SetMaxResults(v int64) *ListCustomRoutingPortMappingsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListByoipCidrsInput) SetNextToken(v string) *ListByoipCidrsInput { +func (s *ListCustomRoutingPortMappingsInput) SetNextToken(v string) *ListCustomRoutingPortMappingsInput { s.NextToken = &v return s } -type ListByoipCidrsOutput struct { +type ListCustomRoutingPortMappingsOutput struct { _ struct{} `type:"structure"` - // Information about your address ranges. - ByoipCidrs []*ByoipCidr `type:"list"` - - // The token for the next page of results. + // The token for the next set of results. You receive this token from a previous + // call. NextToken *string `type:"string"` + + // The port mappings for a custom routing accelerator. + PortMappings []*PortMapping `type:"list"` } // String returns the string representation -func (s ListByoipCidrsOutput) String() string { +func (s ListCustomRoutingPortMappingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListByoipCidrsOutput) GoString() string { +func (s ListCustomRoutingPortMappingsOutput) GoString() string { return s.String() } -// SetByoipCidrs sets the ByoipCidrs field's value. -func (s *ListByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *ListByoipCidrsOutput { - s.ByoipCidrs = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListByoipCidrsOutput) SetNextToken(v string) *ListByoipCidrsOutput { +func (s *ListCustomRoutingPortMappingsOutput) SetNextToken(v string) *ListCustomRoutingPortMappingsOutput { s.NextToken = &v return s } +// SetPortMappings sets the PortMappings field's value. +func (s *ListCustomRoutingPortMappingsOutput) SetPortMappings(v []*PortMapping) *ListCustomRoutingPortMappingsOutput { + s.PortMappings = v + return s +} + type ListEndpointGroupsInput struct { _ struct{} `type:"structure"` @@ -5355,6 +10035,82 @@ func (s *ListenerNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// Returns the ports and associated IP addresses and ports of Amazon EC2 instances +// in your virtual private cloud (VPC) subnets. Custom routing is a port mapping +// protocol in AWS Global Accelerator that statically associates port ranges +// with VPC subnets, which allows Global Accelerator to route to specific instances +// and ports within one or more subnets. +type PortMapping struct { + _ struct{} `type:"structure"` + + // The accelerator port. + AcceleratorPort *int64 `min:"1" type:"integer"` + + // The EC2 instance IP address and port number in the virtual private cloud + // (VPC) subnet. + DestinationSocketAddress *SocketAddress `type:"structure"` + + // Indicates whether or not a port mapping destination can receive traffic. + // The value is either ALLOW, if traffic is allowed to the destination, or DENY, + // if traffic is not allowed to the destination. + DestinationTrafficState *string `type:"string" enum:"CustomRoutingDestinationTrafficState"` + + // The Amazon Resource Name (ARN) of the endpoint group. + EndpointGroupArn *string `type:"string"` + + // The IP address of the VPC subnet (the subnet ID). + EndpointId *string `type:"string"` + + // The protocols supported by the endpoint group. + Protocols []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s PortMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortMapping) GoString() string { + return s.String() +} + +// SetAcceleratorPort sets the AcceleratorPort field's value. +func (s *PortMapping) SetAcceleratorPort(v int64) *PortMapping { + s.AcceleratorPort = &v + return s +} + +// SetDestinationSocketAddress sets the DestinationSocketAddress field's value. +func (s *PortMapping) SetDestinationSocketAddress(v *SocketAddress) *PortMapping { + s.DestinationSocketAddress = v + return s +} + +// SetDestinationTrafficState sets the DestinationTrafficState field's value. +func (s *PortMapping) SetDestinationTrafficState(v string) *PortMapping { + s.DestinationTrafficState = &v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *PortMapping) SetEndpointGroupArn(v string) *PortMapping { + s.EndpointGroupArn = &v + return s +} + +// SetEndpointId sets the EndpointId field's value. +func (s *PortMapping) SetEndpointId(v string) *PortMapping { + s.EndpointId = &v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *PortMapping) SetProtocols(v []*string) *PortMapping { + s.Protocols = v + return s +} + // Override specific listener ports used to route traffic to endpoints that // are part of an endpoint group. For example, you can create a port override // in which the listener receives user traffic on ports 80 and 443, but your @@ -5546,6 +10302,107 @@ func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCid return s } +type RemoveCustomRoutingEndpointsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint group to remove endpoints + // from. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` + + // The IDs for the endpoints. For custom routing accelerators, endpoint IDs + // are the virtual private cloud (VPC) subnet IDs. + // + // EndpointIds is a required field + EndpointIds []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s RemoveCustomRoutingEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveCustomRoutingEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveCustomRoutingEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveCustomRoutingEndpointsInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + if s.EndpointIds == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *RemoveCustomRoutingEndpointsInput) SetEndpointGroupArn(v string) *RemoveCustomRoutingEndpointsInput { + s.EndpointGroupArn = &v + return s +} + +// SetEndpointIds sets the EndpointIds field's value. +func (s *RemoveCustomRoutingEndpointsInput) SetEndpointIds(v []*string) *RemoveCustomRoutingEndpointsInput { + s.EndpointIds = v + return s +} + +type RemoveCustomRoutingEndpointsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveCustomRoutingEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveCustomRoutingEndpointsOutput) GoString() string { + return s.String() +} + +// An IP address/port combination. +type SocketAddress struct { + _ struct{} `type:"structure"` + + // The IP address for the socket address. + IpAddress *string `type:"string"` + + // The port for the socket address. + Port *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s SocketAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SocketAddress) GoString() string { + return s.String() +} + +// SetIpAddress sets the IpAddress field's value. +func (s *SocketAddress) SetIpAddress(v string) *SocketAddress { + s.IpAddress = &v + return s +} + +// SetPort sets the Port field's value. +func (s *SocketAddress) SetPort(v int64) *SocketAddress { + s.Port = &v + return s +} + // A complex type that contains a Tag key and Tag value. type Tag struct { _ struct{} `type:"structure"` @@ -5657,68 +10514,242 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Global Accelerator resource to remove + // tags from. An ARN uniquely identifies a resource. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // The tag key pairs that you want to remove from the specified resources. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateAcceleratorAttributesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator that you want to update. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html) + // in the AWS Global Accelerator Developer Guide. + FlowLogsEnabled *bool `type:"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 AWS Global Accelerator permission to write to the bucket. + FlowLogsS3Bucket *string `type:"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 + // the bucket. If you specify slash (/) for the S3 bucket prefix, the log file + // bucket folder structure will include a double slash (//), like the following: + // + // s3-bucket_name//AWSLogs/aws_account_id + FlowLogsS3Prefix *string `type:"string"` +} + +// String returns the string representation +func (s UpdateAcceleratorAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAcceleratorAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAcceleratorAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorAttributesInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *UpdateAcceleratorAttributesInput) SetAcceleratorArn(v string) *UpdateAcceleratorAttributesInput { + s.AcceleratorArn = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetFlowLogsEnabled sets the FlowLogsEnabled field's value. +func (s *UpdateAcceleratorAttributesInput) SetFlowLogsEnabled(v bool) *UpdateAcceleratorAttributesInput { + s.FlowLogsEnabled = &v return s } -type TagResourceOutput struct { +// SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value. +func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Bucket(v string) *UpdateAcceleratorAttributesInput { + s.FlowLogsS3Bucket = &v + return s +} + +// SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. +func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Prefix(v string) *UpdateAcceleratorAttributesInput { + s.FlowLogsS3Prefix = &v + return s +} + +type UpdateAcceleratorAttributesOutput struct { _ struct{} `type:"structure"` + + // Updated attributes for the accelerator. + AcceleratorAttributes *AcceleratorAttributes `type:"structure"` } // String returns the string representation -func (s TagResourceOutput) String() string { +func (s UpdateAcceleratorAttributesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceOutput) GoString() string { +func (s UpdateAcceleratorAttributesOutput) GoString() string { return s.String() } -type UntagResourceInput struct { +// SetAcceleratorAttributes sets the AcceleratorAttributes field's value. +func (s *UpdateAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *UpdateAcceleratorAttributesOutput { + s.AcceleratorAttributes = v + return s +} + +type UpdateAcceleratorInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Global Accelerator resource to remove - // tags from. An ARN uniquely identifies a resource. + // The Amazon Resource Name (ARN) of the accelerator to update. // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` - // The tag key pairs that you want to remove from the specified resources. + // Indicates whether an accelerator is enabled. The value is true or false. + // The default value is true. // - // TagKeys is a required field - TagKeys []*string `type:"list" required:"true"` + // If the value is set to true, the accelerator cannot be deleted. If set to + // false, the accelerator can be deleted. + Enabled *bool `type:"boolean"` + + // The IP address type, which must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // 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. + Name *string `type:"string"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s UpdateAcceleratorInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) GoString() string { +func (s UpdateAcceleratorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UntagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) +func (s *UpdateAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } if invalidParams.Len() > 0 { @@ -5727,36 +10758,58 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *UpdateAcceleratorInput) SetAcceleratorArn(v string) *UpdateAcceleratorInput { + s.AcceleratorArn = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetEnabled sets the Enabled field's value. +func (s *UpdateAcceleratorInput) SetEnabled(v bool) *UpdateAcceleratorInput { + s.Enabled = &v return s } -type UntagResourceOutput struct { +// SetIpAddressType sets the IpAddressType field's value. +func (s *UpdateAcceleratorInput) SetIpAddressType(v string) *UpdateAcceleratorInput { + s.IpAddressType = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateAcceleratorInput) SetName(v string) *UpdateAcceleratorInput { + s.Name = &v + return s +} + +type UpdateAcceleratorOutput struct { _ struct{} `type:"structure"` + + // Information about the updated accelerator. + Accelerator *Accelerator `type:"structure"` } // String returns the string representation -func (s UntagResourceOutput) String() string { +func (s UpdateAcceleratorOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceOutput) GoString() string { +func (s UpdateAcceleratorOutput) GoString() string { return s.String() } -type UpdateAcceleratorAttributesInput struct { +// SetAccelerator sets the Accelerator field's value. +func (s *UpdateAcceleratorOutput) SetAccelerator(v *Accelerator) *UpdateAcceleratorOutput { + s.Accelerator = v + return s +} + +type UpdateCustomRoutingAcceleratorAttributesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the accelerator that you want to update. + // The Amazon Resource Name (ARN) of the custom routing accelerator to update + // attributes for. // // AcceleratorArn is a required field AcceleratorArn *string `type:"string" required:"true"` @@ -5780,23 +10833,23 @@ type UpdateAcceleratorAttributesInput struct { // the bucket. If you specify slash (/) for the S3 bucket prefix, the log file // bucket folder structure will include a double slash (//), like the following: // - // s3-bucket_name//AWSLogs/aws_account_id + // DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id FlowLogsS3Prefix *string `type:"string"` } // String returns the string representation -func (s UpdateAcceleratorAttributesInput) String() string { +func (s UpdateCustomRoutingAcceleratorAttributesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAcceleratorAttributesInput) GoString() string { +func (s UpdateCustomRoutingAcceleratorAttributesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAcceleratorAttributesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorAttributesInput"} +func (s *UpdateCustomRoutingAcceleratorAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCustomRoutingAcceleratorAttributesInput"} if s.AcceleratorArn == nil { invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } @@ -5808,53 +10861,53 @@ func (s *UpdateAcceleratorAttributesInput) Validate() error { } // SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *UpdateAcceleratorAttributesInput) SetAcceleratorArn(v string) *UpdateAcceleratorAttributesInput { +func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetAcceleratorArn(v string) *UpdateCustomRoutingAcceleratorAttributesInput { s.AcceleratorArn = &v return s } // SetFlowLogsEnabled sets the FlowLogsEnabled field's value. -func (s *UpdateAcceleratorAttributesInput) SetFlowLogsEnabled(v bool) *UpdateAcceleratorAttributesInput { +func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetFlowLogsEnabled(v bool) *UpdateCustomRoutingAcceleratorAttributesInput { s.FlowLogsEnabled = &v return s } // SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value. -func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Bucket(v string) *UpdateAcceleratorAttributesInput { +func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetFlowLogsS3Bucket(v string) *UpdateCustomRoutingAcceleratorAttributesInput { s.FlowLogsS3Bucket = &v return s } // SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. -func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Prefix(v string) *UpdateAcceleratorAttributesInput { +func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetFlowLogsS3Prefix(v string) *UpdateCustomRoutingAcceleratorAttributesInput { s.FlowLogsS3Prefix = &v return s } -type UpdateAcceleratorAttributesOutput struct { +type UpdateCustomRoutingAcceleratorAttributesOutput struct { _ struct{} `type:"structure"` - // Updated attributes for the accelerator. - AcceleratorAttributes *AcceleratorAttributes `type:"structure"` + // Updated custom routing accelerator. + AcceleratorAttributes *CustomRoutingAcceleratorAttributes `type:"structure"` } // String returns the string representation -func (s UpdateAcceleratorAttributesOutput) String() string { +func (s UpdateCustomRoutingAcceleratorAttributesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAcceleratorAttributesOutput) GoString() string { +func (s UpdateCustomRoutingAcceleratorAttributesOutput) GoString() string { return s.String() } // SetAcceleratorAttributes sets the AcceleratorAttributes field's value. -func (s *UpdateAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *UpdateAcceleratorAttributesOutput { +func (s *UpdateCustomRoutingAcceleratorAttributesOutput) SetAcceleratorAttributes(v *CustomRoutingAcceleratorAttributes) *UpdateCustomRoutingAcceleratorAttributesOutput { s.AcceleratorAttributes = v return s } -type UpdateAcceleratorInput struct { +type UpdateCustomRoutingAcceleratorInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the accelerator to update. @@ -5879,18 +10932,18 @@ type UpdateAcceleratorInput struct { } // String returns the string representation -func (s UpdateAcceleratorInput) String() string { +func (s UpdateCustomRoutingAcceleratorInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAcceleratorInput) GoString() string { +func (s UpdateCustomRoutingAcceleratorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAcceleratorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorInput"} +func (s *UpdateCustomRoutingAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCustomRoutingAcceleratorInput"} if s.AcceleratorArn == nil { invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) } @@ -5902,52 +10955,145 @@ func (s *UpdateAcceleratorInput) Validate() error { } // SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *UpdateAcceleratorInput) SetAcceleratorArn(v string) *UpdateAcceleratorInput { +func (s *UpdateCustomRoutingAcceleratorInput) SetAcceleratorArn(v string) *UpdateCustomRoutingAcceleratorInput { s.AcceleratorArn = &v return s } // SetEnabled sets the Enabled field's value. -func (s *UpdateAcceleratorInput) SetEnabled(v bool) *UpdateAcceleratorInput { +func (s *UpdateCustomRoutingAcceleratorInput) SetEnabled(v bool) *UpdateCustomRoutingAcceleratorInput { s.Enabled = &v return s } // SetIpAddressType sets the IpAddressType field's value. -func (s *UpdateAcceleratorInput) SetIpAddressType(v string) *UpdateAcceleratorInput { +func (s *UpdateCustomRoutingAcceleratorInput) SetIpAddressType(v string) *UpdateCustomRoutingAcceleratorInput { s.IpAddressType = &v return s } // SetName sets the Name field's value. -func (s *UpdateAcceleratorInput) SetName(v string) *UpdateAcceleratorInput { +func (s *UpdateCustomRoutingAcceleratorInput) SetName(v string) *UpdateCustomRoutingAcceleratorInput { s.Name = &v return s } -type UpdateAcceleratorOutput struct { +type UpdateCustomRoutingAcceleratorOutput struct { _ struct{} `type:"structure"` - // Information about the updated accelerator. - Accelerator *Accelerator `type:"structure"` + // Information about the updated custom routing accelerator. + Accelerator *CustomRoutingAccelerator `type:"structure"` } // String returns the string representation -func (s UpdateAcceleratorOutput) String() string { +func (s UpdateCustomRoutingAcceleratorOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAcceleratorOutput) GoString() string { +func (s UpdateCustomRoutingAcceleratorOutput) GoString() string { return s.String() } // SetAccelerator sets the Accelerator field's value. -func (s *UpdateAcceleratorOutput) SetAccelerator(v *Accelerator) *UpdateAcceleratorOutput { +func (s *UpdateCustomRoutingAcceleratorOutput) SetAccelerator(v *CustomRoutingAccelerator) *UpdateCustomRoutingAcceleratorOutput { s.Accelerator = v return s } +type UpdateCustomRoutingListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener to update. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // 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 ranges for endpoints. For more information, see + // About endpoints for custom routing accelerators (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html). + // + // PortRanges is a required field + PortRanges []*PortRange `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateCustomRoutingListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCustomRoutingListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCustomRoutingListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCustomRoutingListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.PortRanges == nil { + invalidParams.Add(request.NewErrParamRequired("PortRanges")) + } + if s.PortRanges != nil && len(s.PortRanges) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1)) + } + if s.PortRanges != nil { + for i, v := range s.PortRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *UpdateCustomRoutingListenerInput) SetListenerArn(v string) *UpdateCustomRoutingListenerInput { + s.ListenerArn = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *UpdateCustomRoutingListenerInput) SetPortRanges(v []*PortRange) *UpdateCustomRoutingListenerInput { + s.PortRanges = v + return s +} + +type UpdateCustomRoutingListenerOutput struct { + _ struct{} `type:"structure"` + + // Information for the updated listener for a custom routing accelerator. + Listener *CustomRoutingListener `type:"structure"` +} + +// String returns the string representation +func (s UpdateCustomRoutingListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCustomRoutingListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *UpdateCustomRoutingListenerOutput) SetListener(v *CustomRoutingListener) *UpdateCustomRoutingListenerOutput { + s.Listener = v + return s +} + type UpdateEndpointGroupInput struct { _ struct{} `type:"structure"` @@ -6388,6 +11534,54 @@ func ClientAffinity_Values() []string { } } +const ( + // CustomRoutingAcceleratorStatusDeployed is a CustomRoutingAcceleratorStatus enum value + CustomRoutingAcceleratorStatusDeployed = "DEPLOYED" + + // CustomRoutingAcceleratorStatusInProgress is a CustomRoutingAcceleratorStatus enum value + CustomRoutingAcceleratorStatusInProgress = "IN_PROGRESS" +) + +// CustomRoutingAcceleratorStatus_Values returns all elements of the CustomRoutingAcceleratorStatus enum +func CustomRoutingAcceleratorStatus_Values() []string { + return []string{ + CustomRoutingAcceleratorStatusDeployed, + CustomRoutingAcceleratorStatusInProgress, + } +} + +const ( + // CustomRoutingDestinationTrafficStateAllow is a CustomRoutingDestinationTrafficState enum value + CustomRoutingDestinationTrafficStateAllow = "ALLOW" + + // CustomRoutingDestinationTrafficStateDeny is a CustomRoutingDestinationTrafficState enum value + CustomRoutingDestinationTrafficStateDeny = "DENY" +) + +// CustomRoutingDestinationTrafficState_Values returns all elements of the CustomRoutingDestinationTrafficState enum +func CustomRoutingDestinationTrafficState_Values() []string { + return []string{ + CustomRoutingDestinationTrafficStateAllow, + CustomRoutingDestinationTrafficStateDeny, + } +} + +const ( + // CustomRoutingProtocolTcp is a CustomRoutingProtocol enum value + CustomRoutingProtocolTcp = "TCP" + + // CustomRoutingProtocolUdp is a CustomRoutingProtocol enum value + CustomRoutingProtocolUdp = "UDP" +) + +// CustomRoutingProtocol_Values returns all elements of the CustomRoutingProtocol enum +func CustomRoutingProtocol_Values() []string { + return []string{ + CustomRoutingProtocolTcp, + CustomRoutingProtocolUdp, + } +} + const ( // HealthCheckProtocolTcp is a HealthCheckProtocol enum value HealthCheckProtocolTcp = "TCP" diff --git a/service/globalaccelerator/doc.go b/service/globalaccelerator/doc.go index e3e580ebe25..dceaa388980 100644 --- a/service/globalaccelerator/doc.go +++ b/service/globalaccelerator/doc.go @@ -9,70 +9,110 @@ // see the AWS Global Accelerator Developer Guide (https://docs.aws.amazon.com/global-accelerator/latest/dg/Welcome.html). // // AWS Global Accelerator is a service in which you create accelerators to improve -// availability and performance of your applications for local and global users. -// Global Accelerator directs traffic to optimal endpoints over the AWS global -// network. This improves the availability and performance of your internet -// applications that are used by a global audience. Global Accelerator is a -// global service that supports endpoints in multiple AWS Regions, which are -// listed in the AWS Region Table (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). +// the performance of your applications for local and global users. Depending +// on the type of accelerator you choose, you can gain additional benefits. +// +// * By using a standard accelerator, you can improve availability of your +// internet applications that are used by a global audience. With a standard +// accelerator, Global Accelerator directs traffic to optimal endpoints over +// the AWS global network. +// +// * For other scenarios, you might choose a custom routing accelerator. +// With a custom routing accelerator, you can use application logic to directly +// map one or more users to a specific endpoint among many endpoints. // // Global Accelerator is a global service that supports endpoints in multiple // AWS Regions but you must specify the US West (Oregon) Region to create or // update accelerators. // -// By default, Global Accelerator provides you with static IP addresses that -// you associate with your accelerator. (Instead of using the IP addresses that -// Global Accelerator provides, you can configure these entry points to be IPv4 -// addresses from your own IP address ranges that you bring to Global Accelerator.) -// The static IP addresses are anycast from the AWS edge network and distribute -// incoming application traffic across multiple endpoint resources in multiple -// AWS Regions, which increases the availability of your applications. Endpoints -// can be Network Load Balancers, Application Load Balancers, EC2 instances, -// or Elastic IP addresses that are located in one AWS Region or multiple Regions. -// -// Global Accelerator uses the AWS global network to route traffic to the optimal -// regional endpoint based on health, client location, and policies that you -// configure. The service reacts instantly to changes in health or configuration -// to ensure that internet traffic from clients is directed to only healthy -// endpoints. -// -// Global Accelerator includes components that work together to help you improve -// performance and availability for your applications: -// -// Static IP address -// -// By default, AWS Global Accelerator provides you with a set of static IP addresses -// that are anycast from the AWS edge network and serve as the single fixed -// entry points for your clients. Or you can configure these entry points to -// be IPv4 addresses from your own IP address ranges that you bring to Global -// Accelerator (BYOIP). For more information, see Bring Your Own IP Addresses -// (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) -// in the AWS Global Accelerator Developer Guide. If you already have load balancers, -// EC2 instances, or Elastic IP addresses set up for your applications, you -// can easily add those to Global Accelerator to allow the resources to be accessed -// by the static IP addresses. +// By default, Global Accelerator provides you with two static IP addresses +// that you associate with your accelerator. With a standard accelerator, instead +// of using the IP addresses that Global Accelerator provides, you can configure +// these entry points to be IPv4 addresses from your own IP address ranges that +// you bring to Global Accelerator. The static IP addresses are anycast from +// the AWS edge network. For a standard accelerator, they distribute incoming +// application traffic across multiple endpoint resources in multiple AWS Regions, +// which increases the availability of your applications. Endpoints for standard +// accelerators can be Network Load Balancers, Application Load Balancers, Amazon +// EC2 instances, or Elastic IP addresses that are located in one AWS Region +// or multiple Regions. For custom routing accelerators, you map traffic that +// arrives to the static IP addresses to specific Amazon EC2 servers in endpoints +// that are virtual private cloud (VPC) subnets. // // The static IP addresses remain assigned to your accelerator for as long as // it exists, even if you disable the accelerator and it no longer accepts or // routes traffic. However, when you delete an accelerator, you lose the static // IP addresses that are assigned to it, so you can no longer route traffic -// by using them. You can use IAM policies with Global Accelerator to limit -// the users who have permissions to delete an accelerator. For more information, -// see Authentication and Access Control (https://docs.aws.amazon.com/global-accelerator/latest/dg/auth-and-access-control.html) -// in the AWS Global Accelerator Developer Guide. +// by using them. You can use IAM policies like tag-based permissions with Global +// Accelerator to limit the users who have permissions to delete an accelerator. +// For more information, see Tag-based policies (https://docs.aws.amazon.com/global-accelerator/latest/dg/access-control-manage-access-tag-policies.html). +// +// For standard accelerators, Global Accelerator uses the AWS global network +// to route traffic to the optimal regional endpoint based on health, client +// location, and policies that you configure. The service reacts instantly to +// changes in health or configuration to ensure that internet traffic from clients +// is always directed to healthy endpoints. +// +// For a list of the AWS Regions where Global Accelerator and other services +// are currently supported, see the AWS Region Table (https://docs.aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). +// +// AWS Global Accelerator includes the following components: +// +// Static IP addresses +// +// Global Accelerator provides you with a set of two static IP addresses that +// are anycast from the AWS edge network. If you bring your own IP address range +// to AWS (BYOIP) to use with a standard accelerator, you can instead assign +// IP addresses from your own pool to use with your accelerator. For more information, +// see Bring your own IP addresses (BYOIP) in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html). +// +// The IP addresses serve as single fixed entry points for your clients. If +// you already have Elastic Load Balancing load balancers, Amazon EC2 instances, +// or Elastic IP address resources set up for your applications, you can easily +// add those to a standard accelerator in Global Accelerator. This allows Global +// Accelerator to use static IP addresses to access the resources. +// +// The static IP addresses remain assigned to your accelerator for as long as +// it exists, even if you disable the accelerator and it no longer accepts or +// routes traffic. However, when you delete an accelerator, you lose the static +// IP addresses that are assigned to it, so you can no longer route traffic +// by using them. You can use IAM policies like tag-based permissions with Global +// Accelerator to delete an accelerator. For more information, see Tag-based +// policies (https://docs.aws.amazon.com/global-accelerator/latest/dg/access-control-manage-access-tag-policies.html). // // Accelerator // -// An accelerator directs traffic to optimal endpoints over the AWS global network -// to improve availability and performance for your internet applications that -// have a global audience. Each accelerator includes one or more listeners. +// An accelerator directs traffic to endpoints over the AWS global network to +// improve the performance of your internet applications. Each accelerator includes +// one or more listeners. +// +// There are two types of accelerators: +// +// * A standard accelerator directs traffic to the optimal AWS endpoint based +// on several factors, including the user’s location, the health of the +// endpoint, and the endpoint weights that you configure. This improves the +// availability and performance of your applications. Endpoints can be Network +// Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic +// IP addresses. +// +// * A custom routing accelerator directs traffic to one of possibly thousands +// of Amazon EC2 instances running in a single or multiple virtual private +// clouds (VPCs). With custom routing, listener ports are mapped to statically +// associate port ranges with VPC subnets, which allows Global Accelerator +// to determine an EC2 instance IP address at the time of connection. By +// default, all port mapping destinations in a VPC subnet can't receive traffic. +// You can choose to configure all destinations in the subnet to receive +// traffic, or to specify individual port mappings that can receive traffic. +// +// For more information, see Types of accelerators (https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-accelerator-types.html). // // DNS name // // Global Accelerator assigns each accelerator a default Domain Name System // (DNS) name, similar to a1234567890abcdef.awsglobalaccelerator.com, that points -// to your Global Accelerator static IP addresses. Depending on the use case, -// you can use your accelerator's static IP addresses or DNS name to route traffic +// to the static IP addresses that Global Accelerator assigns to you or that +// you choose from your own IP address range. Depending on the use case, you +// can use your accelerator's static IP addresses or DNS name to route traffic // to your accelerator, or set up DNS records to route traffic using your own // custom domain name. // @@ -90,31 +130,39 @@ // Listener // // A listener processes inbound connections from clients to Global Accelerator, -// based on the protocol and port that you configure. Each listener has one -// or more endpoint groups associated with it, and traffic is forwarded to endpoints -// in one of the groups. You associate endpoint groups with listeners by specifying -// the Regions that you want to distribute traffic to. Traffic is distributed -// to optimal endpoints within the endpoint groups associated with a listener. +// based on the port (or port range) and protocol (or protocols) that you configure. +// A listener can be configured for TCP, UDP, or both TCP and UDP protocols. +// Each listener has one or more endpoint groups associated with it, and traffic +// is forwarded to endpoints in one of the groups. You associate endpoint groups +// with listeners by specifying the Regions that you want to distribute traffic +// to. With a standard accelerator, traffic is distributed to optimal endpoints +// within the endpoint groups associated with a listener. // // Endpoint group // // Each endpoint group is associated with a specific AWS Region. Endpoint groups -// include one or more endpoints in the Region. You can increase or reduce the -// percentage of traffic that would be otherwise directed to an endpoint group -// by adjusting a setting called a traffic dial. The traffic dial lets you easily -// do performance testing or blue/green deployment testing for new releases -// across different AWS Regions, for example. +// include one or more endpoints in the Region. With a standard accelerator, +// you can increase or reduce the percentage of traffic that would be otherwise +// directed to an endpoint group by adjusting a setting called a traffic dial. +// The traffic dial lets you easily do performance testing or blue/green deployment +// testing, for example, for new releases across different AWS Regions. // // Endpoint // -// An endpoint is a Network Load Balancer, Application Load Balancer, EC2 instance, -// or Elastic IP address. Traffic is routed to endpoints based on several factors, -// including the geo-proximity to the user, the health of the endpoint, and -// the configuration options that you choose, such as endpoint weights. For +// An endpoint is a resource that Global Accelerator directs traffic to. +// +// Endpoints for standard accelerators can be Network Load Balancers, Application +// Load Balancers, Amazon EC2 instances, or Elastic IP addresses. An Application +// Load Balancer endpoint can be internet-facing or internal. Traffic for standard +// accelerators is routed to endpoints based on the health of the endpoint along +// with configuration options that you choose, such as endpoint weights. For // each endpoint, you can configure weights, which are numbers that you can // use to specify the proportion of traffic to route to each one. This can be // useful, for example, to do performance testing within a Region. // +// Endpoints for custom routing accelerators are virtual private cloud (VPC) +// subnets with one or many EC2 instances. +// // See https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08 for more information on this service. // // See globalaccelerator package documentation for more information. diff --git a/service/globalaccelerator/errors.go b/service/globalaccelerator/errors.go index 4d481befa8b..bd22dc4db0f 100644 --- a/service/globalaccelerator/errors.go +++ b/service/globalaccelerator/errors.go @@ -48,6 +48,18 @@ const ( // The CIDR that you specified was not found or is incorrect. ErrCodeByoipCidrNotFoundException = "ByoipCidrNotFoundException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // You can't use both of those options. + ErrCodeConflictException = "ConflictException" + + // ErrCodeEndpointAlreadyExistsException for service response error code + // "EndpointAlreadyExistsException". + // + // The endpoint that you specified doesn't exist. + ErrCodeEndpointAlreadyExistsException = "EndpointAlreadyExistsException" + // ErrCodeEndpointGroupAlreadyExistsException for service response error code // "EndpointGroupAlreadyExistsException". // @@ -60,6 +72,12 @@ const ( // The endpoint group that you specified doesn't exist. ErrCodeEndpointGroupNotFoundException = "EndpointGroupNotFoundException" + // ErrCodeEndpointNotFoundException for service response error code + // "EndpointNotFoundException". + // + // The endpoint that you specified doesn't exist. + ErrCodeEndpointNotFoundException = "EndpointNotFoundException" + // ErrCodeIncorrectCidrStateException for service response error code // "IncorrectCidrStateException". // @@ -113,8 +131,11 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AssociatedEndpointGroupFoundException": newErrorAssociatedEndpointGroupFoundException, "AssociatedListenerFoundException": newErrorAssociatedListenerFoundException, "ByoipCidrNotFoundException": newErrorByoipCidrNotFoundException, + "ConflictException": newErrorConflictException, + "EndpointAlreadyExistsException": newErrorEndpointAlreadyExistsException, "EndpointGroupAlreadyExistsException": newErrorEndpointGroupAlreadyExistsException, "EndpointGroupNotFoundException": newErrorEndpointGroupNotFoundException, + "EndpointNotFoundException": newErrorEndpointNotFoundException, "IncorrectCidrStateException": newErrorIncorrectCidrStateException, "InternalServiceErrorException": newErrorInternalServiceErrorException, "InvalidArgumentException": newErrorInvalidArgumentException, diff --git a/service/globalaccelerator/globalacceleratoriface/interface.go b/service/globalaccelerator/globalacceleratoriface/interface.go index 2a18755dbe1..e7b45ccbee2 100644 --- a/service/globalaccelerator/globalacceleratoriface/interface.go +++ b/service/globalaccelerator/globalacceleratoriface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS Global Accelerator. // func myFunc(svc globalacceleratoriface.GlobalAcceleratorAPI) bool { -// // Make svc.AdvertiseByoipCidr request +// // Make svc.AddCustomRoutingEndpoints request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockGlobalAcceleratorClient struct { // globalacceleratoriface.GlobalAcceleratorAPI // } -// func (m *mockGlobalAcceleratorClient) AdvertiseByoipCidr(input *globalaccelerator.AdvertiseByoipCidrInput) (*globalaccelerator.AdvertiseByoipCidrOutput, error) { +// func (m *mockGlobalAcceleratorClient) AddCustomRoutingEndpoints(input *globalaccelerator.AddCustomRoutingEndpointsInput) (*globalaccelerator.AddCustomRoutingEndpointsOutput, error) { // // mock response/functionality // } // @@ -60,14 +60,34 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type GlobalAcceleratorAPI interface { + AddCustomRoutingEndpoints(*globalaccelerator.AddCustomRoutingEndpointsInput) (*globalaccelerator.AddCustomRoutingEndpointsOutput, error) + AddCustomRoutingEndpointsWithContext(aws.Context, *globalaccelerator.AddCustomRoutingEndpointsInput, ...request.Option) (*globalaccelerator.AddCustomRoutingEndpointsOutput, error) + AddCustomRoutingEndpointsRequest(*globalaccelerator.AddCustomRoutingEndpointsInput) (*request.Request, *globalaccelerator.AddCustomRoutingEndpointsOutput) + AdvertiseByoipCidr(*globalaccelerator.AdvertiseByoipCidrInput) (*globalaccelerator.AdvertiseByoipCidrOutput, error) AdvertiseByoipCidrWithContext(aws.Context, *globalaccelerator.AdvertiseByoipCidrInput, ...request.Option) (*globalaccelerator.AdvertiseByoipCidrOutput, error) AdvertiseByoipCidrRequest(*globalaccelerator.AdvertiseByoipCidrInput) (*request.Request, *globalaccelerator.AdvertiseByoipCidrOutput) + AllowCustomRoutingTraffic(*globalaccelerator.AllowCustomRoutingTrafficInput) (*globalaccelerator.AllowCustomRoutingTrafficOutput, error) + AllowCustomRoutingTrafficWithContext(aws.Context, *globalaccelerator.AllowCustomRoutingTrafficInput, ...request.Option) (*globalaccelerator.AllowCustomRoutingTrafficOutput, error) + AllowCustomRoutingTrafficRequest(*globalaccelerator.AllowCustomRoutingTrafficInput) (*request.Request, *globalaccelerator.AllowCustomRoutingTrafficOutput) + CreateAccelerator(*globalaccelerator.CreateAcceleratorInput) (*globalaccelerator.CreateAcceleratorOutput, error) CreateAcceleratorWithContext(aws.Context, *globalaccelerator.CreateAcceleratorInput, ...request.Option) (*globalaccelerator.CreateAcceleratorOutput, error) CreateAcceleratorRequest(*globalaccelerator.CreateAcceleratorInput) (*request.Request, *globalaccelerator.CreateAcceleratorOutput) + CreateCustomRoutingAccelerator(*globalaccelerator.CreateCustomRoutingAcceleratorInput) (*globalaccelerator.CreateCustomRoutingAcceleratorOutput, error) + CreateCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.CreateCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.CreateCustomRoutingAcceleratorOutput, error) + CreateCustomRoutingAcceleratorRequest(*globalaccelerator.CreateCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.CreateCustomRoutingAcceleratorOutput) + + CreateCustomRoutingEndpointGroup(*globalaccelerator.CreateCustomRoutingEndpointGroupInput) (*globalaccelerator.CreateCustomRoutingEndpointGroupOutput, error) + CreateCustomRoutingEndpointGroupWithContext(aws.Context, *globalaccelerator.CreateCustomRoutingEndpointGroupInput, ...request.Option) (*globalaccelerator.CreateCustomRoutingEndpointGroupOutput, error) + CreateCustomRoutingEndpointGroupRequest(*globalaccelerator.CreateCustomRoutingEndpointGroupInput) (*request.Request, *globalaccelerator.CreateCustomRoutingEndpointGroupOutput) + + CreateCustomRoutingListener(*globalaccelerator.CreateCustomRoutingListenerInput) (*globalaccelerator.CreateCustomRoutingListenerOutput, error) + CreateCustomRoutingListenerWithContext(aws.Context, *globalaccelerator.CreateCustomRoutingListenerInput, ...request.Option) (*globalaccelerator.CreateCustomRoutingListenerOutput, error) + CreateCustomRoutingListenerRequest(*globalaccelerator.CreateCustomRoutingListenerInput) (*request.Request, *globalaccelerator.CreateCustomRoutingListenerOutput) + CreateEndpointGroup(*globalaccelerator.CreateEndpointGroupInput) (*globalaccelerator.CreateEndpointGroupOutput, error) CreateEndpointGroupWithContext(aws.Context, *globalaccelerator.CreateEndpointGroupInput, ...request.Option) (*globalaccelerator.CreateEndpointGroupOutput, error) CreateEndpointGroupRequest(*globalaccelerator.CreateEndpointGroupInput) (*request.Request, *globalaccelerator.CreateEndpointGroupOutput) @@ -80,6 +100,18 @@ type GlobalAcceleratorAPI interface { DeleteAcceleratorWithContext(aws.Context, *globalaccelerator.DeleteAcceleratorInput, ...request.Option) (*globalaccelerator.DeleteAcceleratorOutput, error) DeleteAcceleratorRequest(*globalaccelerator.DeleteAcceleratorInput) (*request.Request, *globalaccelerator.DeleteAcceleratorOutput) + DeleteCustomRoutingAccelerator(*globalaccelerator.DeleteCustomRoutingAcceleratorInput) (*globalaccelerator.DeleteCustomRoutingAcceleratorOutput, error) + DeleteCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.DeleteCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.DeleteCustomRoutingAcceleratorOutput, error) + DeleteCustomRoutingAcceleratorRequest(*globalaccelerator.DeleteCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.DeleteCustomRoutingAcceleratorOutput) + + DeleteCustomRoutingEndpointGroup(*globalaccelerator.DeleteCustomRoutingEndpointGroupInput) (*globalaccelerator.DeleteCustomRoutingEndpointGroupOutput, error) + DeleteCustomRoutingEndpointGroupWithContext(aws.Context, *globalaccelerator.DeleteCustomRoutingEndpointGroupInput, ...request.Option) (*globalaccelerator.DeleteCustomRoutingEndpointGroupOutput, error) + DeleteCustomRoutingEndpointGroupRequest(*globalaccelerator.DeleteCustomRoutingEndpointGroupInput) (*request.Request, *globalaccelerator.DeleteCustomRoutingEndpointGroupOutput) + + DeleteCustomRoutingListener(*globalaccelerator.DeleteCustomRoutingListenerInput) (*globalaccelerator.DeleteCustomRoutingListenerOutput, error) + DeleteCustomRoutingListenerWithContext(aws.Context, *globalaccelerator.DeleteCustomRoutingListenerInput, ...request.Option) (*globalaccelerator.DeleteCustomRoutingListenerOutput, error) + DeleteCustomRoutingListenerRequest(*globalaccelerator.DeleteCustomRoutingListenerInput) (*request.Request, *globalaccelerator.DeleteCustomRoutingListenerOutput) + DeleteEndpointGroup(*globalaccelerator.DeleteEndpointGroupInput) (*globalaccelerator.DeleteEndpointGroupOutput, error) DeleteEndpointGroupWithContext(aws.Context, *globalaccelerator.DeleteEndpointGroupInput, ...request.Option) (*globalaccelerator.DeleteEndpointGroupOutput, error) DeleteEndpointGroupRequest(*globalaccelerator.DeleteEndpointGroupInput) (*request.Request, *globalaccelerator.DeleteEndpointGroupOutput) @@ -88,6 +120,10 @@ type GlobalAcceleratorAPI interface { DeleteListenerWithContext(aws.Context, *globalaccelerator.DeleteListenerInput, ...request.Option) (*globalaccelerator.DeleteListenerOutput, error) DeleteListenerRequest(*globalaccelerator.DeleteListenerInput) (*request.Request, *globalaccelerator.DeleteListenerOutput) + DenyCustomRoutingTraffic(*globalaccelerator.DenyCustomRoutingTrafficInput) (*globalaccelerator.DenyCustomRoutingTrafficOutput, error) + DenyCustomRoutingTrafficWithContext(aws.Context, *globalaccelerator.DenyCustomRoutingTrafficInput, ...request.Option) (*globalaccelerator.DenyCustomRoutingTrafficOutput, error) + DenyCustomRoutingTrafficRequest(*globalaccelerator.DenyCustomRoutingTrafficInput) (*request.Request, *globalaccelerator.DenyCustomRoutingTrafficOutput) + DeprovisionByoipCidr(*globalaccelerator.DeprovisionByoipCidrInput) (*globalaccelerator.DeprovisionByoipCidrOutput, error) DeprovisionByoipCidrWithContext(aws.Context, *globalaccelerator.DeprovisionByoipCidrInput, ...request.Option) (*globalaccelerator.DeprovisionByoipCidrOutput, error) DeprovisionByoipCidrRequest(*globalaccelerator.DeprovisionByoipCidrInput) (*request.Request, *globalaccelerator.DeprovisionByoipCidrOutput) @@ -100,6 +136,22 @@ type GlobalAcceleratorAPI interface { DescribeAcceleratorAttributesWithContext(aws.Context, *globalaccelerator.DescribeAcceleratorAttributesInput, ...request.Option) (*globalaccelerator.DescribeAcceleratorAttributesOutput, error) DescribeAcceleratorAttributesRequest(*globalaccelerator.DescribeAcceleratorAttributesInput) (*request.Request, *globalaccelerator.DescribeAcceleratorAttributesOutput) + DescribeCustomRoutingAccelerator(*globalaccelerator.DescribeCustomRoutingAcceleratorInput) (*globalaccelerator.DescribeCustomRoutingAcceleratorOutput, error) + DescribeCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.DescribeCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.DescribeCustomRoutingAcceleratorOutput, error) + DescribeCustomRoutingAcceleratorRequest(*globalaccelerator.DescribeCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.DescribeCustomRoutingAcceleratorOutput) + + DescribeCustomRoutingAcceleratorAttributes(*globalaccelerator.DescribeCustomRoutingAcceleratorAttributesInput) (*globalaccelerator.DescribeCustomRoutingAcceleratorAttributesOutput, error) + DescribeCustomRoutingAcceleratorAttributesWithContext(aws.Context, *globalaccelerator.DescribeCustomRoutingAcceleratorAttributesInput, ...request.Option) (*globalaccelerator.DescribeCustomRoutingAcceleratorAttributesOutput, error) + DescribeCustomRoutingAcceleratorAttributesRequest(*globalaccelerator.DescribeCustomRoutingAcceleratorAttributesInput) (*request.Request, *globalaccelerator.DescribeCustomRoutingAcceleratorAttributesOutput) + + DescribeCustomRoutingEndpointGroup(*globalaccelerator.DescribeCustomRoutingEndpointGroupInput) (*globalaccelerator.DescribeCustomRoutingEndpointGroupOutput, error) + DescribeCustomRoutingEndpointGroupWithContext(aws.Context, *globalaccelerator.DescribeCustomRoutingEndpointGroupInput, ...request.Option) (*globalaccelerator.DescribeCustomRoutingEndpointGroupOutput, error) + DescribeCustomRoutingEndpointGroupRequest(*globalaccelerator.DescribeCustomRoutingEndpointGroupInput) (*request.Request, *globalaccelerator.DescribeCustomRoutingEndpointGroupOutput) + + DescribeCustomRoutingListener(*globalaccelerator.DescribeCustomRoutingListenerInput) (*globalaccelerator.DescribeCustomRoutingListenerOutput, error) + DescribeCustomRoutingListenerWithContext(aws.Context, *globalaccelerator.DescribeCustomRoutingListenerInput, ...request.Option) (*globalaccelerator.DescribeCustomRoutingListenerOutput, error) + DescribeCustomRoutingListenerRequest(*globalaccelerator.DescribeCustomRoutingListenerInput) (*request.Request, *globalaccelerator.DescribeCustomRoutingListenerOutput) + DescribeEndpointGroup(*globalaccelerator.DescribeEndpointGroupInput) (*globalaccelerator.DescribeEndpointGroupOutput, error) DescribeEndpointGroupWithContext(aws.Context, *globalaccelerator.DescribeEndpointGroupInput, ...request.Option) (*globalaccelerator.DescribeEndpointGroupOutput, error) DescribeEndpointGroupRequest(*globalaccelerator.DescribeEndpointGroupInput) (*request.Request, *globalaccelerator.DescribeEndpointGroupOutput) @@ -112,18 +164,62 @@ type GlobalAcceleratorAPI interface { ListAcceleratorsWithContext(aws.Context, *globalaccelerator.ListAcceleratorsInput, ...request.Option) (*globalaccelerator.ListAcceleratorsOutput, error) ListAcceleratorsRequest(*globalaccelerator.ListAcceleratorsInput) (*request.Request, *globalaccelerator.ListAcceleratorsOutput) + ListAcceleratorsPages(*globalaccelerator.ListAcceleratorsInput, func(*globalaccelerator.ListAcceleratorsOutput, bool) bool) error + ListAcceleratorsPagesWithContext(aws.Context, *globalaccelerator.ListAcceleratorsInput, func(*globalaccelerator.ListAcceleratorsOutput, bool) bool, ...request.Option) error + ListByoipCidrs(*globalaccelerator.ListByoipCidrsInput) (*globalaccelerator.ListByoipCidrsOutput, error) ListByoipCidrsWithContext(aws.Context, *globalaccelerator.ListByoipCidrsInput, ...request.Option) (*globalaccelerator.ListByoipCidrsOutput, error) ListByoipCidrsRequest(*globalaccelerator.ListByoipCidrsInput) (*request.Request, *globalaccelerator.ListByoipCidrsOutput) + ListCustomRoutingAccelerators(*globalaccelerator.ListCustomRoutingAcceleratorsInput) (*globalaccelerator.ListCustomRoutingAcceleratorsOutput, error) + ListCustomRoutingAcceleratorsWithContext(aws.Context, *globalaccelerator.ListCustomRoutingAcceleratorsInput, ...request.Option) (*globalaccelerator.ListCustomRoutingAcceleratorsOutput, error) + ListCustomRoutingAcceleratorsRequest(*globalaccelerator.ListCustomRoutingAcceleratorsInput) (*request.Request, *globalaccelerator.ListCustomRoutingAcceleratorsOutput) + + ListCustomRoutingAcceleratorsPages(*globalaccelerator.ListCustomRoutingAcceleratorsInput, func(*globalaccelerator.ListCustomRoutingAcceleratorsOutput, bool) bool) error + ListCustomRoutingAcceleratorsPagesWithContext(aws.Context, *globalaccelerator.ListCustomRoutingAcceleratorsInput, func(*globalaccelerator.ListCustomRoutingAcceleratorsOutput, bool) bool, ...request.Option) error + + ListCustomRoutingEndpointGroups(*globalaccelerator.ListCustomRoutingEndpointGroupsInput) (*globalaccelerator.ListCustomRoutingEndpointGroupsOutput, error) + ListCustomRoutingEndpointGroupsWithContext(aws.Context, *globalaccelerator.ListCustomRoutingEndpointGroupsInput, ...request.Option) (*globalaccelerator.ListCustomRoutingEndpointGroupsOutput, error) + ListCustomRoutingEndpointGroupsRequest(*globalaccelerator.ListCustomRoutingEndpointGroupsInput) (*request.Request, *globalaccelerator.ListCustomRoutingEndpointGroupsOutput) + + ListCustomRoutingEndpointGroupsPages(*globalaccelerator.ListCustomRoutingEndpointGroupsInput, func(*globalaccelerator.ListCustomRoutingEndpointGroupsOutput, bool) bool) error + ListCustomRoutingEndpointGroupsPagesWithContext(aws.Context, *globalaccelerator.ListCustomRoutingEndpointGroupsInput, func(*globalaccelerator.ListCustomRoutingEndpointGroupsOutput, bool) bool, ...request.Option) error + + ListCustomRoutingListeners(*globalaccelerator.ListCustomRoutingListenersInput) (*globalaccelerator.ListCustomRoutingListenersOutput, error) + ListCustomRoutingListenersWithContext(aws.Context, *globalaccelerator.ListCustomRoutingListenersInput, ...request.Option) (*globalaccelerator.ListCustomRoutingListenersOutput, error) + ListCustomRoutingListenersRequest(*globalaccelerator.ListCustomRoutingListenersInput) (*request.Request, *globalaccelerator.ListCustomRoutingListenersOutput) + + ListCustomRoutingListenersPages(*globalaccelerator.ListCustomRoutingListenersInput, func(*globalaccelerator.ListCustomRoutingListenersOutput, bool) bool) error + ListCustomRoutingListenersPagesWithContext(aws.Context, *globalaccelerator.ListCustomRoutingListenersInput, func(*globalaccelerator.ListCustomRoutingListenersOutput, bool) bool, ...request.Option) error + + ListCustomRoutingPortMappings(*globalaccelerator.ListCustomRoutingPortMappingsInput) (*globalaccelerator.ListCustomRoutingPortMappingsOutput, error) + ListCustomRoutingPortMappingsWithContext(aws.Context, *globalaccelerator.ListCustomRoutingPortMappingsInput, ...request.Option) (*globalaccelerator.ListCustomRoutingPortMappingsOutput, error) + ListCustomRoutingPortMappingsRequest(*globalaccelerator.ListCustomRoutingPortMappingsInput) (*request.Request, *globalaccelerator.ListCustomRoutingPortMappingsOutput) + + ListCustomRoutingPortMappingsPages(*globalaccelerator.ListCustomRoutingPortMappingsInput, func(*globalaccelerator.ListCustomRoutingPortMappingsOutput, bool) bool) error + ListCustomRoutingPortMappingsPagesWithContext(aws.Context, *globalaccelerator.ListCustomRoutingPortMappingsInput, func(*globalaccelerator.ListCustomRoutingPortMappingsOutput, bool) bool, ...request.Option) error + + ListCustomRoutingPortMappingsByDestination(*globalaccelerator.ListCustomRoutingPortMappingsByDestinationInput) (*globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput, error) + ListCustomRoutingPortMappingsByDestinationWithContext(aws.Context, *globalaccelerator.ListCustomRoutingPortMappingsByDestinationInput, ...request.Option) (*globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput, error) + ListCustomRoutingPortMappingsByDestinationRequest(*globalaccelerator.ListCustomRoutingPortMappingsByDestinationInput) (*request.Request, *globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput) + + ListCustomRoutingPortMappingsByDestinationPages(*globalaccelerator.ListCustomRoutingPortMappingsByDestinationInput, func(*globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput, bool) bool) error + ListCustomRoutingPortMappingsByDestinationPagesWithContext(aws.Context, *globalaccelerator.ListCustomRoutingPortMappingsByDestinationInput, func(*globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput, bool) bool, ...request.Option) error + ListEndpointGroups(*globalaccelerator.ListEndpointGroupsInput) (*globalaccelerator.ListEndpointGroupsOutput, error) ListEndpointGroupsWithContext(aws.Context, *globalaccelerator.ListEndpointGroupsInput, ...request.Option) (*globalaccelerator.ListEndpointGroupsOutput, error) ListEndpointGroupsRequest(*globalaccelerator.ListEndpointGroupsInput) (*request.Request, *globalaccelerator.ListEndpointGroupsOutput) + ListEndpointGroupsPages(*globalaccelerator.ListEndpointGroupsInput, func(*globalaccelerator.ListEndpointGroupsOutput, bool) bool) error + ListEndpointGroupsPagesWithContext(aws.Context, *globalaccelerator.ListEndpointGroupsInput, func(*globalaccelerator.ListEndpointGroupsOutput, bool) bool, ...request.Option) error + ListListeners(*globalaccelerator.ListListenersInput) (*globalaccelerator.ListListenersOutput, error) ListListenersWithContext(aws.Context, *globalaccelerator.ListListenersInput, ...request.Option) (*globalaccelerator.ListListenersOutput, error) ListListenersRequest(*globalaccelerator.ListListenersInput) (*request.Request, *globalaccelerator.ListListenersOutput) + ListListenersPages(*globalaccelerator.ListListenersInput, func(*globalaccelerator.ListListenersOutput, bool) bool) error + ListListenersPagesWithContext(aws.Context, *globalaccelerator.ListListenersInput, func(*globalaccelerator.ListListenersOutput, bool) bool, ...request.Option) error + ListTagsForResource(*globalaccelerator.ListTagsForResourceInput) (*globalaccelerator.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *globalaccelerator.ListTagsForResourceInput, ...request.Option) (*globalaccelerator.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*globalaccelerator.ListTagsForResourceInput) (*request.Request, *globalaccelerator.ListTagsForResourceOutput) @@ -132,6 +228,10 @@ type GlobalAcceleratorAPI interface { ProvisionByoipCidrWithContext(aws.Context, *globalaccelerator.ProvisionByoipCidrInput, ...request.Option) (*globalaccelerator.ProvisionByoipCidrOutput, error) ProvisionByoipCidrRequest(*globalaccelerator.ProvisionByoipCidrInput) (*request.Request, *globalaccelerator.ProvisionByoipCidrOutput) + RemoveCustomRoutingEndpoints(*globalaccelerator.RemoveCustomRoutingEndpointsInput) (*globalaccelerator.RemoveCustomRoutingEndpointsOutput, error) + RemoveCustomRoutingEndpointsWithContext(aws.Context, *globalaccelerator.RemoveCustomRoutingEndpointsInput, ...request.Option) (*globalaccelerator.RemoveCustomRoutingEndpointsOutput, error) + RemoveCustomRoutingEndpointsRequest(*globalaccelerator.RemoveCustomRoutingEndpointsInput) (*request.Request, *globalaccelerator.RemoveCustomRoutingEndpointsOutput) + TagResource(*globalaccelerator.TagResourceInput) (*globalaccelerator.TagResourceOutput, error) TagResourceWithContext(aws.Context, *globalaccelerator.TagResourceInput, ...request.Option) (*globalaccelerator.TagResourceOutput, error) TagResourceRequest(*globalaccelerator.TagResourceInput) (*request.Request, *globalaccelerator.TagResourceOutput) @@ -148,6 +248,18 @@ type GlobalAcceleratorAPI interface { UpdateAcceleratorAttributesWithContext(aws.Context, *globalaccelerator.UpdateAcceleratorAttributesInput, ...request.Option) (*globalaccelerator.UpdateAcceleratorAttributesOutput, error) UpdateAcceleratorAttributesRequest(*globalaccelerator.UpdateAcceleratorAttributesInput) (*request.Request, *globalaccelerator.UpdateAcceleratorAttributesOutput) + UpdateCustomRoutingAccelerator(*globalaccelerator.UpdateCustomRoutingAcceleratorInput) (*globalaccelerator.UpdateCustomRoutingAcceleratorOutput, error) + UpdateCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.UpdateCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.UpdateCustomRoutingAcceleratorOutput, error) + UpdateCustomRoutingAcceleratorRequest(*globalaccelerator.UpdateCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.UpdateCustomRoutingAcceleratorOutput) + + UpdateCustomRoutingAcceleratorAttributes(*globalaccelerator.UpdateCustomRoutingAcceleratorAttributesInput) (*globalaccelerator.UpdateCustomRoutingAcceleratorAttributesOutput, error) + UpdateCustomRoutingAcceleratorAttributesWithContext(aws.Context, *globalaccelerator.UpdateCustomRoutingAcceleratorAttributesInput, ...request.Option) (*globalaccelerator.UpdateCustomRoutingAcceleratorAttributesOutput, error) + UpdateCustomRoutingAcceleratorAttributesRequest(*globalaccelerator.UpdateCustomRoutingAcceleratorAttributesInput) (*request.Request, *globalaccelerator.UpdateCustomRoutingAcceleratorAttributesOutput) + + UpdateCustomRoutingListener(*globalaccelerator.UpdateCustomRoutingListenerInput) (*globalaccelerator.UpdateCustomRoutingListenerOutput, error) + UpdateCustomRoutingListenerWithContext(aws.Context, *globalaccelerator.UpdateCustomRoutingListenerInput, ...request.Option) (*globalaccelerator.UpdateCustomRoutingListenerOutput, error) + UpdateCustomRoutingListenerRequest(*globalaccelerator.UpdateCustomRoutingListenerInput) (*request.Request, *globalaccelerator.UpdateCustomRoutingListenerOutput) + UpdateEndpointGroup(*globalaccelerator.UpdateEndpointGroupInput) (*globalaccelerator.UpdateEndpointGroupOutput, error) UpdateEndpointGroupWithContext(aws.Context, *globalaccelerator.UpdateEndpointGroupInput, ...request.Option) (*globalaccelerator.UpdateEndpointGroupOutput, error) UpdateEndpointGroupRequest(*globalaccelerator.UpdateEndpointGroupInput) (*request.Request, *globalaccelerator.UpdateEndpointGroupOutput) diff --git a/service/redshift/api.go b/service/redshift/api.go index c75085d40bc..331abe9679f 100644 --- a/service/redshift/api.go +++ b/service/redshift/api.go @@ -1869,6 +1869,9 @@ func (c *Redshift) CreateSnapshotScheduleRequest(input *CreateSnapshotScheduleIn // * ErrCodeScheduleDefinitionTypeUnsupportedFault "ScheduleDefinitionTypeUnsupported" // The definition you submitted is not supported. // +// * ErrCodeInvalidTagFault "InvalidTagFault" +// The tag is invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotSchedule func (c *Redshift) CreateSnapshotSchedule(input *CreateSnapshotScheduleInput) (*CreateSnapshotScheduleOutput, error) { req, out := c.CreateSnapshotScheduleRequest(input) @@ -1961,6 +1964,9 @@ func (c *Redshift) CreateTagsRequest(input *CreateTagsInput) (req *request.Reque // * ErrCodeInvalidTagFault "InvalidTagFault" // The tag is invalid. // +// * ErrCodeInvalidClusterStateFault "InvalidClusterState" +// The specified cluster is not in the available state. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateTags func (c *Redshift) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { req, out := c.CreateTagsRequest(input) @@ -9440,7 +9446,7 @@ func (c *Redshift) ResizeClusterRequest(input *ResizeClusterInput) (req *request // // * You can only resize clusters of the following types: dc1.large (if your // cluster is in a VPC) dc1.8xlarge (if your cluster is in a VPC) dc2.large -// dc2.8xlarge ds2.xlarge ds2.8xlarge ra3.4xlarge ra3.16xlarge +// dc2.8xlarge ds2.xlarge ds2.8xlarge ra3.xlplus ra3.4xlarge ra3.16xlarge // // * The type of nodes that you add must match the node type for the cluster. // @@ -9853,6 +9859,9 @@ func (c *Redshift) ResumeClusterRequest(input *ResumeClusterInput) (req *request // * ErrCodeInvalidClusterStateFault "InvalidClusterState" // The specified cluster is not in the available state. // +// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity" +// The number of nodes specified exceeds the allotted capacity of the cluster. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResumeCluster func (c *Redshift) ResumeCluster(input *ResumeClusterInput) (*ResumeClusterOutput, error) { req, out := c.ResumeClusterRequest(input) @@ -10942,6 +10951,9 @@ type Cluster struct { // The name of the Availability Zone in which the cluster is located. AvailabilityZone *string `type:"string"` + // Describes the status of the Availability Zone relocation operation. + AvailabilityZoneRelocationStatus *string `type:"string"` + // The availability status of the cluster for queries. Possible values are the // following: // @@ -11206,6 +11218,12 @@ func (s *Cluster) SetAvailabilityZone(v string) *Cluster { return s } +// SetAvailabilityZoneRelocationStatus sets the AvailabilityZoneRelocationStatus field's value. +func (s *Cluster) SetAvailabilityZoneRelocationStatus(v string) *Cluster { + s.AvailabilityZoneRelocationStatus = &v + return s +} + // SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value. func (s *Cluster) SetClusterAvailabilityStatus(v string) *Cluster { s.ClusterAvailabilityStatus = &v @@ -12261,6 +12279,10 @@ type CreateClusterInput struct { // the current endpoint. AvailabilityZone *string `type:"string"` + // The option to enable relocation for an Amazon Redshift cluster between Availability + // Zones after the cluster is created. + AvailabilityZoneRelocation *bool `type:"boolean"` + // A unique identifier for the cluster. You use this identifier to refer to // the cluster for any subsequent cluster operations such as deleting or modifying. // The identifier also appears in the Amazon Redshift console. @@ -12445,7 +12467,7 @@ type CreateClusterInput struct { // in the Amazon Redshift Cluster Management Guide. // // Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large - // | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge + // | dc2.8xlarge | ra3.xlplus | ra3.4xlarge | ra3.16xlarge // // NodeType is a required field NodeType *string `type:"string" required:"true"` @@ -12564,6 +12586,12 @@ func (s *CreateClusterInput) SetAvailabilityZone(v string) *CreateClusterInput { return s } +// SetAvailabilityZoneRelocation sets the AvailabilityZoneRelocation field's value. +func (s *CreateClusterInput) SetAvailabilityZoneRelocation(v bool) *CreateClusterInput { + s.AvailabilityZoneRelocation = &v + return s +} + // SetClusterIdentifier sets the ClusterIdentifier field's value. func (s *CreateClusterInput) SetClusterIdentifier(v string) *CreateClusterInput { s.ClusterIdentifier = &v @@ -19065,6 +19093,9 @@ type Endpoint struct { // The port that the database engine is listening on. Port *int64 `type:"integer"` + + // Describes a connection endpoint. + VpcEndpoints []*SpartaProxyVpcEndpoint `locationNameList:"SpartaProxyVpcEndpoint" type:"list"` } // String returns the string representation @@ -19089,6 +19120,12 @@ func (s *Endpoint) SetPort(v int64) *Endpoint { return s } +// SetVpcEndpoints sets the VpcEndpoints field's value. +func (s *Endpoint) SetVpcEndpoints(v []*SpartaProxyVpcEndpoint) *Endpoint { + s.VpcEndpoints = v + return s +} + // Describes an event. type Event struct { _ struct{} `type:"structure"` @@ -20183,6 +20220,14 @@ type ModifyClusterInput struct { // Constraints: Must be a value from 0 to 35. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` + // The option to initiate relocation for an Amazon Redshift cluster to the target + // Availability Zone. + AvailabilityZone *string `type:"string"` + + // The option to enable relocation for an Amazon Redshift cluster between Availability + // Zones after the cluster modification is complete. + AvailabilityZoneRelocation *bool `type:"boolean"` + // The unique identifier of the cluster to be modified. // // Example: examplecluster @@ -20343,7 +20388,7 @@ type ModifyClusterInput struct { // in the Amazon Redshift Cluster Management Guide. // // Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large - // | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge + // | dc2.8xlarge | ra3.xlplus | ra3.4xlarge | ra3.16xlarge NodeType *string `type:"string"` // The new number of nodes of the cluster. If you specify a new number of nodes, @@ -20356,6 +20401,9 @@ type ModifyClusterInput struct { // Valid Values: Integer greater than 0. NumberOfNodes *int64 `type:"integer"` + // The option to change the port of an Amazon Redshift cluster. + Port *int64 `type:"integer"` + // The weekly time range (in UTC) during which system maintenance can occur, // if necessary. If system maintenance is necessary during the window, it may // result in an outage. @@ -20418,6 +20466,18 @@ func (s *ModifyClusterInput) SetAutomatedSnapshotRetentionPeriod(v int64) *Modif return s } +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *ModifyClusterInput) SetAvailabilityZone(v string) *ModifyClusterInput { + s.AvailabilityZone = &v + return s +} + +// SetAvailabilityZoneRelocation sets the AvailabilityZoneRelocation field's value. +func (s *ModifyClusterInput) SetAvailabilityZoneRelocation(v bool) *ModifyClusterInput { + s.AvailabilityZoneRelocation = &v + return s +} + // SetClusterIdentifier sets the ClusterIdentifier field's value. func (s *ModifyClusterInput) SetClusterIdentifier(v string) *ModifyClusterInput { s.ClusterIdentifier = &v @@ -20520,6 +20580,12 @@ func (s *ModifyClusterInput) SetNumberOfNodes(v int64) *ModifyClusterInput { return s } +// SetPort sets the Port field's value. +func (s *ModifyClusterInput) SetPort(v int64) *ModifyClusterInput { + s.Port = &v + return s +} + // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. func (s *ModifyClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyClusterInput { s.PreferredMaintenanceWindow = &v @@ -22937,6 +23003,10 @@ type RestoreFromClusterSnapshotInput struct { // Example: us-east-2a AvailabilityZone *string `type:"string"` + // The option to enable relocation for an Amazon Redshift cluster between Availability + // Zones after the cluster is restored. + AvailabilityZoneRelocation *bool `type:"boolean"` + // The identifier of the cluster that will be created from restoring the snapshot. // // Constraints: @@ -23155,6 +23225,12 @@ func (s *RestoreFromClusterSnapshotInput) SetAvailabilityZone(v string) *Restore return s } +// SetAvailabilityZoneRelocation sets the AvailabilityZoneRelocation field's value. +func (s *RestoreFromClusterSnapshotInput) SetAvailabilityZoneRelocation(v bool) *RestoreFromClusterSnapshotInput { + s.AvailabilityZoneRelocation = &v + return s +} + // SetClusterIdentifier sets the ClusterIdentifier field's value. func (s *RestoreFromClusterSnapshotInput) SetClusterIdentifier(v string) *RestoreFromClusterSnapshotInput { s.ClusterIdentifier = &v @@ -24214,6 +24290,10 @@ type Snapshot struct { // using HSM keys. EncryptedWithHSM *bool `type:"boolean"` + // The cluster version of the cluster used to create the snapshot. For example, + // 1.0.15503. + EngineFullVersion *string `type:"string"` + // An option that specifies whether to create the cluster with enhanced VPC // routing enabled. To create a cluster that uses enhanced VPC routing, the // cluster must be in a VPC. For more information, see Enhanced VPC Routing @@ -24387,6 +24467,12 @@ func (s *Snapshot) SetEncryptedWithHSM(v bool) *Snapshot { return s } +// SetEngineFullVersion sets the EngineFullVersion field's value. +func (s *Snapshot) SetEngineFullVersion(v string) *Snapshot { + s.EngineFullVersion = &v + return s +} + // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. func (s *Snapshot) SetEnhancedVpcRouting(v bool) *Snapshot { s.EnhancedVpcRouting = &v @@ -24740,6 +24826,32 @@ func (s *SnapshotSortingEntity) SetSortOrder(v string) *SnapshotSortingEntity { return s } +// The connection endpoint for connecting an Amazon Redshift cluster through +// the proxy. +type SpartaProxyVpcEndpoint struct { + _ struct{} `type:"structure"` + + // The connection endpoint ID for connecting an Amazon Redshift cluster through + // the proxy. + VpcEndpointId *string `type:"string"` +} + +// String returns the string representation +func (s SpartaProxyVpcEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpartaProxyVpcEndpoint) GoString() string { + return s.String() +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *SpartaProxyVpcEndpoint) SetVpcEndpointId(v string) *SpartaProxyVpcEndpoint { + s.VpcEndpointId = &v + return s +} + // Describes a subnet. type Subnet struct { _ struct{} `type:"structure"`