Skip to content

Commit

Permalink
feat(client-ec2): Add parameters to enable provisioning IPAM BYOIPv4 …
Browse files Browse the repository at this point in the history
…space at a Local Zone Network Border Group level
  • Loading branch information
awstools committed Jul 10, 2024
1 parent 992c63a commit d835dbb
Show file tree
Hide file tree
Showing 14 changed files with 157 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export interface CreatePublicIpv4PoolCommandOutput extends CreatePublicIpv4PoolR
* ],
* },
* ],
* NetworkBorderGroup: "STRING_VALUE",
* };
* const command = new CreatePublicIpv4PoolCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export interface DeletePublicIpv4PoolCommandOutput extends DeletePublicIpv4PoolR
* const input = { // DeletePublicIpv4PoolRequest
* DryRun: true || false,
* PoolId: "STRING_VALUE", // required
* NetworkBorderGroup: "STRING_VALUE",
* };
* const command = new DeletePublicIpv4PoolCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ export interface GetIpamDiscoveredResourceCidrsCommandOutput
* // ],
* // IpUsage: Number("double"),
* // VpcId: "STRING_VALUE",
* // NetworkInterfaceAttachmentStatus: "available" || "in-use",
* // SampleTime: new Date("TIMESTAMP"),
* // AvailabilityZoneId: "STRING_VALUE",
* // },
* // ],
* // NextToken: "STRING_VALUE",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ export interface GetIpamResourceCidrsCommandOutput extends GetIpamResourceCidrsR
* // ManagementState: "managed" || "unmanaged" || "ignored",
* // OverlapStatus: "overlapping" || "nonoverlapping" || "ignored",
* // VpcId: "STRING_VALUE",
* // AvailabilityZoneId: "STRING_VALUE",
* // },
* // ],
* // };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ export interface ModifyIpamResourceCidrCommandOutput extends ModifyIpamResourceC
* // ManagementState: "managed" || "unmanaged" || "ignored",
* // OverlapStatus: "overlapping" || "nonoverlapping" || "ignored",
* // VpcId: "STRING_VALUE",
* // AvailabilityZoneId: "STRING_VALUE",
* // },
* // };
*
Expand Down
3 changes: 2 additions & 1 deletion clients/client-ec2/src/commands/ProvisionByoipCidrCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { commonParams } from "../endpoint/EndpointParameters";
import { ProvisionByoipCidrRequest, ProvisionByoipCidrResult } from "../models/models_6";
import { ProvisionByoipCidrRequest } from "../models/models_6";
import { ProvisionByoipCidrResult } from "../models/models_7";
import { de_ProvisionByoipCidrCommand, se_ProvisionByoipCidrCommand } from "../protocols/Aws_ec2";

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export interface ProvisionPublicIpv4PoolCidrCommandOutput extends ProvisionPubli
* IpamPoolId: "STRING_VALUE", // required
* PoolId: "STRING_VALUE", // required
* NetmaskLength: Number("int"), // required
* NetworkBorderGroup: "STRING_VALUE",
* };
* const command = new ProvisionPublicIpv4PoolCidrCommand(input);
* const response = await client.send(command);
Expand Down
4 changes: 2 additions & 2 deletions clients/client-ec2/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5467,7 +5467,7 @@ export interface CreateIpamPoolRequest {
IpamScopeId: string | undefined;

/**
* <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>
* <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>
* <p>Possible values: Any Amazon Web Services Region, such as us-east-1.</p>
* @public
*/
Expand Down Expand Up @@ -5711,7 +5711,7 @@ export interface IpamPool {
IpamRegion?: string;

/**
* <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>
* <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>
* @public
*/
Locale?: string;
Expand Down
6 changes: 6 additions & 0 deletions clients/client-ec2/src/models/models_2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,12 @@ export interface CreatePublicIpv4PoolRequest {
* @public
*/
TagSpecifications?: TagSpecification[];

/**
* <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>
* @public
*/
NetworkBorderGroup?: string;
}

/**
Expand Down
6 changes: 6 additions & 0 deletions clients/client-ec2/src/models/models_3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,12 @@ export interface DeletePublicIpv4PoolRequest {
* @public
*/
PoolId: string | undefined;

/**
* <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>
* @public
*/
NetworkBorderGroup?: string;
}

/**
Expand Down
46 changes: 34 additions & 12 deletions clients/client-ec2/src/models/models_6.ts
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ export interface IpamDiscoveredPublicAddress {
Tags?: IpamPublicAddressTags;

/**
* <p>The network border group that the resource that the IP address is assigned to is in.</p>
* <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>
* @public
*/
NetworkBorderGroup?: string;
Expand Down Expand Up @@ -752,6 +752,21 @@ export interface GetIpamDiscoveredResourceCidrsRequest {
MaxResults?: number;
}

/**
* @public
* @enum
*/
export const IpamNetworkInterfaceAttachmentStatus = {
available: "available",
in_use: "in-use",
} as const;

/**
* @public
*/
export type IpamNetworkInterfaceAttachmentStatus =
(typeof IpamNetworkInterfaceAttachmentStatus)[keyof typeof IpamNetworkInterfaceAttachmentStatus];

/**
* @public
* @enum
Expand Down Expand Up @@ -843,11 +858,23 @@ export interface IpamDiscoveredResourceCidr {
*/
VpcId?: string;

/**
* <p>For elastic IP addresses, this is the status of an attached network interface.</p>
* @public
*/
NetworkInterfaceAttachmentStatus?: IpamNetworkInterfaceAttachmentStatus;

/**
* <p>The last successful resource discovery time.</p>
* @public
*/
SampleTime?: Date;

/**
* <p>The Availability Zone ID.</p>
* @public
*/
AvailabilityZoneId?: string;
}

