Skip to content

Commit 0d9d3e8

Browse files
author
awstools
committed
feat(client-ec2): Provision BYOIPv4 address ranges and advertise them by specifying the network border groups option in Los Angeles, Phoenix and Dallas AWS Local Zones.
1 parent ba936d1 commit 0d9d3e8

File tree

12 files changed

+156
-65
lines changed

12 files changed

+156
-65
lines changed

clients/client-ec2/src/commands/AdvertiseByoipCidrCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export interface AdvertiseByoipCidrCommandOutput extends AdvertiseByoipCidrResul
5858
* Cidr: "STRING_VALUE", // required
5959
* Asn: "STRING_VALUE",
6060
* DryRun: true || false,
61+
* NetworkBorderGroup: "STRING_VALUE",
6162
* };
6263
* const command = new AdvertiseByoipCidrCommand(input);
6364
* const response = await client.send(command);
@@ -75,6 +76,7 @@ export interface AdvertiseByoipCidrCommandOutput extends AdvertiseByoipCidrResul
7576
* // ],
7677
* // StatusMessage: "STRING_VALUE",
7778
* // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable",
79+
* // NetworkBorderGroup: "STRING_VALUE",
7880
* // },
7981
* // };
8082
*

clients/client-ec2/src/commands/DeprovisionByoipCidrCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export interface DeprovisionByoipCidrCommandOutput extends DeprovisionByoipCidrR
6767
* // ],
6868
* // StatusMessage: "STRING_VALUE",
6969
* // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable",
70+
* // NetworkBorderGroup: "STRING_VALUE",
7071
* // },
7172
* // };
7273
*

clients/client-ec2/src/commands/DescribeByoipCidrsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export interface DescribeByoipCidrsCommandOutput extends DescribeByoipCidrsResul
6868
* // ],
6969
* // StatusMessage: "STRING_VALUE",
7070
* // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable",
71+
* // NetworkBorderGroup: "STRING_VALUE",
7172
* // },
7273
* // ],
7374
* // NextToken: "STRING_VALUE",

clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export interface MoveByoipCidrToIpamCommandOutput extends MoveByoipCidrToIpamRes
6767
* // ],
6868
* // StatusMessage: "STRING_VALUE",
6969
* // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable",
70+
* // NetworkBorderGroup: "STRING_VALUE",
7071
* // },
7172
* // };
7273
*

clients/client-ec2/src/commands/ProvisionByoipCidrCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ export interface ProvisionByoipCidrCommandOutput extends ProvisionByoipCidrResul
7676
* },
7777
* ],
7878
* MultiRegion: true || false,
79+
* NetworkBorderGroup: "STRING_VALUE",
7980
* };
8081
* const command = new ProvisionByoipCidrCommand(input);
8182
* const response = await client.send(command);
@@ -93,6 +94,7 @@ export interface ProvisionByoipCidrCommandOutput extends ProvisionByoipCidrResul
9394
* // ],
9495
* // StatusMessage: "STRING_VALUE",
9596
* // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable",
97+
* // NetworkBorderGroup: "STRING_VALUE",
9698
* // },
9799
* // };
98100
*

clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export interface WithdrawByoipCidrCommandOutput extends WithdrawByoipCidrResult,
6868
* // ],
6969
* // StatusMessage: "STRING_VALUE",
7070
* // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable",
71+
* // NetworkBorderGroup: "STRING_VALUE",
7172
* // },
7273
* // };
7374
*

clients/client-ec2/src/models/models_0.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2975,6 +2975,27 @@ export interface AdvertiseByoipCidrRequest {
29752975
* Otherwise, it is <code>UnauthorizedOperation</code>.</p>
29762976
*/
29772977
DryRun?: boolean;
2978+
2979+
/**
2980+
* @public
2981+
* <p>If you have <a href="https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html">Local Zones</a> enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with must reside in the same network border group.</p>
2982+
* <p>You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:</p>
2983+
* <ul>
2984+
* <li>
2985+
* <p>us-east-1-dfw-2</p>
2986+
* </li>
2987+
* <li>
2988+
* <p>us-west-2-lax-1</p>
2989+
* </li>
2990+
* <li>
2991+
* <p>us-west-2-phx-2</p>
2992+
* </li>
2993+
* </ul>
2994+
* <note>
2995+
* <p>You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.</p>
2996+
* </note>
2997+
*/
2998+
NetworkBorderGroup?: string;
29782999
}
29793000

