Skip to content

Commit 4f1d59b

Browse files
author
awstools
committed
feat(client-ec2): Amazon VPC IP Address Manager (IPAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space
1 parent 2162019 commit 4f1d59b

File tree

9 files changed

+51
-26
lines changed

9 files changed

+51
-26
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export interface AllocateAddressCommandOutput extends AllocateAddressResult, __M
6464
* ],
6565
* },
6666
* ],
67+
* IpamPoolId: "STRING_VALUE",
6768
* };
6869
* const command = new AllocateAddressCommand(input);
6970
* const response = await client.send(command);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export interface AllocateIpamPoolCidrCommandOutput extends AllocateIpamPoolCidrR
6262
* // IpamPoolAllocationId: "STRING_VALUE",
6363
* // Description: "STRING_VALUE",
6464
* // ResourceId: "STRING_VALUE",
65-
* // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom" || "subnet",
65+
* // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom" || "subnet" || "eip",
6666
* // ResourceRegion: "STRING_VALUE",
6767
* // ResourceOwner: "STRING_VALUE",
6868
* // },

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export interface GetIpamDiscoveredPublicAddressesCommandOutput
6666
* // AddressOwnerId: "STRING_VALUE",
6767
* // AddressAllocationId: "STRING_VALUE",
6868
* // AssociationStatus: "associated" || "disassociated",
69-
* // AddressType: "service-managed-ip" || "service-managed-byoip" || "amazon-owned-eip" || "byoip" || "ec2-public-ip",
69+
* // AddressType: "service-managed-ip" || "service-managed-byoip" || "amazon-owned-eip" || "amazon-owned-contig" || "byoip" || "ec2-public-ip",
7070
* // Service: "nat-gateway" || "database-migration-service" || "redshift" || "elastic-container-service" || "relational-database-service" || "site-to-site-vpn" || "load-balancer" || "global-accelerator" || "other",
7171
* // ServiceResource: "STRING_VALUE",
7272
* // VpcId: "STRING_VALUE",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export interface GetIpamPoolAllocationsCommandOutput extends GetIpamPoolAllocati
6262
* // IpamPoolAllocationId: "STRING_VALUE",
6363
* // Description: "STRING_VALUE",
6464
* // ResourceId: "STRING_VALUE",
65-
* // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom" || "subnet",
65+
* // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom" || "subnet" || "eip",
6666
* // ResourceRegion: "STRING_VALUE",
6767
* // ResourceOwner: "STRING_VALUE",
6868
* // },

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

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,17 @@ export interface RegisterImageCommandOutput extends RegisterImageResult, __Metad
3030
/**
3131
* <p>Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI
3232
* is the final step in the creation process. For more information about creating AMIs, see
33-
* <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html">Create your
34-
* own AMI</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
33+
* <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot">Create an AMI from a snapshot</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html">Create an instance-store
34+
* backed AMI</a> in the <i>Amazon EC2 User Guide</i>.</p>
3535
* <note>
3636
* <p>For Amazon EBS-backed instances, <a>CreateImage</a> creates and registers the AMI
3737
* in a single request, so you don't have to register the AMI yourself. We recommend that you
3838
* always use <a>CreateImage</a> unless you have a specific reason to use
3939
* RegisterImage.</p>
4040
* </note>
41-
* <p>If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration.
42-
* If you make changes to an image, deregister the previous image and register the new image.</p>
41+
* <p>If needed, you can deregister an AMI at any time. Any modifications you make to an AMI
42+
* backed by an instance store volume invalidates its registration. If you make changes to an
43+
* image, deregister the previous image and register the new image.</p>
4344
* <p>
4445
* <b>Register a snapshot of a root device volume</b>
4546
* </p>
@@ -48,29 +49,23 @@ export interface RegisterImageCommandOutput extends RegisterImageResult, __Metad
4849
* You can't set the encryption state of the volume using the block device mapping. If the
4950
* snapshot is encrypted, or encryption by default is enabled, the root volume of an instance
5051
* launched from the AMI is encrypted.</p>
51-
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot">Create a Linux AMI from a snapshot</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html">Use encryption with Amazon EBS-backed AMIs</a>
52-
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
52+
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot">Create an AMI from a snapshot</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html">Use encryption with Amazon EBS-backed
53+
* AMIs</a> in the <i>Amazon EC2 User Guide</i>.</p>
5354
* <p>
5455
* <b>Amazon Web Services Marketplace product codes</b>
5556
* </p>
5657
* <p>If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new
5758
* AMI.</p>
58-
* <p>Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
59-
* Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to
60-
* verify the subscription status for package updates. To create a new AMI for operating systems
61-
* that require a billing product code, instead of registering the AMI, do the following to
62-
* preserve the billing product code association:</p>
63-
* <ol>
64-
* <li>
65-
* <p>Launch an instance from an existing AMI with that billing product code.</p>
66-
* </li>
67-
* <li>
68-
* <p>Customize the instance.</p>
69-
* </li>
70-
* <li>
71-
* <p>Create an AMI from the instance using <a>CreateImage</a>.</p>
72-
* </li>
73-
* </ol>
59+
* <p>In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing
60+
* information to be present on the AMI. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html">Understand AMI billing
61+
* information</a> in the <i>Amazon EC2 User Guide</i>. When creating an AMI from
62+
* a snapshot, the <code>RegisterImage</code> operation derives the correct billing information
63+
* from the snapshot's metadata, but this requires the appropriate metadata to be present. To
64+
* verify if the correct billing information was applied, check the <code>PlatformDetails</code>
65+
* field on the new AMI. If the field is empty or doesn't match the expected operating system
66+
* code (for example, Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you
67+
* should discard the AMI and instead create the AMI from an instance using <a>CreateImage</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami">Create an AMI
68+
* from an instance </a> in the <i>Amazon EC2 User Guide</i>.</p>
7469
* <p>If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched
7570
* from an AMI with a billing product code, make sure that the Reserved Instance has the matching
7671
* billing product code. If you purchase a Reserved Instance without the matching billing product

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3239,6 +3239,12 @@ export interface AllocateAddressRequest {
32393239
* @public
32403240
*/
32413241
TagSpecifications?: TagSpecification[];
3242+
3243+
/**
3244+
* <p>The ID of an IPAM pool.</p>
3245+
* @public
3246+
*/
3247+
IpamPoolId?: string;
32423248
}
32433249

