diff --git a/clients/client-ec2/src/commands/CreateSnapshotCommand.ts b/clients/client-ec2/src/commands/CreateSnapshotCommand.ts index fbe3bec68209..81121b99a2a5 100644 --- a/clients/client-ec2/src/commands/CreateSnapshotCommand.ts +++ b/clients/client-ec2/src/commands/CreateSnapshotCommand.ts @@ -31,10 +31,21 @@ export interface CreateSnapshotCommandOutput extends Snapshot, __MetadataBearer *

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for * backups, to make copies of EBS volumes, and to save data before shutting down an * instance.

- *

You can create snapshots of volumes in a Region and volumes on an Outpost. If you - * create a snapshot of a volume in a Region, the snapshot must be stored in the same - * Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot - * can be stored on the same Outpost as the volume, or in the Region for that Outpost.

+ *

The location of the source EBS volume determines where you can create the snapshot.

+ * *

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the * source volume are propagated to the snapshot.

*

You can take a snapshot of an attached volume that is in use. However, snapshots only @@ -49,10 +60,9 @@ export interface CreateSnapshotCommandOutput extends Snapshot, __MetadataBearer * that you stop the instance before taking the snapshot.

*

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that * are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes - * and any associated snapshots always remain protected.

- *

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 - * resources in the Amazon EC2 User Guide.

- *

For more information, see Amazon EBS and Amazon EBS encryption in the Amazon EBS User Guide.

+ * and any associated snapshots always remain protected. For more information, + * Amazon EBS encryption + * in the Amazon EBS User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -74,6 +84,7 @@ export interface CreateSnapshotCommandOutput extends Snapshot, __MetadataBearer * ], * }, * ], + * Location: "regional" || "local", * DryRun: true || false, * }; * const command = new CreateSnapshotCommand(input); @@ -90,6 +101,7 @@ export interface CreateSnapshotCommandOutput extends Snapshot, __MetadataBearer * // StorageTier: "archive" || "standard", * // RestoreExpiryTime: new Date("TIMESTAMP"), * // SseType: "sse-ebs" || "sse-kms" || "none", + * // AvailabilityZone: "STRING_VALUE", * // TransferType: "time-based" || "standard", * // CompletionDurationMinutes: Number("int"), * // CompletionTime: new Date("TIMESTAMP"), diff --git a/clients/client-ec2/src/commands/CreateSnapshotsCommand.ts b/clients/client-ec2/src/commands/CreateSnapshotsCommand.ts index b3dce205b10b..2a950f23b091 100644 --- a/clients/client-ec2/src/commands/CreateSnapshotsCommand.ts +++ b/clients/client-ec2/src/commands/CreateSnapshotsCommand.ts @@ -28,16 +28,26 @@ export interface CreateSnapshotsCommandInput extends CreateSnapshotsRequest {} export interface CreateSnapshotsCommandOutput extends CreateSnapshotsResult, __MetadataBearer {} /** - *

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3. - * Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot - * each that is crash-consistent across the instance.

- *

You can include all of the volumes currently attached to the instance, or you can exclude - * the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

- *

You can create multi-volume snapshots of instances in a Region and instances on an - * Outpost. If you create snapshots from an instance in a Region, the snapshots must be stored - * in the same Region as the instance. If you create snapshots from an instance on an Outpost, - * the snapshots can be stored on the same Outpost as the instance, or in the Region for that - * Outpost.

+ *

Creates crash-consistent snapshots of multiple EBS volumes attached to an Amazon EC2 instance. + * Volumes are chosen by specifying an instance. Each volume attached to the specified instance + * will produce one snapshot that is crash-consistent across the instance. You can include all of + * the volumes currently attached to the instance, or you can exclude the root volume or specific + * data (non-root) volumes from the multi-volume snapshot set.

+ *

The location of the source instance determines where you can create the snapshots.

+ * * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -67,6 +77,7 @@ export interface CreateSnapshotsCommandOutput extends CreateSnapshotsResult, __M * ], * DryRun: true || false, * CopyTagsFromSource: "volume", + * Location: "regional" || "local", * }; * const command = new CreateSnapshotsCommand(input); * const response = await client.send(command); @@ -90,6 +101,7 @@ export interface CreateSnapshotsCommandOutput extends CreateSnapshotsResult, __M * // SnapshotId: "STRING_VALUE", * // OutpostArn: "STRING_VALUE", * // SseType: "sse-ebs" || "sse-kms" || "none", + * // AvailabilityZone: "STRING_VALUE", * // }, * // ], * // }; diff --git a/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts b/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts index 9d1a4f9582d1..301b11e547e7 100644 --- a/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts +++ b/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteClientVpnRouteRequest } from "../models/models_2"; -import { DeleteClientVpnRouteResult } from "../models/models_3"; +import { DeleteClientVpnRouteRequest, DeleteClientVpnRouteResult } from "../models/models_3"; import { de_DeleteClientVpnRouteCommand, se_DeleteClientVpnRouteCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts b/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts index 6b18d8381ce1..ebe0ba2cfd28 100644 --- a/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeFleetHistoryRequest, DescribeFleetHistoryResult } from "../models/models_3"; +import { DescribeFleetHistoryRequest } from "../models/models_3"; +import { DescribeFleetHistoryResult } from "../models/models_4"; import { de_DescribeFleetHistoryCommand, se_DescribeFleetHistoryCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts index b11d234626ce..d46041183c2a 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts @@ -120,6 +120,7 @@ export interface DescribeSnapshotsCommandOutput extends DescribeSnapshotsResult, * // StorageTier: "archive" || "standard", * // RestoreExpiryTime: new Date("TIMESTAMP"), * // SseType: "sse-ebs" || "sse-kms" || "none", + * // AvailabilityZone: "STRING_VALUE", * // TransferType: "time-based" || "standard", * // CompletionDurationMinutes: Number("int"), * // CompletionTime: new Date("TIMESTAMP"), diff --git a/clients/client-ec2/src/commands/EnableAddressTransferCommand.ts b/clients/client-ec2/src/commands/EnableAddressTransferCommand.ts index 3e42ce213243..6d3eb4057f99 100644 --- a/clients/client-ec2/src/commands/EnableAddressTransferCommand.ts +++ b/clients/client-ec2/src/commands/EnableAddressTransferCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { EnableAddressTransferRequest, EnableAddressTransferResult } from "../models/models_5"; +import { EnableAddressTransferRequest } from "../models/models_5"; +import { EnableAddressTransferResult } from "../models/models_6"; import { de_EnableAddressTransferCommand, se_EnableAddressTransferCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts index 1398f8e9c723..37d3dadedf05 100644 --- a/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyInstanceEventWindowRequest } from "../models/models_6"; -import { ModifyInstanceEventWindowResult } from "../models/models_7"; +import { ModifyInstanceEventWindowRequest, ModifyInstanceEventWindowResult } from "../models/models_7"; import { de_ModifyInstanceEventWindowCommand, se_ModifyInstanceEventWindowCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/UnlockSnapshotCommand.ts b/clients/client-ec2/src/commands/UnlockSnapshotCommand.ts index 0247763fdff6..981eb131f879 100644 --- a/clients/client-ec2/src/commands/UnlockSnapshotCommand.ts +++ b/clients/client-ec2/src/commands/UnlockSnapshotCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UnlockSnapshotRequest } from "../models/models_7"; -import { UnlockSnapshotResult } from "../models/models_8"; +import { UnlockSnapshotRequest, UnlockSnapshotResult } from "../models/models_8"; import { de_UnlockSnapshotCommand, se_UnlockSnapshotCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 51458b616b89..7dde4bb6aab0 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -3012,6 +3012,20 @@ export interface CreateSecurityGroupResult { SecurityGroupArn?: string | undefined; } +/** + * @public + * @enum + */ +export const SnapshotLocationEnum = { + LOCAL: "local", + REGIONAL: "regional", +} as const; + +/** + * @public + */ +export type SnapshotLocationEnum = (typeof SnapshotLocationEnum)[keyof typeof SnapshotLocationEnum]; + /** * @public */ @@ -3023,22 +3037,17 @@ export interface CreateSnapshotRequest { Description?: string | undefined; /** - *

The Amazon Resource Name (ARN) of the Outpost on which to create a local - * snapshot.

+ * + *

Only supported for volumes on Outposts. If the source volume is not on an Outpost, + * omit this parameter.

+ *
* *

For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

