Skip to content

Commit 5b52d8f

Browse files
author
awstools
committed
feat(client-ec2): Release to support Elastic VMware Service (Amazon EVS) Subnet and Amazon EVS Network Interface Types.
1 parent 4a8e853 commit 5b52d8f

16 files changed

+191
-19
lines changed

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

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,18 @@ export interface AttachVolumeCommandInput extends AttachVolumeRequest {}
2828
export interface AttachVolumeCommandOutput extends VolumeAttachment, __MetadataBearer {}
2929

3030
/**
31-
* <p>Attaches an EBS volume to a running or stopped instance and exposes it to the instance
32-
* with the specified device name.</p>
33-
* <p>Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For
34-
* more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html">Amazon EBS encryption</a> in the <i>Amazon EBS User Guide</i>.</p>
35-
* <p>After you attach an EBS volume, you must make it available. For more information, see
36-
* <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html">Make an EBS volume available for use</a>.</p>
31+
* <p>Attaches an Amazon EBS volume to a <code>running</code> or <code>stopped</code>
32+
* instance, and exposes it to the instance with the specified device name.</p>
33+
* <note>
34+
* <p>The maximum number of Amazon EBS volumes that you can attach to an instance depends on the
35+
* instance type. If you exceed the volume attachment limit for an instance type, the attachment
36+
* request fails with the <code>AttachmentLimitExceeded</code> error. For more information,
37+
* see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html">Instance
38+
* volume limits</a>.</p>
39+
* </note>
40+
* <p>After you attach an EBS volume, you must make it available for use. For more information,
41+
* see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html">Make an
42+
* EBS volume available for use</a>.</p>
3743
* <p>If a volume has an Amazon Web Services Marketplace product code:</p>
3844
* <ul>
3945
* <li>

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,9 @@ export interface CreateDefaultSubnetCommandOutput extends CreateDefaultSubnetRes
8383
* // BlockPublicAccessStates: { // BlockPublicAccessStates
8484
* // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress",
8585
* // },
86+
* // Type: "STRING_VALUE",
8687
* // SubnetId: "STRING_VALUE",
87-
* // State: "pending" || "available" || "unavailable",
88+
* // State: "pending" || "available" || "unavailable" || "failed" || "failed-insufficient-capacity",
8889
* // VpcId: "STRING_VALUE",
8990
* // CidrBlock: "STRING_VALUE",
9091
* // AvailableIpAddressCount: Number("int"),

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,9 @@ export interface CreateNetworkInterfaceCommandOutput extends CreateNetworkInterf
205205
* // Managed: true || false,
206206
* // Principal: "STRING_VALUE",
207207
* // },
208+
* // AssociatedSubnets: [ // AssociatedSubnetList
209+
* // "STRING_VALUE",
210+
* // ],
208211
* // },
209212
* // ClientToken: "STRING_VALUE",
210213
* // };

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ export interface CreateSubnetCommandOutput extends CreateSubnetResult, __Metadat
116116
* // BlockPublicAccessStates: { // BlockPublicAccessStates
117117
* // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress",
118118
* // },
119+
* // Type: "STRING_VALUE",
119120
* // SubnetId: "STRING_VALUE",
120-
* // State: "pending" || "available" || "unavailable",
121+
* // State: "pending" || "available" || "unavailable" || "failed" || "failed-insufficient-capacity",
121122
* // VpcId: "STRING_VALUE",
122123
* // CidrBlock: "STRING_VALUE",
123124
* // AvailableIpAddressCount: Number("int"),

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export interface DescribeAddressesCommandOutput extends DescribeAddressesResult,
7474
* // CustomerOwnedIp: "STRING_VALUE",
7575
* // CustomerOwnedIpv4Pool: "STRING_VALUE",
7676
* // CarrierIp: "STRING_VALUE",
77+
* // SubnetId: "STRING_VALUE",
7778
* // ServiceManaged: "alb" || "nlb" || "rnat",
7879
* // InstanceId: "STRING_VALUE",
7980
* // PublicIp: "STRING_VALUE",

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@ export interface DescribeNetworkInterfacesCommandOutput extends DescribeNetworkI
170170
* // Managed: true || false,
171171
* // Principal: "STRING_VALUE",
172172
* // },
173+
* // AssociatedSubnets: [ // AssociatedSubnetList
174+
* // "STRING_VALUE",
175+
* // ],
173176
* // },
174177
* // ],
175178
* // NextToken: "STRING_VALUE",

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,9 @@ export interface DescribeSubnetsCommandOutput extends DescribeSubnetsResult, __M
9797
* // BlockPublicAccessStates: { // BlockPublicAccessStates
9898
* // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress",
9999
* // },
100+
* // Type: "STRING_VALUE",
100101
* // SubnetId: "STRING_VALUE",
101-
* // State: "pending" || "available" || "unavailable",
102+
* // State: "pending" || "available" || "unavailable" || "failed" || "failed-insufficient-capacity",
102103
* // VpcId: "STRING_VALUE",
103104
* // CidrBlock: "STRING_VALUE",
104105
* // AvailableIpAddressCount: Number("int"),

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ export interface ModifyNetworkInterfaceAttributeCommandOutput extends __Metadata
5454
* UdpTimeout: Number("int"),
5555
* },
5656
* AssociatePublicIpAddress: true || false,
57+
* AssociatedSubnetIds: [ // SubnetIdList
58+
* "STRING_VALUE",
59+
* ],
5760
* DryRun: true || false,
5861
* NetworkInterfaceId: "STRING_VALUE", // required
5962
* Description: { // AttributeValue

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3042,6 +3042,12 @@ export interface Address {
30423042
*/
30433043
CarrierIp?: string | undefined;
30443044

