Skip to content

Commit d835dbb

Browse files
author
awstools
committed
feat(client-ec2): Add parameters to enable provisioning IPAM BYOIPv4 space at a Local Zone Network Border Group level
1 parent 992c63a commit d835dbb

14 files changed

+157
-19
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export interface CreatePublicIpv4PoolCommandOutput extends CreatePublicIpv4PoolR
4848
* ],
4949
* },
5050
* ],
51+
* NetworkBorderGroup: "STRING_VALUE",
5152
* };
5253
* const command = new CreatePublicIpv4PoolCommand(input);
5354
* const response = await client.send(command);

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export interface DeletePublicIpv4PoolCommandOutput extends DeletePublicIpv4PoolR
3838
* const input = { // DeletePublicIpv4PoolRequest
3939
* DryRun: true || false,
4040
* PoolId: "STRING_VALUE", // required
41+
* NetworkBorderGroup: "STRING_VALUE",
4142
* };
4243
* const command = new DeletePublicIpv4PoolCommand(input);
4344
* const response = await client.send(command);

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ export interface GetIpamDiscoveredResourceCidrsCommandOutput
7474
* // ],
7575
* // IpUsage: Number("double"),
7676
* // VpcId: "STRING_VALUE",
77+
* // NetworkInterfaceAttachmentStatus: "available" || "in-use",
7778
* // SampleTime: new Date("TIMESTAMP"),
79+
* // AvailabilityZoneId: "STRING_VALUE",
7880
* // },
7981
* // ],
8082
* // NextToken: "STRING_VALUE",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ export interface GetIpamResourceCidrsCommandOutput extends GetIpamResourceCidrsR
8383
* // ManagementState: "managed" || "unmanaged" || "ignored",
8484
* // OverlapStatus: "overlapping" || "nonoverlapping" || "ignored",
8585
* // VpcId: "STRING_VALUE",
86+
* // AvailabilityZoneId: "STRING_VALUE",
8687
* // },
8788
* // ],
8889
* // };

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export interface ModifyIpamResourceCidrCommandOutput extends ModifyIpamResourceC
6969
* // ManagementState: "managed" || "unmanaged" || "ignored",
7070
* // OverlapStatus: "overlapping" || "nonoverlapping" || "ignored",
7171
* // VpcId: "STRING_VALUE",
72+
* // AvailabilityZoneId: "STRING_VALUE",
7273
* // },
7374
* // };
7475
*

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { ProvisionByoipCidrRequest, ProvisionByoipCidrResult } from "../models/models_6";
9+
import { ProvisionByoipCidrRequest } from "../models/models_6";
10+
import { ProvisionByoipCidrResult } from "../models/models_7";
1011
import { de_ProvisionByoipCidrCommand, se_ProvisionByoipCidrCommand } from "../protocols/Aws_ec2";
1112

1213
/**

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export interface ProvisionPublicIpv4PoolCidrCommandOutput extends ProvisionPubli
4141
* IpamPoolId: "STRING_VALUE", // required
4242
* PoolId: "STRING_VALUE", // required
4343
* NetmaskLength: Number("int"), // required
44+
* NetworkBorderGroup: "STRING_VALUE",
4445
* };
4546
* const command = new ProvisionPublicIpv4PoolCidrCommand(input);
4647
* const response = await client.send(command);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5467,7 +5467,7 @@ export interface CreateIpamPoolRequest {
54675467
IpamScopeId: string | undefined;
54685468

54695469
/**
5470-
* <p>In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.</p>
5470+
* <p>In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (<a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail">supported Local Zones</a>). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.</p>
54715471
* <p>Possible values: Any Amazon Web Services Region, such as us-east-1.</p>
54725472
* @public
54735473
*/
@@ -5711,7 +5711,7 @@ export interface IpamPool {
57115711
IpamRegion?: string;
57125712

57135713
/**
5714-
* <p>The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.</p>
5714+
* <p>The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (<a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail">supported Local Zones</a>). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.</p>
57155715
* @public
57165716
*/
57175717
Locale?: string;

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,12 @@ export interface CreatePublicIpv4PoolRequest {
653653
* @public
654654
*/
655655
TagSpecifications?: TagSpecification[];
656+
657+
/**
658+
* <p>The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail">Local Zone availability</a> in the <i>Amazon EC2 User Guide</i>.</p>
659+
* @public
660+
*/
661+
NetworkBorderGroup?: string;
656662
}
657663

658664
/**

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,12 @@ export interface DeletePublicIpv4PoolRequest {
383383
* @public
384384
*/
385385
PoolId: string | undefined;
386+
387+
/**
388+
* <p>The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail">Local Zone availability</a> in the <i>Amazon EC2 User Guide</i>.</p>
389+
* @public
390+
*/
391+
NetworkBorderGroup?: string;
386392
}
387393