29803001
/**
@@ -3080,6 +3101,27 @@ export interface ByoipCidr {
30803101
* <p>The state of the address pool.</p>
30813102
*/
30823103
State?: ByoipCidrState;
3104+
3105+
/**
3106+
* @public
3107+
* <p>If you have <a href="https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html">Local Zones</a> enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with must reside in the same network border group.</p>
3108+
* <p>You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:</p>
3109+
* <ul>
3110+
* <li>
3111+
* <p>us-east-1-dfw-2</p>
3112+
* </li>
3113+
* <li>
3114+
* <p>us-west-2-lax-1</p>
3115+
* </li>
3116+
* <li>
3117+
* <p>us-west-2-phx-2</p>
3118+
* </li>
3119+
* </ul>
3120+
* <note>
3121+
* <p>You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.</p>
3122+
* </note>
3123+
*/
3124+
NetworkBorderGroup?: string;
30833125
}
30843126

30853127
/**

clients/client-ec2/src/models/models_1.ts

Lines changed: 36 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -6737,27 +6737,26 @@ export type LaunchTemplateInstanceMetadataTagsState =
67376737
export interface LaunchTemplateInstanceMetadataOptionsRequest {
67386738
/**
67396739
* @public
6740-
* <p>IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to <code>optional</code>
6741-
* (in other words, set the use of IMDSv2 to <code>optional</code>) or
6742-
* <code>required</code> (in other words, set the use of IMDSv2 to
6743-
* <code>required</code>).</p>
6740+
* <p>Indicates whether IMDSv2 is required.</p>
67446741
* <ul>
67456742
* <li>
67466743
* <p>
6747-
* <code>optional</code> - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without
6748-
* a session token in your request. If you retrieve the IAM role credentials
6749-
* without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials
6750-
* using a valid session token, the IMDSv2 role credentials are returned.</p>
6744+
* <code>optional</code> - IMDSv2 is optional. You can choose whether to send a
6745+
* session token in your instance metadata retrieval requests. If you retrieve
6746+
* IAM role credentials without a session token, you receive the IMDSv1 role
6747+
* credentials. If you retrieve IAM role credentials using a valid session token,
6748+
* you receive the IMDSv2 role credentials.</p>
67516749
* </li>
67526750
* <li>
67536751
* <p>
6754-
* <code>required</code> - When IMDSv2 is required, you must send a session token
6755-
* with any instance metadata retrieval requests. In this state, retrieving the IAM role
6756-
* credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.</p>
6752+
* <code>required</code> - IMDSv2 is required. You must send a session token
6753+
* in your instance metadata retrieval requests. With this option, retrieving the
6754+
* IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are
6755+
* not available.</p>
67576756
* </li>
67586757
* </ul>
6759-
* <p>Default: <code>optional</code>
6760-
* </p>
6758+
* <p>Default: If the value of <code>ImdsSupport</code> for the Amazon Machine Image (AMI)
6759+
* for your instance is <code>v2.0</code>, the default is <code>required</code>.</p>
67616760
*/
67626761
HttpTokens?: LaunchTemplateHttpTokensState;
67636762

@@ -6956,6 +6955,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
69566955
/**
69576956
* @public
69586957
* <p>Associates a public IPv4 address with eth0 for a new network interface.</p>
6958+
* <p>Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses
6959+
* associated with running instances and Elastic IP addresses. For more information, see the <i>Public IPv4 Address</i> tab on the <a href="http://aws.amazon.com/vpc/pricing/">Amazon VPC pricing page</a>.</p>
69596960
*/
69606961
AssociatePublicIpAddress?: boolean;
69616962