3045+
/**
3046+
* <p>The ID of the subnet where the IP address is allocated.</p>
3047+
* @public
3048+
*/
3049+
SubnetId?: string | undefined;
3050+
30453051
/**
30463052
* <p>The service that manages the elastic IP address.</p>
30473053
* <note>

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3535,6 +3535,8 @@ export interface PrivateDnsNameOptionsOnLaunch {
35353535
*/
35363536
export const SubnetState = {
35373537
available: "available",
3538+
failed: "failed",
3539+
failed_insufficient_capacity: "failed-insufficient-capacity",
35383540
pending: "pending",
35393541
unavailable: "unavailable",
35403542
} as const;
@@ -3641,6 +3643,17 @@ export interface Subnet {
36413643
*/
36423644
BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
36433645

3646+
/**
3647+
* <p>Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS).
3648+
* Possible values are <code>Elastic VMware Service</code> or no value. For more
3649+
* information about Amazon EVS, see <a href="https://docs.aws.amazon.com/evs/latest/APIReference/Welcome.html">
3650+
* <i>Amazon Elastic VMware Service
3651+
* API Reference</i>
3652+
* </a>.</p>
3653+
* @public
3654+
*/
3655+
Type?: string | undefined;
3656+
36443657
/**
36453658
* <p>The ID of the subnet.</p>
36463659
* @public
@@ -3649,6 +3662,18 @@ export interface Subnet {
36493662

36503663
/**
36513664
* <p>The current state of the subnet.</p>
3665+
* <ul>
3666+
* <li>
3667+
* <p>
3668+
* <code>failed</code>: The underlying infrastructure to support the subnet failed to provision
3669+
* as expected.</p>
3670+
* </li>
3671+
* <li>
3672+
* <p>
3673+
* <code>failed-insufficient-capacity</code>: The underlying infrastructure to support the subnet
3674+
* failed to provision due to a shortage of EC2 instance capacity.</p>
3675+
* </li>
3676+
* </ul>
36523677
* @public
36533678
*/
36543679
State?: SubnetState | undefined;

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3625,6 +3625,12 @@ export interface NetworkInterface {
36253625
* @public
36263626
*/
36273627
Operator?: OperatorResponse | undefined;
3628+
3629+
/**
3630+
* <p>The subnets associated with this network interface.</p>
3631+
* @public
3632+
*/
3633+
AssociatedSubnets?: string[] | undefined;
36283634
}
36293635

36303636
/**

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8551,7 +8551,7 @@ export interface InstanceNetworkInterface {
85518551

85528552
/**
85538553
* <p>The type of network interface.</p>
8554-
* <p>Valid values: <code>interface</code> | <code>efa</code> | <code>efa-only</code> |
8554+
* <p>Valid values: <code>interface</code> | <code>efa</code> | <code>efa-only</code> | <code>evs</code> |
85558555
* <code>trunk</code>
85568556
* </p>
85578557
* @public

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2603,6 +2603,7 @@ export interface DescribeNetworkInterfacesRequest {
26032603
* <code>aws_codestar_connections_managed</code> | <code>branch</code> |
26042604
* <code>ec2_instance_connect_endpoint</code> | <code>efa</code> |
26052605
* <code>efa-only</code> | <code>efs</code> |
2606+
* <code>evs</code> |
26062607
* <code>gateway_load_balancer</code> |
26072608
* <code>gateway_load_balancer_endpoint</code> |
26082609
* <code>global_accelerator_managed</code> | <code>interface</code> |

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4952,6 +4952,12 @@ export interface ModifyNetworkInterfaceAttributeRequest {
49524952
*/
49534953
AssociatePublicIpAddress?: boolean | undefined;
49544954

4955+
/**
4956+
* <p>A list of subnet IDs to associate with the network interface.</p>
4957+
* @public
4958+
*/
4959+
AssociatedSubnetIds?: string[] | undefined;
4960+
49554961
/**
49564962
* <p>Checks whether you have the required permissions for the action, without actually
49574963
* making the request, and provides an error response. If you have the required

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

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50945,6 +50945,13 @@ const se_ModifyNetworkInterfaceAttributeRequest = (
5094550945
if (input[_APIAs] != null) {
5094650946
entries[_APIAs] = input[_APIAs];
5094750947
}
50948+
if (input[_ASI] != null) {
50949+
const memberEntries = se_SubnetIdList(input[_ASI], context);
50950+
Object.entries(memberEntries).forEach(([key, value]) => {
50951+
const loc = `AssociatedSubnetId.${key.substring(key.indexOf(".") + 1)}`;
50952+
entries[loc] = value;
50953+
});
50954+
}
5094850955
if (input[_DRr] != null) {
5094950956
entries[_DRr] = input[_DRr];
5095050957
}
@@ -51496,8 +51503,8 @@ const se_ModifyTransitGatewayVpcAttachmentRequest = (
5149651503
if (input[_TGAI] != null) {
5149751504
entries[_TGAI] = input[_TGAI];
5149851505
}
51499-
if (input[_ASI] != null) {
51500-
const memberEntries = se_TransitGatewaySubnetIdList(input[_ASI], context);
51506+
if (input[_ASId] != null) {
51507+
const memberEntries = se_TransitGatewaySubnetIdList(input[_ASId], context);
5150151508
Object.entries(memberEntries).forEach(([key, value]) => {
5150251509
const loc = `AddSubnetIds.${key.substring(key.indexOf(".") + 1)}`;
5150351510
entries[loc] = value;
@@ -52224,8 +52231,8 @@ const se_ModifyVpcEndpointRequest = (input: ModifyVpcEndpointRequest, context: _
5222452231
entries[loc] = value;
5222552232
});
5222652233
}
52227-
if (input[_ASI] != null) {
52228-
const memberEntries = se_VpcEndpointSubnetIdList(input[_ASI], context);
52234+
if (input[_ASId] != null) {
52235+
const memberEntries = se_VpcEndpointSubnetIdList(input[_ASId], context);
5222952236
Object.entries(memberEntries).forEach(([key, value]) => {
5223052237
const loc = `AddSubnetId.${key.substring(key.indexOf(".") + 1)}`;
5223152238
entries[loc] = value;
@@ -57782,6 +57789,22 @@ const se_SubnetConfigurationsList = (input: SubnetConfiguration[], context: __Se
5778257789
return entries;
5778357790
};
5778457791

57792+
/**
57793+
* serializeAws_ec2SubnetIdList
57794+
*/
57795+
const se_SubnetIdList = (input: string[], context: __SerdeContext): any => {
57796+
const entries: any = {};
57797+
let counter = 1;
57798+
for (const entry of input) {
57799+
if (entry === null) {
57800+
continue;
57801+
}
57802+
entries[`AssociatedSubnetId.${counter}`] = entry;
57803+
counter++;
57804+
}
57805+
return entries;
57806+
};
57807+
5778557808
/**
5778657809
* serializeAws_ec2SubnetIdStringList
5778757810
*/
@@ -59873,6 +59896,9 @@ const de_Address = (output: any, context: __SerdeContext): Address => {
5987359896
if (output[_cI] != null) {
5987459897
contents[_CIa] = __expectString(output[_cI]);
5987559898
}
59899+
if (output[_sIu] != null) {
59900+
contents[_SIub] = __expectString(output[_sIu]);
59901+
}
5987659902
if (output[_sM] != null) {
5987759903
contents[_SM] = __expectString(output[_sM]);
5987859904
}
@@ -60537,6 +60563,17 @@ const de_AssociatedRolesList = (output: any, context: __SerdeContext): Associate
6053760563
});
6053860564
};
6053960565

