Skip to content

Commit a370f24

Browse files
author
awstools
committed
feat(client-ec2): Adds support for Time-based Copy for EBS Snapshots and Cross Region PrivateLink. Time-based Copy ensures that EBS Snapshots are copied within and across AWS Regions in a specified timeframe. Cross Region PrivateLink enables customers to connect to VPC endpoint services hosted in other AWS Regions.
1 parent 9f83f11 commit a370f24

28 files changed

+947
-406
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ export interface CopySnapshotCommandOutput extends CopySnapshotResult, __Metadat
7575
* ],
7676
* },
7777
* ],
78+
* CompletionDurationMinutes: Number("int"),
7879
* DryRun: true || false,
7980
* };
8081
* const command = new CopySnapshotCommand(input);

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ export interface CreateSnapshotCommandOutput extends Snapshot, __MetadataBearer
9090
* // StorageTier: "archive" || "standard",
9191
* // RestoreExpiryTime: new Date("TIMESTAMP"),
9292
* // SseType: "sse-ebs" || "sse-kms" || "none",
93+
* // TransferType: "time-based" || "standard",
94+
* // CompletionDurationMinutes: Number("int"),
95+
* // CompletionTime: new Date("TIMESTAMP"),
9396
* // SnapshotId: "STRING_VALUE",
9497
* // VolumeId: "STRING_VALUE",
9598
* // State: "pending" || "completed" || "error" || "recoverable" || "recovering",

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ export interface CreateVpcEndpointCommandOutput extends CreateVpcEndpointResult,
7878
* Ipv6: "STRING_VALUE",
7979
* },
8080
* ],
81+
* ServiceRegion: "STRING_VALUE",
8182
* };
8283
* const command = new CreateVpcEndpointCommand(input);
8384
* const response = await client.send(command);
@@ -129,6 +130,7 @@ export interface CreateVpcEndpointCommandOutput extends CreateVpcEndpointResult,
129130
* // Message: "STRING_VALUE",
130131
* // Code: "STRING_VALUE",
131132
* // },
133+
* // ServiceRegion: "STRING_VALUE",
132134
* // },
133135
* // ClientToken: "STRING_VALUE",
134136
* // };

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ export interface CreateVpcEndpointConnectionNotificationCommandOutput
7171
* // "STRING_VALUE",
7272
* // ],
7373
* // ConnectionNotificationState: "Enabled" || "Disabled",
74+
* // ServiceRegion: "STRING_VALUE",
7475
* // },
7576
* // ClientToken: "STRING_VALUE",
7677
* // };

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ export interface CreateVpcEndpointServiceConfigurationCommandOutput
7373
* SupportedIpAddressTypes: [
7474
* "STRING_VALUE",
7575
* ],
76+
* SupportedRegions: [
77+
* "STRING_VALUE",
78+
* ],
7679
* ClientToken: "STRING_VALUE",
7780
* TagSpecifications: [ // TagSpecificationList
7881
* { // TagSpecification
@@ -129,6 +132,13 @@ export interface CreateVpcEndpointServiceConfigurationCommandOutput
129132
* // Value: "STRING_VALUE",
130133
* // },
131134
* // ],
135+
* // SupportedRegions: [ // SupportedRegionSet
136+
* // { // SupportedRegionDetail
137+
* // Region: "STRING_VALUE",
138+
* // ServiceState: "STRING_VALUE",
139+
* // },
140+
* // ],
141+
* // RemoteAccessEnabled: true || false,
132142
* // },
133143
* // ClientToken: "STRING_VALUE",
134144
* // };

clients/client-ec2/src/commands/DeleteFlowLogsCommand.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 { DeleteFlowLogsRequest, DeleteFlowLogsResult } from "../models/models_2";
9+
import { DeleteFlowLogsRequest } from "../models/models_2";
10+
import { DeleteFlowLogsResult } from "../models/models_3";
1011
import { de_DeleteFlowLogsCommand, se_DeleteFlowLogsCommand } from "../protocols/Aws_ec2";
1112

1213
/**

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

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

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { DeleteFpgaImageRequest } from "../models/models_2";
10-
import { DeleteFpgaImageResult } from "../models/models_3";
9+
import { DeleteFpgaImageRequest, DeleteFpgaImageResult } from "../models/models_3";
1110
import { de_DeleteFpgaImageCommand, se_DeleteFpgaImageCommand } from "../protocols/Aws_ec2";
1211

1312
/**

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

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

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { DescribeScheduledInstanceAvailabilityRequest } from "../models/models_4";
10-
import { DescribeScheduledInstanceAvailabilityResult } from "../models/models_5";
9+
import {
10+
DescribeScheduledInstanceAvailabilityRequest,
11+
DescribeScheduledInstanceAvailabilityResult,
12+
} from "../models/models_5";
1113
import {
1214
de_DescribeScheduledInstanceAvailabilityCommand,
1315
se_DescribeScheduledInstanceAvailabilityCommand,

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ export interface DescribeSnapshotsCommandOutput extends DescribeSnapshotsResult,
120120
* // StorageTier: "archive" || "standard",
121121
* // RestoreExpiryTime: new Date("TIMESTAMP"),
122122
* // SseType: "sse-ebs" || "sse-kms" || "none",
123+
* // TransferType: "time-based" || "standard",
124+
* // CompletionDurationMinutes: Number("int"),
125+
* // CompletionTime: new Date("TIMESTAMP"),
123126
* // SnapshotId: "STRING_VALUE",
124127
* // VolumeId: "STRING_VALUE",
125128
* // State: "pending" || "completed" || "error" || "recoverable" || "recovering",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export interface DescribeVpcEndpointConnectionNotificationsCommandOutput
7373
* // "STRING_VALUE",
7474
* // ],
7575
* // ConnectionNotificationState: "Enabled" || "Disabled",
76+
* // ServiceRegion: "STRING_VALUE",
7677
* // },
7778
* // ],
7879
* // NextToken: "STRING_VALUE",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ export interface DescribeVpcEndpointConnectionsCommandOutput
8484
* // Value: "STRING_VALUE",
8585
* // },
8686
* // ],
87+
* // VpcEndpointRegion: "STRING_VALUE",
8788
* // },
8889
* // ],
8990
* // NextToken: "STRING_VALUE",

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,13 @@ export interface DescribeVpcEndpointServiceConfigurationsCommandOutput
104104
* // Value: "STRING_VALUE",
105105
* // },
106106
* // ],
107+
* // SupportedRegions: [ // SupportedRegionSet
108+
* // { // SupportedRegionDetail
109+
* // Region: "STRING_VALUE",
110+
* // ServiceState: "STRING_VALUE",
111+
* // },
112+
* // ],
113+
* // RemoteAccessEnabled: true || false,
107114
* // },
108115
* // ],
109116
* // NextToken: "STRING_VALUE",

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ export interface DescribeVpcEndpointServicesCommandOutput extends DescribeVpcEnd
5757
* ],
5858
* MaxResults: Number("int"),
5959
* NextToken: "STRING_VALUE",
60+
* ServiceRegions: [
61+
* "STRING_VALUE",
62+
* ],
6063
* };
6164
* const command = new DescribeVpcEndpointServicesCommand(input);
6265
* const response = await client.send(command);
@@ -73,6 +76,7 @@ export interface DescribeVpcEndpointServicesCommandOutput extends DescribeVpcEnd
7376
* // ServiceType: "Interface" || "Gateway" || "GatewayLoadBalancer",
7477
* // },
7578
* // ],
79+
* // ServiceRegion: "STRING_VALUE",
7680
* // AvailabilityZones: [
7781
* // "STRING_VALUE",
7882
* // ],

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export interface DescribeVpcEndpointsCommandOutput extends DescribeVpcEndpointsR
104104
* // Message: "STRING_VALUE",
105105
* // Code: "STRING_VALUE",
106106
* // },
107+
* // ServiceRegion: "STRING_VALUE",
107108
* // },
108109
* // ],
109110
* // NextToken: "STRING_VALUE",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters";
99
import {
1010
EnableTransitGatewayRouteTablePropagationRequest,
1111
EnableTransitGatewayRouteTablePropagationResult,
12-
} from "../models/models_5";
12+
} from "../models/models_6";
1313
import {
1414
de_EnableTransitGatewayRouteTablePropagationCommand,
1515
se_EnableTransitGatewayRouteTablePropagationCommand,

clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.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 { ModifySpotFleetRequestRequest, ModifySpotFleetRequestResponse } from "../models/models_6";
9+
import { ModifySpotFleetRequestRequest } from "../models/models_6";
10+
import { ModifySpotFleetRequestResponse } from "../models/models_7";
1011
import { de_ModifySpotFleetRequestCommand, se_ModifySpotFleetRequestCommand } from "../protocols/Aws_ec2";
1112

1213
/**

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

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

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { ModifySubnetAttributeRequest } from "../models/models_6";
9+
import { ModifySubnetAttributeRequest } from "../models/models_7";
1010
import { de_ModifySubnetAttributeCommand, se_ModifySubnetAttributeCommand } from "../protocols/Aws_ec2";
1111

1212
/**

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ export interface ModifyVpcEndpointServiceConfigurationCommandOutput
3737
__MetadataBearer {}
3838

3939
/**
40-
* <p>Modifies the attributes of your VPC endpoint service configuration. You can change the
41-
* Network Load Balancers or Gateway Load Balancers for your service, and you can specify whether acceptance is
42-
* required for requests to connect to your endpoint service through an interface VPC
43-
* endpoint.</p>
40+
* <p>Modifies the attributes of the specified VPC endpoint service configuration.</p>
4441
* <p>If you set or modify the private DNS name, you must prove that you own the private DNS
4542
* domain name.</p>
4643
* @example
@@ -71,6 +68,8 @@ export interface ModifyVpcEndpointServiceConfigurationCommandOutput
7168
* "STRING_VALUE",
7269
* ],
7370
* RemoveSupportedIpAddressTypes: "<ValueStringList>",
71+
* AddSupportedRegions: "<ValueStringList>",
72+
* RemoveSupportedRegions: "<ValueStringList>",
7473
* };
7574
* const command = new ModifyVpcEndpointServiceConfigurationCommand(input);
7675
* const response = await client.send(command);

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8337,6 +8337,17 @@ export interface CopySnapshotRequest {
83378337
*/
83388338
TagSpecifications?: TagSpecification[] | undefined;
83398339

8340+
/**
8341+
* <p>Specify a completion duration, in 15 minute increments, to initiate a time-based snapshot
8342+
* copy. Time-based snapshot copy operations complete within the specified duration. For more
8343+
* information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html">
8344+
* Time-based copies</a>.</p>
8345+
* <p>If you do not specify a value, the snapshot copy operation is completed on a
8346+
* best-effort basis.</p>
8347+
* @public
8348+
*/
8349+
CompletionDurationMinutes?: number | undefined;
8350+
83408351
/**
83418352
* <p>Checks whether you have the required permissions for the action, without actually making the request,
83428353
* and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.

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

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3672,6 +3672,9 @@ export interface InstanceRequirementsRequest {
36723672
* <li>
36733673
* <p>For instance types with Amazon Web Services CPUs, specify <code>amazon-web-services</code>.</p>
36743674
* </li>
3675+
* <li>
3676+
* <p>For instance types with Apple CPUs, specify <code>apple</code>.</p>
3677+
* </li>
36753678
* </ul>
36763679
* <note>
36773680
* <p>Don't confuse the CPU manufacturer with the CPU architecture. Instances will
@@ -4963,9 +4966,9 @@ export interface PerformanceFactorReference {
49634966
* <p>Ensure that you specify the correct value for the instance family. The instance
49644967
* family is everything before the period (<code>.</code>) in the instance type name. For
49654968
* example, in the instance type <code>c6i.large</code>, the instance family is
4966-
* <code>c6i</code>, not <code>c6</code>. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html">Amazon EC2
4969+
* <code>c6i</code>, not <code>c6</code>. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html">Amazon EC2
49674970
* instance type naming conventions</a> in <i>Amazon EC2 Instance
4968-
* Types</i>.</p>
4971+
* Types</i>.</p>
49694972
* </note>
49704973
* <p>The following instance families are <i>not supported</i> for performance
49714974
* protection:</p>
@@ -5249,6 +5252,9 @@ export interface InstanceRequirements {
52495252
* <li>
52505253
* <p>For instance types with Amazon Web Services CPUs, specify <code>amazon-web-services</code>.</p>
52515254
* </li>
5255+
* <li>
5256+
* <p>For instance types with Apple CPUs, specify <code>apple</code>.</p>
5257+
* </li>
52525258
* </ul>
52535259
* <note>
52545260
* <p>Don't confuse the CPU manufacturer with the CPU architecture. Instances will
@@ -8715,9 +8721,15 @@ export interface LaunchTemplateCapacityReservationSpecificationRequest {
87158721
* <ul>
87168722
* <li>
87178723
* <p>
8724+
* <code>capacity-reservations-only</code> - The instance will only run in a
8725+
* Capacity Reservation or Capacity Reservation group. If capacity isn't available,
8726+
* the instance will fail to launch.</p>
8727+
* </li>
8728+
* <li>
8729+
* <p>
87188730
* <code>open</code> - The instance can run in any <code>open</code> Capacity
87198731
* Reservation that has matching attributes (instance type, platform, Availability
8720-
* Zone).</p>
8732+
* Zone, tenancy).</p>
87218733
* </li>
87228734
* <li>
87238735
* <p>

0 commit comments

Comments
 (0)