@@ -7380,29 +7381,8 @@ export interface RequestLaunchTemplateData {
73807381

73817382
/**
73827383
* @public
7383-
* <p>The tags to apply to the resources that are created during instance launch.</p>
7384-
* <p>You can specify tags for the following resources only:</p>
7385-
* <ul>
7386-
* <li>
7387-
* <p>Instances</p>
7388-
* </li>
7389-
* <li>
7390-
* <p>Volumes</p>
7391-
* </li>
7392-
* <li>
7393-
* <p>Elastic graphics</p>
7394-
* </li>
7395-
* <li>
7396-
* <p>Spot Instance requests</p>
7397-
* </li>
7398-
* <li>
7399-
* <p>Network interfaces</p>
7400-
* </li>
7401-
* </ul>
7402-
* <p>To tag a resource after it has been created, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>.</p>
7403-
* <note>
7404-
* <p>To tag the launch template itself, you must use the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html">TagSpecification</a> parameter.</p>
7405-
* </note>
7384+
* <p>The tags to apply to the resources that are created during instance launch. These
7385+
* tags are not applied to the launch template.</p>
74067386
*/
74077387
TagSpecifications?: LaunchTemplateTagSpecificationRequest[];
74087388

@@ -8162,18 +8142,24 @@ export interface LaunchTemplateInstanceMetadataOptions {
81628142

81638143
/**
81648144
* @public
8165-
* <p>Indicates whether IMDSv2 is <code>optional</code> or <code>required</code>.</p>
8166-
* <p>
8167-
* <code>optional</code> - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without
8168-
* a session token in your request. If you retrieve the IAM role credentials
8169-
* without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials
8170-
* using a valid session token, the IMDSv2 role credentials are returned.</p>
8171-
* <p>
8172-
* <code>required</code> - When IMDSv2 is required, you must send a session token
8173-
* with any instance metadata retrieval requests. In this state, retrieving the IAM role
8174-
* credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.</p>
8175-
* <p>Default: <code>optional</code>
8176-
* </p>
8145+
* <p>Indicates whether IMDSv2 is required.</p>
8146+
* <ul>
8147+
* <li>
8148+
* <p>
8149+
* <code>optional</code> - IMDSv2 is optional. You can choose whether to send a
8150+
* session token in your instance metadata retrieval requests. If you retrieve
8151+
* IAM role credentials without a session token, you receive the IMDSv1 role
8152+
* credentials. If you retrieve IAM role credentials using a valid session token,
8153+
* you receive the IMDSv2 role credentials.</p>
8154+
* </li>
8155+
* <li>
8156+
* <p>
8157+
* <code>required</code> - IMDSv2 is required. You must send a session token
8158+
* in your instance metadata retrieval requests. With this option, retrieving the
8159+
* IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are
8160+
* not available.</p>
8161+
* </li>
8162+
* </ul>
81778163
*/
81788164
HttpTokens?: LaunchTemplateHttpTokensState;
81798165

@@ -8368,6 +8354,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification {
83688354
* @public
83698355
* <p>Indicates whether to associate a public IPv4 address with eth0 for a new network
83708356
* interface.</p>
8357+
* <p>Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses
8358+
* associated with running instances and Elastic IP addresses. For more information, see the <i>Public IPv4 Address</i> tab on the <a href="http://aws.amazon.com/vpc/pricing/">Amazon VPC pricing page</a>.</p>
83718359
*/
83728360
AssociatePublicIpAddress?: boolean;
83738361

clients/client-ec2/src/models/models_4.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10815,6 +10815,8 @@ export interface InstanceNetworkInterfaceSpecification {
1081510815
* assigned to a new network interface, not an existing one. You cannot specify more than one
1081610816
* network interface in the request. If launching into a default subnet, the default value is
1081710817
* <code>true</code>.</p>
10818+
* <p>Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses
10819+
* associated with running instances and Elastic IP addresses. For more information, see the <i>Public IPv4 Address</i> tab on the <a href="http://aws.amazon.com/vpc/pricing/">Amazon VPC pricing page</a>.</p>
1081810820
*/
1081910821
AssociatePublicIpAddress?: boolean;
1082010822

clients/client-ec2/src/models/models_6.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8645,6 +8645,27 @@ export interface ProvisionByoipCidrRequest {
86458645
* <p>Reserved.</p>
86468646
*/
86478647
MultiRegion?: boolean;
8648+
8649+
/**
8650+
* @public
8651+
* <p>If you have <a href="https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html">Local Zones</a> enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with must reside in the same network border group.</p>
8652+
* <p>You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:</p>
8653+
* <ul>
8654+
* <li>
8655+
* <p>us-east-1-dfw-2</p>
8656+
* </li>
8657+
* <li>
8658+
* <p>us-west-2-lax-1</p>
8659+
* </li>
8660+
* <li>
8661+
* <p>us-west-2-phx-2</p>
8662+
* </li>
8663+
* </ul>
8664+
* <note>
8665+
* <p>You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.</p>
8666+
* </note>
8667+
*/
8668+
NetworkBorderGroup?: string;
86488669
}
86498670

86508671
/**

clients/client-ec2/src/protocols/Aws_ec2.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39349,6 +39349,9 @@ const se_AdvertiseByoipCidrRequest = (input: AdvertiseByoipCidrRequest, context:
3934939349
if (input[_DRr] != null) {
3935039350
entries[_DRr] = input[_DRr];
3935139351
}
39352+
if (input[_NBG] != null) {
39353+
entries[_NBG] = input[_NBG];
39354+
}
3935239355
return entries;
3935339356
};
3935439357

@@ -62045,6 +62048,9 @@ const se_ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequest, context:
6204562048
if (input[_MRu] != null) {
6204662049
entries[_MRu] = input[_MRu];
6204762050
}
62051+
if (input[_NBG] != null) {
62052+
entries[_NBG] = input[_NBG];
62053+
}
6204862054
return entries;
6204962055
};
6205062056

@@ -69330,6 +69336,9 @@ const de_ByoipCidr = (output: any, context: __SerdeContext): ByoipCidr => {
6933069336
if (output[_st] != null) {
6933169337
contents[_Stat] = __expectString(output[_st]);
6933269338
}
69339+
if (output[_nBG] != null) {
69340+
contents[_NBG] = __expectString(output[_nBG]);
69341+
}
6933369342
return contents;
6933469343
};
6933569344

0 commit comments

Comments
 (0)