@@ -3058,6 +3067,27 @@ export interface CreateSnapshotRequest { */ TagSpecifications?: TagSpecification[] | undefined; + /** + * + *

Only supported for volumes in Local Zones. If the source volume is not in a Local Zone, + * omit this parameter.

+ *
+ * + *

Default value: regional + *

+ * @public + */ + Location?: SnapshotLocationEnum | undefined; + /** *

Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3174,6 +3204,13 @@ export interface Snapshot { */ SseType?: SSEType | undefined; + /** + *

The Availability Zone or Local Zone of the snapshot. For example, us-west-1a + * (Availability Zone) or us-west-2-lax-1a (Local Zone).

+ * @public + */ + AvailabilityZone?: string | undefined; + /** * *

Only for snapshot copies.

@@ -3353,27 +3390,21 @@ export interface CreateSnapshotsRequest { InstanceSpecification: InstanceSpecification | undefined; /** - *

The Amazon Resource Name (ARN) of the Outpost on which to create the local - * snapshots.

+ * + *

Only supported for instances on Outposts. If the source instance is not on an Outpost, + * omit this parameter.

+ *
* - *

For more information, see - * Create multi-volume local snapshots from instances on an Outpost in the - * Amazon EBS User Guide.

+ *

For more information, see + * Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

* @public */ OutpostArn?: string | undefined; @@ -3397,6 +3428,27 @@ export interface CreateSnapshotsRequest { * @public */ CopyTagsFromSource?: CopyTagsFromSource | undefined; + + /** + * + *

Only supported for instances in Local Zones. If the source instance is not in a Local Zone, + * omit this parameter.

+ *
+ * + *

Default value: regional + *

+ * @public + */ + Location?: SnapshotLocationEnum | undefined; } /** @@ -3478,6 +3530,13 @@ export interface SnapshotInfo { * @public */ SseType?: SSEType | undefined; + + /** + *

The Availability Zone or Local Zone of the snapshots. For example, us-west-1a + * (Availability Zone) or us-west-2-lax-1a (Local Zone).

+ * @public + */ + AvailabilityZone?: string | undefined; } /** @@ -10286,35 +10345,6 @@ export interface DeleteClientVpnEndpointResult { Status?: ClientVpnEndpointStatus | undefined; } -/** - * @public - */ -export interface DeleteClientVpnRouteRequest { - /** - *

The ID of the Client VPN endpoint from which the route is to be deleted.

- * @public - */ - ClientVpnEndpointId: string | undefined; - - /** - *

The ID of the target subnet used by the route.

- * @public - */ - TargetVpcSubnetId?: string | undefined; - - /** - *

The IPv4 address range, in CIDR notation, of the route to be deleted.

- * @public - */ - DestinationCidrBlock: string | undefined; - - /** - *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 2b8fd6aa08f3..47a24dd67a3f 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -74,6 +74,35 @@ import { VpcBlockPublicAccessExclusion, } from "./models_2"; +/** + * @public + */ +export interface DeleteClientVpnRouteRequest { + /** + *

The ID of the Client VPN endpoint from which the route is to be deleted.

+ * @public + */ + ClientVpnEndpointId: string | undefined; + + /** + *

The ID of the target subnet used by the route.

+ * @public + */ + TargetVpcSubnetId?: string | undefined; + + /** + *

The IPv4 address range, in CIDR notation, of the route to be deleted.

+ * @public + */ + DestinationCidrBlock: string | undefined; + + /** + *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean | undefined; +} + /** * @public */ @@ -7845,47 +7874,6 @@ export interface HistoryRecordEntry { Timestamp?: Date | undefined; } -/** - * @public - */ -export interface DescribeFleetHistoryResult { - /** - *

Information about the events in the history of the EC2 Fleet.

- * @public - */ - HistoryRecords?: HistoryRecordEntry[] | undefined; - - /** - *

The last date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * All records up to this time were retrieved.

- *

If nextToken indicates that there are more items, this value is not - * present.

- * @public - */ - LastEvaluatedTime?: Date | undefined; - - /** - *

The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

- * @public - */ - NextToken?: string | undefined; - - /** - *

The ID of the EC Fleet.

- * @public - */ - FleetId?: string | undefined; - - /** - *

The start date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

- * @public - */ - StartTime?: Date | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 3c555b321e6c..9bd1bcb3770d 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -81,7 +81,55 @@ import { ReplaceRootVolumeTask, } from "./models_2"; -import { Byoasn, Filter, FleetStateCode, IdFormat, InstanceTagNotificationAttribute } from "./models_3"; +import { + Byoasn, + Filter, + FleetStateCode, + HistoryRecordEntry, + IdFormat, + InstanceTagNotificationAttribute, +} from "./models_3"; + +/** + * @public + */ +export interface DescribeFleetHistoryResult { + /** + *

Information about the events in the history of the EC2 Fleet.

+ * @public + */ + HistoryRecords?: HistoryRecordEntry[] | undefined; + + /** + *

The last date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * All records up to this time were retrieved.

+ *

If nextToken indicates that there are more items, this value is not + * present.

+ * @public + */ + LastEvaluatedTime?: Date | undefined; + + /** + *

The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

+ * @public + */ + NextToken?: string | undefined; + + /** + *

The ID of the EC Fleet.

+ * @public + */ + FleetId?: string | undefined; + + /** + *

The start date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

+ * @public + */ + StartTime?: Date | undefined; +} /** * @public @@ -12421,24 +12469,6 @@ export const OfferingClassType = { */ export type OfferingClassType = (typeof OfferingClassType)[keyof typeof OfferingClassType]; -/** - * @public - * @enum - */ -export const OfferingTypeValues = { - All_Upfront: "All Upfront", - Heavy_Utilization: "Heavy Utilization", - Light_Utilization: "Light Utilization", - Medium_Utilization: "Medium Utilization", - No_Upfront: "No Upfront", - Partial_Upfront: "Partial Upfront", -} as const; - -/** - * @public - */ -export type OfferingTypeValues = (typeof OfferingTypeValues)[keyof typeof OfferingTypeValues]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index c869a172595c..7f63d30198b8 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -114,7 +114,25 @@ import { StatisticType, } from "./models_3"; -import { AttributeBooleanValue, OfferingClassType, OfferingTypeValues, PermissionGroup, ProductCode } from "./models_4"; +import { AttributeBooleanValue, OfferingClassType, PermissionGroup, ProductCode } from "./models_4"; + +/** + * @public + * @enum + */ +export const OfferingTypeValues = { + All_Upfront: "All Upfront", + Heavy_Utilization: "Heavy Utilization", + Light_Utilization: "Light Utilization", + Medium_Utilization: "Medium Utilization", + No_Upfront: "No Upfront", + Partial_Upfront: "Partial Upfront", +} as const; + +/** + * @public + */ +export type OfferingTypeValues = (typeof OfferingTypeValues)[keyof typeof OfferingTypeValues]; /** *

Contains the parameters for DescribeReservedInstances.

@@ -11064,17 +11082,6 @@ export interface EnableAddressTransferRequest { DryRun?: boolean | undefined; } -/** - * @public - */ -export interface EnableAddressTransferResult { - /** - *

An Elastic IP address transfer.

- * @public - */ - AddressTransfer?: AddressTransfer | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index bfb522d8d62a..625776e6abd7 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -4,6 +4,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { AccessScopeAnalysisFinding, AddressAttribute, + AddressTransfer, AllowedImagesSettingsEnabledState, AutoPlacement, CurrencyCodeValues, @@ -35,7 +36,6 @@ import { EndDateType, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateConfigRequest, - InstanceEventWindowTimeRangeRequest, InstanceMatchCriteria, InstanceRequirementsRequest, IpamResourceTag, @@ -105,6 +105,17 @@ import { TransitGatewayPropagationState, } from "./models_5"; +/** + * @public + */ +export interface EnableAddressTransferResult { + /** + *

An Elastic IP address transfer.

+ * @public + */ + AddressTransfer?: AddressTransfer | undefined; +} + /** * @public */ @@ -8970,71 +8981,6 @@ export interface ModifyInstanceEventStartTimeResult { Event?: InstanceStatusEvent | undefined; } -/** - * @public - */ -export interface ModifyInstanceEventWindowRequest { - /** - *

Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean | undefined; - - /** - *

The name of the event window.

- * @public - */ - Name?: string | undefined; - - /** - *

The ID of the event window.

- * @public - */ - InstanceEventWindowId: string | undefined; - - /** - *

The time ranges of the event window.

- * @public - */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[] | undefined; - - /** - *

The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

- *

Constraints:

- * - *

For more information about cron expressions, see cron on the Wikipedia - * website.

- * @public - */ - CronExpression?: string | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index a998c5bfa369..b4e9718a7071 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -48,6 +48,7 @@ import { ElasticGpuSpecification, HostnameType, InstanceBandwidthWeighting, + InstanceEventWindowTimeRangeRequest, InstanceInterruptionBehavior, InstanceIpv6Address, Ipam, @@ -159,6 +160,71 @@ import { import { CapacityReservationSpecification, IpamResourceCidr, OperationType, Purchase } from "./models_6"; +/** + * @public + */ +export interface ModifyInstanceEventWindowRequest { + /** + *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean | undefined; + + /** + *

The name of the event window.

+ * @public + */ + Name?: string | undefined; + + /** + *

The ID of the event window.

+ * @public + */ + InstanceEventWindowId: string | undefined; + + /** + *

The time ranges of the event window.

+ * @public + */ + TimeRanges?: InstanceEventWindowTimeRangeRequest[] | undefined; + + /** + *

The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

+ *

Constraints:

+ * + *

For more information about cron expressions, see cron on the Wikipedia + * website.

+ * @public + */ + CronExpression?: string | undefined; +} + /** * @public */ @@ -9458,25 +9524,6 @@ export interface UnassignPrivateNatGatewayAddressResult { NatGatewayAddresses?: NatGatewayAddress[] | undefined; } -/** - * @public - */ -export interface UnlockSnapshotRequest { - /** - *

The ID of the snapshot to unlock.

- * @public - */ - SnapshotId: string | undefined; - - /** - *

Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_8.ts b/clients/client-ec2/src/models/models_8.ts index 939aba257535..9f085572f605 100644 --- a/clients/client-ec2/src/models/models_8.ts +++ b/clients/client-ec2/src/models/models_8.ts @@ -3,6 +3,25 @@ import { ByoipCidr, IpPermission } from "./models_0"; import { InstanceMonitoring } from "./models_7"; +/** + * @public + */ +export interface UnlockSnapshotRequest { + /** + *

The ID of the snapshot to unlock.

+ * @public + */ + SnapshotId: string | undefined; + + /** + *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean | undefined; +} + /** * @public */ diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 2394cabd050a..82aa2a1e1979 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -2868,7 +2868,6 @@ import { DeleteCarrierGatewayResult, DeleteClientVpnEndpointRequest, DeleteClientVpnEndpointResult, - DeleteClientVpnRouteRequest, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -3005,6 +3004,7 @@ import { ConnectionLogResponseOptions, ConversionTask, DeclarativePoliciesReport, + DeleteClientVpnRouteRequest, DeleteClientVpnRouteResult, DeleteCoipCidrRequest, DeleteCoipCidrResult, @@ -3225,7 +3225,6 @@ import { DescribeFastSnapshotRestoresResult, DescribeFastSnapshotRestoreSuccessItem, DescribeFleetHistoryRequest, - DescribeFleetHistoryResult, DirectoryServiceAuthentication, DiskImageDescription, DiskImageVolumeDescription, @@ -3266,6 +3265,7 @@ import { ConnectionTrackingSpecificationResponse, CpuOptions, DescribeFleetError, + DescribeFleetHistoryResult, DescribeFleetInstancesRequest, DescribeFleetInstancesResult, DescribeFleetsInstances, @@ -3718,7 +3718,6 @@ import { DisassociateVpcCidrBlockRequest, DisassociateVpcCidrBlockResult, EnableAddressTransferRequest, - EnableAddressTransferResult, HistoryRecord, InstanceEventWindowDisassociationRequest, InstanceNetworkInterfaceSpecification, @@ -3801,6 +3800,7 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + EnableAddressTransferResult, EnableAllowedImagesSettingsRequest, EnableAllowedImagesSettingsResult, EnableAwsNetworkPerformanceMetricSubscriptionRequest, @@ -4034,7 +4034,6 @@ import { ModifyInstanceCreditSpecificationResult, ModifyInstanceEventStartTimeRequest, ModifyInstanceEventStartTimeResult, - ModifyInstanceEventWindowRequest, PrefixListAssociation, PrefixListEntry, Purchase, @@ -4084,6 +4083,7 @@ import { IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyInstanceEventWindowRequest, ModifyInstanceEventWindowResult, ModifyInstanceMaintenanceOptionsRequest, ModifyInstanceMaintenanceOptionsResult, @@ -4350,7 +4350,6 @@ import { UnassignPrivateIpAddressesRequest, UnassignPrivateNatGatewayAddressRequest, UnassignPrivateNatGatewayAddressResult, - UnlockSnapshotRequest, VerifiedAccessLogCloudWatchLogsDestinationOptions, VerifiedAccessLogKinesisDataFirehoseDestinationOptions, VerifiedAccessLogOptions, @@ -4358,6 +4357,7 @@ import { } from "../models/models_7"; import { SecurityGroupRuleDescription, + UnlockSnapshotRequest, UnlockSnapshotResult, UnmonitorInstancesRequest, UnmonitorInstancesResult, @@ -33020,6 +33020,9 @@ const se_CreateSnapshotRequest = (input: CreateSnapshotRequest, context: __Serde entries[loc] = value; }); } + if (input[_Lo] != null) { + entries[_Lo] = input[_Lo]; + } if (input[_DRr] != null) { entries[_DRr] = input[_DRr]; } @@ -33057,6 +33060,9 @@ const se_CreateSnapshotsRequest = (input: CreateSnapshotsRequest, context: __Ser if (input[_CTFS] != null) { entries[_CTFS] = input[_CTFS]; } + if (input[_Lo] != null) { + entries[_Lo] = input[_Lo]; + } return entries; }; @@ -81431,6 +81437,9 @@ const de_Snapshot = (output: any, context: __SerdeContext): Snapshot => { if (output[_sTs] != null) { contents[_STs] = __expectString(output[_sTs]); } + if (output[_aZ] != null) { + contents[_AZ] = __expectString(output[_aZ]); + } if (output[_tTr] != null) { contents[_TTr] = __expectString(output[_tTr]); } @@ -81571,6 +81580,9 @@ const de_SnapshotInfo = (output: any, context: __SerdeContext): SnapshotInfo => if (output[_sTs] != null) { contents[_STs] = __expectString(output[_sTs]); } + if (output[_aZ] != null) { + contents[_AZ] = __expectString(output[_aZ]); + } return contents; }; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 2d5e76f06c4e..e4c2de83e72c 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -19794,7 +19794,7 @@ "target": "com.amazonaws.ec2#Snapshot" }, "traits": { - "smithy.api#documentation": "

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for\n \tbackups, to make copies of EBS volumes, and to save data before shutting down an\n \tinstance.

\n

You can create snapshots of volumes in a Region and volumes on an Outpost. If you \n \tcreate a snapshot of a volume in a Region, the snapshot must be stored in the same \n \tRegion as the volume. If you create a snapshot of a volume on an Outpost, the snapshot \n \tcan be stored on the same Outpost as the volume, or in the Region for that Outpost.

\n

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the\n source volume are propagated to the snapshot.

\n

You can take a snapshot of an attached volume that is in use. However, snapshots only\n capture data that has been written to your Amazon EBS volume at the time the snapshot command is\n issued; this might exclude any data that has been cached by any applications or the operating\n system. If you can pause any file systems on the volume long enough to take a snapshot, your\n snapshot should be complete. However, if you cannot pause all file writes to the volume, you\n should unmount the volume from within the instance, issue the snapshot command, and then\n remount the volume to ensure a consistent and complete snapshot. You may remount and use your\n volume while the snapshot status is pending.

\n

When you create a snapshot for an EBS volume that serves as a root device, we recommend \n that you stop the instance before taking the snapshot.

\n

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that\n are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes\n and any associated snapshots always remain protected.

\n

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2\n resources in the Amazon EC2 User Guide.

\n

For more information, see Amazon EBS and Amazon EBS encryption in the Amazon EBS User Guide.

", + "smithy.api#documentation": "

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for\n \tbackups, to make copies of EBS volumes, and to save data before shutting down an\n \tinstance.

\n

The location of the source EBS volume determines where you can create the snapshot.

\n \n

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the\n source volume are propagated to the snapshot.

\n

You can take a snapshot of an attached volume that is in use. However, snapshots only\n capture data that has been written to your Amazon EBS volume at the time the snapshot command is\n issued; this might exclude any data that has been cached by any applications or the operating\n system. If you can pause any file systems on the volume long enough to take a snapshot, your\n snapshot should be complete. However, if you cannot pause all file writes to the volume, you\n should unmount the volume from within the instance, issue the snapshot command, and then\n remount the volume to ensure a consistent and complete snapshot. You may remount and use your\n volume while the snapshot status is pending.

\n

When you create a snapshot for an EBS volume that serves as a root device, we recommend \n that you stop the instance before taking the snapshot.

\n

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that\n are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes\n and any associated snapshots always remain protected. For more information, \n Amazon EBS encryption \n in the Amazon EBS User Guide.

", "smithy.api#examples": [ { "title": "To create a snapshot", @@ -19829,7 +19829,7 @@ "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create a local \n \tsnapshot.

\n \n

For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

" + "smithy.api#documentation": "\n

Only supported for volumes on Outposts. If the source volume is not on an Outpost, \n omit this parameter.

\n
\n \n

For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

" } }, "VolumeId": { @@ -19847,6 +19847,12 @@ "smithy.api#xmlName": "TagSpecification" } }, + "Location": { + "target": "com.amazonaws.ec2#SnapshotLocationEnum", + "traits": { + "smithy.api#documentation": "\n

Only supported for volumes in Local Zones. If the source volume is not in a Local Zone, \n omit this parameter.

\n
\n \n

Default value: regional\n

" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -19869,7 +19875,7 @@ "target": "com.amazonaws.ec2#CreateSnapshotsResult" }, "traits": { - "smithy.api#documentation": "

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3.\n Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot\n each that is crash-consistent across the instance.

\n

You can include all of the volumes currently attached to the instance, or you can exclude \n the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

\n

You can create multi-volume snapshots of instances in a Region and instances on an \n \tOutpost. If you create snapshots from an instance in a Region, the snapshots must be stored \n \tin the same Region as the instance. If you create snapshots from an instance on an Outpost, \n \tthe snapshots can be stored on the same Outpost as the instance, or in the Region for that \n \tOutpost.

" + "smithy.api#documentation": "

Creates crash-consistent snapshots of multiple EBS volumes attached to an Amazon EC2 instance.\n Volumes are chosen by specifying an instance. Each volume attached to the specified instance \n will produce one snapshot that is crash-consistent across the instance. You can include all of \n the volumes currently attached to the instance, or you can exclude the root volume or specific \n data (non-root) volumes from the multi-volume snapshot set.

\n

The location of the source instance determines where you can create the snapshots.

\n " } }, "com.amazonaws.ec2#CreateSnapshotsRequest": { @@ -19892,7 +19898,7 @@ "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create the local \n \t\tsnapshots.

\n \n

For more information, see \n \t\tCreate multi-volume local snapshots from instances on an Outpost in the \n \t\tAmazon EBS User Guide.

" + "smithy.api#documentation": "\n

Only supported for instances on Outposts. If the source instance is not on an Outpost, \n omit this parameter.

\n
\n \n

For more information, see \n Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

" } }, "TagSpecifications": { @@ -19913,6 +19919,12 @@ "traits": { "smithy.api#documentation": "

Copies the tags from the specified volume to corresponding snapshot.

" } + }, + "Location": { + "target": "com.amazonaws.ec2#SnapshotLocationEnum", + "traits": { + "smithy.api#documentation": "\n

Only supported for instances in Local Zones. If the source instance is not in a Local Zone, \n omit this parameter.

\n
\n \n

Default value: regional\n

" + } } }, "traits": { @@ -100613,6 +100625,14 @@ "smithy.api#xmlName": "sseType" } }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone or Local Zone of the snapshot. For example, us-west-1a \n (Availability Zone) or us-west-2-lax-1a (Local Zone).

", + "smithy.api#xmlName": "availabilityZone" + } + }, "TransferType": { "target": "com.amazonaws.ec2#TransferType", "traits": { @@ -101029,6 +101049,14 @@ "smithy.api#documentation": "

Reserved for future use.

", "smithy.api#xmlName": "sseType" } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone or Local Zone of the snapshots. For example, us-west-1a \n (Availability Zone) or us-west-2-lax-1a (Local Zone).

", + "smithy.api#xmlName": "availabilityZone" + } } }, "traits": { @@ -101044,6 +101072,23 @@ } } }, + "com.amazonaws.ec2#SnapshotLocationEnum": { + "type": "enum", + "members": { + "REGIONAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "regional" + } + }, + "LOCAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "local" + } + } + } + }, "com.amazonaws.ec2#SnapshotRecycleBinInfo": { "type": "structure", "members": {