32443250
/**
@@ -3553,6 +3559,7 @@ export interface AllocateIpamPoolCidrRequest {
35533559
export const IpamPoolAllocationResourceType = {
35543560
custom: "custom",
35553561
ec2_public_ipv4_pool: "ec2-public-ipv4-pool",
3562+
eip: "eip",
35563563
ipam_pool: "ipam-pool",
35573564
subnet: "subnet",
35583565
vpc: "vpc",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,7 @@ export interface GetIpamDiscoveredPublicAddressesRequest {
817817
* @enum
818818
*/
819819
export const IpamPublicAddressType = {
820+
AMAZON_OWNED_CONTIG: "amazon-owned-contig",
820821
AMAZON_OWNED_EIP: "amazon-owned-eip",
821822
BYOIP: "byoip",
822823
EC2_PUBLIC_IP: "ec2-public-ip",

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27609,6 +27609,9 @@ const se_AllocateAddressRequest = (input: AllocateAddressRequest, context: __Ser
2760927609
entries[loc] = value;
2761027610
});
2761127611
}
27612+
if (input[_IPI] != null) {
27613+
entries[_IPI] = input[_IPI];
27614+
}
2761227615
return entries;
2761327616
};
2761427617

codegen/sdk-codegen/aws-models/ec2.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1601,6 +1601,12 @@
16011601
"smithy.api#documentation": "<p>The tags to assign to the Elastic IP address.</p>",
16021602
"smithy.api#xmlName": "TagSpecification"
16031603
}
1604+
},
1605+
"IpamPoolId": {
1606+
"target": "com.amazonaws.ec2#IpamPoolId",
1607+
"traits": {
1608+
"smithy.api#documentation": "<p>The ID of an IPAM pool.</p>"
1609+
}
16041610
}
16051611
},
16061612
"traits": {
@@ -68635,6 +68641,12 @@
6863568641
"traits": {
6863668642
"smithy.api#enumValue": "subnet"
6863768643
}
68644+
},
68645+
"eip": {
68646+
"target": "smithy.api#Unit",
68647+
"traits": {
68648+
"smithy.api#enumValue": "eip"
68649+
}
6863868650
}
6863968651
}
6864068652
},
@@ -69180,6 +69192,12 @@
6918069192
"smithy.api#enumValue": "amazon-owned-eip"
6918169193
}
6918269194
},
69195+
"AMAZON_OWNED_CONTIG": {
69196+
"target": "smithy.api#Unit",
69197+
"traits": {
69198+
"smithy.api#enumValue": "amazon-owned-contig"
69199+
}
69200+
},
6918369201
"BYOIP": {
6918469202
"target": "smithy.api#Unit",
6918569203
"traits": {
@@ -86828,7 +86846,7 @@
8682886846
"target": "com.amazonaws.ec2#RegisterImageResult"
8682986847
},
8683086848
"traits": {
86831-
"smithy.api#documentation": "<p>Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI\n is the final step in the creation process. For more information about creating AMIs, see\n <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html\">Create your\n own AMI</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>\n <note>\n <p>For Amazon EBS-backed instances, <a>CreateImage</a> creates and registers the AMI\n in a single request, so you don't have to register the AMI yourself. We recommend that you\n always use <a>CreateImage</a> unless you have a specific reason to use\n RegisterImage.</p>\n </note>\n <p>If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. \n If you make changes to an image, deregister the previous image and register the new image.</p>\n <p>\n <b>Register a snapshot of a root device volume</b>\n </p>\n <p>You can use <code>RegisterImage</code> to create an Amazon EBS-backed Linux AMI from\n a snapshot of a root device volume. You specify the snapshot using a block device mapping.\n You can't set the encryption state of the volume using the block device mapping. If the \n snapshot is encrypted, or encryption by default is enabled, the root volume of an instance \n launched from the AMI is encrypted.</p>\n <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot\">Create a Linux AMI from a snapshot</a> and <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html\">Use encryption with Amazon EBS-backed AMIs</a>\n in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>\n <p>\n <b>Amazon Web Services Marketplace product codes</b>\n </p>\n <p>If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new\n AMI.</p>\n <p>Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE\n Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to\n verify the subscription status for package updates. To create a new AMI for operating systems\n that require a billing product code, instead of registering the AMI, do the following to\n preserve the billing product code association:</p>\n <ol>\n <li>\n <p>Launch an instance from an existing AMI with that billing product code.</p>\n </li>\n <li>\n <p>Customize the instance.</p>\n </li>\n <li>\n <p>Create an AMI from the instance using <a>CreateImage</a>.</p>\n </li>\n </ol>\n <p>If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched\n from an AMI with a billing product code, make sure that the Reserved Instance has the matching\n billing product code. If you purchase a Reserved Instance without the matching billing product\n code, the Reserved Instance will not be applied to the On-Demand Instance. For information\n about how to obtain the platform details and billing information of an AMI, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html\">Understand AMI\n billing information</a> in the <i>Amazon EC2 User Guide</i>.</p>"
86849+
"smithy.api#documentation": "<p>Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI\n is the final step in the creation process. For more information about creating AMIs, see\n <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot\">Create an AMI from a snapshot</a> and <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html\">Create an instance-store\n backed AMI</a> in the <i>Amazon EC2 User Guide</i>.</p>\n <note>\n <p>For Amazon EBS-backed instances, <a>CreateImage</a> creates and registers the AMI\n in a single request, so you don't have to register the AMI yourself. We recommend that you\n always use <a>CreateImage</a> unless you have a specific reason to use\n RegisterImage.</p>\n </note>\n <p>If needed, you can deregister an AMI at any time. Any modifications you make to an AMI\n backed by an instance store volume invalidates its registration. If you make changes to an\n image, deregister the previous image and register the new image.</p>\n <p>\n <b>Register a snapshot of a root device volume</b>\n </p>\n <p>You can use <code>RegisterImage</code> to create an Amazon EBS-backed Linux AMI from\n a snapshot of a root device volume. You specify the snapshot using a block device mapping.\n You can't set the encryption state of the volume using the block device mapping. If the \n snapshot is encrypted, or encryption by default is enabled, the root volume of an instance \n launched from the AMI is encrypted.</p>\n <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot\">Create an AMI from a snapshot</a> and <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html\">Use encryption with Amazon EBS-backed\n AMIs</a> in the <i>Amazon EC2 User Guide</i>.</p>\n <p>\n <b>Amazon Web Services Marketplace product codes</b>\n </p>\n <p>If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new\n AMI.</p>\n <p>In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing\n information to be present on the AMI. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html\">Understand AMI billing\n information</a> in the <i>Amazon EC2 User Guide</i>. When creating an AMI from\n a snapshot, the <code>RegisterImage</code> operation derives the correct billing information\n from the snapshot's metadata, but this requires the appropriate metadata to be present. To\n verify if the correct billing information was applied, check the <code>PlatformDetails</code>\n field on the new AMI. If the field is empty or doesn't match the expected operating system\n code (for example, Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you\n should discard the AMI and instead create the AMI from an instance using <a>CreateImage</a>. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami\">Create an AMI\n from an instance </a> in the <i>Amazon EC2 User Guide</i>.</p>\n <p>If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched\n from an AMI with a billing product code, make sure that the Reserved Instance has the matching\n billing product code. If you purchase a Reserved Instance without the matching billing product\n code, the Reserved Instance will not be applied to the On-Demand Instance. For information\n about how to obtain the platform details and billing information of an AMI, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html\">Understand AMI\n billing information</a> in the <i>Amazon EC2 User Guide</i>.</p>"
8683286850
}
8683386851
},
8683486852
"com.amazonaws.ec2#RegisterImageRequest": {

0 commit comments

Comments
 (0)