Skip to content

Commit 08ac2d6

Browse files
author
AWS
committed
AWS Global Accelerator Update: Global Accelerator now supports AddEndpoints and RemoveEndpoints operations for standard endpoint groups.
1 parent 6838d57 commit 08ac2d6

File tree

3 files changed

+125
-9
lines changed

3 files changed

+125
-9
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Global Accelerator",
4+
"contributor": "",
5+
"description": "Global Accelerator now supports AddEndpoints and RemoveEndpoints operations for standard endpoint groups."
6+
}

services/globalaccelerator/src/main/resources/codegen-resources/endpoint-tests.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
}
99
},
1010
"params": {
11-
"UseDualStack": false,
12-
"Region": "us-east-1",
1311
"UseFIPS": false,
12+
"Region": "us-east-1",
13+
"UseDualStack": false,
1414
"Endpoint": "https://example.com"
1515
}
1616
},
@@ -20,9 +20,9 @@
2020
"error": "Invalid Configuration: FIPS and custom endpoint are not supported"
2121
},
2222
"params": {
23-
"UseDualStack": false,
24-
"Region": "us-east-1",
2523
"UseFIPS": true,
24+
"Region": "us-east-1",
25+
"UseDualStack": false,
2626
"Endpoint": "https://example.com"
2727
}
2828
},
@@ -32,9 +32,9 @@
3232
"error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
3333
},
3434
"params": {
35-
"UseDualStack": true,
36-
"Region": "us-east-1",
3735
"UseFIPS": false,
36+
"Region": "us-east-1",
37+
"UseDualStack": true,
3838
"Endpoint": "https://example.com"
3939
}
4040
}

services/globalaccelerator/src/main/resources/codegen-resources/service-2.json

