From 5f73bcda5288d895451b0a3b2e9fdf7ff00e46fe Mon Sep 17 00:00:00 2001
From: awstools Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time. Base exception class for all service exceptions from EC2 service. Purchase the Capacity Block for use with your account.
+ * With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing. Base exception class for all service exceptions from EC2 service. Information about instance capacity usage. The type of Capacity Reservation. The IAM SAML identity provider used for federated authentication. The Amazon Resource Name (ARN) of the IAM SAML identity provider. The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal. The IAM SAML identity provider used for federated authentication. The Amazon Resource Name (ARN) of the IAM SAML identity provider. The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal. Information about the client certificate to be used for authentication.
+DescribeCapacityBlockOfferings
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/describecapacityblockofferingscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/describecapacityblockofferingscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/describecapacityblockofferingscommandoutput.html)
+
@@ -4540,6 +4548,14 @@ ProvisionPublicIpv4PoolCidr
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/provisionpublicipv4poolcidrcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/provisionpublicipv4poolcidrcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/provisionpublicipv4poolcidrcommandoutput.html)
+
+PurchaseCapacityBlock
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/purchasecapacityblockcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/purchasecapacityblockcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/purchasecapacityblockcommandoutput.html)
+
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts
index ec0451d8ad45..a61217c29c8d 100644
--- a/clients/client-ec2/src/EC2.ts
+++ b/clients/client-ec2/src/EC2.ts
@@ -1088,6 +1088,11 @@ import {
DescribeByoipCidrsCommandInput,
DescribeByoipCidrsCommandOutput,
} from "./commands/DescribeByoipCidrsCommand";
+import {
+ DescribeCapacityBlockOfferingsCommand,
+ DescribeCapacityBlockOfferingsCommandInput,
+ DescribeCapacityBlockOfferingsCommandOutput,
+} from "./commands/DescribeCapacityBlockOfferingsCommand";
import {
DescribeCapacityReservationFleetsCommand,
DescribeCapacityReservationFleetsCommandInput,
@@ -2629,6 +2634,11 @@ import {
ProvisionPublicIpv4PoolCidrCommandInput,
ProvisionPublicIpv4PoolCidrCommandOutput,
} from "./commands/ProvisionPublicIpv4PoolCidrCommand";
+import {
+ PurchaseCapacityBlockCommand,
+ PurchaseCapacityBlockCommandInput,
+ PurchaseCapacityBlockCommandOutput,
+} from "./commands/PurchaseCapacityBlockCommand";
import {
PurchaseHostReservationCommand,
PurchaseHostReservationCommandInput,
@@ -3163,6 +3173,7 @@ const commands = {
DescribeAwsNetworkPerformanceMetricSubscriptionsCommand,
DescribeBundleTasksCommand,
DescribeByoipCidrsCommand,
+ DescribeCapacityBlockOfferingsCommand,
DescribeCapacityReservationFleetsCommand,
DescribeCapacityReservationsCommand,
DescribeCarrierGatewaysCommand,
@@ -3476,6 +3487,7 @@ const commands = {
ProvisionByoipCidrCommand,
ProvisionIpamPoolCidrCommand,
ProvisionPublicIpv4PoolCidrCommand,
+ PurchaseCapacityBlockCommand,
PurchaseHostReservationCommand,
PurchaseReservedInstancesOfferingCommand,
PurchaseScheduledInstancesCommand,
@@ -7196,6 +7208,23 @@ export interface EC2 {
cb: (err: any, data?: DescribeByoipCidrsCommandOutput) => void
): void;
+ /**
+ * @see {@link DescribeCapacityBlockOfferingsCommand}
+ */
+ describeCapacityBlockOfferings(
+ args: DescribeCapacityBlockOfferingsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise
InstanceRequirements
.
For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot - * placement score in the Amazon EC2 User Guide.
+ *For more information, see Create a mixed instances group using attribute-based instance type selection in + * the Amazon EC2 Auto Scaling User Guide, and also Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot + * placement score in the Amazon EC2 User Guide.
*/ export interface InstanceRequirements { /** @@ -6230,6 +6249,7 @@ export type ShutdownBehavior = (typeof ShutdownBehavior)[keyof typeof ShutdownBe * @enum */ export const MarketType = { + capacity_block: "capacity-block", spot: "spot", } as const; @@ -10993,62 +11013,6 @@ export const PlacementGroupState = { */ export type PlacementGroupState = (typeof PlacementGroupState)[keyof typeof PlacementGroupState]; -/** - * @public - *Describes a placement group.
- */ -export interface PlacementGroup { - /** - * @public - *The name of the placement group.
- */ - GroupName?: string; - - /** - * @public - *The state of the placement group.
- */ - State?: PlacementGroupState; - - /** - * @public - *The placement strategy.
- */ - Strategy?: PlacementStrategy; - - /** - * @public - *The number of partitions. Valid only if strategy is
- * set to partition
.
The ID of the placement group.
- */ - GroupId?: string; - - /** - * @public - *Any tags applied to the placement group.
- */ - Tags?: Tag[]; - - /** - * @public - *The Amazon Resource Name (ARN) of the placement group.
- */ - GroupArn?: string; - - /** - * @public - *The spread level for the placement group. Only Outpost placement - * groups can be spread across hosts.
- */ - SpreadLevel?: SpreadLevel; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 9fed33f600b2..c7c90196b0bd 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -46,13 +46,71 @@ import { LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, - PlacementGroup, + PlacementGroupState, + PlacementStrategy, + SpreadLevel, Subnet, Tenancy, VolumeType, Vpc, } from "./models_1"; +/** + * @public + *Describes a placement group.
+ */ +export interface PlacementGroup { + /** + * @public + *The name of the placement group.
+ */ + GroupName?: string; + + /** + * @public + *The state of the placement group.
+ */ + State?: PlacementGroupState; + + /** + * @public + *The placement strategy.
+ */ + Strategy?: PlacementStrategy; + + /** + * @public + *The number of partitions. Valid only if strategy is
+ * set to partition
.
The ID of the placement group.
+ */ + GroupId?: string; + + /** + * @public + *Any tags applied to the placement group.
+ */ + Tags?: Tag[]; + + /** + * @public + *The Amazon Resource Name (ARN) of the placement group.
+ */ + GroupArn?: string; + + /** + * @public + *The spread level for the placement group. Only Outpost placement + * groups can be spread across hosts.
+ */ + SpreadLevel?: SpreadLevel; +} + /** * @public */ @@ -8717,25 +8775,6 @@ export interface DeletePlacementGroupRequest { GroupName: string | undefined; } -/** - * @public - */ -export interface DeletePublicIpv4PoolRequest { - /** - * @public - *A check for 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
.
The ID of the public IPv4 pool you want to delete.
- */ - PoolId: string | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index d88237c86b3b..a25d4112ef51 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -20,6 +20,7 @@ import { ByoipCidr, CapacityReservation, CapacityReservationFleetState, + CapacityReservationTenancy, CarrierGateway, ClientVpnAuthorizationRuleStatus, CurrencyCodeValues, @@ -39,11 +40,8 @@ import { VerifiedAccessTrustProviderFilterSensitiveLog, } from "./models_0"; import { - AmdSevSnpSpecification, AttributeValue, BlockDeviceMapping, - CapacityReservationPreference, - CapacityReservationTargetResponse, ClientVpnAuthenticationType, ClientVpnEndpointStatus, ClientVpnRouteStatus, @@ -91,6 +89,25 @@ import { VerifiedAccessGroup, } from "./models_2"; +/** + * @public + */ +export interface DeletePublicIpv4PoolRequest { + /** + * @public + *A check for 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
.
The ID of the public IPv4 pool you want to delete.
+ */ + PoolId: string | undefined; +} + /** * @public */ @@ -2433,6 +2450,142 @@ export interface DescribeByoipCidrsResult { NextToken?: string; } +/** + * @public + */ +export interface DescribeCapacityBlockOfferingsRequest { + /** + * @public + *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
.
The type of instance for which the Capacity Block offering reserves capacity.
+ */ + InstanceType: string | undefined; + + /** + * @public + *The number of instances for which to reserve capacity.
+ */ + InstanceCount: number | undefined; + + /** + * @public + *The earliest start date for the Capacity Block offering.
+ */ + StartDateRange?: Date; + + /** + * @public + *The latest end date for the Capacity Block offering.
+ */ + EndDateRange?: Date; + + /** + * @public + *The number of hours for which to reserve Capacity Block.
+ */ + CapacityDurationHours: number | undefined; + + /** + * @public + *The token to use to retrieve the next page of results.
+ */ + NextToken?: string; + + /** + * @public + *The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken
value. This value can be between 5 and 500. If maxResults
is given a larger value than 500, you receive an error.
The recommended Capacity Block that fits your search requirements.
+ */ +export interface CapacityBlockOffering { + /** + * @public + *The ID of the Capacity Block offering.
+ */ + CapacityBlockOfferingId?: string; + + /** + * @public + *The instance type of the Capacity Block offering.
+ */ + InstanceType?: string; + + /** + * @public + *The Availability Zone of the Capacity Block offering.
+ */ + AvailabilityZone?: string; + + /** + * @public + *The number of instances in the Capacity Block offering.
+ */ + InstanceCount?: number; + + /** + * @public + *The start date of the Capacity Block offering.
+ */ + StartDate?: Date; + + /** + * @public + *The end date of the Capacity Block offering.
+ */ + EndDate?: Date; + + /** + * @public + *The amount of time of the Capacity Block reservation in hours.
+ */ + CapacityBlockDurationHours?: number; + + /** + * @public + *The total price to be paid up front.
+ */ + UpfrontFee?: string; + + /** + * @public + *The currency of the payment for the Capacity Block.
+ */ + CurrencyCode?: string; + + /** + * @public + *The tenancy of the Capacity Block.
+ */ + Tenancy?: CapacityReservationTenancy; +} + +/** + * @public + */ +export interface DescribeCapacityBlockOfferingsResult { + /** + * @public + *The recommended Capacity Block offering for the dates specified.
+ */ + CapacityBlockOfferings?: CapacityBlockOffering[]; + + /** + * @public + *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The filters.
- *
- * affinity
- The affinity setting for an instance running on a
- * Dedicated Host (default
| host
).
- * architecture
- The instance architecture (i386
|
- * x86_64
| arm64
).
- * availability-zone
- The Availability Zone of the instance.
- * block-device-mapping.attach-time
- The attach time for an EBS
- * volume mapped to the instance, for example,
- * 2022-09-15T17:15:20.000Z
.
- * block-device-mapping.delete-on-termination
- A Boolean that
- * indicates whether the EBS volume is deleted on instance termination.
- * block-device-mapping.device-name
- The device name specified in
- * the block device mapping (for example, /dev/sdh
or
- * xvdh
).
- * block-device-mapping.status
- The status for the EBS volume
- * (attaching
| attached
| detaching
|
- * detached
).
- * block-device-mapping.volume-id
- The volume ID of the EBS
- * volume.
- * boot-mode
- The boot mode that was specified by the AMI
- * (legacy-bios
| uefi
|
- * uefi-preferred
).
- * capacity-reservation-id
- The ID of the Capacity Reservation into which the
- * instance was launched.
- * capacity-reservation-specification.capacity-reservation-preference
- * - The instance's Capacity Reservation preference (open
| none
).
- * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id
- * - The ID of the targeted Capacity Reservation.
- * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn
- * - The ARN of the targeted Capacity Reservation group.
- * client-token
- The idempotency token you provided when you
- * launched the instance.
- * current-instance-boot-mode
- The boot mode that is used to launch
- * the instance at launch or start (legacy-bios
|
- * uefi
).
- * dns-name
- The public DNS name of the instance.
- * ebs-optimized
- A Boolean that indicates whether the instance is
- * optimized for Amazon EBS I/O.
- * ena-support
- A Boolean that indicates whether the instance is
- * enabled for enhanced networking with ENA.
- * enclave-options.enabled
- A Boolean that indicates whether the
- * instance is enabled for Amazon Web Services Nitro Enclaves.
- * hibernation-options.configured
- A Boolean that indicates whether
- * the instance is enabled for hibernation. A value of true
means that
- * the instance is enabled for hibernation.
- * host-id
- The ID of the Dedicated Host on which the instance is
- * running, if applicable.
- * hypervisor
- The hypervisor type of the instance
- * (ovm
| xen
). The value xen
is used
- * for both Xen and Nitro hypervisors.
- * iam-instance-profile.arn
- The instance profile associated with
- * the instance. Specified as an ARN.
- * iam-instance-profile.id
- The instance profile associated with
- * the instance. Specified as an ID.
- * iam-instance-profile.name
- The instance profile associated with
- * the instance. Specified as an name.
- * image-id
- The ID of the image used to launch the
- * instance.
- * instance-id
- The ID of the instance.
- * instance-lifecycle
- Indicates whether this is a Spot Instance or
- * a Scheduled Instance (spot
| scheduled
).
- * instance-state-code
- The state of the instance, as a 16-bit
- * unsigned integer. The high byte is used for internal purposes and should be
- * ignored. The low byte is set based on the state represented. The valid values
- * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64
- * (stopping), and 80 (stopped).
- * instance-state-name
- The state of the instance
- * (pending
| running
| shutting-down
|
- * terminated
| stopping
|
- * stopped
).
- * instance-type
- The type of instance (for example,
- * t2.micro
).
- * instance.group-id
- The ID of the security group for the
- * instance.
- * instance.group-name
- The name of the security group for the
- * instance.
- * ip-address
- The public IPv4 address of the instance.
- * ipv6-address
- The IPv6 address of the instance.
- * kernel-id
- The kernel ID.
- * key-name
- The name of the key pair used when the instance was
- * launched.
- * launch-index
- When launching multiple instances, this is the
- * index for the instance in the launch group (for example, 0, 1, 2, and so on).
- *
- * 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,
- * 2021-09-29T11:04:43.305Z
. You can use a wildcard
- * (*
), for example, 2021-09-29T*
, which matches an
- * entire day.
- * maintenance-options.auto-recovery
- The current automatic
- * recovery behavior of the instance (disabled
| default
).
- * metadata-options.http-endpoint
- The status of access to the HTTP
- * metadata endpoint on your instance (enabled
|
- * disabled
)
- * metadata-options.http-protocol-ipv4
- Indicates whether the IPv4
- * endpoint is enabled (disabled
| enabled
).
- * metadata-options.http-protocol-ipv6
- Indicates whether the IPv6
- * endpoint is enabled (disabled
| enabled
).
- * metadata-options.http-put-response-hop-limit
- The HTTP metadata
- * request put response hop limit (integer, possible values 1
to
- * 64
)
- * metadata-options.http-tokens
- The metadata request authorization
- * state (optional
| required
)
- * metadata-options.instance-metadata-tags
- The status of access to
- * instance tags from the instance metadata (enabled
|
- * disabled
)
- * metadata-options.state
- The state of the metadata option changes
- * (pending
| applied
).
- * monitoring-state
- Indicates whether detailed monitoring is
- * enabled (disabled
| enabled
).
- * network-interface.addresses.association.allocation-id
- The allocation ID.
- * network-interface.addresses.association.association-id
- The association ID.
- * network-interface.addresses.association.carrier-ip
- The carrier IP address.
- * network-interface.addresses.association.customer-owned-ip
- The customer-owned IP address.
- * network-interface.addresses.association.ip-owner-id
- The owner
- * ID of the private IPv4 address associated with the network interface.
- * network-interface.addresses.association.public-dns-name
- The public DNS name.
- * network-interface.addresses.association.public-ip
- The ID of the
- * association of an Elastic IP address (IPv4) with a network interface.
- * network-interface.addresses.primary
- Specifies whether the IPv4
- * address of the network interface is the primary private IPv4 address.
- * network-interface.addresses.private-dns-name
- The private DNS name.
- * network-interface.addresses.private-ip-address
- The private IPv4
- * address associated with the network interface.
- * network-interface.association.allocation-id
- The allocation ID
- * returned when you allocated the Elastic IP address (IPv4) for your network
- * interface.
- * network-interface.association.association-id
- The association ID
- * returned when the network interface was associated with an IPv4 address.
- * network-interface.association.carrier-ip
- The customer-owned IP address.
- * network-interface.association.customer-owned-ip
- The customer-owned IP address.
- * network-interface.association.ip-owner-id
- The owner of the
- * Elastic IP address (IPv4) associated with the network interface.
- * network-interface.association.public-dns-name
- The public DNS name.
- * network-interface.association.public-ip
- The address of the
- * Elastic IP address (IPv4) bound to the network interface.
- * network-interface.attachment.attach-time
- The time that the
- * network interface was attached to an instance.
- * network-interface.attachment.attachment-id
- The ID of the
- * interface attachment.
- * network-interface.attachment.delete-on-termination
- Specifies
- * whether the attachment is deleted when an instance is terminated.
- * network-interface.attachment.device-index
- The device index to
- * which the network interface is attached.
- * network-interface.attachment.instance-id
- The ID of the instance
- * to which the network interface is attached.
- * network-interface.attachment.instance-owner-id
- The owner ID of
- * the instance to which the network interface is attached.
- * network-interface.attachment.network-card-index
- The index of the network card.
- * network-interface.attachment.status
- The status of the
- * attachment (attaching
| attached
|
- * detaching
| detached
).
- * network-interface.availability-zone
- The Availability Zone for
- * the network interface.
- * network-interface.deny-all-igw-traffic
- A Boolean that indicates whether
- * a network interface with an IPv6 address is unreachable from the public internet.
- * network-interface.description
- The description of the network
- * interface.
- * network-interface.group-id
- The ID of a security group
- * associated with the network interface.
- * network-interface.group-name
- The name of a security group
- * associated with the network interface.
- * network-interface.ipv4-prefixes.ipv4-prefix
- The IPv4 prefixes that are assigned to the network interface.
- * network-interface.ipv6-address
- The IPv6 address associated with the network interface.
- * network-interface.ipv6-addresses.ipv6-address
- The IPv6 address
- * associated with the network interface.
- * network-interface.ipv6-addresses.is-primary-ipv6
- A Boolean that indicates whether this
- * is the primary IPv6 address.
- * network-interface.ipv6-native
- A Boolean that indicates whether this is
- * an IPv6 only network interface.
- * network-interface.ipv6-prefixes.ipv6-prefix
- The IPv6 prefix assigned to the network interface.
- * network-interface.mac-address
- The MAC address of the network
- * interface.
- * network-interface.network-interface-id
- The ID of the network
- * interface.
- * network-interface.outpost-arn
- The ARN of the Outpost.
- * network-interface.owner-id
- The ID of the owner of the network
- * interface.
- * network-interface.private-dns-name
- The private DNS name of the
- * network interface.
- * network-interface.private-ip-address
- The private IPv4 address.
- * network-interface.public-dns-name
- The public DNS name.
- * network-interface.requester-id
- The requester ID for the network
- * interface.
- * network-interface.requester-managed
- Indicates whether the
- * network interface is being managed by Amazon Web Services.
- * network-interface.status
- The status of the network interface
- * (available
) | in-use
).
- * network-interface.source-dest-check
- Whether the network
- * interface performs source/destination checking. A value of true
- * means that checking is enabled, and false
means that checking is
- * disabled. The value must be false
for the network interface to
- * perform network address translation (NAT) in your VPC.
- * network-interface.subnet-id
- The ID of the subnet for the
- * network interface.
- * network-interface.tag-key
- The key of a tag assigned to the network interface.
- * network-interface.tag-value
- The value of a tag assigned to the network interface.
- * network-interface.vpc-id
- The ID of the VPC for the network
- * interface.
- * outpost-arn
- The Amazon Resource Name (ARN) of the
- * Outpost.
- * owner-id
- The Amazon Web Services account ID of the instance
- * owner.
- * placement-group-name
- The name of the placement group for the
- * instance.
- * placement-partition-number
- The partition in which the instance is
- * located.
- * platform
- The platform. To list only Windows instances, use
- * windows
.
- * platform-details
- The platform (Linux/UNIX
|
- * Red Hat BYOL Linux
| Red Hat Enterprise Linux
|
- * Red Hat Enterprise Linux with HA
| Red Hat Enterprise
- * Linux with SQL Server Standard and HA
| Red Hat Enterprise
- * Linux with SQL Server Enterprise and HA
| Red Hat Enterprise
- * Linux with SQL Server Standard
| Red Hat Enterprise Linux with
- * SQL Server Web
| Red Hat Enterprise Linux with SQL Server
- * Enterprise
| SQL Server Enterprise
| SQL Server
- * Standard
| SQL Server Web
| SUSE Linux
|
- * Ubuntu Pro
| Windows
| Windows BYOL
|
- * Windows with SQL Server Enterprise
| Windows with SQL
- * Server Standard
| Windows with SQL Server Web
).
- * private-dns-name
- The private IPv4 DNS name of the
- * instance.
- * private-dns-name-options.enable-resource-name-dns-a-record
- A
- * Boolean that indicates whether to respond to DNS queries for instance hostnames
- * with DNS A records.
- * private-dns-name-options.enable-resource-name-dns-aaaa-record
- A
- * Boolean that indicates whether to respond to DNS queries for instance hostnames
- * with DNS AAAA records.
- * private-dns-name-options.hostname-type
- The type of hostname
- * (ip-name
| resource-name
).
- * private-ip-address
- The private IPv4 address of the
- * instance.
- * product-code
- The product code associated with the AMI used to
- * launch the instance.
- * product-code.type
- The type of product code (devpay
- * | marketplace
).
- * ramdisk-id
- The RAM disk ID.
- * reason
- The reason for the current state of the instance (for
- * example, shows "User Initiated [date]" when you stop or terminate the instance).
- * Similar to the state-reason-code filter.
- * requester-id
- The ID of the entity that launched the instance on
- * your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so
- * on).
- * reservation-id
- The ID of the instance's reservation. A
- * reservation ID is created any time you launch an instance. A reservation ID has
- * a one-to-one relationship with an instance launch request, but can be associated
- * with more than one instance if you launch multiple instances using the same
- * launch request. For example, if you launch one instance, you get one reservation
- * ID. If you launch ten instances using the same launch request, you also get one
- * reservation ID.
- * root-device-name
- The device name of the root device volume (for
- * example, /dev/sda1
).
- * root-device-type
- The type of the root device volume
- * (ebs
| instance-store
).
- * source-dest-check
- Indicates whether the instance performs
- * source/destination checking. A value of true
means that checking is
- * enabled, and false
means that checking is disabled. The value must
- * be false
for the instance to perform network address translation
- * (NAT) in your VPC.
- * spot-instance-request-id
- The ID of the Spot Instance
- * request.
- * state-reason-code
- The reason code for the state change.
- * state-reason-message
- A message that describes the state
- * change.
- * subnet-id
- The ID of the subnet for the instance.
- * 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 that have a tag with a specific key, regardless of the tag value.
- * tenancy
- The tenancy of an instance (dedicated
|
- * default
| host
).
- * tpm-support
- Indicates if the instance is configured for
- * NitroTPM support (v2.0
).
- * usage-operation
- The usage operation value for the instance
- * (RunInstances
| RunInstances:00g0
|
- * RunInstances:0010
| RunInstances:1010
|
- * RunInstances:1014
| RunInstances:1110
|
- * RunInstances:0014
| RunInstances:0210
|
- * RunInstances:0110
| RunInstances:0100
|
- * RunInstances:0004
| RunInstances:0200
|
- * RunInstances:000g
| RunInstances:0g00
|
- * RunInstances:0002
| RunInstances:0800
|
- * RunInstances:0102
| RunInstances:0006
|
- * RunInstances:0202
).
- * usage-operation-update-time
- The time that the usage operation
- * was last updated, for example, 2022-09-15T17:15:20.000Z
.
- * virtualization-type
- The virtualization type of the instance
- * (paravirtual
| hvm
).
- * vpc-id
- The ID of the VPC that the instance is running in.
The instance IDs.
- *Default: Describes all your instances.
- */ - InstanceIds?: string[]; - - /** - * @public - *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
.
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.
- *You cannot specify this parameter and the instance IDs parameter in the same request.
- */ - MaxResults?: number; - - /** - * @public - *The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.
- */ - NextToken?: string; -} - -/** - * @public - *Describes the instance's Capacity Reservation targeting preferences. The action returns the
- * capacityReservationPreference
response element if the instance is
- * configured to run in On-Demand capacity, or if it is configured in run in any
- * open
Capacity Reservation that has matching attributes (instance type, platform,
- * Availability Zone). The action returns the capacityReservationTarget
- * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.
Describes the instance's Capacity Reservation preferences. Possible preferences include:
- *
- * open
- The instance can run in any open
Capacity Reservation that
- * has matching attributes (instance type, platform, Availability Zone).
- * none
- The instance avoids running in a Capacity Reservation even if one is
- * available. The instance runs in On-Demand capacity.
Information about the targeted Capacity Reservation or Capacity Reservation group.
- */ - CapacityReservationTarget?: CapacityReservationTargetResponse; -} - -/** - * @public - *The CPU options for the instance.
- */ -export interface CpuOptions { - /** - * @public - *The number of CPU cores for the instance.
- */ - CoreCount?: number; - - /** - * @public - *The number of threads per CPU core.
- */ - ThreadsPerCore?: number; - - /** - * @public - *Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see - * AMD SEV-SNP.
- */ - AmdSevSnp?: AmdSevSnpSpecification; -} - -/** - * @public - * @enum - */ -export const InstanceBootModeValues = { - legacy_bios: "legacy-bios", - uefi: "uefi", -} as const; - -/** - * @public - */ -export type InstanceBootModeValues = (typeof InstanceBootModeValues)[keyof typeof InstanceBootModeValues]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 20d06bae0d3b..69e2f336c702 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -26,12 +26,14 @@ import { TransitGatewayAttachmentState, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, - TrunkInterfaceAssociation, UserIdGroupPair, } from "./models_0"; import { + AmdSevSnpSpecification, AttributeValue, BlockDeviceMapping, + CapacityReservationPreference, + CapacityReservationTargetResponse, FleetLaunchTemplateSpecification, FleetType, GroupIdentifier, @@ -63,7 +65,6 @@ import { NetworkInterfacePermission, NetworkInterfaceStatus, Placement, - PlacementGroup, PlatformValues, PrivateIpAddressSpecification, SpotInstanceType, @@ -73,6 +74,7 @@ import { Tenancy, } from "./models_1"; import { + PlacementGroup, ReplaceRootVolumeTask, RouteTable, Snapshot, @@ -90,14 +92,11 @@ import { TransitGatewayPolicyTable, TransitGatewayRouteTable, TransitGatewayRouteTableAnnouncement, - VerifiedAccessEndpoint, } from "./models_2"; import { ArchitectureValues, AttributeBooleanValue, BootModeValues, - CapacityReservationSpecificationResponse, - CpuOptions, DeviceType, EnclaveOptions, EventInformation, @@ -105,12 +104,809 @@ import { HypervisorType, IdFormat, InstanceBlockDeviceMapping, - InstanceBootModeValues, PermissionGroup, ProductCode, VirtualizationType, } from "./models_3"; +/** + * @public + */ +export interface DescribeInstancesRequest { + /** + * @public + *The filters.
+ *
+ * affinity
- The affinity setting for an instance running on a
+ * Dedicated Host (default
| host
).
+ * architecture
- The instance architecture (i386
|
+ * x86_64
| arm64
).
+ * availability-zone
- The Availability Zone of the instance.
+ * block-device-mapping.attach-time
- The attach time for an EBS
+ * volume mapped to the instance, for example,
+ * 2022-09-15T17:15:20.000Z
.
+ * block-device-mapping.delete-on-termination
- A Boolean that
+ * indicates whether the EBS volume is deleted on instance termination.
+ * block-device-mapping.device-name
- The device name specified in
+ * the block device mapping (for example, /dev/sdh
or
+ * xvdh
).
+ * block-device-mapping.status
- The status for the EBS volume
+ * (attaching
| attached
| detaching
|
+ * detached
).
+ * block-device-mapping.volume-id
- The volume ID of the EBS
+ * volume.
+ * boot-mode
- The boot mode that was specified by the AMI
+ * (legacy-bios
| uefi
|
+ * uefi-preferred
).
+ * capacity-reservation-id
- The ID of the Capacity Reservation into which the
+ * instance was launched.
+ * capacity-reservation-specification.capacity-reservation-preference
+ * - The instance's Capacity Reservation preference (open
| none
).
+ * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id
+ * - The ID of the targeted Capacity Reservation.
+ * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn
+ * - The ARN of the targeted Capacity Reservation group.
+ * client-token
- The idempotency token you provided when you
+ * launched the instance.
+ * current-instance-boot-mode
- The boot mode that is used to launch
+ * the instance at launch or start (legacy-bios
|
+ * uefi
).
+ * dns-name
- The public DNS name of the instance.
+ * ebs-optimized
- A Boolean that indicates whether the instance is
+ * optimized for Amazon EBS I/O.
+ * ena-support
- A Boolean that indicates whether the instance is
+ * enabled for enhanced networking with ENA.
+ * enclave-options.enabled
- A Boolean that indicates whether the
+ * instance is enabled for Amazon Web Services Nitro Enclaves.
+ * hibernation-options.configured
- A Boolean that indicates whether
+ * the instance is enabled for hibernation. A value of true
means that
+ * the instance is enabled for hibernation.
+ * host-id
- The ID of the Dedicated Host on which the instance is
+ * running, if applicable.
+ * hypervisor
- The hypervisor type of the instance
+ * (ovm
| xen
). The value xen
is used
+ * for both Xen and Nitro hypervisors.
+ * iam-instance-profile.arn
- The instance profile associated with
+ * the instance. Specified as an ARN.
+ * iam-instance-profile.id
- The instance profile associated with
+ * the instance. Specified as an ID.
+ * iam-instance-profile.name
- The instance profile associated with
+ * the instance. Specified as an name.
+ * image-id
- The ID of the image used to launch the
+ * instance.
+ * instance-id
- The ID of the instance.
+ * instance-lifecycle
- Indicates whether this is a Spot Instance or
+ * a Scheduled Instance (spot
| scheduled
).
+ * instance-state-code
- The state of the instance, as a 16-bit
+ * unsigned integer. The high byte is used for internal purposes and should be
+ * ignored. The low byte is set based on the state represented. The valid values
+ * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64
+ * (stopping), and 80 (stopped).
+ * instance-state-name
- The state of the instance
+ * (pending
| running
| shutting-down
|
+ * terminated
| stopping
|
+ * stopped
).
+ * instance-type
- The type of instance (for example,
+ * t2.micro
).
+ * instance.group-id
- The ID of the security group for the
+ * instance.
+ * instance.group-name
- The name of the security group for the
+ * instance.
+ * ip-address
- The public IPv4 address of the instance.
+ * ipv6-address
- The IPv6 address of the instance.
+ * kernel-id
- The kernel ID.
+ * key-name
- The name of the key pair used when the instance was
+ * launched.
+ * launch-index
- When launching multiple instances, this is the
+ * index for the instance in the launch group (for example, 0, 1, 2, and so on).
+ *
+ * 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,
+ * 2021-09-29T11:04:43.305Z
. You can use a wildcard
+ * (*
), for example, 2021-09-29T*
, which matches an
+ * entire day.
+ * maintenance-options.auto-recovery
- The current automatic
+ * recovery behavior of the instance (disabled
| default
).
+ * metadata-options.http-endpoint
- The status of access to the HTTP
+ * metadata endpoint on your instance (enabled
|
+ * disabled
)
+ * metadata-options.http-protocol-ipv4
- Indicates whether the IPv4
+ * endpoint is enabled (disabled
| enabled
).
+ * metadata-options.http-protocol-ipv6
- Indicates whether the IPv6
+ * endpoint is enabled (disabled
| enabled
).
+ * metadata-options.http-put-response-hop-limit
- The HTTP metadata
+ * request put response hop limit (integer, possible values 1
to
+ * 64
)
+ * metadata-options.http-tokens
- The metadata request authorization
+ * state (optional
| required
)
+ * metadata-options.instance-metadata-tags
- The status of access to
+ * instance tags from the instance metadata (enabled
|
+ * disabled
)
+ * metadata-options.state
- The state of the metadata option changes
+ * (pending
| applied
).
+ * monitoring-state
- Indicates whether detailed monitoring is
+ * enabled (disabled
| enabled
).
+ * network-interface.addresses.association.allocation-id
- The allocation ID.
+ * network-interface.addresses.association.association-id
- The association ID.
+ * network-interface.addresses.association.carrier-ip
- The carrier IP address.
+ * network-interface.addresses.association.customer-owned-ip
- The customer-owned IP address.
+ * network-interface.addresses.association.ip-owner-id
- The owner
+ * ID of the private IPv4 address associated with the network interface.
+ * network-interface.addresses.association.public-dns-name
- The public DNS name.
+ * network-interface.addresses.association.public-ip
- The ID of the
+ * association of an Elastic IP address (IPv4) with a network interface.
+ * network-interface.addresses.primary
- Specifies whether the IPv4
+ * address of the network interface is the primary private IPv4 address.
+ * network-interface.addresses.private-dns-name
- The private DNS name.
+ * network-interface.addresses.private-ip-address
- The private IPv4
+ * address associated with the network interface.
+ * network-interface.association.allocation-id
- The allocation ID
+ * returned when you allocated the Elastic IP address (IPv4) for your network
+ * interface.
+ * network-interface.association.association-id
- The association ID
+ * returned when the network interface was associated with an IPv4 address.
+ * network-interface.association.carrier-ip
- The customer-owned IP address.
+ * network-interface.association.customer-owned-ip
- The customer-owned IP address.
+ * network-interface.association.ip-owner-id
- The owner of the
+ * Elastic IP address (IPv4) associated with the network interface.
+ * network-interface.association.public-dns-name
- The public DNS name.
+ * network-interface.association.public-ip
- The address of the
+ * Elastic IP address (IPv4) bound to the network interface.
+ * network-interface.attachment.attach-time
- The time that the
+ * network interface was attached to an instance.
+ * network-interface.attachment.attachment-id
- The ID of the
+ * interface attachment.
+ * network-interface.attachment.delete-on-termination
- Specifies
+ * whether the attachment is deleted when an instance is terminated.
+ * network-interface.attachment.device-index
- The device index to
+ * which the network interface is attached.
+ * network-interface.attachment.instance-id
- The ID of the instance
+ * to which the network interface is attached.
+ * network-interface.attachment.instance-owner-id
- The owner ID of
+ * the instance to which the network interface is attached.
+ * network-interface.attachment.network-card-index
- The index of the network card.
+ * network-interface.attachment.status
- The status of the
+ * attachment (attaching
| attached
|
+ * detaching
| detached
).
+ * network-interface.availability-zone
- The Availability Zone for
+ * the network interface.
+ * network-interface.deny-all-igw-traffic
- A Boolean that indicates whether
+ * a network interface with an IPv6 address is unreachable from the public internet.
+ * network-interface.description
- The description of the network
+ * interface.
+ * network-interface.group-id
- The ID of a security group
+ * associated with the network interface.
+ * network-interface.group-name
- The name of a security group
+ * associated with the network interface.
+ * network-interface.ipv4-prefixes.ipv4-prefix
- The IPv4 prefixes that are assigned to the network interface.
+ * network-interface.ipv6-address
- The IPv6 address associated with the network interface.
+ * network-interface.ipv6-addresses.ipv6-address
- The IPv6 address
+ * associated with the network interface.
+ * network-interface.ipv6-addresses.is-primary-ipv6
- A Boolean that indicates whether this
+ * is the primary IPv6 address.
+ * network-interface.ipv6-native
- A Boolean that indicates whether this is
+ * an IPv6 only network interface.
+ * network-interface.ipv6-prefixes.ipv6-prefix
- The IPv6 prefix assigned to the network interface.
+ * network-interface.mac-address
- The MAC address of the network
+ * interface.
+ * network-interface.network-interface-id
- The ID of the network
+ * interface.
+ * network-interface.outpost-arn
- The ARN of the Outpost.
+ * network-interface.owner-id
- The ID of the owner of the network
+ * interface.
+ * network-interface.private-dns-name
- The private DNS name of the
+ * network interface.
+ * network-interface.private-ip-address
- The private IPv4 address.
+ * network-interface.public-dns-name
- The public DNS name.
+ * network-interface.requester-id
- The requester ID for the network
+ * interface.
+ * network-interface.requester-managed
- Indicates whether the
+ * network interface is being managed by Amazon Web Services.
+ * network-interface.status
- The status of the network interface
+ * (available
) | in-use
).
+ * network-interface.source-dest-check
- Whether the network
+ * interface performs source/destination checking. A value of true
+ * means that checking is enabled, and false
means that checking is
+ * disabled. The value must be false
for the network interface to
+ * perform network address translation (NAT) in your VPC.
+ * network-interface.subnet-id
- The ID of the subnet for the
+ * network interface.
+ * network-interface.tag-key
- The key of a tag assigned to the network interface.
+ * network-interface.tag-value
- The value of a tag assigned to the network interface.
+ * network-interface.vpc-id
- The ID of the VPC for the network
+ * interface.
+ * outpost-arn
- The Amazon Resource Name (ARN) of the
+ * Outpost.
+ * owner-id
- The Amazon Web Services account ID of the instance
+ * owner.
+ * placement-group-name
- The name of the placement group for the
+ * instance.
+ * placement-partition-number
- The partition in which the instance is
+ * located.
+ * platform
- The platform. To list only Windows instances, use
+ * windows
.
+ * platform-details
- The platform (Linux/UNIX
|
+ * Red Hat BYOL Linux
| Red Hat Enterprise Linux
|
+ * Red Hat Enterprise Linux with HA
| Red Hat Enterprise
+ * Linux with SQL Server Standard and HA
| Red Hat Enterprise
+ * Linux with SQL Server Enterprise and HA
| Red Hat Enterprise
+ * Linux with SQL Server Standard
| Red Hat Enterprise Linux with
+ * SQL Server Web
| Red Hat Enterprise Linux with SQL Server
+ * Enterprise
| SQL Server Enterprise
| SQL Server
+ * Standard
| SQL Server Web
| SUSE Linux
|
+ * Ubuntu Pro
| Windows
| Windows BYOL
|
+ * Windows with SQL Server Enterprise
| Windows with SQL
+ * Server Standard
| Windows with SQL Server Web
).
+ * private-dns-name
- The private IPv4 DNS name of the
+ * instance.
+ * private-dns-name-options.enable-resource-name-dns-a-record
- A
+ * Boolean that indicates whether to respond to DNS queries for instance hostnames
+ * with DNS A records.
+ * private-dns-name-options.enable-resource-name-dns-aaaa-record
- A
+ * Boolean that indicates whether to respond to DNS queries for instance hostnames
+ * with DNS AAAA records.
+ * private-dns-name-options.hostname-type
- The type of hostname
+ * (ip-name
| resource-name
).
+ * private-ip-address
- The private IPv4 address of the
+ * instance.
+ * product-code
- The product code associated with the AMI used to
+ * launch the instance.
+ * product-code.type
- The type of product code (devpay
+ * | marketplace
).
+ * ramdisk-id
- The RAM disk ID.
+ * reason
- The reason for the current state of the instance (for
+ * example, shows "User Initiated [date]" when you stop or terminate the instance).
+ * Similar to the state-reason-code filter.
+ * requester-id
- The ID of the entity that launched the instance on
+ * your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so
+ * on).
+ * reservation-id
- The ID of the instance's reservation. A
+ * reservation ID is created any time you launch an instance. A reservation ID has
+ * a one-to-one relationship with an instance launch request, but can be associated
+ * with more than one instance if you launch multiple instances using the same
+ * launch request. For example, if you launch one instance, you get one reservation
+ * ID. If you launch ten instances using the same launch request, you also get one
+ * reservation ID.
+ * root-device-name
- The device name of the root device volume (for
+ * example, /dev/sda1
).
+ * root-device-type
- The type of the root device volume
+ * (ebs
| instance-store
).
+ * source-dest-check
- Indicates whether the instance performs
+ * source/destination checking. A value of true
means that checking is
+ * enabled, and false
means that checking is disabled. The value must
+ * be false
for the instance to perform network address translation
+ * (NAT) in your VPC.
+ * spot-instance-request-id
- The ID of the Spot Instance
+ * request.
+ * state-reason-code
- The reason code for the state change.
+ * state-reason-message
- A message that describes the state
+ * change.
+ * subnet-id
- The ID of the subnet for the instance.
+ * 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 that have a tag with a specific key, regardless of the tag value.
+ * tenancy
- The tenancy of an instance (dedicated
|
+ * default
| host
).
+ * tpm-support
- Indicates if the instance is configured for
+ * NitroTPM support (v2.0
).
+ * usage-operation
- The usage operation value for the instance
+ * (RunInstances
| RunInstances:00g0
|
+ * RunInstances:0010
| RunInstances:1010
|
+ * RunInstances:1014
| RunInstances:1110
|
+ * RunInstances:0014
| RunInstances:0210
|
+ * RunInstances:0110
| RunInstances:0100
|
+ * RunInstances:0004
| RunInstances:0200
|
+ * RunInstances:000g
| RunInstances:0g00
|
+ * RunInstances:0002
| RunInstances:0800
|
+ * RunInstances:0102
| RunInstances:0006
|
+ * RunInstances:0202
).
+ * usage-operation-update-time
- The time that the usage operation
+ * was last updated, for example, 2022-09-15T17:15:20.000Z
.
+ * virtualization-type
- The virtualization type of the instance
+ * (paravirtual
| hvm
).
+ * vpc-id
- The ID of the VPC that the instance is running in.
The instance IDs.
+ *Default: Describes all your instances.
+ */ + InstanceIds?: string[]; + + /** + * @public + *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
.
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.
+ *You cannot specify this parameter and the instance IDs parameter in the same request.
+ */ + MaxResults?: number; + + /** + * @public + *The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.
+ */ + NextToken?: string; +} + +/** + * @public + *Describes the instance's Capacity Reservation targeting preferences. The action returns the
+ * capacityReservationPreference
response element if the instance is
+ * configured to run in On-Demand capacity, or if it is configured in run in any
+ * open
Capacity Reservation that has matching attributes (instance type, platform,
+ * Availability Zone). The action returns the capacityReservationTarget
+ * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.
Describes the instance's Capacity Reservation preferences. Possible preferences include:
+ *
+ * open
- The instance can run in any open
Capacity Reservation that
+ * has matching attributes (instance type, platform, Availability Zone).
+ * none
- The instance avoids running in a Capacity Reservation even if one is
+ * available. The instance runs in On-Demand capacity.
Information about the targeted Capacity Reservation or Capacity Reservation group.
+ */ + CapacityReservationTarget?: CapacityReservationTargetResponse; +} + +/** + * @public + *The CPU options for the instance.
+ */ +export interface CpuOptions { + /** + * @public + *The number of CPU cores for the instance.
+ */ + CoreCount?: number; + + /** + * @public + *The number of threads per CPU core.
+ */ + ThreadsPerCore?: number; + + /** + * @public + *Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see + * AMD SEV-SNP.
+ */ + AmdSevSnp?: AmdSevSnpSpecification; +} + +/** + * @public + * @enum + */ +export const InstanceBootModeValues = { + legacy_bios: "legacy-bios", + uefi: "uefi", +} as const; + +/** + * @public + */ +export type InstanceBootModeValues = (typeof InstanceBootModeValues)[keyof typeof InstanceBootModeValues]; + /** * @public *Describes the association between an instance and an Elastic Graphics accelerator.
@@ -203,6 +999,7 @@ export interface HibernationOptions { * @enum */ export const InstanceLifecycleType = { + capacity_block: "capacity-block", scheduled: "scheduled", spot: "spot", } as const; @@ -2689,6 +3486,7 @@ export type RootDeviceType = (typeof RootDeviceType)[keyof typeof RootDeviceType * @enum */ export const UsageClassType = { + capacity_block: "capacity-block", on_demand: "on-demand", spot: "spot", } as const; @@ -12180,138 +12978,6 @@ export interface DescribeTransitGatewayVpcAttachmentsResult { NextToken?: string; } -/** - * @public - */ -export interface DescribeTrunkInterfaceAssociationsRequest { - /** - * @public - *The IDs of the associations.
- */ - AssociationIds?: string[]; - - /** - * @public - *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
.
One or more filters.
- *
- * gre-key
- The ID of a trunk interface association.
- * interface-protocol
- The interface protocol. Valid values are VLAN
and GRE
.
The token for the next page of results.
- */ - NextToken?: string; - - /** - * @public - *The maximum number of results to return with a single call.
- * To retrieve the remaining results, make another call with the returned nextToken
value.
Information about the trunk associations.
- */ - InterfaceAssociations?: TrunkInterfaceAssociation[]; - - /** - * @public - *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The ID of the Verified Access endpoint.
- */ - VerifiedAccessEndpointIds?: string[]; - - /** - * @public - *The ID of the Verified Access instance.
- */ - VerifiedAccessInstanceId?: string; - - /** - * @public - *The ID of the Verified Access group.
- */ - VerifiedAccessGroupId?: string; - - /** - * @public - *The maximum number of results to return with a single call.
- * To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
- */ - NextToken?: string; - - /** - * @public - *One or more filters. Filter names and values are case-sensitive.
- */ - Filters?: Filter[]; - - /** - * @public - *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
.
The ID of the Verified Access endpoint.
- */ - VerifiedAccessEndpoints?: VerifiedAccessEndpoint[]; - - /** - * @public - *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The IDs of the associations.
+ */ + AssociationIds?: string[]; + + /** + * @public + *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
.
One or more filters.
+ *
+ * gre-key
- The ID of a trunk interface association.
+ * interface-protocol
- The interface protocol. Valid values are VLAN
and GRE
.
The token for the next page of results.
+ */ + NextToken?: string; + + /** + * @public + *The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
Information about the trunk associations.
+ */ + InterfaceAssociations?: TrunkInterfaceAssociation[]; + + /** + * @public + *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The ID of the Verified Access endpoint.
+ */ + VerifiedAccessEndpointIds?: string[]; + + /** + * @public + *The ID of the Verified Access instance.
+ */ + VerifiedAccessInstanceId?: string; + + /** + * @public + *The ID of the Verified Access group.
+ */ + VerifiedAccessGroupId?: string; + + /** + * @public + *The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
+ */ + NextToken?: string; + + /** + * @public + *One or more filters. Filter names and values are case-sensitive.
+ */ + Filters?: Filter[]; + + /** + * @public + *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
.
The ID of the Verified Access endpoint.
+ */ + VerifiedAccessEndpoints?: VerifiedAccessEndpoint[]; + + /** + * @public + *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The entries for the transit gateway policy table.
- */ - TransitGatewayPolicyTableEntries?: TransitGatewayPolicyTableEntry[]; -} - -/** - * @public - */ -export interface GetTransitGatewayPrefixListReferencesRequest { - /** - * @public - *The ID of the transit gateway route table.
- */ - TransitGatewayRouteTableId: string | undefined; - - /** - * @public - *One or more filters. The possible values are:
- *
- * attachment.resource-id
- The ID of the resource for the attachment.
- * attachment.resource-type
- The type of resource for the
- * attachment. Valid values are vpc
| vpn
|
- * direct-connect-gateway
| peering
.
- * attachment.transit-gateway-attachment-id
- The ID of the attachment.
- * is-blackhole
- Whether traffic matching the route is blocked (true
| false
).
- * prefix-list-id
- The ID of the prefix list.
- * prefix-list-owner-id
- The ID of the owner of the prefix list.
- * state
- The state of the prefix list reference (pending
| available
| modifying
| deleting
).
The maximum number of results to return with a single call.
- * To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
- */ - NextToken?: string; - - /** - * @public - *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
.
Information about the prefix list references.
- */ - TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; - - /** - * @public - *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The ID of the transit gateway route table.
- */ - TransitGatewayRouteTableId: string | undefined; - - /** - * @public - *One or more filters. The possible values are:
- *
- * resource-id
- The ID of the resource.
- * resource-type
- The resource type. Valid values are vpc
- * | vpn
| direct-connect-gateway
| peering
- * | connect
.
- * transit-gateway-attachment-id
- The ID of the attachment.
The maximum number of results to return with a single call.
- * To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
- */ - NextToken?: string; - - /** - * @public - *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
.
The entries for the transit gateway policy table.
+ */ + TransitGatewayPolicyTableEntries?: TransitGatewayPolicyTableEntry[]; +} + +/** + * @public + */ +export interface GetTransitGatewayPrefixListReferencesRequest { + /** + * @public + *The ID of the transit gateway route table.
+ */ + TransitGatewayRouteTableId: string | undefined; + + /** + * @public + *One or more filters. The possible values are:
+ *
+ * attachment.resource-id
- The ID of the resource for the attachment.
+ * attachment.resource-type
- The type of resource for the
+ * attachment. Valid values are vpc
| vpn
|
+ * direct-connect-gateway
| peering
.
+ * attachment.transit-gateway-attachment-id
- The ID of the attachment.
+ * is-blackhole
- Whether traffic matching the route is blocked (true
| false
).
+ * prefix-list-id
- The ID of the prefix list.
+ * prefix-list-owner-id
- The ID of the owner of the prefix list.
+ * state
- The state of the prefix list reference (pending
| available
| modifying
| deleting
).
The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
+ */ + NextToken?: string; + + /** + * @public + *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
.
Information about the prefix list references.
+ */ + TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + + /** + * @public + *The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The ID of the transit gateway route table.
+ */ + TransitGatewayRouteTableId: string | undefined; + + /** + * @public + *One or more filters. The possible values are:
+ *
+ * resource-id
- The ID of the resource.
+ * resource-type
- The resource type. Valid values are vpc
+ * | vpn
| direct-connect-gateway
| peering
+ * | connect
.
+ * transit-gateway-attachment-id
- The ID of the attachment.
The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
+ */ + NextToken?: string; + + /** + * @public + *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
.
Describes an association between a route table and a resource attachment.
@@ -6892,6 +7045,46 @@ export interface ProvisionPublicIpv4PoolCidrResult { PoolAddressRange?: PublicIpv4PoolRange; } +/** + * @public + */ +export interface PurchaseCapacityBlockRequest { + /** + * @public + *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
.
The tags to apply to the Capacity Block during launch.
+ */ + TagSpecifications?: TagSpecification[]; + + /** + * @public + *The ID of the Capacity Block offering.
+ */ + CapacityBlockOfferingId: string | undefined; + + /** + * @public + *The type of operating system for which to reserve capacity.
+ */ + InstancePlatform: CapacityReservationInstancePlatform | undefined; +} + +/** + * @public + */ +export interface PurchaseCapacityBlockResult { + /** + * @public + *The Capacity Reservation.
+ */ + CapacityReservation?: CapacityReservation; +} + /** * @public */ @@ -9004,254 +9197,6 @@ export interface RestoreSnapshotTierRequest { DryRun?: boolean; } -/** - * @public - */ -export interface RestoreSnapshotTierResult { - /** - * @public - *The ID of the snapshot.
- */ - SnapshotId?: string; - - /** - * @public - *The date and time when the snapshot restore process started.
- */ - RestoreStartTime?: Date; - - /** - * @public - *For temporary restores only. The number of days for which the archived snapshot - * is temporarily restored.
- */ - RestoreDuration?: number; - - /** - * @public - *Indicates whether the snapshot is permanently restored. true
indicates a permanent
- * restore. false
indicates a temporary restore.
The ID of the Client VPN endpoint with which the authorization rule is associated.
- */ - ClientVpnEndpointId: string | undefined; - - /** - * @public - *The IPv4 address range, in CIDR notation, of the network for which access is being removed.
- */ - TargetNetworkCidr: string | undefined; - - /** - * @public - *The ID of the Active Directory group for which to revoke access.
- */ - AccessGroupId?: string; - - /** - * @public - *Indicates whether access should be revoked for all clients.
- */ - RevokeAllGroups?: boolean; - - /** - * @public - *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
.
The current state of the authorization rule.
- */ - Status?: ClientVpnAuthorizationRuleStatus; -} - -/** - * @public - */ -export interface RevokeSecurityGroupEgressRequest { - /** - * @public - *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
.
The ID of the security group.
- */ - GroupId: string | undefined; - - /** - * @public - *The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.
- */ - IpPermissions?: IpPermission[]; - - /** - * @public - *The IDs of the security group rules.
- */ - SecurityGroupRuleIds?: string[]; - - /** - * @public - *Not supported. Use a set of IP permissions to specify the CIDR.
- */ - CidrIp?: string; - - /** - * @public - *Not supported. Use a set of IP permissions to specify the port.
- */ - FromPort?: number; - - /** - * @public - *Not supported. Use a set of IP permissions to specify the protocol name or - * number.
- */ - IpProtocol?: string; - - /** - * @public - *Not supported. Use a set of IP permissions to specify the port.
- */ - ToPort?: number; - - /** - * @public - *Not supported. Use a set of IP permissions to specify a - * destination security group.
- */ - SourceSecurityGroupName?: string; - - /** - * @public - *Not supported. Use a set of IP permissions to specify a destination security - * group.
- */ - SourceSecurityGroupOwnerId?: string; -} - -/** - * @public - */ -export interface RevokeSecurityGroupEgressResult { - /** - * @public - *Returns true
if the request succeeds; otherwise, returns an error.
The outbound rules that were unknown to the service. In some cases,
- * unknownIpPermissionSet
might be in a different format from the request
- * parameter.
The CIDR IP address range. You can't specify this parameter when specifying a source security group.
- */ - CidrIp?: string; - - /** - * @public - *If the protocol is TCP or UDP, this is the start of the port range. - * If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types.
- */ - FromPort?: number; - - /** - * @public - *The ID of the security group.
- */ - GroupId?: string; - - /** - * @public - *[Default VPC] The name of the security group. You must specify either the - * security group ID or the security group name in the request. For security groups in a - * nondefault VPC, you must specify the security group ID.
- */ - GroupName?: string; - - /** - * @public - *The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.
- */ - IpPermissions?: IpPermission[]; - - /** - * @public - *The IP protocol name (tcp
, udp
, icmp
) or number
- * (see Protocol Numbers).
- * Use -1
to specify all.
[Default VPC] The name of the source security group. You can't specify this parameter - * in combination with the following parameters: the CIDR IP address range, the start of the port range, - * the IP protocol, and the end of the port range. The source security group must be in the same VPC. - * To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.
- */ - SourceSecurityGroupName?: string; - - /** - * @public - *Not supported.
- */ - SourceSecurityGroupOwnerId?: string; - - /** - * @public - *If the protocol is TCP or UDP, this is the end of the port range. - * If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes.
- */ - ToPort?: number; - - /** - * @public - *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
.
The IDs of the security group rules.
- */ - SecurityGroupRuleIds?: string[]; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index 550f9ce26ab9..e8a5f12fb037 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -4,6 +4,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { _InstanceType, ByoipCidr, + ClientVpnAuthorizationRuleStatus, IamInstanceProfileSpecification, IpPermission, NatGatewayAddress, @@ -40,6 +41,254 @@ import { } from "./models_4"; import { CapacityReservationSpecification, InstanceMonitoring } from "./models_6"; +/** + * @public + */ +export interface RestoreSnapshotTierResult { + /** + * @public + *The ID of the snapshot.
+ */ + SnapshotId?: string; + + /** + * @public + *The date and time when the snapshot restore process started.
+ */ + RestoreStartTime?: Date; + + /** + * @public + *For temporary restores only. The number of days for which the archived snapshot + * is temporarily restored.
+ */ + RestoreDuration?: number; + + /** + * @public + *Indicates whether the snapshot is permanently restored. true
indicates a permanent
+ * restore. false
indicates a temporary restore.
The ID of the Client VPN endpoint with which the authorization rule is associated.
+ */ + ClientVpnEndpointId: string | undefined; + + /** + * @public + *The IPv4 address range, in CIDR notation, of the network for which access is being removed.
+ */ + TargetNetworkCidr: string | undefined; + + /** + * @public + *The ID of the Active Directory group for which to revoke access.
+ */ + AccessGroupId?: string; + + /** + * @public + *Indicates whether access should be revoked for all clients.
+ */ + RevokeAllGroups?: boolean; + + /** + * @public + *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
.
The current state of the authorization rule.
+ */ + Status?: ClientVpnAuthorizationRuleStatus; +} + +/** + * @public + */ +export interface RevokeSecurityGroupEgressRequest { + /** + * @public + *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
.
The ID of the security group.
+ */ + GroupId: string | undefined; + + /** + * @public + *The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.
+ */ + IpPermissions?: IpPermission[]; + + /** + * @public + *The IDs of the security group rules.
+ */ + SecurityGroupRuleIds?: string[]; + + /** + * @public + *Not supported. Use a set of IP permissions to specify the CIDR.
+ */ + CidrIp?: string; + + /** + * @public + *Not supported. Use a set of IP permissions to specify the port.
+ */ + FromPort?: number; + + /** + * @public + *Not supported. Use a set of IP permissions to specify the protocol name or + * number.
+ */ + IpProtocol?: string; + + /** + * @public + *Not supported. Use a set of IP permissions to specify the port.
+ */ + ToPort?: number; + + /** + * @public + *Not supported. Use a set of IP permissions to specify a + * destination security group.
+ */ + SourceSecurityGroupName?: string; + + /** + * @public + *Not supported. Use a set of IP permissions to specify a destination security + * group.
+ */ + SourceSecurityGroupOwnerId?: string; +} + +/** + * @public + */ +export interface RevokeSecurityGroupEgressResult { + /** + * @public + *Returns true
if the request succeeds; otherwise, returns an error.
The outbound rules that were unknown to the service. In some cases,
+ * unknownIpPermissionSet
might be in a different format from the request
+ * parameter.
The CIDR IP address range. You can't specify this parameter when specifying a source security group.
+ */ + CidrIp?: string; + + /** + * @public + *If the protocol is TCP or UDP, this is the start of the port range. + * If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types.
+ */ + FromPort?: number; + + /** + * @public + *The ID of the security group.
+ */ + GroupId?: string; + + /** + * @public + *[Default VPC] The name of the security group. You must specify either the + * security group ID or the security group name in the request. For security groups in a + * nondefault VPC, you must specify the security group ID.
+ */ + GroupName?: string; + + /** + * @public + *The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.
+ */ + IpPermissions?: IpPermission[]; + + /** + * @public + *The IP protocol name (tcp
, udp
, icmp
) or number
+ * (see Protocol Numbers).
+ * Use -1
to specify all.
[Default VPC] The name of the source security group. You can't specify this parameter + * in combination with the following parameters: the CIDR IP address range, the start of the port range, + * the IP protocol, and the end of the port range. The source security group must be in the same VPC. + * To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.
+ */ + SourceSecurityGroupName?: string; + + /** + * @public + *Not supported.
+ */ + SourceSecurityGroupOwnerId?: string; + + /** + * @public + *If the protocol is TCP or UDP, this is the end of the port range. + * If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes.
+ */ + ToPort?: number; + + /** + * @public + *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
.
The IDs of the security group rules.
+ */ + SecurityGroupRuleIds?: string[]; +} + /** * @public */ diff --git a/clients/client-ec2/src/pagination/DescribeCapacityBlockOfferingsPaginator.ts b/clients/client-ec2/src/pagination/DescribeCapacityBlockOfferingsPaginator.ts new file mode 100644 index 000000000000..db83c69f3397 --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeCapacityBlockOfferingsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { + DescribeCapacityBlockOfferingsCommand, + DescribeCapacityBlockOfferingsCommandInput, + DescribeCapacityBlockOfferingsCommandOutput, +} from "../commands/DescribeCapacityBlockOfferingsCommand"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeCapacityBlockOfferingsCommandInput, + ...args: any +): PromiseThe ID of the Capacity Block offering.
", + "smithy.api#xmlName": "capacityBlockOfferingId" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "The instance type of the Capacity Block offering.
", + "smithy.api#xmlName": "instanceType" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "The Availability Zone of the Capacity Block offering.
", + "smithy.api#xmlName": "availabilityZone" + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#documentation": "The number of instances in the Capacity Block offering.
", + "smithy.api#xmlName": "instanceCount" + } + }, + "StartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartDate", + "smithy.api#documentation": "The start date of the Capacity Block offering.
", + "smithy.api#xmlName": "startDate" + } + }, + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "The end date of the Capacity Block offering.
", + "smithy.api#xmlName": "endDate" + } + }, + "CapacityBlockDurationHours": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "CapacityBlockDurationHours", + "smithy.api#documentation": "The amount of time of the Capacity Block reservation in hours.
", + "smithy.api#xmlName": "capacityBlockDurationHours" + } + }, + "UpfrontFee": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UpfrontFee", + "smithy.api#documentation": "The total price to be paid up front.
", + "smithy.api#xmlName": "upfrontFee" + } + }, + "CurrencyCode": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "The currency of the payment for the Capacity Block.
", + "smithy.api#xmlName": "currencyCode" + } + }, + "Tenancy": { + "target": "com.amazonaws.ec2#CapacityReservationTenancy", + "traits": { + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "The tenancy of the Capacity Block.
", + "smithy.api#xmlName": "tenancy" + } + } + }, + "traits": { + "smithy.api#documentation": "The recommended Capacity Block that fits your search requirements.
" + } + }, + "com.amazonaws.ec2#CapacityBlockOfferingSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityBlockOffering", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#CapacityReservation": { "type": "structure", "members": { @@ -10156,6 +10259,14 @@ "smithy.api#documentation": "Information about instance capacity usage.
", "smithy.api#xmlName": "capacityAllocationSet" } + }, + "ReservationType": { + "target": "com.amazonaws.ec2#CapacityReservationType", + "traits": { + "aws.protocols#ec2QueryName": "ReservationType", + "smithy.api#documentation": "The type of Capacity Reservation.
", + "smithy.api#xmlName": "reservationType" + } } }, "traits": { @@ -10677,6 +10788,24 @@ "traits": { "smithy.api#enumValue": "failed" } + }, + "scheduled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "scheduled" + } + }, + "payment_pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "payment-pending" + } + }, + "payment_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "payment-failed" + } } } }, @@ -10741,6 +10870,23 @@ } } }, + "com.amazonaws.ec2#CapacityReservationType": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "CAPACITY_BLOCK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" + } + } + } + }, "com.amazonaws.ec2#CarrierGateway": { "type": "structure", "members": { @@ -21208,6 +21354,12 @@ "traits": { "smithy.api#enumValue": "on-demand" } + }, + "CAPACITY_BLOCK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" + } } } }, @@ -26516,6 +26668,119 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeCapacityBlockOfferings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeCapacityBlockOfferingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeCapacityBlockOfferingsResult" + }, + "traits": { + "smithy.api#documentation": "Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.
", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CapacityBlockOfferings", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeCapacityBlockOfferingsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeCapacityBlockOfferingsRequest": { + "type": "structure", + "members": { + "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, and provides an error response. If you have the required permissions, the error response is DryRunOperation
. Otherwise, it is UnauthorizedOperation
.
The type of instance for which the Capacity Block offering reserves capacity.
", + "smithy.api#required": {} + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "The number of instances for which to reserve capacity.
", + "smithy.api#required": {} + } + }, + "StartDateRange": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "The earliest start date for the Capacity Block offering.
" + } + }, + "EndDateRange": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "The latest end date for the Capacity Block offering.
" + } + }, + "CapacityDurationHours": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "The number of hours for which to reserve Capacity Block.
", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "The token to use to retrieve the next page of results.
" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeCapacityBlockOfferingsMaxResults", + "traits": { + "smithy.api#documentation": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken
value. This value can be between 5 and 500. If maxResults
is given a larger value than 500, you receive an error.
The recommended Capacity Block offering for the dates specified.
", + "smithy.api#xmlName": "capacityBlockOfferingSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.
\nYou must specify VCpuCount
and MemoryMiB
. All other attributes\n are optional. Any unspecified optional attribute is set to its default.
When you specify multiple attributes, you get instance types that satisfy all of the\n specified attributes. If you specify multiple values for an attribute, you get instance\n types that satisfy any of the specified values.
\nTo limit the list of instance types from which Amazon EC2 can identify matching instance types, \n you can use one of the following parameters, but not both in the same request:
\n\n AllowedInstanceTypes
- The instance types to include in the list. All \n other instance types are ignored, even if they match your specified attributes.
\n ExcludedInstanceTypes
- The instance types to exclude from the list, \n even if they match your specified attributes.
If you specify InstanceRequirements
, you can't specify\n InstanceType
.
Attribute-based instance type selection is only supported when using Auto Scaling\n groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in\n the launch instance\n wizard or with the RunInstances API, you\n can't specify InstanceRequirements
.
For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.
" + "smithy.api#documentation": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.
\nYou must specify VCpuCount
and MemoryMiB
. All other attributes\n are optional. Any unspecified optional attribute is set to its default.
When you specify multiple attributes, you get instance types that satisfy all of the\n specified attributes. If you specify multiple values for an attribute, you get instance\n types that satisfy any of the specified values.
\nTo limit the list of instance types from which Amazon EC2 can identify matching instance types, \n you can use one of the following parameters, but not both in the same request:
\n\n AllowedInstanceTypes
- The instance types to include in the list. All \n other instance types are ignored, even if they match your specified attributes.
\n ExcludedInstanceTypes
- The instance types to exclude from the list, \n even if they match your specified attributes.
If you specify InstanceRequirements
, you can't specify\n InstanceType
.
Attribute-based instance type selection is only supported when using Auto Scaling\n groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in\n the launch instance\n wizard or with the RunInstances API, you\n can't specify InstanceRequirements
.
For more information, see Create a mixed instances group using attribute-based instance type selection in\n the Amazon EC2 Auto Scaling User Guide, and also Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.
" } }, "com.amazonaws.ec2#InstanceRequirementsRequest": { @@ -69844,6 +70115,12 @@ "traits": { "smithy.api#enumValue": "spot" } + }, + "capacity_block": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" + } } } }, @@ -80906,6 +81183,71 @@ "smithy.api#documentation": "Describes the result of the purchase.
" } }, + "com.amazonaws.ec2#PurchaseCapacityBlock": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#PurchaseCapacityBlockRequest" + }, + "output": { + "target": "com.amazonaws.ec2#PurchaseCapacityBlockResult" + }, + "traits": { + "smithy.api#documentation": "Purchase the Capacity Block for use with your account. \n\t\t With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing.
" + } + }, + "com.amazonaws.ec2#PurchaseCapacityBlockRequest": { + "type": "structure", + "members": { + "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, and provides an error response. If you have the required permissions, the error response is DryRunOperation
. Otherwise, it is UnauthorizedOperation
.
The tags to apply to the Capacity Block during launch.
", + "smithy.api#xmlName": "TagSpecification" + } + }, + "CapacityBlockOfferingId": { + "target": "com.amazonaws.ec2#OfferingId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "The ID of the Capacity Block offering.
", + "smithy.api#required": {} + } + }, + "InstancePlatform": { + "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "The type of operating system for which to reserve capacity.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#PurchaseCapacityBlockResult": { + "type": "structure", + "members": { + "CapacityReservation": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservation", + "smithy.api#documentation": "The Capacity Reservation.
", + "smithy.api#xmlName": "capacityReservation" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#PurchaseHostReservation": { "type": "operation", "input": { @@ -98682,6 +99024,12 @@ "traits": { "smithy.api#enumValue": "on-demand" } + }, + "capacity_block": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" + } } } },