60566+
/**
60567+
* deserializeAws_ec2AssociatedSubnetList
60568+
*/
60569+
const de_AssociatedSubnetList = (output: any, context: __SerdeContext): string[] => {
60570+
return (output || [])
60571+
.filter((e: any) => e != null)
60572+
.map((entry: any) => {
60573+
return __expectString(entry) as any;
60574+
});
60575+
};
60576+
6054060577
/**
6054160578
* deserializeAws_ec2AssociatedTargetNetwork
6054260579
*/
@@ -80534,6 +80571,11 @@ const de_NetworkInterface = (output: any, context: __SerdeContext): NetworkInter
8053480571
if (output[_op] != null) {
8053580572
contents[_O] = de_OperatorResponse(output[_op], context);
8053680573
}
80574+
if (output.associatedSubnetSet === "") {
80575+
contents[_ASsso] = [];
80576+
} else if (output[_aSSs] != null && output[_aSSs][_i] != null) {
80577+
contents[_ASsso] = de_AssociatedSubnetList(__getArrayIfSingleItem(output[_aSSs][_i]), context);
80578+
}
8053780579
return contents;
8053880580
};
8053980581

@@ -86049,6 +86091,9 @@ const de_Subnet = (output: any, context: __SerdeContext): Subnet => {
8604986091
if (output[_bPAS] != null) {
8605086092
contents[_BPAS] = de_BlockPublicAccessStates(output[_bPAS], context);
8605186093
}
86094+
if (output[_ty] != null) {
86095+
contents[_T] = __expectString(output[_ty]);
86096+
}
8605286097
if (output[_sIu] != null) {
8605386098
contents[_SIub] = __expectString(output[_sIu]);
8605486099
}
@@ -91010,8 +91055,9 @@ const _ASGI = "AuthorizeSecurityGroupIngress";
9101091055
const _ASGId = "AddSecurityGroupIds";
9101191056
const _ASGTCVTN = "ApplySecurityGroupsToClientVpnTargetNetwork";
9101291057
const _ASGV = "AssociateSecurityGroupVpc";
91013-
const _ASI = "AddSubnetIds";
91058+
const _ASI = "AssociatedSubnetIds";
9101491059
const _ASIAT = "AddSupportedIpAddressTypes";
91060+
const _ASId = "AddSubnetIds";
9101591061
const _ASR = "AddSupportedRegions";
9101691062
const _ASS = "AmdSevSnp";
9101791063
const _AST = "AnalysisStartTime";
@@ -91021,6 +91067,7 @@ const _ASc = "ActivityStatus";
9102191067
const _ASn = "AnalysisStatus";
9102291068
const _ASs = "AssociationState";
9102391069
const _ASss = "AssociationStatus";
91070+
const _ASsso = "AssociatedSubnets";
9102491071
const _ASt = "AttributeSummaries";
9102591072
const _AStt = "AttachmentStatuses";
9102691073
const _ASw = "AwsService";
@@ -93800,6 +93847,7 @@ const _aRw = "awsRegion";
9380093847
const _aS = "associationState";
9380193848
const _aSA = "amazonSideAsn";
9380293849
const _aSS = "amdSevSnp";
93850+
const _aSSs = "associatedSubnetSet";
9380393851
const _aSSt = "attributeSummarySet";
9380493852
const _aSc = "activityStatus";
9380593853
const _aSct = "actionsSet";

0 commit comments

Comments
 (0)