/**
Expand Down Expand Up @@ -1171,6 +1198,12 @@ export interface IpamResourceCidr {
* @public
*/
VpcId?: string;

/**
* <p>The Availability Zone ID.</p>
* @public
*/
AvailabilityZoneId?: string;
}

/**
Expand Down Expand Up @@ -9608,17 +9641,6 @@ export interface ProvisionByoipCidrRequest {
NetworkBorderGroup?: string;
}

/**
* @public
*/
export interface ProvisionByoipCidrResult {
/**
* <p>Information about the address range.</p>
* @public
*/
ByoipCidr?: ByoipCidr;
}

/**
* @internal
*/
Expand Down
17 changes: 17 additions & 0 deletions clients/client-ec2/src/models/models_7.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,17 @@ import { Purchase } from "./models_5";

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

/**
* @public
*/
export interface ProvisionByoipCidrResult {
/**
* <p>Information about the address range.</p>
* @public
*/
ByoipCidr?: ByoipCidr;
}

/**
* <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).
* 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>
Expand Down Expand Up @@ -244,6 +255,12 @@ export interface ProvisionPublicIpv4PoolCidrRequest {
* @public
*/
NetmaskLength: number | undefined;

/**
* <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>
* @public
*/
NetworkBorderGroup?: string;
}

/**
Expand Down
22 changes: 21 additions & 1 deletion clients/client-ec2/src/protocols/Aws_ec2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3903,7 +3903,6 @@ import {
PrefixListAssociation,
PrefixListEntry,
ProvisionByoipCidrRequest,
ProvisionByoipCidrResult,
RemoveIpamOperatingRegion,
RemovePrefixListEntry,
ReservationValue,
Expand Down Expand Up @@ -3951,6 +3950,7 @@ import {
LaunchTemplateSpecification,
LicenseConfigurationRequest,
PrivateDnsNameOptionsRequest,
ProvisionByoipCidrResult,
ProvisionIpamByoasnRequest,
ProvisionIpamByoasnResult,
ProvisionIpamPoolCidrRequest,
Expand Down Expand Up @@ -30914,6 +30914,9 @@ const se_CreatePublicIpv4PoolRequest = (input: CreatePublicIpv4PoolRequest, cont
entries[loc] = value;
});
}
if (input[_NBG] != null) {
entries[_NBG] = input[_NBG];
}
return entries;
};

Expand Down Expand Up @@ -33372,6 +33375,9 @@ const se_DeletePublicIpv4PoolRequest = (input: DeletePublicIpv4PoolRequest, cont
if (input[_PIo] != null) {
entries[_PIo] = input[_PIo];
}
if (input[_NBG] != null) {
entries[_NBG] = input[_NBG];
}
return entries;
};

Expand Down Expand Up @@ -48672,6 +48678,9 @@ const se_ProvisionPublicIpv4PoolCidrRequest = (
if (input[_NL] != null) {
entries[_NL] = input[_NL];
}
if (input[_NBG] != null) {
entries[_NBG] = input[_NBG];
}
return entries;
};

Expand Down Expand Up @@ -68885,9 +68894,15 @@ const de_IpamDiscoveredResourceCidr = (output: any, context: __SerdeContext): Ip
if (output[_vI] != null) {
contents[_VI] = __expectString(output[_vI]);
}
if (output[_nIASet] != null) {
contents[_NIASet] = __expectString(output[_nIASet]);
}
if (output[_sTa] != null) {
contents[_STa] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_sTa]));
}
if (output[_aZI] != null) {
contents[_AZI] = __expectString(output[_aZI]);
}
return contents;
};

Expand Down Expand Up @@ -69259,6 +69274,9 @@ const de_IpamResourceCidr = (output: any, context: __SerdeContext): IpamResource
if (output[_vI] != null) {
contents[_VI] = __expectString(output[_vI]);
}
if (output[_aZI] != null) {
contents[_AZI] = __expectString(output[_aZI]);
}
return contents;
};

Expand Down Expand Up @@ -83602,6 +83620,7 @@ const _NIASC = "NetworkInsightsAccessScopeContent";
const _NIASI = "NetworkInsightsAccessScopeId";
const _NIASIe = "NetworkInsightsAccessScopeIds";
const _NIASe = "NetworkInsightsAccessScopes";
const _NIASet = "NetworkInterfaceAttachmentStatus";
const _NIAe = "NetworkInsightsAnalysis";
const _NIC = "NetworkInterfaceCount";
const _NID = "NetworkInterfaceDescription";
Expand Down Expand Up @@ -85432,6 +85451,7 @@ const _nIASC = "networkInsightsAccessScopeContent";
const _nIASI = "networkInsightsAccessScopeId";
const _nIASS = "networkInsightsAccessScopeSet";
const _nIASe = "networkInsightsAnalysisSet";
const _nIASet = "networkInterfaceAttachmentStatus";
const _nIC = "networkInterfaceCount";
const _nID = "networkInterfaceDescription";
const _nII = "networkInterfaceId";
Expand Down
Loading

0 comments on commit d835dbb

Please sign in to comment.