388394
/**

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

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ export interface IpamDiscoveredPublicAddress {
668668
Tags?: IpamPublicAddressTags;
669669

670670
/**
671-
* <p>The network border group that the resource that the IP address is assigned to is in.</p>
671+
* <p>The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail">Local Zone availability</a> in the <i>Amazon EC2 User Guide</i>.</p>
672672
* @public
673673
*/
674674
NetworkBorderGroup?: string;
@@ -752,6 +752,21 @@ export interface GetIpamDiscoveredResourceCidrsRequest {
752752
MaxResults?: number;
753753
}
754754

755+
/**
756+
* @public
757+
* @enum
758+
*/
759+
export const IpamNetworkInterfaceAttachmentStatus = {
760+
available: "available",
761+
in_use: "in-use",
762+
} as const;
763+
764+
/**
765+
* @public
766+
*/
767+
export type IpamNetworkInterfaceAttachmentStatus =
768+
(typeof IpamNetworkInterfaceAttachmentStatus)[keyof typeof IpamNetworkInterfaceAttachmentStatus];
769+
755770
/**
756771
* @public
757772
* @enum
@@ -843,11 +858,23 @@ export interface IpamDiscoveredResourceCidr {
843858
*/
844859
VpcId?: string;
845860

861+
/**
862+
* <p>For elastic IP addresses, this is the status of an attached network interface.</p>
863+
* @public
864+
*/
865+
NetworkInterfaceAttachmentStatus?: IpamNetworkInterfaceAttachmentStatus;
866+
846867
/**
847868
* <p>The last successful resource discovery time.</p>
848869
* @public
849870
*/
850871
SampleTime?: Date;
872+
873+
/**
874+
* <p>The Availability Zone ID.</p>
875+
* @public
876+
*/
877+
AvailabilityZoneId?: string;
851878
}
852879

853880
/**
@@ -1171,6 +1198,12 @@ export interface IpamResourceCidr {
11711198
* @public
11721199
*/
11731200
VpcId?: string;
1201+
1202+
/**
1203+
* <p>The Availability Zone ID.</p>
1204+
* @public
1205+
*/
1206+
AvailabilityZoneId?: string;
11741207
}
11751208

11761209
/**
@@ -9608,17 +9641,6 @@ export interface ProvisionByoipCidrRequest {
96089641
NetworkBorderGroup?: string;
96099642
}
96109643

9611-
/**
9612-
* @public
9613-
*/
9614-
export interface ProvisionByoipCidrResult {
9615-
/**
9616-
* <p>Information about the address range.</p>
9617-
* @public
9618-
*/
9619-
ByoipCidr?: ByoipCidr;
9620-
}
9621-
96229644
/**
96239645
* @internal
96249646
*/

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,17 @@ import { Purchase } from "./models_5";
8282

8383
import { CapacityReservationSpecification, InstanceMonitoring, Status } from "./models_6";
8484

85+
/**
86+
* @public
87+
*/
88+
export interface ProvisionByoipCidrResult {
89+
/**
90+
* <p>Information about the address range.</p>
91+
* @public
92+
*/
93+
ByoipCidr?: ByoipCidr;
94+
}
95+
8596
/**
8697
* <p>Provides authorization for Amazon to bring an Autonomous System Number (ASN) to a specific Amazon Web Services account using bring your own ASN (BYOASN).
8798
* For details on the format of the message and signature, see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html">Tutorial: Bring your ASN to IPAM</a> in the <i>Amazon VPC IPAM guide</i>.</p>
@@ -244,6 +255,12 @@ export interface ProvisionPublicIpv4PoolCidrRequest {
244255
* @public
245256
*/
246257
NetmaskLength: number | undefined;
258+
259+
/**
260+
* <p>The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail">Local Zone availability</a> in the <i>Amazon EC2 User Guide</i>.</p>
261+
* @public
262+
*/
263+
NetworkBorderGroup?: string;
247264
}
248265

