From 6121a23480f7be708bad3b2d4e50eeec7b5fe667 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 24 Apr 2024 18:15:59 +0000 Subject: [PATCH] feat(client-ec2): Launching capability for customers to enable or disable automatic assignment of public IPv4 addresses to their network interface --- ...escribeNetworkInterfaceAttributeCommand.ts | 3 ++- .../ModifyNetworkInterfaceAttributeCommand.ts | 1 + clients/client-ec2/src/models/models_4.ts | 8 ++++++++ clients/client-ec2/src/models/models_6.ts | 7 +++++++ clients/client-ec2/src/protocols/Aws_ec2.ts | 6 ++++++ codegen/sdk-codegen/aws-models/ec2.json | 20 +++++++++++++++++++ 6 files changed, 44 insertions(+), 1 deletion(-) diff --git a/clients/client-ec2/src/commands/DescribeNetworkInterfaceAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeNetworkInterfaceAttributeCommand.ts index 1e466f0df653..c19d0e59b179 100644 --- a/clients/client-ec2/src/commands/DescribeNetworkInterfaceAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeNetworkInterfaceAttributeCommand.ts @@ -40,7 +40,7 @@ export interface DescribeNetworkInterfaceAttributeCommandOutput * // const { EC2Client, DescribeNetworkInterfaceAttributeCommand } = require("@aws-sdk/client-ec2"); // CommonJS import * const client = new EC2Client(config); * const input = { // DescribeNetworkInterfaceAttributeRequest - * Attribute: "description" || "groupSet" || "sourceDestCheck" || "attachment", + * Attribute: "description" || "groupSet" || "sourceDestCheck" || "attachment" || "associatePublicIpAddress", * DryRun: true || false, * NetworkInterfaceId: "STRING_VALUE", // required * }; @@ -76,6 +76,7 @@ export interface DescribeNetworkInterfaceAttributeCommandOutput * // SourceDestCheck: { // AttributeBooleanValue * // Value: true || false, * // }, + * // AssociatePublicIpAddress: true || false, * // }; * * ``` diff --git a/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts index f3bca59c8928..e730fe2eee24 100644 --- a/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts @@ -67,6 +67,7 @@ export interface ModifyNetworkInterfaceAttributeCommandOutput extends __Metadata * UdpStreamTimeout: Number("int"), * UdpTimeout: Number("int"), * }, + * AssociatePublicIpAddress: true || false, * }; * const command = new ModifyNetworkInterfaceAttributeCommand(input); * const response = await client.send(command); diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 39885044c6d1..33e13f533ca1 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -7539,6 +7539,7 @@ export interface DescribeNetworkInsightsPathsResult { * @enum */ export const NetworkInterfaceAttribute = { + associatePublicIpAddress: "associatePublicIpAddress", attachment: "attachment", description: "description", groupSet: "groupSet", @@ -7610,6 +7611,13 @@ export interface DescribeNetworkInterfaceAttributeResult { * @public */ SourceDestCheck?: AttributeBooleanValue; + + /** + *

Indicates whether to assign a public IPv4 address to a network interface. + * This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

+ * @public + */ + AssociatePublicIpAddress?: boolean; } /** diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index df966341f912..e6a5a6b10161 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -6443,6 +6443,13 @@ export interface ModifyNetworkInterfaceAttributeRequest { * @public */ ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; + + /** + *

Indicates whether to assign a public IPv4 address to a network interface. + * This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

+ * @public + */ + AssociatePublicIpAddress?: boolean; } /** diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 676d7f383ee7..4f1f6dcfd6f8 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -47489,6 +47489,9 @@ const se_ModifyNetworkInterfaceAttributeRequest = ( entries[loc] = value; }); } + if (input[_APIAs] != null) { + entries[_APIAs] = input[_APIAs]; + } return entries; }; @@ -62722,6 +62725,9 @@ const de_DescribeNetworkInterfaceAttributeResult = ( if (output[_sDC] != null) { contents[_SDC] = de_AttributeBooleanValue(output[_sDC], context); } + if (output[_aPIA] != null) { + contents[_APIAs] = __parseBoolean(output[_aPIA]); + } return contents; }; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index e504d591439a..3e91f71e4183 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -35162,6 +35162,14 @@ "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", "smithy.api#xmlName": "sourceDestCheck" } + }, + "AssociatePublicIpAddress": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AssociatePublicIpAddress", + "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to a network interface. \n This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

", + "smithy.api#xmlName": "associatePublicIpAddress" + } } }, "traits": { @@ -76259,6 +76267,12 @@ "traits": { "smithy.api#documentation": "

A connection tracking specification.

" } + }, + "AssociatePublicIpAddress": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to a network interface. \n This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

" + } } }, "traits": { @@ -81182,6 +81196,12 @@ "traits": { "smithy.api#enumValue": "attachment" } + }, + "associatePublicIpAddress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associatePublicIpAddress" + } } } },