diff --git a/clients/client-ec2/README.md b/clients/client-ec2/README.md index 42e73ec28b0f..3e90feeba098 100644 --- a/clients/client-ec2/README.md +++ b/clients/client-ec2/README.md @@ -2405,6 +2405,14 @@ DescribeInstanceEventWindows [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeInstanceEventWindowsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeInstanceEventWindowsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeInstanceEventWindowsCommandOutput/) + +
+ +DescribeInstanceImageMetadata + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeInstanceImageMetadataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeInstanceImageMetadataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeInstanceImageMetadataCommandOutput/) +
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 4030f4b3834d..9d37d5d61438 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -1333,6 +1333,11 @@ import { DescribeInstanceEventWindowsCommandInput, DescribeInstanceEventWindowsCommandOutput, } from "./commands/DescribeInstanceEventWindowsCommand"; +import { + DescribeInstanceImageMetadataCommand, + DescribeInstanceImageMetadataCommandInput, + DescribeInstanceImageMetadataCommandOutput, +} from "./commands/DescribeInstanceImageMetadataCommand"; import { DescribeInstancesCommand, DescribeInstancesCommandInput, @@ -3377,6 +3382,7 @@ const commands = { DescribeInstanceCreditSpecificationsCommand, DescribeInstanceEventNotificationAttributesCommand, DescribeInstanceEventWindowsCommand, + DescribeInstanceImageMetadataCommand, DescribeInstancesCommand, DescribeInstanceStatusCommand, DescribeInstanceTopologyCommand, @@ -8277,6 +8283,24 @@ export interface EC2 { cb: (err: any, data?: DescribeInstanceEventWindowsCommandOutput) => void ): void; + /** + * @see {@link DescribeInstanceImageMetadataCommand} + */ + describeInstanceImageMetadata(): Promise; + describeInstanceImageMetadata( + args: DescribeInstanceImageMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeInstanceImageMetadata( + args: DescribeInstanceImageMetadataCommandInput, + cb: (err: any, data?: DescribeInstanceImageMetadataCommandOutput) => void + ): void; + describeInstanceImageMetadata( + args: DescribeInstanceImageMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInstanceImageMetadataCommandOutput) => void + ): void; + /** * @see {@link DescribeInstancesCommand} */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index 08dc1936391d..fd44d9d4112a 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -949,6 +949,10 @@ import { DescribeInstanceEventWindowsCommandInput, DescribeInstanceEventWindowsCommandOutput, } from "./commands/DescribeInstanceEventWindowsCommand"; +import { + DescribeInstanceImageMetadataCommandInput, + DescribeInstanceImageMetadataCommandOutput, +} from "./commands/DescribeInstanceImageMetadataCommand"; import { DescribeInstancesCommandInput, DescribeInstancesCommandOutput } from "./commands/DescribeInstancesCommand"; import { DescribeInstanceStatusCommandInput, @@ -2491,6 +2495,7 @@ export type ServiceInputTypes = | DescribeInstanceCreditSpecificationsCommandInput | DescribeInstanceEventNotificationAttributesCommandInput | DescribeInstanceEventWindowsCommandInput + | DescribeInstanceImageMetadataCommandInput | DescribeInstanceStatusCommandInput | DescribeInstanceTopologyCommandInput | DescribeInstanceTypeOfferingsCommandInput @@ -3129,6 +3134,7 @@ export type ServiceOutputTypes = | DescribeInstanceCreditSpecificationsCommandOutput | DescribeInstanceEventNotificationAttributesCommandOutput | DescribeInstanceEventWindowsCommandOutput + | DescribeInstanceImageMetadataCommandOutput | DescribeInstanceStatusCommandOutput | DescribeInstanceTopologyCommandOutput | DescribeInstanceTypeOfferingsCommandOutput diff --git a/clients/client-ec2/src/commands/DescribeInstanceImageMetadataCommand.ts b/clients/client-ec2/src/commands/DescribeInstanceImageMetadataCommand.ts new file mode 100644 index 000000000000..2ed7b9ae9ec1 --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeInstanceImageMetadataCommand.ts @@ -0,0 +1,155 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DescribeInstanceImageMetadataRequest, DescribeInstanceImageMetadataResult } from "../models/models_4"; +import { de_DescribeInstanceImageMetadataCommand, se_DescribeInstanceImageMetadataCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeInstanceImageMetadataCommand}. + */ +export interface DescribeInstanceImageMetadataCommandInput extends DescribeInstanceImageMetadataRequest {} +/** + * @public + * + * The output of {@link DescribeInstanceImageMetadataCommand}. + */ +export interface DescribeInstanceImageMetadataCommandOutput + extends DescribeInstanceImageMetadataResult, + __MetadataBearer {} + +/** + *

Describes the AMI that was used to launch an instance, even if the AMI is deprecated, + * deregistered, or made private (no longer public or shared with your account).

+ *

If you specify instance IDs, the output includes information for only the specified + * instances. If you specify filters, the output includes information for only those instances + * that meet the filter criteria. If you do not specify instance IDs or filters, the output + * includes information for all instances, which can affect performance.

+ *

If you specify an instance ID that is not valid, an instance that doesn't exist, or an + * instance that you do not own, an error (InvalidInstanceID.NotFound) is + * returned.

+ *

Recently terminated instances might appear in the returned results. This interval is + * usually less than one hour.

+ *

In the rare case where an Availability Zone is experiencing a service disruption and you + * specify instance IDs that are in the affected Availability Zone, or do not specify any + * instance IDs at all, the call fails. If you specify only instance IDs that are in an + * unaffected Availability Zone, the call works normally.

+ * + *

The order of the elements in the response, including those within nested structures, + * might vary. Applications should not assume the elements appear in a particular order.

+ *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeInstanceImageMetadataCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeInstanceImageMetadataCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DescribeInstanceImageMetadataRequest + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", + * Values: [ // ValueStringList + * "STRING_VALUE", + * ], + * }, + * ], + * InstanceIds: [ // InstanceIdStringList + * "STRING_VALUE", + * ], + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * DryRun: true || false, + * }; + * const command = new DescribeInstanceImageMetadataCommand(input); + * const response = await client.send(command); + * // { // DescribeInstanceImageMetadataResult + * // InstanceImageMetadata: [ // InstanceImageMetadataList + * // { // InstanceImageMetadata + * // InstanceId: "STRING_VALUE", + * // InstanceType: "a1.medium" || "a1.large" || "a1.xlarge" || "a1.2xlarge" || "a1.4xlarge" || "a1.metal" || "c1.medium" || "c1.xlarge" || "c3.large" || "c3.xlarge" || "c3.2xlarge" || "c3.4xlarge" || "c3.8xlarge" || "c4.large" || "c4.xlarge" || "c4.2xlarge" || "c4.4xlarge" || "c4.8xlarge" || "c5.large" || "c5.xlarge" || "c5.2xlarge" || "c5.4xlarge" || "c5.9xlarge" || "c5.12xlarge" || "c5.18xlarge" || "c5.24xlarge" || "c5.metal" || "c5a.large" || "c5a.xlarge" || "c5a.2xlarge" || "c5a.4xlarge" || "c5a.8xlarge" || "c5a.12xlarge" || "c5a.16xlarge" || "c5a.24xlarge" || "c5ad.large" || "c5ad.xlarge" || "c5ad.2xlarge" || "c5ad.4xlarge" || "c5ad.8xlarge" || "c5ad.12xlarge" || "c5ad.16xlarge" || "c5ad.24xlarge" || "c5d.large" || "c5d.xlarge" || "c5d.2xlarge" || "c5d.4xlarge" || "c5d.9xlarge" || "c5d.12xlarge" || "c5d.18xlarge" || "c5d.24xlarge" || "c5d.metal" || "c5n.large" || "c5n.xlarge" || "c5n.2xlarge" || "c5n.4xlarge" || "c5n.9xlarge" || "c5n.18xlarge" || "c5n.metal" || "c6g.medium" || "c6g.large" || "c6g.xlarge" || "c6g.2xlarge" || "c6g.4xlarge" || "c6g.8xlarge" || "c6g.12xlarge" || "c6g.16xlarge" || "c6g.metal" || "c6gd.medium" || "c6gd.large" || "c6gd.xlarge" || "c6gd.2xlarge" || "c6gd.4xlarge" || "c6gd.8xlarge" || "c6gd.12xlarge" || "c6gd.16xlarge" || "c6gd.metal" || "c6gn.medium" || "c6gn.large" || "c6gn.xlarge" || "c6gn.2xlarge" || "c6gn.4xlarge" || "c6gn.8xlarge" || "c6gn.12xlarge" || "c6gn.16xlarge" || "c6i.large" || "c6i.xlarge" || "c6i.2xlarge" || "c6i.4xlarge" || "c6i.8xlarge" || "c6i.12xlarge" || "c6i.16xlarge" || "c6i.24xlarge" || "c6i.32xlarge" || "c6i.metal" || "cc1.4xlarge" || "cc2.8xlarge" || "cg1.4xlarge" || "cr1.8xlarge" || "d2.xlarge" || "d2.2xlarge" || "d2.4xlarge" || "d2.8xlarge" || "d3.xlarge" || "d3.2xlarge" || "d3.4xlarge" || "d3.8xlarge" || "d3en.xlarge" || "d3en.2xlarge" || "d3en.4xlarge" || "d3en.6xlarge" || "d3en.8xlarge" || "d3en.12xlarge" || "dl1.24xlarge" || "f1.2xlarge" || "f1.4xlarge" || "f1.16xlarge" || "g2.2xlarge" || "g2.8xlarge" || "g3.4xlarge" || "g3.8xlarge" || "g3.16xlarge" || "g3s.xlarge" || "g4ad.xlarge" || "g4ad.2xlarge" || "g4ad.4xlarge" || "g4ad.8xlarge" || "g4ad.16xlarge" || "g4dn.xlarge" || "g4dn.2xlarge" || "g4dn.4xlarge" || "g4dn.8xlarge" || "g4dn.12xlarge" || "g4dn.16xlarge" || "g4dn.metal" || "g5.xlarge" || "g5.2xlarge" || "g5.4xlarge" || "g5.8xlarge" || "g5.12xlarge" || "g5.16xlarge" || "g5.24xlarge" || "g5.48xlarge" || "g5g.xlarge" || "g5g.2xlarge" || "g5g.4xlarge" || "g5g.8xlarge" || "g5g.16xlarge" || "g5g.metal" || "hi1.4xlarge" || "hpc6a.48xlarge" || "hs1.8xlarge" || "h1.2xlarge" || "h1.4xlarge" || "h1.8xlarge" || "h1.16xlarge" || "i2.xlarge" || "i2.2xlarge" || "i2.4xlarge" || "i2.8xlarge" || "i3.large" || "i3.xlarge" || "i3.2xlarge" || "i3.4xlarge" || "i3.8xlarge" || "i3.16xlarge" || "i3.metal" || "i3en.large" || "i3en.xlarge" || "i3en.2xlarge" || "i3en.3xlarge" || "i3en.6xlarge" || "i3en.12xlarge" || "i3en.24xlarge" || "i3en.metal" || "im4gn.large" || "im4gn.xlarge" || "im4gn.2xlarge" || "im4gn.4xlarge" || "im4gn.8xlarge" || "im4gn.16xlarge" || "inf1.xlarge" || "inf1.2xlarge" || "inf1.6xlarge" || "inf1.24xlarge" || "is4gen.medium" || "is4gen.large" || "is4gen.xlarge" || "is4gen.2xlarge" || "is4gen.4xlarge" || "is4gen.8xlarge" || "m1.small" || "m1.medium" || "m1.large" || "m1.xlarge" || "m2.xlarge" || "m2.2xlarge" || "m2.4xlarge" || "m3.medium" || "m3.large" || "m3.xlarge" || "m3.2xlarge" || "m4.large" || "m4.xlarge" || "m4.2xlarge" || "m4.4xlarge" || "m4.10xlarge" || "m4.16xlarge" || "m5.large" || "m5.xlarge" || "m5.2xlarge" || "m5.4xlarge" || "m5.8xlarge" || "m5.12xlarge" || "m5.16xlarge" || "m5.24xlarge" || "m5.metal" || "m5a.large" || "m5a.xlarge" || "m5a.2xlarge" || "m5a.4xlarge" || "m5a.8xlarge" || "m5a.12xlarge" || "m5a.16xlarge" || "m5a.24xlarge" || "m5ad.large" || "m5ad.xlarge" || "m5ad.2xlarge" || "m5ad.4xlarge" || "m5ad.8xlarge" || "m5ad.12xlarge" || "m5ad.16xlarge" || "m5ad.24xlarge" || "m5d.large" || "m5d.xlarge" || "m5d.2xlarge" || "m5d.4xlarge" || "m5d.8xlarge" || "m5d.12xlarge" || "m5d.16xlarge" || "m5d.24xlarge" || "m5d.metal" || "m5dn.large" || "m5dn.xlarge" || "m5dn.2xlarge" || "m5dn.4xlarge" || "m5dn.8xlarge" || "m5dn.12xlarge" || "m5dn.16xlarge" || "m5dn.24xlarge" || "m5dn.metal" || "m5n.large" || "m5n.xlarge" || "m5n.2xlarge" || "m5n.4xlarge" || "m5n.8xlarge" || "m5n.12xlarge" || "m5n.16xlarge" || "m5n.24xlarge" || "m5n.metal" || "m5zn.large" || "m5zn.xlarge" || "m5zn.2xlarge" || "m5zn.3xlarge" || "m5zn.6xlarge" || "m5zn.12xlarge" || "m5zn.metal" || "m6a.large" || "m6a.xlarge" || "m6a.2xlarge" || "m6a.4xlarge" || "m6a.8xlarge" || "m6a.12xlarge" || "m6a.16xlarge" || "m6a.24xlarge" || "m6a.32xlarge" || "m6a.48xlarge" || "m6g.metal" || "m6g.medium" || "m6g.large" || "m6g.xlarge" || "m6g.2xlarge" || "m6g.4xlarge" || "m6g.8xlarge" || "m6g.12xlarge" || "m6g.16xlarge" || "m6gd.metal" || "m6gd.medium" || "m6gd.large" || "m6gd.xlarge" || "m6gd.2xlarge" || "m6gd.4xlarge" || "m6gd.8xlarge" || "m6gd.12xlarge" || "m6gd.16xlarge" || "m6i.large" || "m6i.xlarge" || "m6i.2xlarge" || "m6i.4xlarge" || "m6i.8xlarge" || "m6i.12xlarge" || "m6i.16xlarge" || "m6i.24xlarge" || "m6i.32xlarge" || "m6i.metal" || "mac1.metal" || "p2.xlarge" || "p2.8xlarge" || "p2.16xlarge" || "p3.2xlarge" || "p3.8xlarge" || "p3.16xlarge" || "p3dn.24xlarge" || "p4d.24xlarge" || "r3.large" || "r3.xlarge" || "r3.2xlarge" || "r3.4xlarge" || "r3.8xlarge" || "r4.large" || "r4.xlarge" || "r4.2xlarge" || "r4.4xlarge" || "r4.8xlarge" || "r4.16xlarge" || "r5.large" || "r5.xlarge" || "r5.2xlarge" || "r5.4xlarge" || "r5.8xlarge" || "r5.12xlarge" || "r5.16xlarge" || "r5.24xlarge" || "r5.metal" || "r5a.large" || "r5a.xlarge" || "r5a.2xlarge" || "r5a.4xlarge" || "r5a.8xlarge" || "r5a.12xlarge" || "r5a.16xlarge" || "r5a.24xlarge" || "r5ad.large" || "r5ad.xlarge" || "r5ad.2xlarge" || "r5ad.4xlarge" || "r5ad.8xlarge" || "r5ad.12xlarge" || "r5ad.16xlarge" || "r5ad.24xlarge" || "r5b.large" || "r5b.xlarge" || "r5b.2xlarge" || "r5b.4xlarge" || "r5b.8xlarge" || "r5b.12xlarge" || "r5b.16xlarge" || "r5b.24xlarge" || "r5b.metal" || "r5d.large" || "r5d.xlarge" || "r5d.2xlarge" || "r5d.4xlarge" || "r5d.8xlarge" || "r5d.12xlarge" || "r5d.16xlarge" || "r5d.24xlarge" || "r5d.metal" || "r5dn.large" || "r5dn.xlarge" || "r5dn.2xlarge" || "r5dn.4xlarge" || "r5dn.8xlarge" || "r5dn.12xlarge" || "r5dn.16xlarge" || "r5dn.24xlarge" || "r5dn.metal" || "r5n.large" || "r5n.xlarge" || "r5n.2xlarge" || "r5n.4xlarge" || "r5n.8xlarge" || "r5n.12xlarge" || "r5n.16xlarge" || "r5n.24xlarge" || "r5n.metal" || "r6g.medium" || "r6g.large" || "r6g.xlarge" || "r6g.2xlarge" || "r6g.4xlarge" || "r6g.8xlarge" || "r6g.12xlarge" || "r6g.16xlarge" || "r6g.metal" || "r6gd.medium" || "r6gd.large" || "r6gd.xlarge" || "r6gd.2xlarge" || "r6gd.4xlarge" || "r6gd.8xlarge" || "r6gd.12xlarge" || "r6gd.16xlarge" || "r6gd.metal" || "r6i.large" || "r6i.xlarge" || "r6i.2xlarge" || "r6i.4xlarge" || "r6i.8xlarge" || "r6i.12xlarge" || "r6i.16xlarge" || "r6i.24xlarge" || "r6i.32xlarge" || "r6i.metal" || "t1.micro" || "t2.nano" || "t2.micro" || "t2.small" || "t2.medium" || "t2.large" || "t2.xlarge" || "t2.2xlarge" || "t3.nano" || "t3.micro" || "t3.small" || "t3.medium" || "t3.large" || "t3.xlarge" || "t3.2xlarge" || "t3a.nano" || "t3a.micro" || "t3a.small" || "t3a.medium" || "t3a.large" || "t3a.xlarge" || "t3a.2xlarge" || "t4g.nano" || "t4g.micro" || "t4g.small" || "t4g.medium" || "t4g.large" || "t4g.xlarge" || "t4g.2xlarge" || "u-6tb1.56xlarge" || "u-6tb1.112xlarge" || "u-9tb1.112xlarge" || "u-12tb1.112xlarge" || "u-6tb1.metal" || "u-9tb1.metal" || "u-12tb1.metal" || "u-18tb1.metal" || "u-24tb1.metal" || "vt1.3xlarge" || "vt1.6xlarge" || "vt1.24xlarge" || "x1.16xlarge" || "x1.32xlarge" || "x1e.xlarge" || "x1e.2xlarge" || "x1e.4xlarge" || "x1e.8xlarge" || "x1e.16xlarge" || "x1e.32xlarge" || "x2iezn.2xlarge" || "x2iezn.4xlarge" || "x2iezn.6xlarge" || "x2iezn.8xlarge" || "x2iezn.12xlarge" || "x2iezn.metal" || "x2gd.medium" || "x2gd.large" || "x2gd.xlarge" || "x2gd.2xlarge" || "x2gd.4xlarge" || "x2gd.8xlarge" || "x2gd.12xlarge" || "x2gd.16xlarge" || "x2gd.metal" || "z1d.large" || "z1d.xlarge" || "z1d.2xlarge" || "z1d.3xlarge" || "z1d.6xlarge" || "z1d.12xlarge" || "z1d.metal" || "x2idn.16xlarge" || "x2idn.24xlarge" || "x2idn.32xlarge" || "x2iedn.xlarge" || "x2iedn.2xlarge" || "x2iedn.4xlarge" || "x2iedn.8xlarge" || "x2iedn.16xlarge" || "x2iedn.24xlarge" || "x2iedn.32xlarge" || "c6a.large" || "c6a.xlarge" || "c6a.2xlarge" || "c6a.4xlarge" || "c6a.8xlarge" || "c6a.12xlarge" || "c6a.16xlarge" || "c6a.24xlarge" || "c6a.32xlarge" || "c6a.48xlarge" || "c6a.metal" || "m6a.metal" || "i4i.large" || "i4i.xlarge" || "i4i.2xlarge" || "i4i.4xlarge" || "i4i.8xlarge" || "i4i.16xlarge" || "i4i.32xlarge" || "i4i.metal" || "x2idn.metal" || "x2iedn.metal" || "c7g.medium" || "c7g.large" || "c7g.xlarge" || "c7g.2xlarge" || "c7g.4xlarge" || "c7g.8xlarge" || "c7g.12xlarge" || "c7g.16xlarge" || "mac2.metal" || "c6id.large" || "c6id.xlarge" || "c6id.2xlarge" || "c6id.4xlarge" || "c6id.8xlarge" || "c6id.12xlarge" || "c6id.16xlarge" || "c6id.24xlarge" || "c6id.32xlarge" || "c6id.metal" || "m6id.large" || "m6id.xlarge" || "m6id.2xlarge" || "m6id.4xlarge" || "m6id.8xlarge" || "m6id.12xlarge" || "m6id.16xlarge" || "m6id.24xlarge" || "m6id.32xlarge" || "m6id.metal" || "r6id.large" || "r6id.xlarge" || "r6id.2xlarge" || "r6id.4xlarge" || "r6id.8xlarge" || "r6id.12xlarge" || "r6id.16xlarge" || "r6id.24xlarge" || "r6id.32xlarge" || "r6id.metal" || "r6a.large" || "r6a.xlarge" || "r6a.2xlarge" || "r6a.4xlarge" || "r6a.8xlarge" || "r6a.12xlarge" || "r6a.16xlarge" || "r6a.24xlarge" || "r6a.32xlarge" || "r6a.48xlarge" || "r6a.metal" || "p4de.24xlarge" || "u-3tb1.56xlarge" || "u-18tb1.112xlarge" || "u-24tb1.112xlarge" || "trn1.2xlarge" || "trn1.32xlarge" || "hpc6id.32xlarge" || "c6in.large" || "c6in.xlarge" || "c6in.2xlarge" || "c6in.4xlarge" || "c6in.8xlarge" || "c6in.12xlarge" || "c6in.16xlarge" || "c6in.24xlarge" || "c6in.32xlarge" || "m6in.large" || "m6in.xlarge" || "m6in.2xlarge" || "m6in.4xlarge" || "m6in.8xlarge" || "m6in.12xlarge" || "m6in.16xlarge" || "m6in.24xlarge" || "m6in.32xlarge" || "m6idn.large" || "m6idn.xlarge" || "m6idn.2xlarge" || "m6idn.4xlarge" || "m6idn.8xlarge" || "m6idn.12xlarge" || "m6idn.16xlarge" || "m6idn.24xlarge" || "m6idn.32xlarge" || "r6in.large" || "r6in.xlarge" || "r6in.2xlarge" || "r6in.4xlarge" || "r6in.8xlarge" || "r6in.12xlarge" || "r6in.16xlarge" || "r6in.24xlarge" || "r6in.32xlarge" || "r6idn.large" || "r6idn.xlarge" || "r6idn.2xlarge" || "r6idn.4xlarge" || "r6idn.8xlarge" || "r6idn.12xlarge" || "r6idn.16xlarge" || "r6idn.24xlarge" || "r6idn.32xlarge" || "c7g.metal" || "m7g.medium" || "m7g.large" || "m7g.xlarge" || "m7g.2xlarge" || "m7g.4xlarge" || "m7g.8xlarge" || "m7g.12xlarge" || "m7g.16xlarge" || "m7g.metal" || "r7g.medium" || "r7g.large" || "r7g.xlarge" || "r7g.2xlarge" || "r7g.4xlarge" || "r7g.8xlarge" || "r7g.12xlarge" || "r7g.16xlarge" || "r7g.metal" || "c6in.metal" || "m6in.metal" || "m6idn.metal" || "r6in.metal" || "r6idn.metal" || "inf2.xlarge" || "inf2.8xlarge" || "inf2.24xlarge" || "inf2.48xlarge" || "trn1n.32xlarge" || "i4g.large" || "i4g.xlarge" || "i4g.2xlarge" || "i4g.4xlarge" || "i4g.8xlarge" || "i4g.16xlarge" || "hpc7g.4xlarge" || "hpc7g.8xlarge" || "hpc7g.16xlarge" || "c7gn.medium" || "c7gn.large" || "c7gn.xlarge" || "c7gn.2xlarge" || "c7gn.4xlarge" || "c7gn.8xlarge" || "c7gn.12xlarge" || "c7gn.16xlarge" || "p5.48xlarge" || "m7i.large" || "m7i.xlarge" || "m7i.2xlarge" || "m7i.4xlarge" || "m7i.8xlarge" || "m7i.12xlarge" || "m7i.16xlarge" || "m7i.24xlarge" || "m7i.48xlarge" || "m7i-flex.large" || "m7i-flex.xlarge" || "m7i-flex.2xlarge" || "m7i-flex.4xlarge" || "m7i-flex.8xlarge" || "m7a.medium" || "m7a.large" || "m7a.xlarge" || "m7a.2xlarge" || "m7a.4xlarge" || "m7a.8xlarge" || "m7a.12xlarge" || "m7a.16xlarge" || "m7a.24xlarge" || "m7a.32xlarge" || "m7a.48xlarge" || "m7a.metal-48xl" || "hpc7a.12xlarge" || "hpc7a.24xlarge" || "hpc7a.48xlarge" || "hpc7a.96xlarge" || "c7gd.medium" || "c7gd.large" || "c7gd.xlarge" || "c7gd.2xlarge" || "c7gd.4xlarge" || "c7gd.8xlarge" || "c7gd.12xlarge" || "c7gd.16xlarge" || "m7gd.medium" || "m7gd.large" || "m7gd.xlarge" || "m7gd.2xlarge" || "m7gd.4xlarge" || "m7gd.8xlarge" || "m7gd.12xlarge" || "m7gd.16xlarge" || "r7gd.medium" || "r7gd.large" || "r7gd.xlarge" || "r7gd.2xlarge" || "r7gd.4xlarge" || "r7gd.8xlarge" || "r7gd.12xlarge" || "r7gd.16xlarge" || "r7a.medium" || "r7a.large" || "r7a.xlarge" || "r7a.2xlarge" || "r7a.4xlarge" || "r7a.8xlarge" || "r7a.12xlarge" || "r7a.16xlarge" || "r7a.24xlarge" || "r7a.32xlarge" || "r7a.48xlarge" || "c7i.large" || "c7i.xlarge" || "c7i.2xlarge" || "c7i.4xlarge" || "c7i.8xlarge" || "c7i.12xlarge" || "c7i.16xlarge" || "c7i.24xlarge" || "c7i.48xlarge" || "mac2-m2pro.metal" || "r7iz.large" || "r7iz.xlarge" || "r7iz.2xlarge" || "r7iz.4xlarge" || "r7iz.8xlarge" || "r7iz.12xlarge" || "r7iz.16xlarge" || "r7iz.32xlarge" || "c7a.medium" || "c7a.large" || "c7a.xlarge" || "c7a.2xlarge" || "c7a.4xlarge" || "c7a.8xlarge" || "c7a.12xlarge" || "c7a.16xlarge" || "c7a.24xlarge" || "c7a.32xlarge" || "c7a.48xlarge" || "c7a.metal-48xl" || "r7a.metal-48xl" || "r7i.large" || "r7i.xlarge" || "r7i.2xlarge" || "r7i.4xlarge" || "r7i.8xlarge" || "r7i.12xlarge" || "r7i.16xlarge" || "r7i.24xlarge" || "r7i.48xlarge" || "dl2q.24xlarge" || "mac2-m2.metal" || "i4i.12xlarge" || "i4i.24xlarge" || "c7i.metal-24xl" || "c7i.metal-48xl" || "m7i.metal-24xl" || "m7i.metal-48xl" || "r7i.metal-24xl" || "r7i.metal-48xl" || "r7iz.metal-16xl" || "r7iz.metal-32xl" || "c7gd.metal" || "m7gd.metal" || "r7gd.metal" || "g6.xlarge" || "g6.2xlarge" || "g6.4xlarge" || "g6.8xlarge" || "g6.12xlarge" || "g6.16xlarge" || "g6.24xlarge" || "g6.48xlarge" || "gr6.4xlarge" || "gr6.8xlarge" || "c7i-flex.large" || "c7i-flex.xlarge" || "c7i-flex.2xlarge" || "c7i-flex.4xlarge" || "c7i-flex.8xlarge" || "u7i-12tb.224xlarge" || "u7in-16tb.224xlarge" || "u7in-24tb.224xlarge" || "u7in-32tb.224xlarge" || "u7ib-12tb.224xlarge" || "c7gn.metal" || "r8g.medium" || "r8g.large" || "r8g.xlarge" || "r8g.2xlarge" || "r8g.4xlarge" || "r8g.8xlarge" || "r8g.12xlarge" || "r8g.16xlarge" || "r8g.24xlarge" || "r8g.48xlarge" || "r8g.metal-24xl" || "r8g.metal-48xl" || "mac2-m1ultra.metal" || "g6e.xlarge" || "g6e.2xlarge" || "g6e.4xlarge" || "g6e.8xlarge" || "g6e.12xlarge" || "g6e.16xlarge" || "g6e.24xlarge" || "g6e.48xlarge" || "c8g.medium" || "c8g.large" || "c8g.xlarge" || "c8g.2xlarge" || "c8g.4xlarge" || "c8g.8xlarge" || "c8g.12xlarge" || "c8g.16xlarge" || "c8g.24xlarge" || "c8g.48xlarge" || "c8g.metal-24xl" || "c8g.metal-48xl" || "m8g.medium" || "m8g.large" || "m8g.xlarge" || "m8g.2xlarge" || "m8g.4xlarge" || "m8g.8xlarge" || "m8g.12xlarge" || "m8g.16xlarge" || "m8g.24xlarge" || "m8g.48xlarge" || "m8g.metal-24xl" || "m8g.metal-48xl" || "x8g.medium" || "x8g.large" || "x8g.xlarge" || "x8g.2xlarge" || "x8g.4xlarge" || "x8g.8xlarge" || "x8g.12xlarge" || "x8g.16xlarge" || "x8g.24xlarge" || "x8g.48xlarge" || "x8g.metal-24xl" || "x8g.metal-48xl", + * // LaunchTime: new Date("TIMESTAMP"), + * // AvailabilityZone: "STRING_VALUE", + * // ZoneId: "STRING_VALUE", + * // State: { // InstanceState + * // Code: Number("int"), + * // Name: "pending" || "running" || "shutting-down" || "terminated" || "stopping" || "stopped", + * // }, + * // OwnerId: "STRING_VALUE", + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // ImageMetadata: { // ImageMetadata + * // ImageId: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // OwnerId: "STRING_VALUE", + * // State: "pending" || "available" || "invalid" || "deregistered" || "transient" || "failed" || "error" || "disabled", + * // ImageOwnerAlias: "STRING_VALUE", + * // CreationDate: "STRING_VALUE", + * // DeprecationTime: "STRING_VALUE", + * // IsPublic: true || false, + * // }, + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeInstanceImageMetadataCommandInput - {@link DescribeInstanceImageMetadataCommandInput} + * @returns {@link DescribeInstanceImageMetadataCommandOutput} + * @see {@link DescribeInstanceImageMetadataCommandInput} for command's `input` shape. + * @see {@link DescribeInstanceImageMetadataCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class DescribeInstanceImageMetadataCommand extends $Command + .classBuilder< + DescribeInstanceImageMetadataCommandInput, + DescribeInstanceImageMetadataCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "DescribeInstanceImageMetadata", {}) + .n("EC2Client", "DescribeInstanceImageMetadataCommand") + .f(void 0, void 0) + .ser(se_DescribeInstanceImageMetadataCommand) + .de(de_DescribeInstanceImageMetadataCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeInstanceImageMetadataRequest; + output: DescribeInstanceImageMetadataResult; + }; + sdk: { + input: DescribeInstanceImageMetadataCommandInput; + output: DescribeInstanceImageMetadataCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts index 04afe1d5e2de..76173f800b8a 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSpotFleetRequestHistoryRequest, DescribeSpotFleetRequestHistoryResponse } from "../models/models_4"; +import { DescribeSpotFleetRequestHistoryRequest } from "../models/models_4"; +import { DescribeSpotFleetRequestHistoryResponse } from "../models/models_5"; import { de_DescribeSpotFleetRequestHistoryCommand, se_DescribeSpotFleetRequestHistoryCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts index 87ebd864cbba..90a6c095d19c 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts @@ -6,8 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSpotFleetRequestsRequest } from "../models/models_4"; import { + DescribeSpotFleetRequestsRequest, DescribeSpotFleetRequestsResponse, DescribeSpotFleetRequestsResponseFilterSensitiveLog, } from "../models/models_5"; diff --git a/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts b/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts index 8e919664fa11..22b1a6bee5a8 100644 --- a/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts +++ b/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetEbsDefaultKmsKeyIdRequest, GetEbsDefaultKmsKeyIdResult } from "../models/models_5"; +import { GetEbsDefaultKmsKeyIdRequest } from "../models/models_5"; +import { GetEbsDefaultKmsKeyIdResult } from "../models/models_6"; import { de_GetEbsDefaultKmsKeyIdCommand, se_GetEbsDefaultKmsKeyIdCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetEbsEncryptionByDefaultCommand.ts b/clients/client-ec2/src/commands/GetEbsEncryptionByDefaultCommand.ts index 4f879010e9d7..d7009f18cbd5 100644 --- a/clients/client-ec2/src/commands/GetEbsEncryptionByDefaultCommand.ts +++ b/clients/client-ec2/src/commands/GetEbsEncryptionByDefaultCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetEbsEncryptionByDefaultRequest, GetEbsEncryptionByDefaultResult } from "../models/models_5"; +import { GetEbsEncryptionByDefaultRequest, GetEbsEncryptionByDefaultResult } from "../models/models_6"; import { de_GetEbsEncryptionByDefaultCommand, se_GetEbsEncryptionByDefaultCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVpcEndpointConnectionNotificationCommand.ts b/clients/client-ec2/src/commands/ModifyVpcEndpointConnectionNotificationCommand.ts index 2ff332934522..176116716fad 100644 --- a/clients/client-ec2/src/commands/ModifyVpcEndpointConnectionNotificationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVpcEndpointConnectionNotificationCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { ModifyVpcEndpointConnectionNotificationRequest, ModifyVpcEndpointConnectionNotificationResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVpcEndpointConnectionNotificationCommand, se_ModifyVpcEndpointConnectionNotificationCommand, diff --git a/clients/client-ec2/src/commands/ModifyVpcEndpointServiceConfigurationCommand.ts b/clients/client-ec2/src/commands/ModifyVpcEndpointServiceConfigurationCommand.ts index f2076929a9fa..409daa285cc0 100644 --- a/clients/client-ec2/src/commands/ModifyVpcEndpointServiceConfigurationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVpcEndpointServiceConfigurationCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { ModifyVpcEndpointServiceConfigurationRequest, ModifyVpcEndpointServiceConfigurationResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVpcEndpointServiceConfigurationCommand, se_ModifyVpcEndpointServiceConfigurationCommand, diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index f86df1e3571c..d0db6d8c2d0c 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -274,6 +274,7 @@ export * from "./DescribeInstanceConnectEndpointsCommand"; export * from "./DescribeInstanceCreditSpecificationsCommand"; export * from "./DescribeInstanceEventNotificationAttributesCommand"; export * from "./DescribeInstanceEventWindowsCommand"; +export * from "./DescribeInstanceImageMetadataCommand"; export * from "./DescribeInstanceStatusCommand"; export * from "./DescribeInstanceTopologyCommand"; export * from "./DescribeInstanceTypeOfferingsCommand"; diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 2e79d4d1ad3b..e79df9ad051a 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -6999,7 +6999,6 @@ export interface CreateIpamPoolRequest { *

The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

* * - *

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

*

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. Default is none and means any locale.

* @public */ @@ -7037,7 +7036,7 @@ export interface CreateIpamPoolRequest { AutoImport?: boolean; /** - *

Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

+ *

Determines if the pool is publicly advertisable. The request can only contain PubliclyAdvertisable if AddressFamily is ipv6 and PublicIpSource is byoip.

* @public */ PubliclyAdvertisable?: boolean; @@ -7862,7 +7861,8 @@ export interface LaunchTemplateEbsBlockDeviceRequest { Iops?: number; /** - *

The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.

+ *

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key + * to use for EBS encryption.

* @public */ KmsKeyId?: string; @@ -8099,7 +8099,7 @@ export interface ElasticGpuSpecification { * *

Amazon Elastic Inference is no longer available.

*
- *

Describes an elastic inference accelerator.

+ *

Describes an elastic inference accelerator.

* @public */ export interface LaunchTemplateElasticInferenceAccelerator { @@ -9099,17 +9099,31 @@ export interface RequestLaunchTemplateData { /** *

Deprecated.

* - *

Amazon Elastic Graphics reached end of life on January 8, 2024.

+ *

Amazon Elastic Graphics reached end of life on January 8, 2024. For + * workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + * G4dn, or G5 instances.

*
* @public */ ElasticGpuSpecifications?: ElasticGpuSpecification[]; /** - *

Deprecated.

- * + * *

Amazon Elastic Inference is no longer available.

*
+ *

An elastic inference accelerator to associate with the instance. Elastic inference + * accelerators are a resource you can attach to your Amazon EC2 instances to accelerate + * your Deep Learning (DL) inference workloads.

+ *

You cannot specify accelerators from different generations in the same request.

+ * + *

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon + * Elastic Inference (EI), and will help current customers migrate their workloads to + * options that offer better price and performance. After April 15, 2023, new customers + * will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, + * Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during + * the past 30-day period are considered current customers and will be able to continue + * using the service.

+ *
* @public */ ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; @@ -9499,7 +9513,8 @@ export interface LaunchTemplateEbsBlockDevice { Iops?: number; /** - *

The ARN of the Key Management Service (KMS) CMK used for encryption.

+ *

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key + * to use for EBS encryption.

* @public */ KmsKeyId?: string; @@ -9650,15 +9665,22 @@ export interface CreditSpecification { } /** - * - *

Amazon Elastic Graphics reached end of life on January 8, 2024.

+ *

Deprecated.

+ * + *

Amazon Elastic Graphics reached end of life on January 8, 2024. For + * workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + * G4dn, or G5 instances.

*
- *

Describes an elastic GPU.

* @public */ export interface ElasticGpuSpecificationResponse { /** - *

The elastic GPU type.

+ *

Deprecated.

+ * + *

Amazon Elastic Graphics reached end of life on January 8, 2024. For + * workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + * G4dn, or G5 instances.

+ *
* @public */ Type?: string; @@ -10425,17 +10447,31 @@ export interface ResponseLaunchTemplateData { /** *

Deprecated.

* - *

Amazon Elastic Graphics reached end of life on January 8, 2024.

+ *

Amazon Elastic Graphics reached end of life on January 8, 2024. For + * workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + * G4dn, or G5 instances.

*
* @public */ ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; /** - *

Deprecated.

- * + * *

Amazon Elastic Inference is no longer available.

*
+ *

An elastic inference accelerator to associate with the instance. Elastic inference + * accelerators are a resource you can attach to your Amazon EC2 instances to accelerate + * your Deep Learning (DL) inference workloads.

+ *

You cannot specify accelerators from different generations in the same request.

+ * + *

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon + * Elastic Inference (EI), and will help current customers migrate their workloads to + * options that offer better price and performance. After April 15, 2023, new customers + * will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, + * Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during + * the past 30-day period are considered current customers and will be able to continue + * using the service.

+ *
* @public */ ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 94730ef7c6a5..1b17d7a85d02 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -1878,6 +1878,308 @@ export interface DescribeInstanceEventWindowsResult { NextToken?: string; } +/** + * @public + */ +export interface DescribeInstanceImageMetadataRequest { + /** + *

The filters.

+ *
    + *
  • + *

    + * availability-zone - The name of the Availability Zone (for example, + * us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of + * the instance.

    + *
  • + *
  • + *

    + * instance-id - The ID of the instance.

    + *
  • + *
  • + *

    + * instance-state-name - The state of the instance (pending | + * running | shutting-down | terminated | + * stopping | stopped).

    + *
  • + *
  • + *

    + * instance-type - The type of instance (for example, + * t3.micro).

    + *
  • + *
  • + *

    + * launch-time - The time when the instance was launched, in the ISO 8601 + * format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, + * 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for + * example, 2023-09-29T*, which matches an entire day.

    + *
  • + *
  • + *

    + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    + *
  • + *
  • + *

    + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    + *
  • + *
  • + *

    + * zone-id - The ID of the Availability Zone (for example, + * usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the + * instance.

    + *
  • + *
+ * @public + */ + Filters?: Filter[]; + + /** + *

The instance IDs.

+ *

If you don't specify an instance ID or filters, the output includes information for all + * instances.

+ * @public + */ + InstanceIds?: string[]; + + /** + *

The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

+ *

Default: 1000

+ * @public + */ + MaxResults?: number; + + /** + *

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

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; +} + +/** + *

Information about the AMI.

+ * @public + */ +export interface ImageMetadata { + /** + *

The ID of the AMI.

+ * @public + */ + ImageId?: string; + + /** + *

The name of the AMI.

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

The ID of the Amazon Web Services account that owns the AMI.

+ * @public + */ + OwnerId?: string; + + /** + *

The current state of the AMI. If the state is available, the AMI + * is successfully registered and can be used to launch an instance.

+ * @public + */ + State?: ImageState; + + /** + *

The alias of the AMI owner.

+ *

Valid values: amazon | aws-marketplace + *

+ * @public + */ + ImageOwnerAlias?: string; + + /** + *

The date and time the AMI was created.

+ * @public + */ + CreationDate?: string; + + /** + *

The deprecation date and time of the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ.

+ * @public + */ + DeprecationTime?: string; + + /** + *

Indicates whether the AMI has public launch permissions. A value of true + * means this AMI has public launch permissions, while false means it has only + * implicit (AMI owner) or explicit (shared with your account) launch permissions.

+ * @public + */ + IsPublic?: boolean; +} + +/** + * @public + * @enum + */ +export const InstanceStateName = { + pending: "pending", + running: "running", + shutting_down: "shutting-down", + stopped: "stopped", + stopping: "stopping", + terminated: "terminated", +} as const; + +/** + * @public + */ +export type InstanceStateName = (typeof InstanceStateName)[keyof typeof InstanceStateName]; + +/** + *

Describes the current state of an instance.

+ * @public + */ +export interface InstanceState { + /** + *

The state of the instance as a 16-bit unsigned integer.

+ *

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values + * between 256 and 65,535. These numerical values are used for internal purposes and should + * be ignored.

+ *

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values + * between 0 and 255.

+ *

The valid values for instance-state-code will all be in the range of the low byte and + * they are:

+ *
    + *
  • + *

    + * 0 : pending + *

    + *
  • + *
  • + *

    + * 16 : running + *

    + *
  • + *
  • + *

    + * 32 : shutting-down + *

    + *
  • + *
  • + *

    + * 48 : terminated + *

    + *
  • + *
  • + *

    + * 64 : stopping + *

    + *
  • + *
  • + *

    + * 80 : stopped + *

    + *
  • + *
+ *

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in + * decimal.

+ * @public + */ + Code?: number; + + /** + *

The current state of the instance.

+ * @public + */ + Name?: InstanceStateName; +} + +/** + *

Information about the instance and the AMI used to launch the instance.

+ * @public + */ +export interface InstanceImageMetadata { + /** + *

The ID of the instance.

+ * @public + */ + InstanceId?: string; + + /** + *

The instance type.

+ * @public + */ + InstanceType?: _InstanceType; + + /** + *

The time the instance was launched.

+ * @public + */ + LaunchTime?: Date; + + /** + *

The Availability Zone or Local Zone of the instance.

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

The ID of the Availability Zone or Local Zone of the instance.

+ * @public + */ + ZoneId?: string; + + /** + *

The current state of the instance.

+ * @public + */ + State?: InstanceState; + + /** + *

The ID of the Amazon Web Services account that owns the instance.

+ * @public + */ + OwnerId?: string; + + /** + *

Any tags assigned to the instance.

+ * @public + */ + Tags?: Tag[]; + + /** + *

Information about the AMI used to launch the instance.

+ * @public + */ + ImageMetadata?: ImageMetadata; +} + +/** + * @public + */ +export interface DescribeInstanceImageMetadataResult { + /** + *

Information about the instance and the AMI used to launch the instance.

+ * @public + */ + InstanceImageMetadata?: InstanceImageMetadata[]; + + /** + *

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; +} + /** * @public */ @@ -3354,83 +3656,6 @@ export interface PrivateDnsNameOptionsResponse { EnableResourceNameDnsAAAARecord?: boolean; } -/** - * @public - * @enum - */ -export const InstanceStateName = { - pending: "pending", - running: "running", - shutting_down: "shutting-down", - stopped: "stopped", - stopping: "stopping", - terminated: "terminated", -} as const; - -/** - * @public - */ -export type InstanceStateName = (typeof InstanceStateName)[keyof typeof InstanceStateName]; - -/** - *

Describes the current state of an instance.

- * @public - */ -export interface InstanceState { - /** - *

The state of the instance as a 16-bit unsigned integer.

- *

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values - * between 256 and 65,535. These numerical values are used for internal purposes and should - * be ignored.

- *

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values - * between 0 and 255.

- *

The valid values for instance-state-code will all be in the range of the low byte and - * they are:

- *
    - *
  • - *

    - * 0 : pending - *

    - *
  • - *
  • - *

    - * 16 : running - *

    - *
  • - *
  • - *

    - * 32 : shutting-down - *

    - *
  • - *
  • - *

    - * 48 : terminated - *

    - *
  • - *
  • - *

    - * 64 : stopping - *

    - *
  • - *
  • - *

    - * 80 : stopped - *

    - *
  • - *
- *

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in - * decimal.

- * @public - */ - Code?: number; - - /** - *

The current state of the instance.

- * @public - */ - Name?: InstanceStateName; -} - /** *

Describes an instance.

* @public @@ -12240,113 +12465,6 @@ export interface HistoryRecord { Timestamp?: Date; } -/** - *

Contains the output of DescribeSpotFleetRequestHistory.

- * @public - */ -export interface DescribeSpotFleetRequestHistoryResponse { - /** - *

Information about the events in the history of the Spot Fleet request.

- * @public - */ - HistoryRecords?: HistoryRecord[]; - - /** - *

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; - - /** - *

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; - - /** - *

The ID of the Spot Fleet request.

- * @public - */ - SpotFleetRequestId?: string; - - /** - *

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

- * @public - */ - StartTime?: Date; -} - -/** - *

Contains the parameters for DescribeSpotFleetRequests.

- * @public - */ -export interface DescribeSpotFleetRequestsRequest { - /** - *

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; - - /** - *

The IDs of the Spot Fleet requests.

- * @public - */ - SpotFleetRequestIds?: string[]; - - /** - *

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; - - /** - *

The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

- * @public - */ - MaxResults?: number; -} - -/** - * @public - * @enum - */ -export const ExcessCapacityTerminationPolicy = { - DEFAULT: "default", - NO_TERMINATION: "noTermination", -} as const; - -/** - * @public - */ -export type ExcessCapacityTerminationPolicy = - (typeof ExcessCapacityTerminationPolicy)[keyof typeof ExcessCapacityTerminationPolicy]; - -/** - *

Describes whether monitoring is enabled.

- * @public - */ -export interface SpotFleetMonitoring { - /** - *

Enables monitoring for the instance.

- *

Default: false - *

- * @public - */ - Enabled?: boolean; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 7b4d9dfe15c3..a9beada493c5 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -70,7 +70,6 @@ import { ServiceConnectivityType, ServiceTypeDetail, SpotInstanceStateFault, - SSEType, State, TrafficMirrorFilter, TrafficMirrorFilterRule, @@ -106,12 +105,114 @@ import { StatisticType, } from "./models_3"; -import { - AttributeBooleanValue, - ExcessCapacityTerminationPolicy, - RIProductDescription, - SpotFleetMonitoring, -} from "./models_4"; +import { AttributeBooleanValue, HistoryRecord, RIProductDescription } from "./models_4"; + +/** + *

Contains the output of DescribeSpotFleetRequestHistory.

+ * @public + */ +export interface DescribeSpotFleetRequestHistoryResponse { + /** + *

Information about the events in the history of the Spot Fleet request.

+ * @public + */ + HistoryRecords?: HistoryRecord[]; + + /** + *

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; + + /** + *

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; + + /** + *

The ID of the Spot Fleet request.

+ * @public + */ + SpotFleetRequestId?: string; + + /** + *

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

+ * @public + */ + StartTime?: Date; +} + +/** + *

Contains the parameters for DescribeSpotFleetRequests.

+ * @public + */ +export interface DescribeSpotFleetRequestsRequest { + /** + *

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; + + /** + *

The IDs of the Spot Fleet requests.

+ * @public + */ + SpotFleetRequestIds?: string[]; + + /** + *

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; + + /** + *

The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

+ * @public + */ + MaxResults?: number; +} + +/** + * @public + * @enum + */ +export const ExcessCapacityTerminationPolicy = { + DEFAULT: "default", + NO_TERMINATION: "noTermination", +} as const; + +/** + * @public + */ +export type ExcessCapacityTerminationPolicy = + (typeof ExcessCapacityTerminationPolicy)[keyof typeof ExcessCapacityTerminationPolicy]; + +/** + *

Describes whether monitoring is enabled.

+ * @public + */ +export interface SpotFleetMonitoring { + /** + *

Enables monitoring for the instance.

+ *

Default: false + *

+ * @public + */ + Enabled?: boolean; +} /** *

Describes a network interface.

@@ -9694,63 +9795,6 @@ export interface GetEbsDefaultKmsKeyIdRequest { DryRun?: boolean; } -/** - * @public - */ -export interface GetEbsDefaultKmsKeyIdResult { - /** - *

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

- * @public - */ - KmsKeyId?: string; -} - -/** - * @public - */ -export interface GetEbsEncryptionByDefaultRequest { - /** - *

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; -} - -/** - * @public - */ -export interface GetEbsEncryptionByDefaultResult { - /** - *

Indicates whether encryption by default is enabled.

- * @public - */ - EbsEncryptionByDefault?: boolean; - - /** - *

Reserved for future use.

- * @public - */ - SseType?: SSEType; -} - -/** - * @public - * @enum - */ -export const PartitionLoadFrequency = { - DAILY: "daily", - MONTHLY: "monthly", - NONE: "none", - WEEKLY: "weekly", -} as const; - -/** - * @public - */ -export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index bdd634bbb22f..b82f51d3582b 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -78,6 +78,7 @@ import { DefaultRouteTablePropagationValue, DnsOptionsSpecification, IpAddressType, + SSEType, SubnetCidrReservation, SubnetConfiguration, TrafficDirection, @@ -114,7 +115,6 @@ import { AttributeBooleanValue, BootModeValues, CreateVolumePermission, - ExcessCapacityTerminationPolicy, HttpTokensState, ImportImageLicenseConfigurationResponse, InstanceAttributeName, @@ -136,9 +136,9 @@ import { } from "./models_4"; import { + ExcessCapacityTerminationPolicy, InstanceFamilyCreditSpecification, LaunchTemplateConfig, - PartitionLoadFrequency, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, @@ -146,6 +146,63 @@ import { VolumeModification, } from "./models_5"; +/** + * @public + */ +export interface GetEbsDefaultKmsKeyIdResult { + /** + *

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

+ * @public + */ + KmsKeyId?: string; +} + +/** + * @public + */ +export interface GetEbsEncryptionByDefaultRequest { + /** + *

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; +} + +/** + * @public + */ +export interface GetEbsEncryptionByDefaultResult { + /** + *

Indicates whether encryption by default is enabled.

+ * @public + */ + EbsEncryptionByDefault?: boolean; + + /** + *

Reserved for future use.

+ * @public + */ + SseType?: SSEType; +} + +/** + * @public + * @enum + */ +export const PartitionLoadFrequency = { + DAILY: "daily", + MONTHLY: "monthly", + NONE: "none", + WEEKLY: "weekly", +} as const; + +/** + * @public + */ +export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency]; + /** *

Describes integration options for Amazon Athena.

* @public @@ -9368,137 +9425,6 @@ export interface ModifyVpcEndpointResult { Return?: boolean; } -/** - * @public - */ -export interface ModifyVpcEndpointConnectionNotificationRequest { - /** - *

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; - - /** - *

The ID of the notification.

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

The ARN for the SNS topic for the notification.

- * @public - */ - ConnectionNotificationArn?: string; - - /** - *

The events for the endpoint. Valid values are Accept, - * Connect, Delete, and Reject.

- * @public - */ - ConnectionEvents?: string[]; -} - -/** - * @public - */ -export interface ModifyVpcEndpointConnectionNotificationResult { - /** - *

Returns true if the request succeeds; otherwise, it returns an error.

- * @public - */ - ReturnValue?: boolean; -} - -/** - * @public - */ -export interface ModifyVpcEndpointServiceConfigurationRequest { - /** - *

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; - - /** - *

The ID of the service.

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

(Interface endpoint configuration) The private DNS name to assign to the endpoint service.

- * @public - */ - PrivateDnsName?: string; - - /** - *

(Interface endpoint configuration) Removes the private DNS name of the endpoint service.

- * @public - */ - RemovePrivateDnsName?: boolean; - - /** - *

Indicates whether requests to create an endpoint to your service must be accepted.

- * @public - */ - AcceptanceRequired?: boolean; - - /** - *

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service - * configuration.

- * @public - */ - AddNetworkLoadBalancerArns?: string[]; - - /** - *

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service - * configuration.

- * @public - */ - RemoveNetworkLoadBalancerArns?: string[]; - - /** - *

The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service - * configuration.

- * @public - */ - AddGatewayLoadBalancerArns?: string[]; - - /** - *

The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service - * configuration.

- * @public - */ - RemoveGatewayLoadBalancerArns?: string[]; - - /** - *

The IP address types to add to your service configuration.

- * @public - */ - AddSupportedIpAddressTypes?: string[]; - - /** - *

The IP address types to remove from your service configuration.

- * @public - */ - RemoveSupportedIpAddressTypes?: string[]; -} - -/** - * @public - */ -export interface ModifyVpcEndpointServiceConfigurationResult { - /** - *

Returns true if the request succeeds; otherwise, it returns an error.

- * @public - */ - Return?: boolean; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index da1bc2079ab4..5d2baab493d7 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -94,6 +94,137 @@ import { import { CapacityReservationSpecification, Purchase } from "./models_6"; +/** + * @public + */ +export interface ModifyVpcEndpointConnectionNotificationRequest { + /** + *

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; + + /** + *

The ID of the notification.

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

The ARN for the SNS topic for the notification.

+ * @public + */ + ConnectionNotificationArn?: string; + + /** + *

The events for the endpoint. Valid values are Accept, + * Connect, Delete, and Reject.

+ * @public + */ + ConnectionEvents?: string[]; +} + +/** + * @public + */ +export interface ModifyVpcEndpointConnectionNotificationResult { + /** + *

Returns true if the request succeeds; otherwise, it returns an error.

+ * @public + */ + ReturnValue?: boolean; +} + +/** + * @public + */ +export interface ModifyVpcEndpointServiceConfigurationRequest { + /** + *

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; + + /** + *

The ID of the service.

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

(Interface endpoint configuration) The private DNS name to assign to the endpoint service.

+ * @public + */ + PrivateDnsName?: string; + + /** + *

(Interface endpoint configuration) Removes the private DNS name of the endpoint service.

+ * @public + */ + RemovePrivateDnsName?: boolean; + + /** + *

Indicates whether requests to create an endpoint to your service must be accepted.

+ * @public + */ + AcceptanceRequired?: boolean; + + /** + *

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service + * configuration.

+ * @public + */ + AddNetworkLoadBalancerArns?: string[]; + + /** + *

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service + * configuration.

+ * @public + */ + RemoveNetworkLoadBalancerArns?: string[]; + + /** + *

The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service + * configuration.

+ * @public + */ + AddGatewayLoadBalancerArns?: string[]; + + /** + *

The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service + * configuration.

+ * @public + */ + RemoveGatewayLoadBalancerArns?: string[]; + + /** + *

The IP address types to add to your service configuration.

+ * @public + */ + AddSupportedIpAddressTypes?: string[]; + + /** + *

The IP address types to remove from your service configuration.

+ * @public + */ + RemoveSupportedIpAddressTypes?: string[]; +} + +/** + * @public + */ +export interface ModifyVpcEndpointServiceConfigurationResult { + /** + *

Returns true if the request succeeds; otherwise, it returns an error.

+ * @public + */ + Return?: boolean; +} + /** * @public */ diff --git a/clients/client-ec2/src/pagination/DescribeInstanceImageMetadataPaginator.ts b/clients/client-ec2/src/pagination/DescribeInstanceImageMetadataPaginator.ts new file mode 100644 index 000000000000..d22aac216902 --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeInstanceImageMetadataPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + DescribeInstanceImageMetadataCommand, + DescribeInstanceImageMetadataCommandInput, + DescribeInstanceImageMetadataCommandOutput, +} from "../commands/DescribeInstanceImageMetadataCommand"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateDescribeInstanceImageMetadata: ( + config: EC2PaginationConfiguration, + input: DescribeInstanceImageMetadataCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + EC2PaginationConfiguration, + DescribeInstanceImageMetadataCommandInput, + DescribeInstanceImageMetadataCommandOutput +>(EC2Client, DescribeInstanceImageMetadataCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-ec2/src/pagination/index.ts b/clients/client-ec2/src/pagination/index.ts index 119c782a48ef..b7f9a76a9b3e 100644 --- a/clients/client-ec2/src/pagination/index.ts +++ b/clients/client-ec2/src/pagination/index.ts @@ -43,6 +43,7 @@ export * from "./DescribeImportSnapshotTasksPaginator"; export * from "./DescribeInstanceConnectEndpointsPaginator"; export * from "./DescribeInstanceCreditSpecificationsPaginator"; export * from "./DescribeInstanceEventWindowsPaginator"; +export * from "./DescribeInstanceImageMetadataPaginator"; export * from "./DescribeInstanceStatusPaginator"; export * from "./DescribeInstanceTopologyPaginator"; export * from "./DescribeInstanceTypeOfferingsPaginator"; diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index babef99ee3b3..63ef1cae684d 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -920,6 +920,10 @@ import { DescribeInstanceEventWindowsCommandInput, DescribeInstanceEventWindowsCommandOutput, } from "../commands/DescribeInstanceEventWindowsCommand"; +import { + DescribeInstanceImageMetadataCommandInput, + DescribeInstanceImageMetadataCommandOutput, +} from "../commands/DescribeInstanceImageMetadataCommand"; import { DescribeInstancesCommandInput, DescribeInstancesCommandOutput } from "../commands/DescribeInstancesCommand"; import { DescribeInstanceStatusCommandInput, @@ -3181,6 +3185,8 @@ import { DescribeInstanceEventNotificationAttributesResult, DescribeInstanceEventWindowsRequest, DescribeInstanceEventWindowsResult, + DescribeInstanceImageMetadataRequest, + DescribeInstanceImageMetadataResult, DescribeInstancesRequest, DescribeInstancesResult, DescribeInstanceStatusRequest, @@ -3296,8 +3302,6 @@ import { DescribeSpotFleetInstancesRequest, DescribeSpotFleetInstancesResponse, DescribeSpotFleetRequestHistoryRequest, - DescribeSpotFleetRequestHistoryResponse, - DescribeSpotFleetRequestsRequest, DiskInfo, EbsInfo, EbsInstanceBlockDevice, @@ -3318,6 +3322,7 @@ import { HistoryRecord, Image, ImageAttribute, + ImageMetadata, ImportImageLicenseConfigurationResponse, ImportImageTask, ImportSnapshotTask, @@ -3330,6 +3335,7 @@ import { InstanceAttribute, InstanceBlockDeviceMapping, InstanceCreditSpecification, + InstanceImageMetadata, InstanceIpv4Prefix, InstanceIpv6Prefix, InstanceMaintenanceOptions, @@ -3402,7 +3408,6 @@ import { SnapshotDetail, SnapshotTaskDetail, SnapshotTierStatus, - SpotFleetMonitoring, SupportedAdditionalProcessorFeature, UsageClassType, UserBucketDetails, @@ -3418,6 +3423,8 @@ import { CoipAddressUsage, DataQuery, DataResponse, + DescribeSpotFleetRequestHistoryResponse, + DescribeSpotFleetRequestsRequest, DescribeSpotFleetRequestsResponse, DescribeSpotInstanceRequestsRequest, DescribeSpotInstanceRequestsResult, @@ -3644,9 +3651,6 @@ import { GetDefaultCreditSpecificationRequest, GetDefaultCreditSpecificationResult, GetEbsDefaultKmsKeyIdRequest, - GetEbsDefaultKmsKeyIdResult, - GetEbsEncryptionByDefaultRequest, - GetEbsEncryptionByDefaultResult, InstanceEventWindowDisassociationRequest, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, @@ -3662,6 +3666,7 @@ import { ServiceDetail, SpotCapacityRebalance, SpotFleetLaunchSpecification, + SpotFleetMonitoring, SpotFleetRequestConfig, SpotFleetRequestConfigData, SpotFleetTagSpecification, @@ -3706,6 +3711,9 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetEbsDefaultKmsKeyIdResult, + GetEbsEncryptionByDefaultRequest, + GetEbsEncryptionByDefaultResult, GetFlowLogsIntegrationTemplateRequest, GetFlowLogsIntegrationTemplateResult, GetGroupsForCapacityReservationRequest, @@ -3932,12 +3940,8 @@ import { ModifyVolumeRequest, ModifyVolumeResult, ModifyVpcAttributeRequest, - ModifyVpcEndpointConnectionNotificationRequest, - ModifyVpcEndpointConnectionNotificationResult, ModifyVpcEndpointRequest, ModifyVpcEndpointResult, - ModifyVpcEndpointServiceConfigurationRequest, - ModifyVpcEndpointServiceConfigurationResult, NetworkInterfaceAttachmentChanges, PrefixListAssociation, PrefixListEntry, @@ -3990,6 +3994,10 @@ import { IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyVpcEndpointConnectionNotificationRequest, + ModifyVpcEndpointConnectionNotificationResult, + ModifyVpcEndpointServiceConfigurationRequest, + ModifyVpcEndpointServiceConfigurationResult, ModifyVpcEndpointServicePayerResponsibilityRequest, ModifyVpcEndpointServicePayerResponsibilityResult, ModifyVpcEndpointServicePermissionsRequest, @@ -8839,6 +8847,23 @@ export const se_DescribeInstanceEventWindowsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DescribeInstanceImageMetadataCommand + */ +export const se_DescribeInstanceImageMetadataCommand = async ( + input: DescribeInstanceImageMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DescribeInstanceImageMetadataRequest(input, context), + [_A]: _DIIM, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DescribeInstancesCommand */ @@ -20344,6 +20369,26 @@ export const de_DescribeInstanceEventWindowsCommand = async ( return response; }; +/** + * deserializeAws_ec2DescribeInstanceImageMetadataCommand + */ +export const de_DescribeInstanceImageMetadataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeInstanceImageMetadataResult(data, context); + const response: DescribeInstanceImageMetadataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2DescribeInstancesCommand */ @@ -36267,6 +36312,40 @@ const se_DescribeInstanceEventWindowsRequest = ( return entries; }; +/** + * serializeAws_ec2DescribeInstanceImageMetadataRequest + */ +const se_DescribeInstanceImageMetadataRequest = ( + input: DescribeInstanceImageMetadataRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_Fi] != null) { + const memberEntries = se_FilterList(input[_Fi], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input[_IIns] != null) { + const memberEntries = se_InstanceIdStringList(input[_IIns], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input[_MR] != null) { + entries[_MR] = input[_MR]; + } + if (input[_NT] != null) { + entries[_NT] = input[_NT]; + } + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + return entries; +}; + /** * serializeAws_ec2DescribeInstancesRequest */ @@ -61294,6 +61373,25 @@ const de_DescribeInstanceEventWindowsResult = ( return contents; }; +/** + * deserializeAws_ec2DescribeInstanceImageMetadataResult + */ +const de_DescribeInstanceImageMetadataResult = ( + output: any, + context: __SerdeContext +): DescribeInstanceImageMetadataResult => { + const contents: any = {}; + if (output.instanceImageMetadataSet === "") { + contents[_IIM] = []; + } else if (output[_iIMS] != null && output[_iIMS][_i] != null) { + contents[_IIM] = de_InstanceImageMetadataList(__getArrayIfSingleItem(output[_iIMS][_i]), context); + } + if (output[_nTe] != null) { + contents[_NT] = __expectString(output[_nTe]); + } + return contents; +}; + /** * deserializeAws_ec2DescribeInstancesResult */ @@ -67520,6 +67618,38 @@ const de_ImageList = (output: any, context: __SerdeContext): Image[] => { }); }; +/** + * deserializeAws_ec2ImageMetadata + */ +const de_ImageMetadata = (output: any, context: __SerdeContext): ImageMetadata => { + const contents: any = {}; + if (output[_iIma] != null) { + contents[_IIma] = __expectString(output[_iIma]); + } + if (output[_n] != null) { + contents[_N] = __expectString(output[_n]); + } + if (output[_iOI] != null) { + contents[_OIwn] = __expectString(output[_iOI]); + } + if (output[_iSma] != null) { + contents[_Stat] = __expectString(output[_iSma]); + } + if (output[_iOA] != null) { + contents[_IOA] = __expectString(output[_iOA]); + } + if (output[_cDr] != null) { + contents[_CDre] = __expectString(output[_cDr]); + } + if (output[_dTe] != null) { + contents[_DTep] = __expectString(output[_dTe]); + } + if (output[_iPs] != null) { + contents[_IPs] = __parseBoolean(output[_iPs]); + } + return contents; +}; + /** * deserializeAws_ec2ImageRecycleBinInfo */ @@ -68574,6 +68704,54 @@ const de_InstanceIdsSet = (output: any, context: __SerdeContext): string[] => { }); }; +/** + * deserializeAws_ec2InstanceImageMetadata + */ +const de_InstanceImageMetadata = (output: any, context: __SerdeContext): InstanceImageMetadata => { + const contents: any = {}; + if (output[_iI] != null) { + contents[_IIn] = __expectString(output[_iI]); + } + if (output[_iT] != null) { + contents[_IT] = __expectString(output[_iT]); + } + if (output[_lTau] != null) { + contents[_LTaun] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_lTau])); + } + if (output[_aZ] != null) { + contents[_AZ] = __expectString(output[_aZ]); + } + if (output[_zI] != null) { + contents[_ZIo] = __expectString(output[_zI]); + } + if (output[_iSnst] != null) { + contents[_Stat] = de_InstanceState(output[_iSnst], context); + } + if (output[_iOIn] != null) { + contents[_OIwn] = __expectString(output[_iOIn]); + } + if (output.tagSet === "") { + contents[_Ta] = []; + } else if (output[_tS] != null && output[_tS][_i] != null) { + contents[_Ta] = de_TagList(__getArrayIfSingleItem(output[_tS][_i]), context); + } + if (output[_iM] != null) { + contents[_IMm] = de_ImageMetadata(output[_iM], context); + } + return contents; +}; + +/** + * deserializeAws_ec2InstanceImageMetadataList + */ +const de_InstanceImageMetadataList = (output: any, context: __SerdeContext): InstanceImageMetadata[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_InstanceImageMetadata(entry, context); + }); +}; + /** * deserializeAws_ec2InstanceIpv4Prefix */ @@ -73468,7 +73646,7 @@ const de_NatGatewayAddress = (output: any, context: __SerdeContext): NatGatewayA contents[_AIss] = __expectString(output[_aIs]); } if (output[_iPsr] != null) { - contents[_IPs] = __parseBoolean(output[_iPsr]); + contents[_IPsr] = __parseBoolean(output[_iPsr]); } if (output[_fM] != null) { contents[_FM] = __expectString(output[_fM]); @@ -83731,6 +83909,7 @@ const _DIG = "DeleteInternetGateway"; const _DIGe = "DescribeInternetGateways"; const _DIGet = "DetachInternetGateway"; const _DIIF = "DescribeIdentityIdFormat"; +const _DIIM = "DescribeInstanceImageMetadata"; const _DIIP = "DisassociateIamInstanceProfile"; const _DIIPA = "DescribeIamInstanceProfileAssociations"; const _DIIT = "DescribeImportImageTasks"; @@ -84344,6 +84523,7 @@ const _IH = "InstanceHealth"; const _IHn = "InboundHeader"; const _II = "ImportImage"; const _IIB = "InstanceInterruptionBehavior"; +const _IIM = "InstanceImageMetadata"; const _IIP = "IamInstanceProfile"; const _IIPA = "IamInstanceProfileAssociation"; const _IIPAa = "IamInstanceProfileAssociations"; @@ -84370,6 +84550,7 @@ const _IMO = "InstanceMarketOptions"; const _IMOn = "InstanceMetadataOptions"; const _IMT = "InstanceMetadataTags"; const _IMU = "ImportManifestUrl"; +const _IMm = "ImageMetadata"; const _IMn = "InstanceMonitorings"; const _IN = "Ipv6Native"; const _INL = "Ipv6NetmaskLength"; @@ -84411,7 +84592,8 @@ const _IPpv = "Ipv6Pool"; const _IPpvo = "Ipv6Pools"; const _IPpvr = "Ipv4Prefix"; const _IPpvre = "Ipv6Prefix"; -const _IPs = "IsPrimary"; +const _IPs = "IsPublic"; +const _IPsr = "IsPrimary"; const _IR = "InstanceRequirements"; const _IRC = "IpamResourceCidrs"; const _IRCp = "IpamResourceCidr"; @@ -86321,6 +86503,7 @@ const _iH = "instanceHealth"; const _iHn = "inboundHeader"; const _iI = "instanceId"; const _iIB = "instanceInterruptionBehavior"; +const _iIMS = "instanceImageMetadataSet"; const _iIP = "iamInstanceProfile"; const _iIPA = "iamInstanceProfileAssociation"; const _iIPAS = "iamInstanceProfileAssociationSet"; @@ -86333,6 +86516,7 @@ const _iIn = "instanceIds"; const _iIp = "ipamId"; const _iL = "imageLocation"; const _iLn = "instanceLifecycle"; +const _iM = "imageMetadata"; const _iMC = "instanceMatchCriteria"; const _iMO = "instanceMetadataOptions"; const _iMOn = "instanceMarketOptions"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 778d4aabbe58..024d1c41f120 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -3026,6 +3026,9 @@ { "target": "com.amazonaws.ec2#DescribeInstanceEventWindows" }, + { + "target": "com.amazonaws.ec2#DescribeInstanceImageMetadata" + }, { "target": "com.amazonaws.ec2#DescribeInstances" }, @@ -16398,7 +16401,7 @@ "Locale": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The locale for the pool should be one of the following:

\n
    \n
  • \n

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

    \n
  • \n
  • \n

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

    \n
  • \n
\n

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

\n

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. Default is none and means any locale.

" + "smithy.api#documentation": "

The locale for the pool should be one of the following:

\n
    \n
  • \n

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

    \n
  • \n
  • \n

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

    \n
  • \n
\n

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. Default is none and means any locale.

" } }, "SourceIpamPoolId": { @@ -16430,7 +16433,7 @@ "PubliclyAdvertisable": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

" + "smithy.api#documentation": "

Determines if the pool is publicly advertisable. The request can only contain PubliclyAdvertisable if AddressFamily is ipv6 and PublicIpSource is byoip.

" } }, "AllocationMinNetmaskLength": { @@ -32287,6 +32290,97 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeInstanceImageMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeInstanceImageMetadataRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeInstanceImageMetadataResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the AMI that was used to launch an instance, even if the AMI is deprecated,\n deregistered, or made private (no longer public or shared with your account).

\n

If you specify instance IDs, the output includes information for only the specified\n instances. If you specify filters, the output includes information for only those instances\n that meet the filter criteria. If you do not specify instance IDs or filters, the output\n includes information for all instances, which can affect performance.

\n

If you specify an instance ID that is not valid, an instance that doesn't exist, or an\n instance that you do not own, an error (InvalidInstanceID.NotFound) is\n returned.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

In the rare case where an Availability Zone is experiencing a service disruption and you\n specify instance IDs that are in the affected Availability Zone, or do not specify any\n instance IDs at all, the call fails. If you specify only instance IDs that are in an\n unaffected Availability Zone, the call works normally.

\n \n

The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

\n
", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceImageMetadata", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeInstanceImageMetadataMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeInstanceImageMetadataRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The name of the Availability Zone (for example,\n us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of\n the instance.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance (pending |\n running | shutting-down | terminated |\n stopping | stopped).

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n t3.micro).

    \n
  • \n
  • \n

    \n launch-time - The time when the instance was launched, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2023-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n zone-id - The ID of the Availability Zone (for example,\n usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the\n instance.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", + "traits": { + "smithy.api#documentation": "

The instance IDs.

\n

If you don't specify an instance ID or filters, the output includes information for all\n instances.

", + "smithy.api#xmlName": "InstanceId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeInstanceImageMetadataMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request.\n To get the next page of items, make another request with the token returned in the output.\n\t For more information, see Pagination.

\n

Default: 1000

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

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeInstanceImageMetadataResult": { + "type": "structure", + "members": { + "InstanceImageMetadata": { + "target": "com.amazonaws.ec2#InstanceImageMetadataList", + "traits": { + "aws.protocols#ec2QueryName": "InstanceImageMetadataSet", + "smithy.api#documentation": "

Information about the instance and the AMI used to launch the instance.

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

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

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeInstanceStatus": { "type": "operation", "input": { @@ -46744,13 +46838,13 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The elastic GPU type.

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

Deprecated.

\n \n

Amazon Elastic Graphics reached end of life on January 8, 2024. For \n workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, \n G4dn, or G5 instances.

\n
", "smithy.api#xmlName": "type" } } }, "traits": { - "smithy.api#documentation": "\n

Amazon Elastic Graphics reached end of life on January 8, 2024.

\n
\n

Describes an elastic GPU.

" + "smithy.api#documentation": "

Deprecated.

\n \n

Amazon Elastic Graphics reached end of life on January 8, 2024. For \n workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, \n G4dn, or G5 instances.

\n
" } }, "com.amazonaws.ec2#ElasticGpuSpecificationResponseList": { @@ -57285,6 +57379,78 @@ } } }, + "com.amazonaws.ec2#ImageMetadata": { + "type": "structure", + "members": { + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

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

The name of the AMI.

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

The ID of the Amazon Web Services account that owns the AMI.

", + "smithy.api#xmlName": "imageOwnerId" + } + }, + "State": { + "target": "com.amazonaws.ec2#ImageState", + "traits": { + "aws.protocols#ec2QueryName": "ImageState", + "smithy.api#documentation": "

The current state of the AMI. If the state is available, the AMI \n is successfully registered and can be used to launch an instance.

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

The alias of the AMI owner.

\n

Valid values: amazon | aws-marketplace\n

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

The date and time the AMI was created.

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

The deprecation date and time of the AMI, in UTC, in the following format:\n YYYY-MM-DDTHH:MM:SSZ.

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

Indicates whether the AMI has public launch permissions. A value of true\n means this AMI has public launch permissions, while false means it has only\n implicit (AMI owner) or explicit (shared with your account) launch permissions.

", + "smithy.api#xmlName": "isPublic" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the AMI.

" + } + }, "com.amazonaws.ec2#ImageRecycleBinInfo": { "type": "structure", "members": { @@ -60228,6 +60394,95 @@ } } }, + "com.amazonaws.ec2#InstanceImageMetadata": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

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

The instance type.

", + "smithy.api#xmlName": "instanceType" + } + }, + "LaunchTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "LaunchTime", + "smithy.api#documentation": "

The time the instance was launched.

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

The Availability Zone or Local Zone of the instance.

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

The ID of the Availability Zone or Local Zone of the instance.

", + "smithy.api#xmlName": "zoneId" + } + }, + "State": { + "target": "com.amazonaws.ec2#InstanceState", + "traits": { + "aws.protocols#ec2QueryName": "InstanceState", + "smithy.api#documentation": "

The current state of the instance.

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

The ID of the Amazon Web Services account that owns the instance.

", + "smithy.api#xmlName": "instanceOwnerId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the instance.

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

Information about the AMI used to launch the instance.

", + "smithy.api#xmlName": "imageMetadata" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the instance and the AMI used to launch the instance.

" + } + }, + "com.amazonaws.ec2#InstanceImageMetadataList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceImageMetadata", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#InstanceInterruptionBehavior": { "type": "enum", "members": { @@ -71982,7 +72237,7 @@ "target": "com.amazonaws.ec2#KmsKeyId", "traits": { "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) CMK used for encryption.

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

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key \n to use for EBS encryption.

", "smithy.api#xmlName": "kmsKeyId" } }, @@ -72047,7 +72302,7 @@ "KmsKeyId": { "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "smithy.api#documentation": "

The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.

" + "smithy.api#documentation": "

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key \n to use for EBS encryption.

" } }, "SnapshotId": { @@ -72098,7 +72353,7 @@ } }, "traits": { - "smithy.api#documentation": "\n

Amazon Elastic Inference is no longer available.

\n
\n

Describes an elastic inference accelerator.

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

Amazon Elastic Inference is no longer available.

\n
\n

Describes an elastic inference accelerator.

" } }, "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorCount": { @@ -89734,14 +89989,14 @@ "ElasticGpuSpecifications": { "target": "com.amazonaws.ec2#ElasticGpuSpecificationList", "traits": { - "smithy.api#documentation": "

Deprecated.

\n \n

Amazon Elastic Graphics reached end of life on January 8, 2024.

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

Deprecated.

\n \n

Amazon Elastic Graphics reached end of life on January 8, 2024. For \n workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, \n G4dn, or G5 instances.

\n
", "smithy.api#xmlName": "ElasticGpuSpecification" } }, "ElasticInferenceAccelerators": { "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorList", "traits": { - "smithy.api#documentation": "

Deprecated.

\n \n

Amazon Elastic Inference is no longer available.

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

Amazon Elastic Inference is no longer available.

\n
\n

An elastic inference accelerator to associate with the instance. Elastic inference\n accelerators are a resource you can attach to your Amazon EC2 instances to accelerate\n your Deep Learning (DL) inference workloads.

\n

You cannot specify accelerators from different generations in the same request.

\n \n

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon\n Elastic Inference (EI), and will help current customers migrate their workloads to\n options that offer better price and performance. After April 15, 2023, new customers\n will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker,\n Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during\n the past 30-day period are considered current customers and will be able to continue\n using the service.

\n
", "smithy.api#xmlName": "ElasticInferenceAccelerator" } }, @@ -92427,7 +92682,7 @@ "target": "com.amazonaws.ec2#ElasticGpuSpecificationResponseList", "traits": { "aws.protocols#ec2QueryName": "ElasticGpuSpecificationSet", - "smithy.api#documentation": "

Deprecated.

\n \n

Amazon Elastic Graphics reached end of life on January 8, 2024.

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

Deprecated.

\n \n

Amazon Elastic Graphics reached end of life on January 8, 2024. For \n workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, \n G4dn, or G5 instances.

\n
", "smithy.api#xmlName": "elasticGpuSpecificationSet" } }, @@ -92435,7 +92690,7 @@ "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponseList", "traits": { "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorSet", - "smithy.api#documentation": "

Deprecated.

\n \n

Amazon Elastic Inference is no longer available.

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

Amazon Elastic Inference is no longer available.

\n
\n

An elastic inference accelerator to associate with the instance. Elastic inference\n accelerators are a resource you can attach to your Amazon EC2 instances to accelerate\n your Deep Learning (DL) inference workloads.

\n

You cannot specify accelerators from different generations in the same request.

\n \n

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon\n Elastic Inference (EI), and will help current customers migrate their workloads to\n options that offer better price and performance. After April 15, 2023, new customers\n will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker,\n Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during\n the past 30-day period are considered current customers and will be able to continue\n using the service.

\n
", "smithy.api#xmlName": "elasticInferenceAcceleratorSet" } },