Lines changed: 113 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,24 @@
3232
],
3333
"documentation":"<p>Associate a virtual private cloud (VPC) subnet endpoint with your custom routing accelerator.</p> <p>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. </p> <p>Note: You must have enough remaining listener ports available to map to the subnet ports, or the call will fail with a LimitExceededException.</p> <p>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 <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/api/API_AllowCustomRoutingTraffic.html\"> AllowCustomRoutingTraffic</a> operation.</p>"
3434
},
35+
"AddEndpoints":{
36+
"name":"AddEndpoints",
37+
"http":{
38+
"method":"POST",
39+
"requestUri":"/"
40+
},
41+
"input":{"shape":"AddEndpointsRequest"},
42+
"output":{"shape":"AddEndpointsResponse"},
43+
"errors":[
44+
{"shape":"TransactionInProgressException"},
45+
{"shape":"EndpointGroupNotFoundException"},
46+
{"shape":"InternalServiceErrorException"},
47+
{"shape":"InvalidArgumentException"},
48+
{"shape":"LimitExceededException"},
49+
{"shape":"AccessDeniedException"}
50+
],
51+
"documentation":"<p>Add endpoints to an endpoint group. The <code>AddEndpoints</code> API operation is the recommended option for adding endpoints. The alternative options are to add endpoints when you create an endpoint group (with the <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/api/API_CreateEndpointGroup.html\">CreateEndpointGroup</a> API) or when you update an endpoint group (with the <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/api/API_UpdateEndpointGroup.html\">UpdateEndpointGroup</a> API). </p> <p>There are two advantages to using <code>AddEndpoints</code> to add endpoints:</p> <ul> <li> <p>It's faster, because Global Accelerator only has to resolve the new endpoints that you're adding.</p> </li> <li> <p>It's more convenient, because you don't need to specify all of the current endpoints that are already in the endpoint group in addition to the new endpoints that you want to add.</p> </li> </ul>"
52+
},
3553
"AdvertiseByoipCidr":{
3654
"name":"AdvertiseByoipCidr",
3755
"http":{
@@ -600,6 +618,22 @@
600618
],
601619
"documentation":"<p>Remove endpoints from a custom routing accelerator.</p>"
602620
},
621+
"RemoveEndpoints":{
622+
"name":"RemoveEndpoints",
623+
"http":{
624+
"method":"POST",
625+
"requestUri":"/"
626+
},
627+
"input":{"shape":"RemoveEndpointsRequest"},
628+
"errors":[
629+
{"shape":"EndpointGroupNotFoundException"},
630+
{"shape":"InternalServiceErrorException"},
631+
{"shape":"InvalidArgumentException"},
632+
{"shape":"AccessDeniedException"},
633+
{"shape":"TransactionInProgressException"}
634+
],
635+
"documentation":"<p>Remove endpoints from an endpoint group. </p> <p>The <code>RemoveEndpoints</code> API operation is the recommended option for removing endpoints. The alternative is to remove endpoints by updating an endpoint group by using the <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/api/API_UpdateEndpointGroup.html\">UpdateEndpointGroup</a> API operation. There are two advantages to using <code>AddEndpoints</code> to remove endpoints instead:</p> <ul> <li> <p>It's more convenient, because you only need to specify the endpoints that you want to remove. With the <code>UpdateEndpointGroup</code> API operation, you must specify all of the endpoints in the endpoint group except the ones that you want to remove from the group.</p> </li> <li> <p>It's faster, because Global Accelerator doesn't need to resolve any endpoints. With the <code>UpdateEndpointGroup</code> API operation, Global Accelerator must resolve all of the endpoints that remain in the group.</p> </li> </ul>"
636+
},
603637
"TagResource":{
604638
"name":"TagResource",
605639
"http":{
@@ -788,7 +822,7 @@
788822
},
789823
"DnsName":{
790824
"shape":"GenericString",
791-
"documentation":"<p>The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.</p> <p>The naming convention for the DNS name for an accelerator is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: a1234567890abcdef.awsglobalaccelerator.com.</p> <p>If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record and the AAAA record for all four static addresses for the accelerator (two IPv4 addresses and two IPv6 addresses).</p> <p>For more information about the default DNS name, see <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/dg/dns-addressing-custom-domains.dns-addressing.html\"> Support for DNS Addressing in Global Accelerator</a> in the <i>Global Accelerator Developer Guide</i>.</p>"
825+
"documentation":"<p>The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.</p> <p>The naming convention for the DNS name for an accelerator is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: a1234567890abcdef.awsglobalaccelerator.com.</p> <p>If you have a dual-stack accelerator, you also have a second DNS name, <code>DualStackDnsName</code>, that points to both the A record and the AAAA record for all four static addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.</p> <p>For more information about the default DNS name, see <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/dg/dns-addressing-custom-domains.dns-addressing.html\"> Support for DNS addressing in Global Accelerator</a> in the <i>Global Accelerator Developer Guide</i>.</p>"
792826
},
793827
"Status":{
794828
"shape":"AcceleratorStatus",
@@ -804,7 +838,7 @@
804838
},
805839
"DualStackDnsName":{
806840
"shape":"GenericString",
807-
"documentation":"<p>The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses.</p> <p>The naming convention for the dual-stack DNS name is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .dualstack.awsglobalaccelerator.com. For example: a1234567890abcdef.dualstack.awsglobalaccelerator.com.</p> <p>Note: Global Accelerator also assigns a default DNS name, DnsName, to your accelerator that points just to the static IPv4 addresses. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing\"> Support for DNS Addressing in Global Accelerator</a> in the <i>Global Accelerator Developer Guide</i>.</p>"
841+
"documentation":"<p>The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses.</p> <p>The naming convention for the dual-stack DNS name is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .dualstack.awsglobalaccelerator.com. For example: a1234567890abcdef.dualstack.awsglobalaccelerator.com.</p> <p>Note: Global Accelerator also assigns a default DNS name, <code>DnsName</code>, to your accelerator that points just to the static IPv4 addresses. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing\"> Support for DNS addressing in Global Accelerator</a> in the <i>Global Accelerator Developer Guide</i>.</p>"
808842
},
809843
"Events":{
810844
"shape":"AcceleratorEvents",
@@ -914,6 +948,36 @@
914948
}
915949
}
916950
},
951+
"AddEndpointsRequest":{
952+
"type":"structure",
953+
"required":[
954+
"EndpointConfigurations",
955+
"EndpointGroupArn"
956+
],
957+
"members":{
958+
"EndpointConfigurations":{
959+
"shape":"EndpointConfigurations",
960+
"documentation":"<p>The list of endpoint objects.</p>"
961+
},
962+
"EndpointGroupArn":{
963+
"shape":"GenericString",
964+
"documentation":"<p>The Amazon Resource Name (ARN) of the endpoint group.</p>"
965+
}
966+
}
967+
},
968+
"AddEndpointsResponse":{
969+
"type":"structure",
970+
"members":{
971+
"EndpointDescriptions":{
972+
"shape":"EndpointDescriptions",
973+
"documentation":"<p>The list of endpoint objects.</p>"
974+
},
975+
"EndpointGroupArn":{
976+
"shape":"GenericString",
977+
"documentation":"<p>The Amazon Resource Name (ARN) of the endpoint group.</p>"
978+
}
979+
}
980+
},
917981
"AdvertiseByoipCidrRequest":{
918982
"type":"structure",
919983
"required":["Cidr"],
@@ -1360,7 +1424,7 @@
13601424
},
13611425
"DnsName":{
13621426
"shape":"GenericString",
1363-
"documentation":"<p>The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses. </p> <p>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.</p> <p>If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record and the AAAA record for all four static addresses for the accelerator (two IPv4 addresses and two IPv6 addresses).</p> <p>For more information about the default DNS name, see <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/dg/dns-addressing-custom-domains.dns-addressing.html\"> Support for DNS Addressing in Global Accelerator</a> in the <i>Global Accelerator Developer Guide</i>.</p>"
1427+
"documentation":"<p>The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses. </p> <p>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.</p> <p>If you have a dual-stack accelerator, you also have a second DNS name, <code>DualStackDnsName</code>, that points to both the A record and the AAAA record for all four static addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.</p> <p>For more information about the default DNS name, see <a href=\"https://docs.aws.amazon.com/global-accelerator/latest/dg/dns-addressing-custom-domains.dns-addressing.html\"> Support for DNS addressing in Global Accelerator</a> in the <i>Global Accelerator Developer Guide</i>.</p>"
13641428
},
13651429
"Status":{
13661430
"shape":"CustomRoutingAcceleratorStatus",
@@ -1991,6 +2055,27 @@
19912055
"type":"list",
19922056
"member":{"shape":"EndpointGroup"}
19932057
},
2058+
"EndpointIdentifier":{
2059+
"type":"structure",
2060+
"required":["EndpointId"],
2061+
"members":{
2062+
"EndpointId":{
2063+
"shape":"GenericString",
2064+
"documentation":"<p>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. </p> <p>An Application Load Balancer can be either internal or internet-facing.</p>"
2065+
},
2066+
"ClientIPPreservationEnabled":{
2067+
"shape":"GenericBoolean",
2068+
"documentation":"<p>Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. </p> <p>If the value is set to true, the client's IP address is preserved in the <code>X-Forwarded-For</code> request header as traffic travels to applications on the endpoint fronted by the accelerator.</p>"
2069+
}
2070+
},
2071+
"documentation":"<p>A complex type for an endpoint. Specifies information about the endpoint to remove from the endpoint group.</p>"
2072+
},
2073+
"EndpointIdentifiers":{
2074+
"type":"list",
2075+
"member":{"shape":"EndpointIdentifier"},
2076+
"max":10,
2077+
"min":1
2078+
},
19942079
"EndpointIds":{
19952080
"type":"list",
19962081
"member":{"shape":"GenericString"}
@@ -2616,6 +2701,23 @@
26162701
}
26172702
}
26182703
},
2704+
"RemoveEndpointsRequest":{
2705+
"type":"structure",
2706+
"required":[
2707+
"EndpointIdentifiers",
2708+
"EndpointGroupArn"
2709+
],
2710+
"members":{
2711+
"EndpointIdentifiers":{
2712+
"shape":"EndpointIdentifiers",
2713+
"documentation":"<p>The identifiers of the endpoints that you want to remove.</p>"
2714+
},
2715+
"EndpointGroupArn":{
2716+
"shape":"GenericString",
2717+
"documentation":"<p>The Amazon Resource Name (ARN) of the endpoint group.</p>"
2718+
}
2719+
}
2720+
},
26192721
"ResourceArn":{
26202722
"type":"string",
26212723
"max":1011,
@@ -2710,6 +2812,14 @@
27102812
"max":100,
27112813
"min":0
27122814
},
2815+
"TransactionInProgressException":{
2816+
"type":"structure",
2817+
"members":{
2818+
"Message":{"shape":"ErrorMessage"}
2819+
},
2820+
"documentation":"<p>There's already a transaction in progress. Another transaction can't be processed.</p>",
2821+
"exception":true
2822+
},
27132823
"UntagResourceRequest":{
27142824
"type":"structure",
27152825
"required":[

0 commit comments

Comments
 (0)