249266
/**

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3903,7 +3903,6 @@ import {
39033903
PrefixListAssociation,
39043904
PrefixListEntry,
39053905
ProvisionByoipCidrRequest,
3906-
ProvisionByoipCidrResult,
39073906
RemoveIpamOperatingRegion,
39083907
RemovePrefixListEntry,
39093908
ReservationValue,
@@ -3951,6 +3950,7 @@ import {
39513950
LaunchTemplateSpecification,
39523951
LicenseConfigurationRequest,
39533952
PrivateDnsNameOptionsRequest,
3953+
ProvisionByoipCidrResult,
39543954
ProvisionIpamByoasnRequest,
39553955
ProvisionIpamByoasnResult,
39563956
ProvisionIpamPoolCidrRequest,
@@ -30914,6 +30914,9 @@ const se_CreatePublicIpv4PoolRequest = (input: CreatePublicIpv4PoolRequest, cont
3091430914
entries[loc] = value;
3091530915
});
3091630916
}
30917+
if (input[_NBG] != null) {
30918+
entries[_NBG] = input[_NBG];
30919+
}
3091730920
return entries;
3091830921
};
3091930922

@@ -33372,6 +33375,9 @@ const se_DeletePublicIpv4PoolRequest = (input: DeletePublicIpv4PoolRequest, cont
3337233375
if (input[_PIo] != null) {
3337333376
entries[_PIo] = input[_PIo];
3337433377
}
33378+
if (input[_NBG] != null) {
33379+
entries[_NBG] = input[_NBG];
33380+
}
3337533381
return entries;
3337633382
};
3337733383

@@ -48672,6 +48678,9 @@ const se_ProvisionPublicIpv4PoolCidrRequest = (
4867248678
if (input[_NL] != null) {
4867348679
entries[_NL] = input[_NL];
4867448680
}
48681+
if (input[_NBG] != null) {
48682+
entries[_NBG] = input[_NBG];
48683+
}
4867548684
return entries;
4867648685
};
4867748686

@@ -68885,9 +68894,15 @@ const de_IpamDiscoveredResourceCidr = (output: any, context: __SerdeContext): Ip
6888568894
if (output[_vI] != null) {
6888668895
contents[_VI] = __expectString(output[_vI]);
6888768896
}
68897+
if (output[_nIASet] != null) {
68898+
contents[_NIASet] = __expectString(output[_nIASet]);
68899+
}
6888868900
if (output[_sTa] != null) {
6888968901
contents[_STa] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_sTa]));
6889068902
}
68903+
if (output[_aZI] != null) {
68904+
contents[_AZI] = __expectString(output[_aZI]);
68905+
}
6889168906
return contents;
6889268907
};
6889368908

@@ -69259,6 +69274,9 @@ const de_IpamResourceCidr = (output: any, context: __SerdeContext): IpamResource
6925969274
if (output[_vI] != null) {
6926069275
contents[_VI] = __expectString(output[_vI]);
6926169276
}
69277+
if (output[_aZI] != null) {
69278+
contents[_AZI] = __expectString(output[_aZI]);
69279+
}
6926269280
return contents;
6926369281
};
6926469282

@@ -83602,6 +83620,7 @@ const _NIASC = "NetworkInsightsAccessScopeContent";
8360283620
const _NIASI = "NetworkInsightsAccessScopeId";
8360383621
const _NIASIe = "NetworkInsightsAccessScopeIds";
8360483622
const _NIASe = "NetworkInsightsAccessScopes";
83623+
const _NIASet = "NetworkInterfaceAttachmentStatus";
8360583624
const _NIAe = "NetworkInsightsAnalysis";
8360683625
const _NIC = "NetworkInterfaceCount";
8360783626
const _NID = "NetworkInterfaceDescription";
@@ -85432,6 +85451,7 @@ const _nIASC = "networkInsightsAccessScopeContent";
8543285451
const _nIASI = "networkInsightsAccessScopeId";
8543385452
const _nIASS = "networkInsightsAccessScopeSet";
8543485453
const _nIASe = "networkInsightsAnalysisSet";
85454+
const _nIASet = "networkInterfaceAttachmentStatus";
8543585455
const _nIC = "networkInterfaceCount";
8543685456
const _nID = "networkInterfaceDescription";
8543785457
const _nII = "networkInterfaceId";

0 commit comments

Comments
 (0)