import type { _InstanceType, AccountAttributeName, AddressAttributeName, AllocationState, AllowsMultipleInstanceTypes, ArchitectureValues, AsnState, AssociatedNetworkType, AttachmentStatus, AutoPlacement, AvailabilityZoneOptInStatus, AvailabilityZoneState, BootModeValues, CallerRole, CapacityBlockExtensionStatus, CapacityBlockInterconnectStatus, CapacityBlockResourceState, CapacityManagerDataExportStatus, CapacityReservationBillingRequestStatus, CapacityReservationFleetState, CapacityReservationTenancy, ClientVpnAuthenticationType, ClientVpnConnectionStatusCode, ClientVpnEndpointAttributeStatusCode, ConversionTaskState, CurrencyCodeValues, DefaultTargetCapacityType, DestinationFileFormat, DeviceType, DiskImageFormat, ElasticGpuState, ElasticGpuStatus, EndpointIpAddressType, FastLaunchResourceType, FastLaunchStateCode, FastSnapshotRestoreStateCode, FleetActivityStatus, FleetCapacityReservationTenancy, FleetCapacityReservationUsageStrategy, FleetEventType, FleetExcessCapacityTerminationPolicy, FleetInstanceMatchCriteria, FleetOnDemandAllocationStrategy, FleetReplacementStrategy, FleetReservationType, FleetStateCode, FleetType, FpgaImageAttributeName, FpgaImageStateCode, HostMaintenance, HostRecovery, HypervisorType, ImageAttributeName, ImageReferenceOptionName, ImageReferenceResourceType, ImageState, ImageTypeValues, ImdsSupportValues, InstanceAttributeName, InstanceLifecycle, IpamPoolCidrFailureCode, IpamPoolCidrState, LogDestinationType, MetricType, OutputFormat, PaymentOption, PeriodType, PermissionGroup, PlatformValues, ProductCodeValues, ReportState, ReservationState, Schedule, SnapshotReturnCodes, SpotAllocationStrategy, SpotInstanceInterruptionBehavior, StatisticType, TargetCapacityUnitType, TpmSupportValues, TrafficIpAddressType, TrafficType, TransportProtocol, VirtualizationType, VpnProtocol } from "./enums"; import type { AccountAttribute, ActiveInstance, Address, AddressAttribute, AddressTransfer, AssociationStatus, BundleTask, ByoipCidr, CapacityReservation, CarrierGateway, ClientVpnAuthorizationRuleStatus, ClientVpnEndpointStatus, ClientVpnRouteStatus, CoipPool, CustomerGateway, FleetCapacityReservation, IamInstanceProfileAssociation, OperatorResponse, Tag, TransitGatewayClientVpnAttachment, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem, VerifiedAccessInstance, VerifiedAccessTrustProvider, VpcEncryptionControl } from "./models_0"; import type { AttributeValue, BlockDeviceMapping, DhcpOptions, Ec2InstanceConnectEndpoint, EgressOnlyInternetGateway, ExportTask, FleetLaunchTemplateOverrides, FleetLaunchTemplateSpecification, GroupIdentifier, LaunchTemplateAndOverridesResponse, StateReason } from "./models_1"; import type { TransitGateway, TransitGatewayConnect, TransitGatewayConnectPeer, TransitGatewayMeteringPolicy, TransitGatewayMeteringPolicyEntry, TransitGatewayMulticastDomain, TransitGatewayPolicyTable, TransitGatewayPrefixListReference, TransitGatewayRoute, TransitGatewayRouteTable, TransitGatewayRouteTableAnnouncement, VerifiedAccessEndpoint, VerifiedAccessGroup, VpcBlockPublicAccessExclusion } from "./models_2"; /** * @public */ export interface DeleteTrafficMirrorFilterResult { /** *

The ID of the Traffic Mirror filter.

* @public */ TrafficMirrorFilterId?: string | undefined; } /** * @public */ export interface DeleteTrafficMirrorFilterRuleRequest { /** *

The ID of the Traffic Mirror rule.

* @public */ TrafficMirrorFilterRuleId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTrafficMirrorFilterRuleResult { /** *

The ID of the deleted Traffic Mirror rule.

* @public */ TrafficMirrorFilterRuleId?: string | undefined; } /** * @public */ export interface DeleteTrafficMirrorSessionRequest { /** *

The ID of the Traffic Mirror session.

* @public */ TrafficMirrorSessionId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTrafficMirrorSessionResult { /** *

The ID of the deleted Traffic Mirror session.

* @public */ TrafficMirrorSessionId?: string | undefined; } /** * @public */ export interface DeleteTrafficMirrorTargetRequest { /** *

The ID of the Traffic Mirror target.

* @public */ TrafficMirrorTargetId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTrafficMirrorTargetResult { /** *

The ID of the deleted Traffic Mirror target.

* @public */ TrafficMirrorTargetId?: string | undefined; } /** * @public */ export interface DeleteTransitGatewayRequest { /** *

The ID of the transit gateway.

* @public */ TransitGatewayId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayResult { /** *

Information about the deleted transit gateway.

* @public */ TransitGateway?: TransitGateway | undefined; } /** * @public */ export interface DeleteTransitGatewayClientVpnAttachmentRequest { /** *

The ID of the Transit Gateway attachment.

* @public */ TransitGatewayAttachmentId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayClientVpnAttachmentResult { /** *

Information about the Transit Gateway Client VPN attachment.

* @public */ TransitGatewayClientVpnAttachment?: TransitGatewayClientVpnAttachment | undefined; } /** * @public */ export interface DeleteTransitGatewayConnectRequest { /** *

The ID of the Connect attachment.

* @public */ TransitGatewayAttachmentId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayConnectResult { /** *

Information about the deleted Connect attachment.

* @public */ TransitGatewayConnect?: TransitGatewayConnect | undefined; } /** * @public */ export interface DeleteTransitGatewayConnectPeerRequest { /** *

The ID of the Connect peer.

* @public */ TransitGatewayConnectPeerId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayConnectPeerResult { /** *

Information about the deleted Connect peer.

* @public */ TransitGatewayConnectPeer?: TransitGatewayConnectPeer | undefined; } /** * @public */ export interface DeleteTransitGatewayMeteringPolicyRequest { /** *

The ID of the transit gateway metering policy to delete.

* @public */ TransitGatewayMeteringPolicyId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayMeteringPolicyResult { /** *

Information about the deleted transit gateway metering policy.

* @public */ TransitGatewayMeteringPolicy?: TransitGatewayMeteringPolicy | undefined; } /** * @public */ export interface DeleteTransitGatewayMeteringPolicyEntryRequest { /** *

The ID of the transit gateway metering policy containing the entry to delete.

* @public */ TransitGatewayMeteringPolicyId: string | undefined; /** *

The rule number of the metering policy entry to delete.

* @public */ PolicyRuleNumber: number | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayMeteringPolicyEntryResult { /** *

Information about the deleted transit gateway metering policy entry.

* @public */ TransitGatewayMeteringPolicyEntry?: TransitGatewayMeteringPolicyEntry | undefined; } /** * @public */ export interface DeleteTransitGatewayMulticastDomainRequest { /** *

The ID of the transit gateway multicast domain.

* @public */ TransitGatewayMulticastDomainId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayMulticastDomainResult { /** *

Information about the deleted transit gateway multicast domain.

* @public */ TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain | undefined; } /** * @public */ export interface DeleteTransitGatewayPeeringAttachmentRequest { /** *

The ID of the transit gateway peering attachment.

* @public */ TransitGatewayAttachmentId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayPeeringAttachmentResult { /** *

The transit gateway peering attachment.

* @public */ TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment | undefined; } /** * @public */ export interface DeleteTransitGatewayPolicyTableRequest { /** *

The transit gateway policy table to delete.

* @public */ TransitGatewayPolicyTableId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayPolicyTableResult { /** *

Provides details about the deleted transit gateway policy table.

* @public */ TransitGatewayPolicyTable?: TransitGatewayPolicyTable | undefined; } /** * @public */ export interface DeleteTransitGatewayPrefixListReferenceRequest { /** *

The ID of the route table.

* @public */ TransitGatewayRouteTableId: string | undefined; /** *

The ID of the prefix list.

* @public */ PrefixListId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayPrefixListReferenceResult { /** *

Information about the deleted prefix list reference.

* @public */ TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference | undefined; } /** * @public */ export interface DeleteTransitGatewayRouteRequest { /** *

The ID of the transit gateway route table.

* @public */ TransitGatewayRouteTableId: string | undefined; /** *

The CIDR range for the route. This must match the CIDR for the route exactly.

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

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayRouteResult { /** *

Information about the route.

* @public */ Route?: TransitGatewayRoute | undefined; } /** * @public */ export interface DeleteTransitGatewayRouteTableRequest { /** *

The ID of the transit gateway route table.

* @public */ TransitGatewayRouteTableId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayRouteTableResult { /** *

Information about the deleted transit gateway route table.

* @public */ TransitGatewayRouteTable?: TransitGatewayRouteTable | undefined; } /** * @public */ export interface DeleteTransitGatewayRouteTableAnnouncementRequest { /** *

The transit gateway route table ID that's being deleted.

* @public */ TransitGatewayRouteTableAnnouncementId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayRouteTableAnnouncementResult { /** *

Provides details about a deleted transit gateway route table.

* @public */ TransitGatewayRouteTableAnnouncement?: TransitGatewayRouteTableAnnouncement | undefined; } /** * @public */ export interface DeleteTransitGatewayVpcAttachmentRequest { /** *

The ID of the attachment.

* @public */ TransitGatewayAttachmentId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteTransitGatewayVpcAttachmentResult { /** *

Information about the deleted VPC attachment.

* @public */ TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment | undefined; } /** * @public */ export interface DeleteVerifiedAccessEndpointRequest { /** *

The ID of the Verified Access endpoint.

* @public */ VerifiedAccessEndpointId: string | undefined; /** *

A unique, case-sensitive token that you provide to ensure idempotency of your * modification request. For more information, see Ensuring idempotency.

* @public */ ClientToken?: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteVerifiedAccessEndpointResult { /** *

Details about the Verified Access endpoint.

* @public */ VerifiedAccessEndpoint?: VerifiedAccessEndpoint | undefined; } /** * @public */ export interface DeleteVerifiedAccessGroupRequest { /** *

The ID of the Verified Access group.

* @public */ VerifiedAccessGroupId: string | undefined; /** *

A unique, case-sensitive token that you provide to ensure idempotency of your * modification request. For more information, see Ensuring idempotency.

* @public */ ClientToken?: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteVerifiedAccessGroupResult { /** *

Details about the Verified Access group.

* @public */ VerifiedAccessGroup?: VerifiedAccessGroup | undefined; } /** * @public */ export interface DeleteVerifiedAccessInstanceRequest { /** *

The ID of the Verified Access instance.

* @public */ VerifiedAccessInstanceId: string | undefined; /** *

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

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

A unique, case-sensitive token that you provide to ensure idempotency of your * modification request. For more information, see Ensuring idempotency.

* @public */ ClientToken?: string | undefined; } /** * @public */ export interface DeleteVerifiedAccessInstanceResult { /** *

Details about the Verified Access instance.

* @public */ VerifiedAccessInstance?: VerifiedAccessInstance | undefined; } /** * @public */ export interface DeleteVerifiedAccessTrustProviderRequest { /** *

The ID of the Verified Access trust provider.

* @public */ VerifiedAccessTrustProviderId: string | undefined; /** *

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

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

A unique, case-sensitive token that you provide to ensure idempotency of your * modification request. For more information, see Ensuring idempotency.

* @public */ ClientToken?: string | undefined; } /** * @public */ export interface DeleteVerifiedAccessTrustProviderResult { /** *

Details about the Verified Access trust provider.

* @public */ VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider | undefined; } /** * @public */ export interface DeleteVolumeRequest { /** *

The ID of the volume.

* @public */ VolumeId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteVpcRequest { /** *

The ID of the VPC.

* @public */ VpcId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteVpcBlockPublicAccessExclusionRequest { /** *

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

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

The ID of the exclusion.

* @public */ ExclusionId: string | undefined; } /** * @public */ export interface DeleteVpcBlockPublicAccessExclusionResult { /** *

Details about an exclusion.

* @public */ VpcBlockPublicAccessExclusion?: VpcBlockPublicAccessExclusion | undefined; } /** * @public */ export interface DeleteVpcEncryptionControlRequest { /** *

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

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

The ID of the VPC Encryption Control resource to delete.

* @public */ VpcEncryptionControlId: string | undefined; } /** * @public */ export interface DeleteVpcEncryptionControlResult { /** *

Information about the deleted VPC Encryption Control configuration.

* @public */ VpcEncryptionControl?: VpcEncryptionControl | undefined; } /** * @public */ export interface DeleteVpcEndpointConnectionNotificationsRequest { /** *

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

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

The IDs of the notifications.

* @public */ ConnectionNotificationIds: string[] | undefined; } /** * @public */ export interface DeleteVpcEndpointConnectionNotificationsResult { /** *

Information about the notifications that could not be deleted * successfully.

* @public */ Unsuccessful?: UnsuccessfulItem[] | undefined; } /** * @public */ export interface DeleteVpcEndpointsRequest { /** *

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

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

The IDs of the VPC endpoints.

* @public */ VpcEndpointIds: string[] | undefined; } /** * @public */ export interface DeleteVpcEndpointsResult { /** *

Information about the VPC endpoints that were not successfully deleted.

* @public */ Unsuccessful?: UnsuccessfulItem[] | undefined; } /** * @public */ export interface DeleteVpcEndpointServiceConfigurationsRequest { /** *

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

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

The IDs of the services.

* @public */ ServiceIds: string[] | undefined; } /** * @public */ export interface DeleteVpcEndpointServiceConfigurationsResult { /** *

Information about the service configurations that were not deleted, if * applicable.

* @public */ Unsuccessful?: UnsuccessfulItem[] | undefined; } /** * @public */ export interface DeleteVpcPeeringConnectionRequest { /** *

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

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

The ID of the VPC peering connection.

* @public */ VpcPeeringConnectionId: string | undefined; } /** * @public */ export interface DeleteVpcPeeringConnectionResult { /** *

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

* @public */ Return?: boolean | undefined; } /** * @public */ export interface DeleteVpnConcentratorRequest { /** *

The ID of the VPN concentrator to delete.

* @public */ VpnConcentratorId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeleteVpnConcentratorResult { /** *

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

* @public */ Return?: boolean | undefined; } /** *

Contains the parameters for DeleteVpnConnection.

* @public */ export interface DeleteVpnConnectionRequest { /** *

The ID of the VPN connection.

* @public */ VpnConnectionId: string | undefined; /** *

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

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

Contains the parameters for DeleteVpnConnectionRoute.

* @public */ export interface DeleteVpnConnectionRouteRequest { /** *

The CIDR block associated with the local subnet of the customer network.

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

The ID of the VPN connection.

* @public */ VpnConnectionId: string | undefined; } /** *

Contains the parameters for DeleteVpnGateway.

* @public */ export interface DeleteVpnGatewayRequest { /** *

The ID of the virtual private gateway.

* @public */ VpnGatewayId: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeprovisionByoipCidrRequest { /** *

The address range, in CIDR notation. The prefix must be the same prefix * that you specified when you provisioned the address range.

* @public */ Cidr: string | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DeprovisionByoipCidrResult { /** *

Information about the address range.

* @public */ ByoipCidr?: ByoipCidr | undefined; } /** * @public */ export interface DeprovisionIpamByoasnRequest { /** *

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

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

The IPAM ID.

* @public */ IpamId: string | undefined; /** *

An ASN.

* @public */ Asn: string | undefined; } /** *

The Autonomous System Number (ASN) and BYOIP CIDR association.

* @public */ export interface Byoasn { /** *

A public 2-byte or 4-byte ASN.

* @public */ Asn?: string | undefined; /** *

An IPAM ID.

* @public */ IpamId?: string | undefined; /** *

The status message.

* @public */ StatusMessage?: string | undefined; /** *

The provisioning state of the BYOASN.

* @public */ State?: AsnState | undefined; } /** * @public */ export interface DeprovisionIpamByoasnResult { /** *

An ASN and BYOIP CIDR association.

* @public */ Byoasn?: Byoasn | undefined; } /** * @public */ export interface DeprovisionIpamPoolCidrRequest { /** *

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.

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

The ID of the pool that has the CIDR you want to deprovision.

* @public */ IpamPoolId: string | undefined; /** *

The CIDR which you want to deprovision from the pool.

* @public */ Cidr?: string | undefined; } /** *

Details related to why an IPAM pool CIDR failed to be provisioned.

* @public */ export interface IpamPoolCidrFailureReason { /** *

An error code related to why an IPAM pool CIDR failed to be provisioned.

* @public */ Code?: IpamPoolCidrFailureCode | undefined; /** *

A message related to why an IPAM pool CIDR failed to be provisioned.

* @public */ Message?: string | undefined; } /** *

A CIDR provisioned to an IPAM pool.

* @public */ export interface IpamPoolCidr { /** *

The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) * and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

* @public */ Cidr?: string | undefined; /** *

The state of the CIDR.

* @public */ State?: IpamPoolCidrState | undefined; /** *

Details related to why an IPAM pool CIDR failed to be provisioned.

* @public */ FailureReason?: IpamPoolCidrFailureReason | undefined; /** *

The IPAM pool CIDR ID.

* @public */ IpamPoolCidrId?: string | undefined; /** *

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. "NetmaskLength" or "Cidr" is required.

* @public */ NetmaskLength?: number | undefined; } /** * @public */ export interface DeprovisionIpamPoolCidrResult { /** *

The deprovisioned pool CIDR.

* @public */ IpamPoolCidr?: IpamPoolCidr | undefined; } /** * @public */ export interface DeprovisionPublicIpv4PoolCidrRequest { /** *

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.

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

The ID of the pool that you want to deprovision the CIDR from.

* @public */ PoolId: string | undefined; /** *

The CIDR you want to deprovision from the pool.

* @public */ Cidr: string | undefined; } /** * @public */ export interface DeprovisionPublicIpv4PoolCidrResult { /** *

The ID of the pool that you deprovisioned the CIDR from.

* @public */ PoolId?: string | undefined; /** *

The deprovisioned CIDRs.

* @public */ DeprovisionedAddresses?: string[] | undefined; } /** *

Contains the parameters for DeregisterImage.

* @public */ export interface DeregisterImageRequest { /** *

The ID of the AMI.

* @public */ ImageId: string | undefined; /** *

Specifies whether to delete the snapshots associated with the AMI during * deregistration.

* *

If a snapshot is associated with multiple AMIs, it is not deleted, regardless of this setting.

*
*

Default: The snapshots are not deleted.

* @public */ DeleteAssociatedSnapshots?: boolean | undefined; /** *

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

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

The snapshot ID and its deletion result code.

* @public */ export interface DeleteSnapshotReturnCode { /** *

The ID of the snapshot.

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

The result code from the snapshot deletion attempt. Possible values:

* *

For details about an error, check the DeleteSnapshot event in the CloudTrail * event history. For more information, see View event history * in the Amazon Web Services CloudTrail User Guide.

* @public */ ReturnCode?: SnapshotReturnCodes | undefined; } /** * @public */ export interface DeregisterImageResult { /** *

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

* @public */ Return?: boolean | undefined; /** *

The deletion result for each snapshot associated with the AMI, including the snapshot ID * and its success or error code.

* @public */ DeleteSnapshotResults?: DeleteSnapshotReturnCode[] | undefined; } /** *

Information about the tag keys to deregister for the current Region. You can either * specify individual tag keys or deregister all tag keys in the current Region. You must * specify either IncludeAllTagsOfInstance or InstanceTagKeys in the * request

* @public */ export interface DeregisterInstanceTagAttributeRequest { /** *

Indicates whether to deregister all tag keys in the current Region. Specify * false to deregister all tag keys.

* @public */ IncludeAllTagsOfInstance?: boolean | undefined; /** *

Information about the tag keys to deregister.

* @public */ InstanceTagKeys?: string[] | undefined; } /** * @public */ export interface DeregisterInstanceEventNotificationAttributesRequest { /** *

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

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

Information about the tag keys to deregister.

* @public */ InstanceTagAttribute: DeregisterInstanceTagAttributeRequest | undefined; } /** *

Describes the registered tag keys for the current Region.

* @public */ export interface InstanceTagNotificationAttribute { /** *

The registered tag keys.

* @public */ InstanceTagKeys?: string[] | undefined; /** *

Indicates wheter all tag keys in the current Region are registered to appear in * scheduled event notifications. true indicates that all tag keys in the current * Region are registered.

* @public */ IncludeAllTagsOfInstance?: boolean | undefined; } /** * @public */ export interface DeregisterInstanceEventNotificationAttributesResult { /** *

The resulting set of tag keys.

* @public */ InstanceTagAttribute?: InstanceTagNotificationAttribute | undefined; } /** * @public */ export interface DeregisterTransitGatewayMulticastGroupMembersRequest { /** *

The ID of the transit gateway multicast domain.

* @public */ TransitGatewayMulticastDomainId?: string | undefined; /** *

The IP address assigned to the transit gateway multicast group.

* @public */ GroupIpAddress?: string | undefined; /** *

The IDs of the group members' network interfaces.

* @public */ NetworkInterfaceIds?: string[] | undefined; /** *

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

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

Describes the deregistered transit gateway multicast group members.

* @public */ export interface TransitGatewayMulticastDeregisteredGroupMembers { /** *

The ID of the transit gateway multicast domain.

* @public */ TransitGatewayMulticastDomainId?: string | undefined; /** *

The network interface IDs of the deregistered members.

* @public */ DeregisteredNetworkInterfaceIds?: string[] | undefined; /** *

The IP address assigned to the transit gateway multicast group.

* @public */ GroupIpAddress?: string | undefined; } /** * @public */ export interface DeregisterTransitGatewayMulticastGroupMembersResult { /** *

Information about the deregistered members.

* @public */ DeregisteredMulticastGroupMembers?: TransitGatewayMulticastDeregisteredGroupMembers | undefined; } /** * @public */ export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { /** *

The ID of the transit gateway multicast domain.

* @public */ TransitGatewayMulticastDomainId?: string | undefined; /** *

The IP address assigned to the transit gateway multicast group.

* @public */ GroupIpAddress?: string | undefined; /** *

The IDs of the group sources' network interfaces.

* @public */ NetworkInterfaceIds?: string[] | undefined; /** *

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

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

Describes the deregistered transit gateway multicast group sources.

* @public */ export interface TransitGatewayMulticastDeregisteredGroupSources { /** *

The ID of the transit gateway multicast domain.

* @public */ TransitGatewayMulticastDomainId?: string | undefined; /** *

The network interface IDs of the non-registered members.

* @public */ DeregisteredNetworkInterfaceIds?: string[] | undefined; /** *

The IP address assigned to the transit gateway multicast group.

* @public */ GroupIpAddress?: string | undefined; } /** * @public */ export interface DeregisterTransitGatewayMulticastGroupSourcesResult { /** *

Information about the deregistered group sources.

* @public */ DeregisteredMulticastGroupSources?: TransitGatewayMulticastDeregisteredGroupSources | undefined; } /** * @public */ export interface DescribeAccountAttributesRequest { /** *

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

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

The account attribute names.

* @public */ AttributeNames?: AccountAttributeName[] | undefined; } /** * @public */ export interface DescribeAccountAttributesResult { /** *

Information about the account attributes.

* @public */ AccountAttributes?: AccountAttribute[] | undefined; } /** *

A filter name and value pair that is used to return a more specific list of results from a describe operation. * Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

*

If you specify multiple filters, the filters are joined with an AND, and the request returns only * results that match all of the specified filters.

*

For more information, see List and filter using the CLI and API in the Amazon EC2 User Guide.

* @public */ export interface Filter { /** *

The name of the filter. Filter names are case-sensitive.

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

The filter values. Filter values are case-sensitive. If you specify multiple values for a * filter, the values are joined with an OR, and the request returns all results * that match any of the specified values.

* @public */ Values?: string[] | undefined; } /** * @public */ export interface DescribeAddressesRequest { /** *

One or more Elastic IP addresses.

*

Default: Describes all your Elastic IP addresses.

* @public */ PublicIps?: string[] | undefined; /** *

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

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

One or more filters. Filter names and values are case-sensitive.

* * @public */ Filters?: Filter[] | undefined; /** *

Information about the allocation IDs.

* @public */ AllocationIds?: string[] | undefined; } /** * @public */ export interface DescribeAddressesResult { /** *

Information about the Elastic IP addresses.

* @public */ Addresses?: Address[] | undefined; } /** * @public */ export interface DescribeAddressesAttributeRequest { /** *

[EC2-VPC] The allocation IDs.

* @public */ AllocationIds?: string[] | undefined; /** *

The attribute of the IP address.

* @public */ Attribute?: AddressAttributeName | undefined; /** *

The token for the next page of results.

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

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

* @public */ MaxResults?: number | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DescribeAddressesAttributeResult { /** *

Information about the IP addresses.

* @public */ Addresses?: AddressAttribute[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeAddressTransfersRequest { /** *

The allocation IDs of Elastic IP addresses.

* @public */ AllocationIds?: string[] | undefined; /** *

Specify the pagination token from a previous request to retrieve the next page of results.

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

The maximum number of address transfers to return in one page of results.

* @public */ MaxResults?: number | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DescribeAddressTransfersResult { /** *

The Elastic IP address transfer.

* @public */ AddressTransfers?: AddressTransfer[] | undefined; /** *

Specify the pagination token from a previous request to retrieve the next page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeAggregateIdFormatRequest { /** *

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

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

Describes the ID format for a resource.

* @public */ export interface IdFormat { /** *

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

* @public */ Deadline?: Date | undefined; /** *

The type of resource.

* @public */ Resource?: string | undefined; /** *

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

* @public */ UseLongIds?: boolean | undefined; } /** * @public */ export interface DescribeAggregateIdFormatResult { /** *

Indicates whether all resource types in the Region are configured to use longer IDs. * This value is only true if all users are configured to use longer IDs for * all resources types in the Region.

* @public */ UseLongIdsAggregated?: boolean | undefined; /** *

Information about each resource's ID format.

* @public */ Statuses?: IdFormat[] | undefined; } /** * @public */ export interface DescribeAvailabilityZonesRequest { /** *

The names of the Availability Zones, Local Zones, and Wavelength Zones.

* @public */ ZoneNames?: string[] | undefined; /** *

The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

* @public */ ZoneIds?: string[] | undefined; /** *

Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your * opt-in status.

*

If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

* @public */ AllAvailabilityZones?: boolean | undefined; /** *

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** *

Describes the geography information for an Availability Zone or Local Zone.

* @public */ export interface AvailabilityZoneGeography { /** *

The name of the geography, for example, United States of America.

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

Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

* @public */ export interface AvailabilityZoneMessage { /** *

The message about the Availability Zone, Local Zone, or Wavelength Zone.

* @public */ Message?: string | undefined; } /** *

Describes the sub-geography information for an Availability Zone or Local Zone.

* @public */ export interface AvailabilityZoneSubGeography { /** *

The name of the sub-geography, for example, Oregon. *

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

Describes Availability Zones, Local Zones, and Wavelength Zones.

* @public */ export interface AvailabilityZone { /** *

For Availability Zones, this parameter always has the value of * opt-in-not-required.

*

For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible * values are opted-in and not-opted-in.

* @public */ OptInStatus?: AvailabilityZoneOptInStatus | undefined; /** *

Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

* @public */ Messages?: AvailabilityZoneMessage[] | undefined; /** *

The name of the Region.

* @public */ RegionName?: string | undefined; /** *

The name of the Availability Zone, Local Zone, or Wavelength Zone.

* @public */ ZoneName?: string | undefined; /** *

The ID of the Availability Zone, Local Zone, or Wavelength Zone.

* @public */ ZoneId?: string | undefined; /** *

The name of the zone group. For example:

* * @public */ GroupName?: string | undefined; /** *

The name of the network border group.

* @public */ NetworkBorderGroup?: string | undefined; /** *

The type of zone.

*

Valid values: availability-zone | local-zone | * wavelength-zone *

* @public */ ZoneType?: string | undefined; /** *

The name of the zone that handles some of the Local Zone or Wavelength Zone control plane * operations, such as API calls.

* @public */ ParentZoneName?: string | undefined; /** *

The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane * operations, such as API calls.

* @public */ ParentZoneId?: string | undefined; /** *

The long name of the Availability Zone group, Local Zone group, or Wavelength Zone * group.

* @public */ GroupLongName?: string | undefined; /** *

The geography information for the Availability Zone or Local Zone. The geography is returned as a list.

* @public */ Geography?: AvailabilityZoneGeography[] | undefined; /** *

The sub-geography information for the Availability Zone or Local Zone. The sub-geography is returned * as a list.

* @public */ SubGeography?: AvailabilityZoneSubGeography[] | undefined; /** *

The state of the Availability Zone, Local Zone, or Wavelength Zone. The possible values are * available, unavailable, and constrained.

* @public */ State?: AvailabilityZoneState | undefined; } /** * @public */ export interface DescribeAvailabilityZonesResult { /** *

Information about the Availability Zones, Local Zones, and Wavelength Zones.

* @public */ AvailabilityZones?: AvailabilityZone[] | undefined; } /** * @public */ export interface DescribeAwsNetworkPerformanceMetricSubscriptionsRequest { /** *

The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

* @public */ MaxResults?: number | undefined; /** *

The token for the next page of results.

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

One or more filters.

* @public */ Filters?: Filter[] | undefined; /** *

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

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

Describes an Infrastructure Performance subscription.

* @public */ export interface Subscription { /** *

The Region or Availability Zone that's the source for the subscription. For example, us-east-1.

* @public */ Source?: string | undefined; /** *

The Region or Availability Zone that's the target for the subscription. For example, eu-west-1.

* @public */ Destination?: string | undefined; /** *

The metric used for the subscription.

* @public */ Metric?: MetricType | undefined; /** *

The statistic used for the subscription.

* @public */ Statistic?: StatisticType | undefined; /** *

The data aggregation time for the subscription.

* @public */ Period?: PeriodType | undefined; } /** * @public */ export interface DescribeAwsNetworkPerformanceMetricSubscriptionsResult { /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

Describes the current Infrastructure Performance subscriptions.

* @public */ Subscriptions?: Subscription[] | undefined; } /** * @public */ export interface DescribeBundleTasksRequest { /** *

The bundle task IDs.

*

Default: Describes all your bundle tasks.

* @public */ BundleIds?: string[] | undefined; /** *

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** * @public */ export interface DescribeBundleTasksResult { /** *

Information about the bundle tasks.

* @public */ BundleTasks?: BundleTask[] | undefined; } /** * @public */ export interface DescribeByoipCidrsRequest { /** *

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

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

The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

* @public */ MaxResults: number | undefined; /** *

The token for the next page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeByoipCidrsResult { /** *

Information about your address ranges.

* @public */ ByoipCidrs?: ByoipCidr[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockExtensionHistoryRequest { /** *

The IDs of Capacity Block reservations that you want to display the history * for.

* @public */ CapacityReservationIds?: string[] | undefined; /** *

The token to use to retrieve the next page of results.

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

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

One or more filters

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Describes a Capacity Block extension. With an extension, you can extend the duration * of time for an existing Capacity Block.

* @public */ export interface CapacityBlockExtension { /** *

The reservation ID of the Capacity Block extension.

* @public */ CapacityReservationId?: string | undefined; /** *

The instance type of the Capacity Block extension.

* @public */ InstanceType?: string | undefined; /** *

The number of instances in the Capacity Block extension.

* @public */ InstanceCount?: number | undefined; /** *

The Availability Zone of the Capacity Block extension.

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

The Availability Zone ID of the Capacity Block extension.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The ID of the Capacity Block extension offering.

* @public */ CapacityBlockExtensionOfferingId?: string | undefined; /** *

The duration of the Capacity Block extension in hours.

* @public */ CapacityBlockExtensionDurationHours?: number | undefined; /** *

The status of the Capacity Block extension. A Capacity Block extension can have one of * the following statuses:

* * @public */ CapacityBlockExtensionStatus?: CapacityBlockExtensionStatus | undefined; /** *

The date when the Capacity Block extension was purchased.

* @public */ CapacityBlockExtensionPurchaseDate?: Date | undefined; /** *

The start date of the Capacity Block extension.

* @public */ CapacityBlockExtensionStartDate?: Date | undefined; /** *

The end date of the Capacity Block extension.

* @public */ CapacityBlockExtensionEndDate?: Date | undefined; /** *

The total price to be paid up front.

* @public */ UpfrontFee?: string | undefined; /** *

The currency of the payment for the Capacity Block extension.

* @public */ CurrencyCode?: string | undefined; /** *

The type of zone where the Capacity Block extension is located.

* @public */ ZoneType?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockExtensionHistoryResult { /** *

Describes one or more of your Capacity Block extensions. The results describe only the * Capacity Block extensions in the Amazon Web Services Region that you're currently using.

* @public */ CapacityBlockExtensions?: CapacityBlockExtension[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockExtensionOfferingsRequest { /** *

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

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

The duration of the Capacity Block extension offering in hours.

* @public */ CapacityBlockExtensionDurationHours: number | undefined; /** *

The ID of the Capacity reservation to be extended.

* @public */ CapacityReservationId: string | undefined; /** *

The token to use to retrieve the next page of results.

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

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

The recommended Capacity Block extension that fits your search requirements.

* @public */ export interface CapacityBlockExtensionOffering { /** *

The ID of the Capacity Block extension offering.

* @public */ CapacityBlockExtensionOfferingId?: string | undefined; /** *

The instance type of the Capacity Block that will be extended.

* @public */ InstanceType?: string | undefined; /** *

The number of instances in the Capacity Block extension offering.

* @public */ InstanceCount?: number | undefined; /** *

The Availability Zone of the Capacity Block that will be extended.

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

The Availability Zone ID of the Capacity Block that will be extended.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The start date of the Capacity Block that will be extended.

* @public */ StartDate?: Date | undefined; /** *

The date and time at which the Capacity Block extension will start. This date is also * the same as the end date of the Capacity Block that will be extended.

* @public */ CapacityBlockExtensionStartDate?: Date | undefined; /** *

The date and time at which the Capacity Block extension expires. When a Capacity Block * expires, the reserved capacity is released and you can no longer launch instances into * it. The Capacity Block's state changes to expired when it reaches its end * date

* @public */ CapacityBlockExtensionEndDate?: Date | undefined; /** *

The amount of time of the Capacity Block extension offering in hours.

* @public */ CapacityBlockExtensionDurationHours?: number | undefined; /** *

The total price of the Capacity Block extension offering, to be paid up front.

* @public */ UpfrontFee?: string | undefined; /** *

The currency of the payment for the Capacity Block extension offering.

* @public */ CurrencyCode?: string | undefined; /** *

Indicates the tenancy of the Capacity Block extension offering. A Capacity Block can * have one of the following tenancy settings:

* * @public */ Tenancy?: CapacityReservationTenancy | undefined; /** *

The type of zone where the Capacity Block extension offering is available.

* @public */ ZoneType?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockExtensionOfferingsResult { /** *

The recommended Capacity Block extension offerings for the dates specified.

* @public */ CapacityBlockExtensionOfferings?: CapacityBlockExtensionOffering[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockOfferingsRequest { /** *

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

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

The type of instance for which the Capacity Block offering reserves capacity.

* @public */ InstanceType?: string | undefined; /** *

The number of instances for which to reserve capacity. Each Capacity Block can have up * to 64 instances, and you can have up to 256 instances across Capacity Blocks.

* @public */ InstanceCount?: number | undefined; /** *

The earliest start date for the Capacity Block offering.

* @public */ StartDateRange?: Date | undefined; /** *

The latest end date for the Capacity Block offering.

* @public */ EndDateRange?: Date | undefined; /** *

The reservation duration for the Capacity Block, in hours. You must specify the * duration in 1-day increments up 14 days, and in 7-day increments up to 182 days.

* @public */ CapacityDurationHours: number | undefined; /** *

The token to use to retrieve the next page of results.

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

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

The EC2 UltraServer type of the Capacity Block offerings.

* @public */ UltraserverType?: string | undefined; /** *

The number of EC2 UltraServers in the offerings.

* @public */ UltraserverCount?: number | undefined; /** *

* Include all Availability Zones and Local Zones, regardless of your opt-in status. * If you do not use this parameter, the results include available offerings from all * Availability Zones in the Amazon Web Services Region and Local Zones you are opted into. *

* @public */ AllAvailabilityZones?: boolean | undefined; } /** *

The recommended Capacity Block that fits your search requirements.

* @public */ export interface CapacityBlockOffering { /** *

The ID of the Capacity Block offering.

* @public */ CapacityBlockOfferingId?: string | undefined; /** *

The instance type of the Capacity Block offering.

* @public */ InstanceType?: string | undefined; /** *

The Availability Zone of the Capacity Block offering.

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

The number of instances in the Capacity Block offering.

* @public */ InstanceCount?: number | undefined; /** *

The start date of the Capacity Block offering.

* @public */ StartDate?: Date | undefined; /** *

The end date of the Capacity Block offering.

* @public */ EndDate?: Date | undefined; /** *

The number of hours (in addition to capacityBlockDurationMinutes) for the * duration of the Capacity Block reservation. For example, if a Capacity Block starts at * 04:55 and ends at 11:30, the hours field would be 6.

* @public */ CapacityBlockDurationHours?: number | undefined; /** *

The total price to be paid up front.

* @public */ UpfrontFee?: string | undefined; /** *

The currency of the payment for the Capacity Block.

* @public */ CurrencyCode?: string | undefined; /** *

The tenancy of the Capacity Block.

* @public */ Tenancy?: CapacityReservationTenancy | undefined; /** *

The EC2 UltraServer type of the Capacity Block offering.

* @public */ UltraserverType?: string | undefined; /** *

The number of EC2 UltraServers in the offering.

* @public */ UltraserverCount?: number | undefined; /** *

The number of minutes (in addition to capacityBlockDurationHours) for the * duration of the Capacity Block reservation. For example, if a Capacity Block starts at * 08:55 and ends at 11:30, the minutes field would be 35.

* @public */ CapacityBlockDurationMinutes?: number | undefined; /** *

The type of zone where the Capacity Block offering is available.

* @public */ ZoneType?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockOfferingsResult { /** *

The recommended Capacity Block offering for the dates specified.

* @public */ CapacityBlockOfferings?: CapacityBlockOffering[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityBlocksRequest { /** *

The IDs of the Capacity Blocks.

* @public */ CapacityBlockIds?: string[] | undefined; /** *

The token to use to retrieve the next page of results.

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

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

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Reserve powerful GPU instances on a future date to support your short duration machine learning (ML) workloads. Instances that run inside a Capacity Block are automatically placed close together inside Amazon EC2 UltraClusters, for low-latency, petabit-scale, non-blocking networking.

*

You can also reserve Amazon EC2 UltraServers. UltraServers connect multiple EC2 instances using a low-latency, high-bandwidth accelerator interconnect (NeuronLink). They are built to tackle very large-scale AI/ML workloads that require significant processing power. For more information, see Amazon EC2 UltraServers.

* @public */ export interface CapacityBlock { /** *

The ID of the Capacity Block.

* @public */ CapacityBlockId?: string | undefined; /** *

The EC2 UltraServer type of the Capacity Block.

* @public */ UltraserverType?: string | undefined; /** *

The Availability Zone of the Capacity Block.

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

The Availability Zone ID of the Capacity Block.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The ID of the Capacity Reservation.

* @public */ CapacityReservationIds?: string[] | undefined; /** *

The date and time at which the Capacity Block was started.

* @public */ StartDate?: Date | undefined; /** *

The date and time at which the Capacity Block expires. When a Capacity Block expires, * all instances in the Capacity Block are terminated.

* @public */ EndDate?: Date | undefined; /** *

The date and time at which the Capacity Block was created.

* @public */ CreateDate?: Date | undefined; /** *

The state of the Capacity Block.

* @public */ State?: CapacityBlockResourceState | undefined; /** *

The tags assigned to the Capacity Block.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeCapacityBlocksResult { /** *

The Capacity Blocks.

* @public */ CapacityBlocks?: CapacityBlock[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityBlockStatusRequest { /** *

The ID of the Capacity Block.

* @public */ CapacityBlockIds?: string[] | undefined; /** *

The token to use to retrieve the next page of results.

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

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

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Describes the availability of capacity for a Capacity Reservation.

* @public */ export interface CapacityReservationStatus { /** *

The ID of the Capacity Reservation.

* @public */ CapacityReservationId?: string | undefined; /** *

The combined amount of Available and Unavailable capacity in the Capacity Reservation.

* @public */ TotalCapacity?: number | undefined; /** *

The remaining capacity. Indicates the amount of resources that can be launched into the Capacity Reservation.

* @public */ TotalAvailableCapacity?: number | undefined; /** *

The used capacity. Indicates that the capacity is in use by resources that are running in the Capacity Reservation.

* @public */ TotalUnavailableCapacity?: number | undefined; } /** *

Describes the availability of capacity for a Capacity Block.

* @public */ export interface CapacityBlockStatus { /** *

The ID of the Capacity Block.

* @public */ CapacityBlockId?: string | undefined; /** *

The status of the high-bandwidth accelerator interconnect. Possible states include:

* * @public */ InterconnectStatus?: CapacityBlockInterconnectStatus | undefined; /** *

The combined amount of Available and Unavailable capacity in the Capacity Block.

* @public */ TotalCapacity?: number | undefined; /** *

The remaining capacity. Indicates the number of resources that can be launched into the Capacity Block.

* @public */ TotalAvailableCapacity?: number | undefined; /** *

The unavailable capacity. Indicates the instance capacity that is unavailable for use * due to a system status check failure.

* @public */ TotalUnavailableCapacity?: number | undefined; /** *

The availability of capacity for the Capacity Block reservations.

* @public */ CapacityReservationStatuses?: CapacityReservationStatus[] | undefined; } /** * @public */ export interface DescribeCapacityBlockStatusResult { /** *

The availability of capacity for a Capacity Block.

* @public */ CapacityBlockStatuses?: CapacityBlockStatus[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityManagerDataExportsRequest { /** *

* The IDs of the data export configurations to describe. If not specified, all export configurations are returned. *

* @public */ CapacityManagerDataExportIds?: string[] | undefined; /** *

* The maximum number of results to return in a single call. If not specified, up to 1000 results are returned. *

* @public */ MaxResults?: number | undefined; /** *

* The token for the next page of results. Use this value in a subsequent call to retrieve additional results. *

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

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

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

* One or more filters to narrow the results. Supported filters include export status, creation date, and S3 bucket name. *

* @public */ Filters?: Filter[] | undefined; } /** *

* Contains information about a Capacity Manager data export configuration, including export settings, delivery status, and recent export activity. *

* @public */ export interface CapacityManagerDataExportResponse { /** *

* The unique identifier for the data export configuration. *

* @public */ CapacityManagerDataExportId?: string | undefined; /** *

* The name of the S3 bucket where export files are delivered. *

* @public */ S3BucketName?: string | undefined; /** *

* The S3 key prefix used for organizing export files within the bucket. *

* @public */ S3BucketPrefix?: string | undefined; /** *

* The frequency at which data exports are generated. *

* @public */ Schedule?: Schedule | undefined; /** *

* The file format of the exported data. *

* @public */ OutputFormat?: OutputFormat | undefined; /** *

* The timestamp when the data export configuration was created. *

* @public */ CreateTime?: Date | undefined; /** *

* The status of the most recent export delivery. *

* @public */ LatestDeliveryStatus?: CapacityManagerDataExportStatus | undefined; /** *

* A message describing the status of the most recent export delivery, including any error details if the delivery failed. *

* @public */ LatestDeliveryStatusMessage?: string | undefined; /** *

* The S3 URI of the most recently delivered export file. *

* @public */ LatestDeliveryS3LocationUri?: string | undefined; /** *

* The timestamp when the most recent export was delivered to S3. *

* @public */ LatestDeliveryTime?: Date | undefined; /** *

* The tags associated with the data export configuration. *

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeCapacityManagerDataExportsResult { /** *

* Information about the data export configurations, including export settings, delivery status, and recent activity. *

* @public */ CapacityManagerDataExports?: CapacityManagerDataExportResponse[] | undefined; /** *

* The token to use to retrieve the next page of results. This value is null when there are no more results to return. *

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityReservationBillingRequestsRequest { /** *

The ID of the Capacity Reservation.

* @public */ CapacityReservationIds?: string[] | undefined; /** *

Specify one of the following:

* * @public */ Role: CallerRole | undefined; /** *

The token to use to retrieve the next page of results.

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

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

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Information about a Capacity Reservation.

* @public */ export interface CapacityReservationInfo { /** *

The instance type for the Capacity Reservation.

* @public */ InstanceType?: string | undefined; /** *

The Availability Zone for the Capacity Reservation.

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

The tenancy of the Capacity Reservation.

* @public */ Tenancy?: CapacityReservationTenancy | undefined; /** *

The ID of the Availability Zone.

* @public */ AvailabilityZoneId?: string | undefined; } /** *

Information about a request to assign billing of the unused capacity of a Capacity * Reservation.

* @public */ export interface CapacityReservationBillingRequest { /** *

The ID of the Capacity Reservation.

* @public */ CapacityReservationId?: string | undefined; /** *

The ID of the Amazon Web Services account that initiated the request.

* @public */ RequestedBy?: string | undefined; /** *

The ID of the Amazon Web Services account to which the request was sent.

* @public */ UnusedReservationBillingOwnerId?: string | undefined; /** *

The date and time, in UTC time format, at which the request was initiated.

* @public */ LastUpdateTime?: Date | undefined; /** *

The status of the request. For more information, see View billing assignment * requests for a shared Amazon EC2 Capacity Reservation.

* @public */ Status?: CapacityReservationBillingRequestStatus | undefined; /** *

Information about the status.

* @public */ StatusMessage?: string | undefined; /** *

Information about the Capacity Reservation.

* @public */ CapacityReservationInfo?: CapacityReservationInfo | undefined; } /** * @public */ export interface DescribeCapacityReservationBillingRequestsResult { /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

Information about the request.

* @public */ CapacityReservationBillingRequests?: CapacityReservationBillingRequest[] | undefined; } /** * @public */ export interface DescribeCapacityReservationFleetsRequest { /** *

The IDs of the Capacity Reservation Fleets to describe.

* @public */ CapacityReservationFleetIds?: string[] | undefined; /** *

The token to use to retrieve the next page of results.

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

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

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Information about a Capacity Reservation Fleet.

* @public */ export interface CapacityReservationFleet { /** *

The ID of the Capacity Reservation Fleet.

* @public */ CapacityReservationFleetId?: string | undefined; /** *

The ARN of the Capacity Reservation Fleet.

* @public */ CapacityReservationFleetArn?: string | undefined; /** *

The state of the Capacity Reservation Fleet. Possible states include:

* * @public */ State?: CapacityReservationFleetState | undefined; /** *

The total number of capacity units for which the Capacity Reservation Fleet reserves * capacity. For more information, see Total target * capacity in the Amazon EC2 User Guide.

* @public */ TotalTargetCapacity?: number | undefined; /** *

The capacity units that have been fulfilled.

* @public */ TotalFulfilledCapacity?: number | undefined; /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

* * @public */ Tenancy?: FleetCapacityReservationTenancy | undefined; /** *

The date and time at which the Capacity Reservation Fleet expires.

* @public */ EndDate?: Date | undefined; /** *

The date and time at which the Capacity Reservation Fleet was created.

* @public */ CreateTime?: Date | undefined; /** *

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. * All Capacity Reservations in the Fleet inherit this instance matching criteria.

*

Currently, Capacity Reservation Fleets support open instance matching * criteria only. This means that instances that have matching attributes (instance type, * platform, and Availability Zone) run in the Capacity Reservations automatically. * Instances do not need to explicitly target a Capacity Reservation Fleet to use its * reserved capacity.

* @public */ InstanceMatchCriteria?: FleetInstanceMatchCriteria | undefined; /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, see * Allocation * strategy in the Amazon EC2 User Guide.

* @public */ AllocationStrategy?: string | undefined; /** *

Information about the instance types for which to reserve the capacity.

* @public */ InstanceTypeSpecifications?: FleetCapacityReservation[] | undefined; /** *

The tags assigned to the Capacity Reservation Fleet.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeCapacityReservationFleetsResult { /** *

Information about the Capacity Reservation Fleets.

* @public */ CapacityReservationFleets?: CapacityReservationFleet[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCapacityReservationsRequest { /** *

The ID of the Capacity Reservation.

* @public */ CapacityReservationIds?: string[] | undefined; /** *

The token to use to retrieve the next page of results.

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

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

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DescribeCapacityReservationsResult { /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

Information about the Capacity Reservations.

* @public */ CapacityReservations?: CapacityReservation[] | undefined; } /** * @public */ export interface DescribeCapacityReservationTopologyRequest { /** *

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

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

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

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

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 can't specify this parameter and the Capacity Reservation IDs parameter in the * same request.

*

Default: 10 *

* @public */ MaxResults?: number | undefined; /** *

The Capacity Reservation IDs.

*

Default: Describes all your Capacity Reservations.

*

Constraints: Maximum 100 explicitly specified Capacity Reservation IDs.

* @public */ CapacityReservationIds?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** *

Information about the Capacity Reservation topology.

* @public */ export interface CapacityReservationTopology { /** *

The ID of the Capacity Reservation.

* @public */ CapacityReservationId?: string | undefined; /** *

The ID of the Capacity Block. This parameter is only supported for UltraServer * instances and identifies instances within the UltraServer domain.

* @public */ CapacityBlockId?: string | undefined; /** *

The current state of the Capacity Reservation. For the list of possible states, see * DescribeCapacityReservations.

* @public */ State?: string | undefined; /** *

The instance type.

* @public */ InstanceType?: string | undefined; /** *

The name of the placement group that the Capacity Reservation is in.

* @public */ GroupName?: string | undefined; /** *

The network nodes. The nodes are hashed based on your account. Capacity Reservations * from different accounts running under the same server will return a different hashed * list of strings.

*

The value is null or empty if:

* * @public */ NetworkNodes?: string[] | undefined; /** *

The ID of the Availability Zone or Local Zone that the Capacity Reservation is * in.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The name of the Availability Zone or Local Zone that the Capacity Reservation is * in.

* @public */ AvailabilityZone?: string | undefined; } /** * @public */ export interface DescribeCapacityReservationTopologyResult { /** *

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

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

Information about the topology of each Capacity Reservation.

* @public */ CapacityReservations?: CapacityReservationTopology[] | undefined; } /** * @public */ export interface DescribeCarrierGatewaysRequest { /** *

One or more carrier gateway IDs.

* @public */ CarrierGatewayIds?: string[] | undefined; /** *

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

* @public */ MaxResults?: number | undefined; /** *

The token for the next page of results.

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

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DescribeCarrierGatewaysResult { /** *

Information about the carrier gateway.

* @public */ CarrierGateways?: CarrierGateway[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeClassicLinkInstancesRequest { /** *

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

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

The instance IDs. Must be instances linked to a VPC through ClassicLink.

* @public */ InstanceIds?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

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.

*

Constraint: If the value is greater than 1000, we return only 1000 items.

* @public */ MaxResults?: number | undefined; } /** * *

Deprecated.

*
*

Describes a linked EC2-Classic instance.

* @public */ export interface ClassicLinkInstance { /** *

The security groups.

* @public */ Groups?: GroupIdentifier[] | undefined; /** *

The ID of the instance.

* @public */ InstanceId?: string | undefined; /** *

Any tags assigned to the instance.

* @public */ Tags?: Tag[] | undefined; /** *

The ID of the VPC.

* @public */ VpcId?: string | undefined; } /** * @public */ export interface DescribeClassicLinkInstancesResult { /** *

Information about one or more linked EC2-Classic instances.

* @public */ Instances?: ClassicLinkInstance[] | undefined; /** *

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

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeClientVpnAuthorizationRulesRequest { /** *

The ID of the Client VPN endpoint.

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

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

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

The token to retrieve the next page of results.

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

One or more filters. Filter names and values are case-sensitive.

* * @public */ Filters?: Filter[] | undefined; /** *

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 nextToken value.

* @public */ MaxResults?: number | undefined; } /** *

Information about an authorization rule.

* @public */ export interface AuthorizationRule { /** *

The ID of the Client VPN endpoint with which the authorization rule is associated.

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

A brief description of the authorization rule.

* @public */ Description?: string | undefined; /** *

The ID of the Active Directory group to which the authorization rule grants access.

* @public */ GroupId?: string | undefined; /** *

Indicates whether the authorization rule grants access to all clients.

* @public */ AccessAll?: boolean | undefined; /** *

The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

* @public */ DestinationCidr?: string | undefined; /** *

The current state of the authorization rule.

* @public */ Status?: ClientVpnAuthorizationRuleStatus | undefined; } /** * @public */ export interface DescribeClientVpnAuthorizationRulesResult { /** *

Information about the authorization rules.

* @public */ AuthorizationRules?: AuthorizationRule[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeClientVpnConnectionsRequest { /** *

The ID of the Client VPN endpoint.

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

One or more filters. Filter names and values are case-sensitive.

* * @public */ Filters?: Filter[] | undefined; /** *

The token to retrieve the next page of results.

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

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 nextToken value.

* @public */ MaxResults?: number | undefined; /** *

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

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

Describes the status of a client connection.

* @public */ export interface ClientVpnConnectionStatus { /** *

The state of the client connection.

* @public */ Code?: ClientVpnConnectionStatusCode | undefined; /** *

A message about the status of the client connection, if applicable.

* @public */ Message?: string | undefined; } /** *

Describes a client connection.

* @public */ export interface ClientVpnConnection { /** *

The ID of the Client VPN endpoint to which the client is connected.

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

The current date and time.

* @public */ Timestamp?: string | undefined; /** *

The ID of the client connection.

* @public */ ConnectionId?: string | undefined; /** *

The username of the client who established the client connection. This information is only provided * if Active Directory client authentication is used.

* @public */ Username?: string | undefined; /** *

The date and time the client connection was established.

* @public */ ConnectionEstablishedTime?: string | undefined; /** *

The number of bytes sent by the client.

* @public */ IngressBytes?: string | undefined; /** *

The number of bytes received by the client.

* @public */ EgressBytes?: string | undefined; /** *

The number of packets sent by the client.

* @public */ IngressPackets?: string | undefined; /** *

The number of packets received by the client.

* @public */ EgressPackets?: string | undefined; /** *

The IP address of the client.

* @public */ ClientIp?: string | undefined; /** *

The IPv6 address assigned to the client connection when using a dual-stack Client VPN endpoint. This field is only populated when the endpoint is configured for dual-stack addressing, and the client is using IPv6 for connectivity.

* @public */ ClientIpv6Address?: string | undefined; /** *

The common name associated with the client. This is either the name of the client certificate, * or the Active Directory user name.

* @public */ CommonName?: string | undefined; /** *

The current state of the client connection.

* @public */ Status?: ClientVpnConnectionStatus | undefined; /** *

The date and time the client connection was terminated.

* @public */ ConnectionEndTime?: string | undefined; /** *

The statuses returned by the client connect handler for posture compliance, if applicable.

* @public */ PostureComplianceStatuses?: string[] | undefined; } /** * @public */ export interface DescribeClientVpnConnectionsResult { /** *

Information about the active and terminated client connections.

* @public */ Connections?: ClientVpnConnection[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeClientVpnEndpointsRequest { /** *

The ID of the Client VPN endpoint.

* @public */ ClientVpnEndpointIds?: string[] | undefined; /** *

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 nextToken value.

* @public */ MaxResults?: number | undefined; /** *

The token to retrieve the next page of results.

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

One or more filters. Filter names and values are case-sensitive.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

* @public */ export interface AssociatedTargetNetwork { /** *

The ID of the subnet.

* @public */ NetworkId?: string | undefined; /** *

The target network type.

* @public */ NetworkType?: AssociatedNetworkType | undefined; } /** *

Describes an Active Directory.

* @public */ export interface DirectoryServiceAuthentication { /** *

The ID of the Active Directory used for authentication.

* @public */ DirectoryId?: string | undefined; } /** *

Describes the IAM SAML identity providers used for federated authentication.

* @public */ export interface FederatedAuthentication { /** *

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

* @public */ SamlProviderArn?: string | undefined; /** *

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

* @public */ SelfServiceSamlProviderArn?: string | undefined; } /** *

Information about the client certificate used for authentication.

* @public */ export interface CertificateAuthentication { /** *

The ARN of the client certificate.

* @public */ ClientRootCertificateChain?: string | undefined; } /** *

Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication * in the Client VPN Administrator Guide.

* @public */ export interface ClientVpnAuthentication { /** *

The authentication type used.

* @public */ Type?: ClientVpnAuthenticationType | undefined; /** *

Information about the Active Directory, if applicable.

* @public */ ActiveDirectory?: DirectoryServiceAuthentication | undefined; /** *

Information about the authentication certificates, if applicable.

* @public */ MutualAuthentication?: CertificateAuthentication | undefined; /** *

Information about the IAM SAML identity provider, if applicable.

* @public */ FederatedAuthentication?: FederatedAuthentication | undefined; } /** *

Describes the status of the Client VPN endpoint attribute.

* @public */ export interface ClientVpnEndpointAttributeStatus { /** *

The status code.

* @public */ Code?: ClientVpnEndpointAttributeStatusCode | undefined; /** *

The status message.

* @public */ Message?: string | undefined; } /** *

The options for managing connection authorization for new client connections.

* @public */ export interface ClientConnectResponseOptions { /** *

Indicates whether client connect options are enabled.

* @public */ Enabled?: boolean | undefined; /** *

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

* @public */ LambdaFunctionArn?: string | undefined; /** *

The status of any updates to the client connect options.

* @public */ Status?: ClientVpnEndpointAttributeStatus | undefined; } /** *

Current state of options for customizable text banner that will be displayed on * Amazon Web Services provided clients when a VPN session is established.

* @public */ export interface ClientLoginBannerResponseOptions { /** *

Current state of text banner feature.

*

Valid values: true | false *

* @public */ Enabled?: boolean | undefined; /** *

Customizable text that will be displayed in a banner on Amazon Web Services provided * clients when a VPN session is established. UTF-8 encoded * characters only. Maximum of 1400 characters.

* @public */ BannerText?: string | undefined; } /** *

The current status of Client Route Enforcement.

* @public */ export interface ClientRouteEnforcementResponseOptions { /** *

Status of the client route enforcement feature, indicating whether Client Route Enforcement * is true (enabled) or false (disabled).

*

Valid values: true | false *

*

Default value: false *

* @public */ Enforced?: boolean | undefined; } /** *

Information about the client connection logging options for a Client VPN endpoint.

* @public */ export interface ConnectionLogResponseOptions { /** *

Indicates whether client connection logging is enabled for the Client VPN endpoint.

* @public */ Enabled?: boolean | undefined; /** *

The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

* @public */ CloudwatchLogGroup?: string | undefined; /** *

The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

* @public */ CloudwatchLogStream?: string | undefined; } /** *

Describes the Transit Gateway configuration for a Client VPN endpoint.

* @public */ export interface TransitGatewayConfigurationDescribeEndpointStructure { /** *

The ID of the Transit Gateway.

* @public */ TransitGatewayId?: string | undefined; /** *

The ID of the Transit Gateway attachment.

* @public */ TransitGatewayAttachmentId?: string | undefined; /** *

The Availability Zone names for the Transit Gateway association.

* @public */ AvailabilityZones?: string[] | undefined; /** *

The Availability Zone IDs for the Transit Gateway association.

* @public */ AvailabilityZoneIds?: string[] | undefined; } /** *

Describes a Client VPN endpoint.

* @public */ export interface ClientVpnEndpoint { /** *

The ID of the Client VPN endpoint.

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

A brief description of the endpoint.

* @public */ Description?: string | undefined; /** *

The current state of the Client VPN endpoint.

* @public */ Status?: ClientVpnEndpointStatus | undefined; /** *

The date and time the Client VPN endpoint was created.

* @public */ CreationTime?: string | undefined; /** *

The date and time the Client VPN endpoint was deleted, if applicable.

* @public */ DeletionTime?: string | undefined; /** *

The DNS name to be used by clients when connecting to the Client VPN endpoint.

* @public */ DnsName?: string | undefined; /** *

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

* @public */ ClientCidrBlock?: string | undefined; /** *

Information about the DNS servers to be used for DNS resolution.

* @public */ DnsServers?: string[] | undefined; /** *

Indicates whether split-tunnel is enabled in the Client VPN endpoint.

*

For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint * in the Client VPN Administrator Guide.

* @public */ SplitTunnel?: boolean | undefined; /** *

The protocol used by the VPN session.

* @public */ VpnProtocol?: VpnProtocol | undefined; /** *

The transport protocol used by the Client VPN endpoint.

* @public */ TransportProtocol?: TransportProtocol | undefined; /** *

The port number for the Client VPN endpoint.

* @public */ VpnPort?: number | undefined; /** *

Information about the associated target networks. A target network is a subnet in a VPC.

* * @deprecated This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element. * @public */ AssociatedTargetNetworks?: AssociatedTargetNetwork[] | undefined; /** *

The ARN of the server certificate.

* @public */ ServerCertificateArn?: string | undefined; /** *

Information about the authentication method used by the Client VPN endpoint.

* @public */ AuthenticationOptions?: ClientVpnAuthentication[] | undefined; /** *

Information about the client connection logging options for the Client VPN endpoint.

* @public */ ConnectionLogOptions?: ConnectionLogResponseOptions | undefined; /** *

Any tags assigned to the Client VPN endpoint.

* @public */ Tags?: Tag[] | undefined; /** *

The IDs of the security groups for the target network.

* @public */ SecurityGroupIds?: string[] | undefined; /** *

The ID of the VPC.

* @public */ VpcId?: string | undefined; /** *

The URL of the self-service portal.

* @public */ SelfServicePortalUrl?: string | undefined; /** *

The options for managing connection authorization for new client connections.

* @public */ ClientConnectOptions?: ClientConnectResponseOptions | undefined; /** *

The maximum VPN session duration time in hours.

*

Valid values: 8 | 10 | 12 | 24 *

*

Default value: 24 *

* @public */ SessionTimeoutHours?: number | undefined; /** *

Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is * established.

* @public */ ClientLoginBannerOptions?: ClientLoginBannerResponseOptions | undefined; /** *

Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T * his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.

*

Client route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, * reverting it back to the expected route configurations.

* @public */ ClientRouteEnforcementOptions?: ClientRouteEnforcementResponseOptions | undefined; /** *

Indicates whether the client VPN session is disconnected after the maximum sessionTimeoutHours is reached. If true, users are prompted to reconnect client VPN. If false, client VPN attempts to reconnect automatically. The default value is true.

* @public */ DisconnectOnSessionTimeout?: boolean | undefined; /** *

The IP address type of the Client VPN endpoint. Possible values are ipv4 for IPv4 addressing only, ipv6 for IPv6 addressing only, or dual-stack for both IPv4 and IPv6 addressing.

* @public */ EndpointIpAddressType?: EndpointIpAddressType | undefined; /** *

The IP address type of the Client VPN endpoint. Possible values are either ipv4 for IPv4 addressing only, ipv6 for IPv6 addressing only, or dual-stack for both IPv4 and IPv6 addressing.

* @public */ TrafficIpAddressType?: TrafficIpAddressType | undefined; /** *

The Transit Gateway configuration for the Client VPN endpoint.

* @public */ TransitGatewayConfiguration?: TransitGatewayConfigurationDescribeEndpointStructure | undefined; } /** * @public */ export interface DescribeClientVpnEndpointsResult { /** *

Information about the Client VPN endpoints.

* @public */ ClientVpnEndpoints?: ClientVpnEndpoint[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeClientVpnRoutesRequest { /** *

The ID of the Client VPN endpoint.

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

One or more filters. Filter names and values are case-sensitive.

* * @public */ Filters?: Filter[] | undefined; /** *

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 nextToken value.

* @public */ MaxResults?: number | undefined; /** *

The token to retrieve the next page of results.

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

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

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

Information about a Client VPN endpoint route.

* @public */ export interface ClientVpnRoute { /** *

The ID of the Client VPN endpoint with which the route is associated.

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

The IPv4 address range, in CIDR notation, of the route destination.

* @public */ DestinationCidr?: string | undefined; /** *

The ID of the subnet through which traffic is routed.

* @public */ TargetSubnet?: string | undefined; /** *

The route type.

* @public */ Type?: string | undefined; /** *

Indicates how the route was associated with the Client VPN endpoint. * associate indicates that the route was automatically added when the target network * was associated with the Client VPN endpoint. add-route indicates that the route * was manually added using the CreateClientVpnRoute action.

* @public */ Origin?: string | undefined; /** *

The current state of the route.

* @public */ Status?: ClientVpnRouteStatus | undefined; /** *

A brief description of the route.

* @public */ Description?: string | undefined; /** *

The ID of the Transit Gateway attachment, if the route targets a Transit Gateway.

* @public */ TransitGatewayAttachmentId?: string | undefined; } /** * @public */ export interface DescribeClientVpnRoutesResult { /** *

Information about the Client VPN endpoint routes.

* @public */ Routes?: ClientVpnRoute[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeClientVpnTargetNetworksRequest { /** *

The ID of the Client VPN endpoint.

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

The IDs of the target network associations.

* @public */ AssociationIds?: string[] | undefined; /** *

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 nextToken value.

* @public */ MaxResults?: number | undefined; /** *

The token to retrieve the next page of results.

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

One or more filters. Filter names and values are case-sensitive.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Describes a target network associated with a Client VPN endpoint.

* @public */ export interface TargetNetwork { /** *

The ID of the association.

* @public */ AssociationId?: string | undefined; /** *

The ID of the VPC in which the target network (subnet) is located.

* @public */ VpcId?: string | undefined; /** *

The ID of the subnet specified as the target network.

* @public */ TargetNetworkId?: string | undefined; /** *

The ID of the Client VPN endpoint with which the target network is associated.

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

The current state of the target network association.

* @public */ Status?: AssociationStatus | undefined; /** *

The IDs of the security groups applied to the target network association.

* @public */ SecurityGroups?: string[] | undefined; /** *

The Availability Zone names for the target network association, if the Client VPN endpoint uses a Transit Gateway.

* @public */ AvailabilityZones?: string[] | undefined; /** *

The Availability Zone IDs for the target network association, if the Client VPN endpoint uses a Transit Gateway.

* @public */ AvailabilityZoneIds?: string[] | undefined; } /** * @public */ export interface DescribeClientVpnTargetNetworksResult { /** *

Information about the associated target networks.

* @public */ ClientVpnTargetNetworks?: TargetNetwork[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeCoipPoolsRequest { /** *

The IDs of the address pools.

* @public */ PoolIds?: string[] | undefined; /** *

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

* @public */ MaxResults?: number | undefined; /** *

The token for the next page of results.

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

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

* @public */ DryRun?: boolean | undefined; } /** * @public */ export interface DescribeCoipPoolsResult { /** *

Information about the address pools.

* @public */ CoipPools?: CoipPool[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeConversionTasksRequest { /** *

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

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

The conversion task IDs.

* @public */ ConversionTaskIds?: string[] | undefined; } /** *

Describes a disk image.

* @public */ export interface DiskImageDescription { /** *

The checksum computed for the disk image.

* @public */ Checksum?: string | undefined; /** *

The disk image format.

* @public */ Format?: DiskImageFormat | undefined; /** *

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for * an Amazon S3 object, read the "Query String Request Authentication Alternative" section of the Authenticating REST Requests topic in * the Amazon Simple Storage Service Developer Guide.

*

For information about the import manifest referenced by this API action, see VM Import Manifest.

* @public */ ImportManifestUrl?: string | undefined; /** *

The size of the disk image, in GiB.

* @public */ Size?: number | undefined; } /** *

Describes a disk image volume.

* @public */ export interface DiskImageVolumeDescription { /** *

The volume identifier.

* @public */ Id?: string | undefined; /** *

The size of the volume, in GiB.

* @public */ Size?: number | undefined; } /** *

Describes an import volume task.

* @public */ export interface ImportInstanceVolumeDetailItem { /** *

The Availability Zone where the resulting instance will reside.

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

The ID of the Availability Zone where the resulting instance will reside.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The number of bytes converted so far.

* @public */ BytesConverted?: number | undefined; /** *

A description of the task.

* @public */ Description?: string | undefined; /** *

The image.

* @public */ Image?: DiskImageDescription | undefined; /** *

The status of the import of this particular disk image.

* @public */ Status?: string | undefined; /** *

The status information or errors related to the disk image.

* @public */ StatusMessage?: string | undefined; /** *

The volume.

* @public */ Volume?: DiskImageVolumeDescription | undefined; } /** *

Describes an import instance task.

* @public */ export interface ImportInstanceTaskDetails { /** *

A description of the task.

* @public */ Description?: string | undefined; /** *

The ID of the instance.

* @public */ InstanceId?: string | undefined; /** *

The instance operating system.

* @public */ Platform?: PlatformValues | undefined; /** *

The volumes.

* @public */ Volumes?: ImportInstanceVolumeDetailItem[] | undefined; } /** *

Describes an import volume task.

* @public */ export interface ImportVolumeTaskDetails { /** *

The Availability Zone where the resulting volume will reside.

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

The ID of the Availability Zone where the resulting volume will reside.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The number of bytes converted so far.

* @public */ BytesConverted?: number | undefined; /** *

The description you provided when starting the import volume task.

* @public */ Description?: string | undefined; /** *

The image.

* @public */ Image?: DiskImageDescription | undefined; /** *

The volume.

* @public */ Volume?: DiskImageVolumeDescription | undefined; } /** *

Describes a conversion task.

* @public */ export interface ConversionTask { /** *

The ID of the conversion task.

* @public */ ConversionTaskId?: string | undefined; /** *

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel * the task.

* @public */ ExpirationTime?: string | undefined; /** *

If the task is for importing an instance, this contains information about the import instance task.

* @public */ ImportInstance?: ImportInstanceTaskDetails | undefined; /** *

If the task is for importing a volume, this contains information about the import volume task.

* @public */ ImportVolume?: ImportVolumeTaskDetails | undefined; /** *

The state of the conversion task.

* @public */ State?: ConversionTaskState | undefined; /** *

The status message related to the conversion task.

* @public */ StatusMessage?: string | undefined; /** *

Any tags assigned to the task.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeConversionTasksResult { /** *

Information about the conversion tasks.

* @public */ ConversionTasks?: ConversionTask[] | undefined; } /** *

Contains the parameters for DescribeCustomerGateways.

* @public */ export interface DescribeCustomerGatewaysRequest { /** *

One or more customer gateway IDs.

*

Default: Describes all your customer gateways.

* @public */ CustomerGatewayIds?: string[] | undefined; /** *

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

Contains the output of DescribeCustomerGateways.

* @public */ export interface DescribeCustomerGatewaysResult { /** *

Information about one or more customer gateways.

* @public */ CustomerGateways?: CustomerGateway[] | undefined; } /** * @public */ export interface DescribeDeclarativePoliciesReportsRequest { /** *

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

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

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

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

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

One or more report IDs.

* @public */ ReportIds?: string[] | undefined; } /** *

Describes the metadata of the account status report.

* @public */ export interface DeclarativePoliciesReport { /** *

The ID of the report.

* @public */ ReportId?: string | undefined; /** *

The name of the Amazon S3 bucket where the report is located.

* @public */ S3Bucket?: string | undefined; /** *

The prefix for your S3 object.

* @public */ S3Prefix?: string | undefined; /** *

The root ID, organizational unit ID, or account ID.

*

Format:

* * @public */ TargetId?: string | undefined; /** *

The time when the report generation started.

* @public */ StartTime?: Date | undefined; /** *

The time when the report generation ended.

* @public */ EndTime?: Date | undefined; /** *

The current status of the report.

* @public */ Status?: ReportState | undefined; /** *

Any tags assigned to the report.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeDeclarativePoliciesReportsResult { /** *

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

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

The report metadata.

* @public */ Reports?: DeclarativePoliciesReport[] | undefined; } /** * @public */ export interface DescribeDhcpOptionsRequest { /** *

The IDs of DHCP option sets.

* @public */ DhcpOptionsIds?: string[] | undefined; /** *

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

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

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

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** * @public */ export interface DescribeDhcpOptionsResult { /** *

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

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

Information about the DHCP options sets.

* @public */ DhcpOptions?: DhcpOptions[] | undefined; } /** * @public */ export interface DescribeEgressOnlyInternetGatewaysRequest { /** *

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

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

The IDs of the egress-only internet gateways.

* @public */ EgressOnlyInternetGatewayIds?: string[] | undefined; /** *

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

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** * @public */ export interface DescribeEgressOnlyInternetGatewaysResult { /** *

Information about the egress-only internet gateways.

* @public */ EgressOnlyInternetGateways?: EgressOnlyInternetGateway[] | undefined; /** *

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

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeElasticGpusRequest { /** *

The Elastic Graphics accelerator IDs.

* @public */ ElasticGpuIds?: string[] | undefined; /** *

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned NextToken value. This value * can be between 5 and 1000.

* @public */ MaxResults?: number | undefined; /** *

The token to request the next page of results.

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

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

*
*

Describes the status of an Elastic Graphics accelerator.

* @public */ export interface ElasticGpuHealth { /** *

The health status.

* @public */ Status?: ElasticGpuStatus | undefined; } /** * *

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

*
*

Describes an Elastic Graphics accelerator.

* @public */ export interface ElasticGpus { /** *

The ID of the Elastic Graphics accelerator.

* @public */ ElasticGpuId?: string | undefined; /** *

The Availability Zone in the which the Elastic Graphics accelerator resides.

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

The type of Elastic Graphics accelerator.

* @public */ ElasticGpuType?: string | undefined; /** *

The status of the Elastic Graphics accelerator.

* @public */ ElasticGpuHealth?: ElasticGpuHealth | undefined; /** *

The state of the Elastic Graphics accelerator.

* @public */ ElasticGpuState?: ElasticGpuState | undefined; /** *

The ID of the instance to which the Elastic Graphics accelerator is attached.

* @public */ InstanceId?: string | undefined; /** *

The tags assigned to the Elastic Graphics accelerator.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeElasticGpusResult { /** *

Information about the Elastic Graphics accelerators.

* @public */ ElasticGpuSet?: ElasticGpus[] | undefined; /** *

The total number of items to return. If the total number of items available is more * than the value specified in max-items then a Next-Token will be provided in the output * that you can use to resume pagination.

* @public */ MaxResults?: number | undefined; /** *

The token to use to retrieve the next page of results. This value is * null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeExportImageTasksRequest { /** *

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

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

Filter tasks using the task-state filter and one of the following values: active, * completed, deleting, or deleted.

* @public */ Filters?: Filter[] | undefined; /** *

The IDs of the export image tasks.

* @public */ ExportImageTaskIds?: string[] | undefined; /** *

The maximum number of results to return in a single call.

* @public */ MaxResults?: number | undefined; /** *

A token that indicates the next page of results.

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

Describes the destination for an export image task.

* @public */ export interface ExportTaskS3Location { /** *

The destination Amazon S3 bucket.

* @public */ S3Bucket?: string | undefined; /** *

The prefix (logical hierarchy) in the bucket.

* @public */ S3Prefix?: string | undefined; } /** *

Describes an export image task.

* @public */ export interface ExportImageTask { /** *

A description of the image being exported.

* @public */ Description?: string | undefined; /** *

The ID of the export image task.

* @public */ ExportImageTaskId?: string | undefined; /** *

The ID of the image.

* @public */ ImageId?: string | undefined; /** *

The percent complete of the export image task.

* @public */ Progress?: string | undefined; /** *

Information about the destination Amazon S3 bucket.

* @public */ S3ExportLocation?: ExportTaskS3Location | undefined; /** *

The status of the export image task. The possible values are active, completed, * deleting, and deleted.

* @public */ Status?: string | undefined; /** *

The status message for the export image task.

* @public */ StatusMessage?: string | undefined; /** *

Any tags assigned to the export image task.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeExportImageTasksResult { /** *

Information about the export image tasks.

* @public */ ExportImageTasks?: ExportImageTask[] | undefined; /** *

The token to use to get the next page of results. This value is null when there are no more results * to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeExportTasksRequest { /** *

the filters for the export tasks.

* @public */ Filters?: Filter[] | undefined; /** *

The export task IDs.

* @public */ ExportTaskIds?: string[] | undefined; } /** * @public */ export interface DescribeExportTasksResult { /** *

Information about the export tasks.

* @public */ ExportTasks?: ExportTask[] | undefined; } /** * @public */ export interface DescribeFastLaunchImagesRequest { /** *

Specify one or more Windows AMI image IDs for the request.

* @public */ ImageIds?: string[] | undefined; /** *

Use the following filters to streamline results.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

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

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

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

Identifies the launch template that the AMI uses for Windows fast launch.

* @public */ export interface FastLaunchLaunchTemplateSpecificationResponse { /** *

The ID of the launch template that the AMI uses for Windows fast launch.

* @public */ LaunchTemplateId?: string | undefined; /** *

The name of the launch template that the AMI uses for Windows fast launch.

* @public */ LaunchTemplateName?: string | undefined; /** *

The version of the launch template that the AMI uses for Windows fast launch.

* @public */ Version?: string | undefined; } /** *

Configuration settings for creating and managing pre-provisioned snapshots for a Windows * fast launch enabled Windows AMI.

* @public */ export interface FastLaunchSnapshotConfigurationResponse { /** *

The number of pre-provisioned snapshots requested to keep on hand for a Windows fast * launch enabled AMI.

* @public */ TargetResourceCount?: number | undefined; } /** *

Describe details about a Windows image with Windows fast launch enabled that meets the * requested criteria. Criteria are defined by the DescribeFastLaunchImages action * filters.

* @public */ export interface DescribeFastLaunchImagesSuccessItem { /** *

The image ID that identifies the Windows fast launch enabled image.

* @public */ ImageId?: string | undefined; /** *

The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values * include: snapshot.

* @public */ ResourceType?: FastLaunchResourceType | undefined; /** *

A group of parameters that are used for pre-provisioning the associated Windows AMI using * snapshots.

* @public */ SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse | undefined; /** *

The launch template that the Windows fast launch enabled AMI uses when it launches Windows * instances from pre-provisioned snapshots.

* @public */ LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse | undefined; /** *

The maximum number of instances that Amazon EC2 can launch at the same time to create * pre-provisioned snapshots for Windows fast launch.

* @public */ MaxParallelLaunches?: number | undefined; /** *

The owner ID for the Windows fast launch enabled AMI.

* @public */ OwnerId?: string | undefined; /** *

The current state of Windows fast launch for the specified Windows AMI.

* @public */ State?: FastLaunchStateCode | undefined; /** *

The reason that Windows fast launch for the AMI changed to the current state.

* @public */ StateTransitionReason?: string | undefined; /** *

The time that Windows fast launch for the AMI changed to the current state.

* @public */ StateTransitionTime?: Date | undefined; } /** * @public */ export interface DescribeFastLaunchImagesResult { /** *

A collection of details about the fast-launch enabled Windows images that meet the * requested criteria.

* @public */ FastLaunchImages?: DescribeFastLaunchImagesSuccessItem[] | undefined; /** *

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

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeFastSnapshotRestoresRequest { /** *

The filters. The possible values are:

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

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

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

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

Describes fast snapshot restores for a snapshot.

* @public */ export interface DescribeFastSnapshotRestoreSuccessItem { /** *

The ID of the snapshot.

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

The Availability Zone.

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

The ID of the Availability Zone.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The state of fast snapshot restores.

* @public */ State?: FastSnapshotRestoreStateCode | undefined; /** *

The reason for the state transition. The possible values are as follows:

* * @public */ StateTransitionReason?: string | undefined; /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

* @public */ OwnerId?: string | undefined; /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

* @public */ OwnerAlias?: string | undefined; /** *

The time at which fast snapshot restores entered the enabling state.

* @public */ EnablingTime?: Date | undefined; /** *

The time at which fast snapshot restores entered the optimizing state.

* @public */ OptimizingTime?: Date | undefined; /** *

The time at which fast snapshot restores entered the enabled state.

* @public */ EnabledTime?: Date | undefined; /** *

The time at which fast snapshot restores entered the disabling state.

* @public */ DisablingTime?: Date | undefined; /** *

The time at which fast snapshot restores entered the disabled state.

* @public */ DisabledTime?: Date | undefined; } /** * @public */ export interface DescribeFastSnapshotRestoresResult { /** *

Information about the state of fast snapshot restores.

* @public */ FastSnapshotRestores?: DescribeFastSnapshotRestoreSuccessItem[] | undefined; /** *

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

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeFleetHistoryRequest { /** *

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

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

The type of events to describe. By default, all events are described.

* @public */ EventType?: FleetEventType | undefined; /** *

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

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

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

The ID of the EC2 Fleet.

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

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

* @public */ StartTime: Date | undefined; } /** *

Describes an EC2 Fleet or Spot Fleet event.

* @public */ export interface EventInformation { /** *

The description of the event.

* @public */ EventDescription?: string | undefined; /** *

The event.

*

* error events:

* *

* fleetRequestChange events:

* *

* instanceChange events:

* *

* Information events:

* * @public */ EventSubType?: string | undefined; /** *

The ID of the instance. This information is available only for * instanceChange events.

* @public */ InstanceId?: string | undefined; } /** *

Describes an event in the history of an EC2 Fleet.

* @public */ export interface HistoryRecordEntry { /** *

Information about the event.

* @public */ EventInformation?: EventInformation | undefined; /** *

The event type.

* @public */ EventType?: FleetEventType | undefined; /** *

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

* @public */ Timestamp?: Date | undefined; } /** * @public */ export interface DescribeFleetHistoryResult { /** *

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

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

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

*

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

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

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

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

The ID of the EC Fleet.

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

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

* @public */ StartTime?: Date | undefined; } /** * @public */ export interface DescribeFleetInstancesRequest { /** *

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

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

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

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

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

The ID of the EC2 Fleet.

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

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** * @public */ export interface DescribeFleetInstancesResult { /** *

The running instances. This list is refreshed periodically and might be out of * date.

* @public */ ActiveInstances?: ActiveInstance[] | undefined; /** *

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

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

The ID of the EC2 Fleet.

* @public */ FleetId?: string | undefined; } /** * @public */ export interface DescribeFleetsRequest { /** *

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

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

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

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

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

The IDs of the EC2 Fleets.

* *

If a fleet is of type instant, you must specify the fleet ID, otherwise * it does not appear in the response.

*
* @public */ FleetIds?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** *

Describes the instances that could not be launched by the fleet.

* @public */ export interface DescribeFleetError { /** *

The launch templates and overrides that were used for launching the instances. The * values that you specify in the Overrides replace the values in the launch template.

* @public */ LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse | undefined; /** *

Indicates if the instance that could not be launched was a Spot, On-Demand, Capacity Block, * or Interruptible Capacity Reservation instance.

* @public */ Lifecycle?: InstanceLifecycle | undefined; /** *

The error code that indicates why the instance could not be launched. For more * information about error codes, see Error codes.

* @public */ ErrorCode?: string | undefined; /** *

The error message that describes why the instance could not be launched. For more * information about error messages, see Error codes.

* @public */ ErrorMessage?: string | undefined; } /** *

Describes the instances that were launched by the fleet.

* @public */ export interface DescribeFleetsInstances { /** *

The launch templates and overrides that were used for launching the instances. The * values that you specify in the Overrides replace the values in the launch template.

* @public */ LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse | undefined; /** *

Indicates if the instance that was launched is a Spot, On-Demand, Capacity Block, * or Interruptible Capacity Reservation instance.

* @public */ Lifecycle?: InstanceLifecycle | undefined; /** *

The IDs of the instances.

* @public */ InstanceIds?: string[] | undefined; /** *

The instance type.

* @public */ InstanceType?: _InstanceType | undefined; /** *

The value is windows for Windows instances in an EC2 Fleet. Otherwise, the value is * blank.

* @public */ Platform?: PlatformValues | undefined; } /** *

Describes a launch template and overrides.

* @public */ export interface FleetLaunchTemplateConfig { /** *

The launch template.

* @public */ LaunchTemplateSpecification?: FleetLaunchTemplateSpecification | undefined; /** *

Any parameters that you specify override the same parameters in the launch * template.

* @public */ Overrides?: FleetLaunchTemplateOverrides[] | undefined; } /** *

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand * capacity.

* *

This strategy can only be used if the EC2 Fleet is of type * instant.

*
*

For more information about Capacity Reservations, see On-Demand Capacity * Reservations in the Amazon EC2 User Guide. For examples of using * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example * configurations in the Amazon EC2 User Guide.

* @public */ export interface CapacityReservationOptions { /** *

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

*

If you specify use-capacity-reservations-first, the fleet uses unused * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If * multiple instance pools have unused Capacity Reservations, the On-Demand allocation * strategy (lowest-price or prioritized) is applied. If the number * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining * On-Demand target capacity is launched according to the On-Demand allocation strategy * (lowest-price or prioritized).

*

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the * chosen On-Demand allocation strategy.

* @public */ UsageStrategy?: FleetCapacityReservationUsageStrategy | undefined; } /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

* @public */ export interface OnDemandOptions { /** *

The strategy that determines the order of the launch template overrides to use in * fulfilling On-Demand capacity.

*

* lowest-price - EC2 Fleet uses price to determine the order, launching the lowest * price first.

*

* prioritized - EC2 Fleet uses the priority that you assigned to each launch * template override, launching the highest priority first.

*

Default: lowest-price *

* @public */ AllocationStrategy?: FleetOnDemandAllocationStrategy | undefined; /** *

The strategy for using unused Capacity Reservations for fulfilling On-Demand * capacity.

*

Supported only for fleets of type instant.

* @public */ CapacityReservationOptions?: CapacityReservationOptions | undefined; /** *

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the * fleet.

*

Supported only for fleets of type instant.

* @public */ SingleInstanceType?: boolean | undefined; /** *

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

*

Supported only for fleets of type instant.

* @public */ SingleAvailabilityZone?: boolean | undefined; /** *

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't * reached, no instances are launched.

*

Constraints: Maximum value of 1000. Supported only for fleets of type * instant.

*

At least one of the following must be specified: SingleAvailabilityZone | * SingleInstanceType *

* @public */ MinTargetCapacity?: number | undefined; /** *

The maximum amount per hour for On-Demand Instances that you're willing to pay.

* *

If your fleet includes T instances that are configured as unlimited, and * if their average CPU usage exceeds the baseline utilization, you will incur a charge for * surplus credits. The maxTotalPrice does not account for surplus credits, * and, if you use surplus credits, your final cost might be higher than what you specified * for maxTotalPrice. For more information, see Surplus credits can incur charges in the * Amazon EC2 User Guide.

*
* @public */ MaxTotalPrice?: string | undefined; } /** *

Defines EC2 Fleet preferences for utilizing reserved capacity when DefaultTargetCapacityType is set to reserved-capacity.

* @public */ export interface ReservedCapacityOptions { /** *

The types of Capacity Reservations used for fulfilling the EC2 Fleet request.

* @public */ ReservationTypes?: FleetReservationType[] | undefined; } /** *

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an * elevated risk of being interrupted.

* @public */ export interface FleetSpotCapacityRebalance { /** *

The replacement strategy to use. Only available for fleets of type * maintain.

*

* launch - EC2 Fleet launches a new replacement Spot Instance when a * rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet * does not terminate the instances that receive a rebalance notification. You can terminate * the old instances, or you can leave them running. You are charged for all instances while * they are running.

*

* launch-before-terminate - EC2 Fleet launches a new replacement Spot * Instance when a rebalance notification is emitted for an existing Spot Instance in the * fleet, and then, after a delay that you specify (in TerminationDelay), * terminates the instances that received a rebalance notification.

* @public */ ReplacementStrategy?: FleetReplacementStrategy | undefined; /** *

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot * Instance after launching a new replacement Spot Instance.

*

Required when ReplacementStrategy is set to launch-before-terminate.

*

Not valid when ReplacementStrategy is set to launch.

*

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

* @public */ TerminationDelay?: number | undefined; } /** *

The strategies for managing your Spot Instances that are at an elevated risk of being * interrupted.

* @public */ export interface FleetSpotMaintenanceStrategies { /** *

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an * elevated risk of being interrupted.

* @public */ CapacityRebalance?: FleetSpotCapacityRebalance | undefined; } /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

* @public */ export interface SpotOptions { /** *

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance * pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the * Amazon EC2 User Guide.

*
*
price-capacity-optimized (recommended)
*
*

EC2 Fleet identifies the pools with * the highest capacity availability for the number of instances that are launching. This means * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption * in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

*
*
capacity-optimized
*
*

EC2 Fleet identifies the pools with * the highest capacity availability for the number of instances that are launching. This means * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption * in the near term. To give certain * instance types a higher chance of launching first, use * capacity-optimized-prioritized. Set a priority for each instance type by * using the Priority parameter for LaunchTemplateOverrides. You can * assign the same priority to different LaunchTemplateOverrides. EC2 implements * the priorities on a best-effort basis, but optimizes for capacity first. * capacity-optimized-prioritized is supported only if your EC2 Fleet uses a * launch template. Note that if the On-Demand AllocationStrategy is set to * prioritized, the same priority is applied when fulfilling On-Demand * capacity.

*
*
diversified
*
*

EC2 Fleet requests instances from all of the Spot Instance pools that you * specify.

*
*
lowest-price (not recommended)
*
* *

We don't recommend the lowest-price allocation strategy because * it has the highest risk of interruption for your Spot Instances.

*
*

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances * come from the next lowest priced pool that has available capacity. If a pool runs * out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to * fulfill your request by drawing from the next lowest priced pool. To ensure that * your desired capacity is met, you might receive Spot Instances from several pools. Because * this strategy only considers instance price and not capacity availability, it * might lead to high interruption rates.

*
*
*

Default: lowest-price *

* @public */ AllocationStrategy?: SpotAllocationStrategy | undefined; /** *

The strategies for managing your workloads on your Spot Instances that will be * interrupted. Currently only the capacity rebalance strategy is available.

* @public */ MaintenanceStrategies?: FleetSpotMaintenanceStrategies | undefined; /** *

The behavior when a Spot Instance is interrupted.

*

Default: terminate *

* @public */ InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | undefined; /** *

The number of Spot pools across which to allocate your target Spot capacity. Supported * only when AllocationStrategy is set to lowest-price. EC2 Fleet selects * the cheapest Spot pools and evenly allocates your target Spot capacity across the number of * Spot pools that you specify.

*

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a * best effort basis. If a pool runs out of Spot capacity before fulfilling your target * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than * the number of pools that you specified. Similarly, if most of the pools have no Spot * capacity, you might receive your full target capacity from fewer than the number of pools * that you specified.

* @public */ InstancePoolsToUseCount?: number | undefined; /** *

Indicates that the fleet uses a single instance type to launch all Spot Instances in the * fleet.

*

Supported only for fleets of type instant.

* @public */ SingleInstanceType?: boolean | undefined; /** *

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

*

Supported only for fleets of type instant.

* @public */ SingleAvailabilityZone?: boolean | undefined; /** *

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't * reached, no instances are launched.

*

Constraints: Maximum value of 1000. Supported only for fleets of type * instant.

*

At least one of the following must be specified: SingleAvailabilityZone | * SingleInstanceType *

* @public */ MinTargetCapacity?: number | undefined; /** *

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend * using this parameter because it can lead to increased interruptions. If you do not specify * this parameter, you will pay the current Spot price.

* *

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

*
* *

If your fleet includes T instances that are configured as unlimited, and * if their average CPU usage exceeds the baseline utilization, you will incur a charge for * surplus credits. The maxTotalPrice does not account for surplus credits, * and, if you use surplus credits, your final cost might be higher than what you specified * for maxTotalPrice. For more information, see Surplus credits can incur charges in the * Amazon EC2 User Guide.

*
* @public */ MaxTotalPrice?: string | undefined; } /** *

The number of units to request. You can choose to set the target capacity in terms of * instances or a performance characteristic that is important to your application workload, * such as vCPUs, memory, or I/O. If the request type is maintain, you can * specify a target capacity of 0 and add capacity later.

*

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance * MaxTotalPrice, or both to ensure that your fleet cost does not exceed your * budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet * will launch instances until it reaches the maximum amount that you're willing to pay. When * the maximum amount you're willing to pay is reached, the fleet stops launching instances * even if it hasn’t met the target capacity. The MaxTotalPrice parameters are * located in OnDemandOptions * and SpotOptions.

* @public */ export interface TargetCapacitySpecification { /** *

The number of units to request, filled the default target capacity type.

* @public */ TotalTargetCapacity?: number | undefined; /** *

The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

* @public */ OnDemandTargetCapacity?: number | undefined; /** *

The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

* @public */ SpotTargetCapacity?: number | undefined; /** *

The default target capacity type.

* @public */ DefaultTargetCapacityType?: DefaultTargetCapacityType | undefined; /** *

The unit for the target capacity.

* @public */ TargetCapacityUnitType?: TargetCapacityUnitType | undefined; } /** *

Describes an EC2 Fleet.

* @public */ export interface FleetData { /** *

The progress of the EC2 Fleet.

*

For fleets of type instant, the status is fulfilled after all * requests are placed, regardless of whether target capacity is met (this is the only * possible status for instant fleets).

*

For fleets of type request or maintain, the status is * pending_fulfillment after all requests are placed, fulfilled * when the fleet size meets or exceeds target capacity, pending_termination * while instances are terminating when fleet size is decreased, and error if * there's an error.

* @public */ ActivityStatus?: FleetActivityStatus | undefined; /** *

The creation date and time of the EC2 Fleet.

* @public */ CreateTime?: Date | undefined; /** *

The ID of the EC2 Fleet.

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

The state of the EC2 Fleet.

* @public */ FleetState?: FleetStateCode | undefined; /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. For more information, see Ensuring * idempotency.

*

Constraints: Maximum 64 ASCII characters

* @public */ ClientToken?: string | undefined; /** *

Indicates whether running instances should be terminated if the target capacity of the * EC2 Fleet is decreased below the current size of the EC2 Fleet.

*

Supported only for fleets of type maintain.

* @public */ ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | undefined; /** *

The number of units fulfilled by this request compared to the set target * capacity.

* @public */ FulfilledCapacity?: number | undefined; /** *

The number of units fulfilled by this request compared to the set target On-Demand * capacity.

* @public */ FulfilledOnDemandCapacity?: number | undefined; /** *

The launch template and overrides.

* @public */ LaunchTemplateConfigs?: FleetLaunchTemplateConfig[] | undefined; /** *

The number of units to request. You can choose to set the target capacity in terms of * instances or a performance characteristic that is important to your application workload, * such as vCPUs, memory, or I/O. If the request type is maintain, you can * specify a target capacity of 0 and add capacity later.

* @public */ TargetCapacitySpecification?: TargetCapacitySpecification | undefined; /** *

Indicates whether running instances should be terminated when the EC2 Fleet expires.

* @public */ TerminateInstancesWithExpiration?: boolean | undefined; /** *

The type of request. Indicates whether the EC2 Fleet only requests the target * capacity, or also attempts to maintain it. If you request a certain target * capacity, EC2 Fleet only places the required requests; it does not attempt to replenish * instances if capacity is diminished, and it does not submit requests in alternative * capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet * places the required requests to meet this target capacity. It also automatically * replenishes any interrupted Spot Instances. Default: maintain.

* @public */ Type?: FleetType | undefined; /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). * The default is to start fulfilling the request immediately.

* @public */ ValidFrom?: Date | undefined; /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). * At this point, no new instance requests are placed or able to fulfill the request. The * default end date is 7 days from the current date.

* @public */ ValidUntil?: Date | undefined; /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for * fleets of type maintain. For more information, see EC2 Fleet * health checks in the Amazon EC2 User Guide.

* @public */ ReplaceUnhealthyInstances?: boolean | undefined; /** *

The configuration of Spot Instances in an EC2 Fleet.

* @public */ SpotOptions?: SpotOptions | undefined; /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

* @public */ OnDemandOptions?: OnDemandOptions | undefined; /** *

Defines EC2 Fleet preferences for utilizing reserved capacity when DefaultTargetCapacityType is set to reserved-capacity.

* @public */ ReservedCapacityOptions?: ReservedCapacityOptions | undefined; /** *

The tags for an EC2 Fleet resource.

* @public */ Tags?: Tag[] | undefined; /** *

Information about the instances that could not be launched by the fleet. Valid only when * Type is set to instant.

* @public */ Errors?: DescribeFleetError[] | undefined; /** *

Information about the instances that were launched by the fleet. Valid only when * Type is set to instant.

* @public */ Instances?: DescribeFleetsInstances[] | undefined; /** *

Reserved.

* @public */ Context?: string | undefined; } /** * @public */ export interface DescribeFleetsResult { /** *

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

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

Information about the EC2 Fleets.

* @public */ Fleets?: FleetData[] | undefined; } /** * @public */ export interface DescribeFlowLogsRequest { /** *

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

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

One or more filters.

* * @public */ Filter?: Filter[] | undefined; /** *

One or more flow log IDs.

*

Constraint: Maximum of 1000 flow log IDs.

* @public */ FlowLogIds?: string[] | undefined; /** *

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

The token to request the next page of items. Pagination continues from the end of the items returned by the previous request.

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

Describes the destination options for a flow log.

* @public */ export interface DestinationOptionsResponse { /** *

The format for the flow log.

* @public */ FileFormat?: DestinationFileFormat | undefined; /** *

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

* @public */ HiveCompatiblePartitions?: boolean | undefined; /** *

Indicates whether to partition the flow log per hour.

* @public */ PerHourPartition?: boolean | undefined; } /** *

Describes a flow log.

* @public */ export interface FlowLog { /** *

The date and time the flow log was created.

* @public */ CreationTime?: Date | undefined; /** *

Information about the error that occurred. Rate limited indicates that * CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've * reached the limit on the number of log groups that you can create. Access * error indicates that the IAM role associated with the flow log does not have * sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an * internal error.

* @public */ DeliverLogsErrorMessage?: string | undefined; /** *

The ARN of the IAM role allows the service to publish logs to CloudWatch Logs.

* @public */ DeliverLogsPermissionArn?: string | undefined; /** *

The ARN of the IAM role that allows the service to publish flow logs across accounts.

* @public */ DeliverCrossAccountRole?: string | undefined; /** *

The status of the logs delivery (SUCCESS | FAILED).

* @public */ DeliverLogsStatus?: string | undefined; /** *

The ID of the flow log.

* @public */ FlowLogId?: string | undefined; /** *

The status of the flow log (ACTIVE).

* @public */ FlowLogStatus?: string | undefined; /** *

The name of the flow log group.

* @public */ LogGroupName?: string | undefined; /** *

The ID of the resource being monitored.

* @public */ ResourceId?: string | undefined; /** *

The type of traffic captured for the flow log.

* @public */ TrafficType?: TrafficType | undefined; /** *

The type of destination for the flow log data.

* @public */ LogDestinationType?: LogDestinationType | undefined; /** *

The Amazon Resource Name (ARN) of the destination for the flow log data.

* @public */ LogDestination?: string | undefined; /** *

The format of the flow log record.

* @public */ LogFormat?: string | undefined; /** *

The tags for the flow log.

* @public */ Tags?: Tag[] | undefined; /** *

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

*

When a network interface is attached to a Nitro-based * instance, the aggregation interval is always 60 seconds (1 minute) or less, * regardless of the specified value.

*

Valid Values: 60 | 600 *

* @public */ MaxAggregationInterval?: number | undefined; /** *

The destination options.

* @public */ DestinationOptions?: DestinationOptionsResponse | undefined; } /** * @public */ export interface DescribeFlowLogsResult { /** *

Information about the flow logs.

* @public */ FlowLogs?: FlowLog[] | undefined; /** *

The token to request the next page of items. This value is null when there are no more items to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeFpgaImageAttributeRequest { /** *

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

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

The ID of the AFI.

* @public */ FpgaImageId: string | undefined; /** *

The AFI attribute.

* @public */ Attribute: FpgaImageAttributeName | undefined; } /** *

Describes a load permission.

* @public */ export interface LoadPermission { /** *

The Amazon Web Services account ID.

* @public */ UserId?: string | undefined; /** *

The name of the group.

* @public */ Group?: PermissionGroup | undefined; } /** *

Describes a product code.

* @public */ export interface ProductCode { /** *

The product code.

* @public */ ProductCodeId?: string | undefined; /** *

The type of product code.

* @public */ ProductCodeType?: ProductCodeValues | undefined; } /** *

Describes an Amazon FPGA image (AFI) attribute.

* @public */ export interface FpgaImageAttribute { /** *

The ID of the AFI.

* @public */ FpgaImageId?: string | undefined; /** *

The name of the AFI.

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

The description of the AFI.

* @public */ Description?: string | undefined; /** *

The load permissions.

* @public */ LoadPermissions?: LoadPermission[] | undefined; /** *

The product codes.

* @public */ ProductCodes?: ProductCode[] | undefined; } /** * @public */ export interface DescribeFpgaImageAttributeResult { /** *

Information about the attribute.

* @public */ FpgaImageAttribute?: FpgaImageAttribute | undefined; } /** * @public */ export interface DescribeFpgaImagesRequest { /** *

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

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

The AFI IDs.

* @public */ FpgaImageIds?: string[] | undefined; /** *

Filters the AFI by owner. Specify an Amazon Web Services account ID, self * (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are * amazon | aws-marketplace).

* @public */ Owners?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

The token to retrieve the next page of results.

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

The maximum number of results to return in a single call.

* @public */ MaxResults?: number | undefined; } /** *

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

* @public */ export interface PciId { /** *

The ID of the device.

* @public */ DeviceId?: string | undefined; /** *

The ID of the vendor.

* @public */ VendorId?: string | undefined; /** *

The ID of the subsystem.

* @public */ SubsystemId?: string | undefined; /** *

The ID of the vendor for the subsystem.

* @public */ SubsystemVendorId?: string | undefined; } /** *

Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

* @public */ export interface FpgaImageState { /** *

The state. The following are the possible values:

* * @public */ Code?: FpgaImageStateCode | undefined; /** *

If the state is failed, this is the error message.

* @public */ Message?: string | undefined; } /** *

Describes an Amazon FPGA image (AFI).

* @public */ export interface FpgaImage { /** *

The FPGA image identifier (AFI ID).

* @public */ FpgaImageId?: string | undefined; /** *

The global FPGA image identifier (AGFI ID).

* @public */ FpgaImageGlobalId?: string | undefined; /** *

The name of the AFI.

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

The description of the AFI.

* @public */ Description?: string | undefined; /** *

The version of the Amazon Web Services Shell that was used to create the bitstream.

* @public */ ShellVersion?: string | undefined; /** *

Information about the PCI bus.

* @public */ PciId?: PciId | undefined; /** *

Information about the state of the AFI.

* @public */ State?: FpgaImageState | undefined; /** *

The date and time the AFI was created.

* @public */ CreateTime?: Date | undefined; /** *

The time of the most recent update to the AFI.

* @public */ UpdateTime?: Date | undefined; /** *

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

* @public */ OwnerId?: string | undefined; /** *

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

* @public */ OwnerAlias?: string | undefined; /** *

The product codes for the AFI.

* @public */ ProductCodes?: ProductCode[] | undefined; /** *

Any tags assigned to the AFI.

* @public */ Tags?: Tag[] | undefined; /** *

Indicates whether the AFI is public.

* @public */ Public?: boolean | undefined; /** *

Indicates whether data retention support is enabled for the AFI.

* @public */ DataRetentionSupport?: boolean | undefined; /** *

The instance types supported by the AFI.

* @public */ InstanceTypes?: string[] | undefined; } /** * @public */ export interface DescribeFpgaImagesResult { /** *

Information about the FPGA images.

* @public */ FpgaImages?: FpgaImage[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeHostReservationOfferingsRequest { /** *

The filters.

* * @public */ Filter?: Filter[] | undefined; /** *

This is the maximum duration of the reservation to purchase, specified in seconds. * Reservations are available in one-year and three-year terms. The number of seconds * specified must be the number of seconds in a year (365x24x60x60) times one of the * supported durations (1 or 3). For example, specify 94608000 for three years.

* @public */ MaxDuration?: number | undefined; /** *

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.

* @public */ MaxResults?: number | undefined; /** *

This is the minimum duration of the reservation you'd like to purchase, specified in * seconds. Reservations are available in one-year and three-year terms. The number of * seconds specified must be the number of seconds in a year (365x24x60x60) times one of * the supported durations (1 or 3). For example, specify 31536000 for one year.

* @public */ MinDuration?: number | undefined; /** *

The token to use to retrieve the next page of results.

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

The ID of the reservation offering.

* @public */ OfferingId?: string | undefined; } /** *

Details about the Dedicated Host Reservation offering.

* @public */ export interface HostOffering { /** *

The currency of the offering.

* @public */ CurrencyCode?: CurrencyCodeValues | undefined; /** *

The duration of the offering (in seconds).

* @public */ Duration?: number | undefined; /** *

The hourly price of the offering.

* @public */ HourlyPrice?: string | undefined; /** *

The instance family of the offering.

* @public */ InstanceFamily?: string | undefined; /** *

The ID of the offering.

* @public */ OfferingId?: string | undefined; /** *

The available payment option.

* @public */ PaymentOption?: PaymentOption | undefined; /** *

The upfront price of the offering. Does not apply to No Upfront offerings.

* @public */ UpfrontPrice?: string | undefined; } /** * @public */ export interface DescribeHostReservationOfferingsResult { /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

Information about the offerings.

* @public */ OfferingSet?: HostOffering[] | undefined; } /** * @public */ export interface DescribeHostReservationsRequest { /** *

The filters.

* * @public */ Filter?: Filter[] | undefined; /** *

The host reservation IDs.

* @public */ HostReservationIdSet?: string[] | undefined; /** *

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.

* @public */ MaxResults?: number | undefined; /** *

The token to use to retrieve the next page of results.

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

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

* @public */ export interface HostReservation { /** *

The number of Dedicated Hosts the reservation is associated with.

* @public */ Count?: number | undefined; /** *

The currency in which the upfrontPrice and hourlyPrice * amounts are specified. At this time, the only supported currency is * USD.

* @public */ CurrencyCode?: CurrencyCodeValues | undefined; /** *

The length of the reservation's term, specified in seconds. Can be 31536000 (1 * year) | 94608000 (3 years).

* @public */ Duration?: number | undefined; /** *

The date and time that the reservation ends.

* @public */ End?: Date | undefined; /** *

The IDs of the Dedicated Hosts associated with the reservation.

* @public */ HostIdSet?: string[] | undefined; /** *

The ID of the reservation that specifies the associated Dedicated Hosts.

* @public */ HostReservationId?: string | undefined; /** *

The hourly price of the reservation.

* @public */ HourlyPrice?: string | undefined; /** *

The instance family of the Dedicated Host Reservation. The instance family on the * Dedicated Host must be the same in order for it to benefit from the reservation.

* @public */ InstanceFamily?: string | undefined; /** *

The ID of the reservation. This remains the same regardless of which Dedicated Hosts * are associated with it.

* @public */ OfferingId?: string | undefined; /** *

The payment option selected for this reservation.

* @public */ PaymentOption?: PaymentOption | undefined; /** *

The date and time that the reservation started.

* @public */ Start?: Date | undefined; /** *

The state of the reservation.

* @public */ State?: ReservationState | undefined; /** *

The upfront price of the reservation.

* @public */ UpfrontPrice?: string | undefined; /** *

Any tags assigned to the Dedicated Host Reservation.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeHostReservationsResult { /** *

Details about the reservation's configuration.

* @public */ HostReservationSet?: HostReservation[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeHostsRequest { /** *

The IDs of the Dedicated Hosts. The IDs are used for targeted instance * launches.

* @public */ HostIds?: string[] | undefined; /** *

The token to use to retrieve the next page of results.

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

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.

*

You cannot specify this parameter and the host IDs parameter in the same * request.

* @public */ MaxResults?: number | undefined; /** *

The filters.

* * @public */ Filter?: Filter[] | undefined; } /** *

Information about the number of instances that can be launched onto the Dedicated * Host.

* @public */ export interface InstanceCapacity { /** *

The number of instances that can be launched onto the Dedicated Host based on the * host's available capacity.

* @public */ AvailableCapacity?: number | undefined; /** *

The instance type supported by the Dedicated Host.

* @public */ InstanceType?: string | undefined; /** *

The total number of instances that can be launched onto the Dedicated Host if there * are no instances running on it.

* @public */ TotalCapacity?: number | undefined; } /** *

The capacity information for instances that can be launched onto the Dedicated Host. *

* @public */ export interface AvailableCapacity { /** *

The number of instances that can be launched onto the Dedicated Host depending on the * host's available capacity. For Dedicated Hosts that support multiple instance types, * this parameter represents the number of instances for each instance size that is * supported on the host.

* @public */ AvailableInstanceCapacity?: InstanceCapacity[] | undefined; /** *

The number of vCPUs available for launching instances onto the Dedicated Host.

* @public */ AvailableVCpus?: number | undefined; } /** *

Describes the properties of a Dedicated Host.

* @public */ export interface HostProperties { /** *

The number of cores on the Dedicated Host.

* @public */ Cores?: number | undefined; /** *

The instance type supported by the Dedicated Host. For example, m5.large. * If the host supports multiple instance types, no instanceType is returned.

* @public */ InstanceType?: string | undefined; /** *

The instance family supported by the Dedicated Host. For example, * m5.

* @public */ InstanceFamily?: string | undefined; /** *

The number of sockets on the Dedicated Host.

* @public */ Sockets?: number | undefined; /** *

The total number of vCPUs on the Dedicated Host.

* @public */ TotalVCpus?: number | undefined; } /** *

Describes an instance running on a Dedicated Host.

* @public */ export interface HostInstance { /** *

The ID of instance that is running on the Dedicated Host.

* @public */ InstanceId?: string | undefined; /** *

The instance type (for example, m3.medium) of the running * instance.

* @public */ InstanceType?: string | undefined; /** *

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

* @public */ OwnerId?: string | undefined; } /** *

Describes the properties of the Dedicated Host.

* @public */ export interface Host { /** *

Whether auto-placement is on or off.

* @public */ AutoPlacement?: AutoPlacement | undefined; /** *

The Availability Zone of the Dedicated Host.

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

Information about the instances running on the Dedicated Host.

* @public */ AvailableCapacity?: AvailableCapacity | undefined; /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

* @public */ ClientToken?: string | undefined; /** *

The ID of the Dedicated Host.

* @public */ HostId?: string | undefined; /** *

The hardware specifications of the Dedicated Host.

* @public */ HostProperties?: HostProperties | undefined; /** *

The reservation ID of the Dedicated Host. This returns a null response if * the Dedicated Host doesn't have an associated reservation.

* @public */ HostReservationId?: string | undefined; /** *

The IDs and instance type that are currently running on the Dedicated Host.

* @public */ Instances?: HostInstance[] | undefined; /** *

The Dedicated Host's state.

* @public */ State?: AllocationState | undefined; /** *

The time that the Dedicated Host was allocated.

* @public */ AllocationTime?: Date | undefined; /** *

The time that the Dedicated Host was released.

* @public */ ReleaseTime?: Date | undefined; /** *

Any tags assigned to the Dedicated Host.

* @public */ Tags?: Tag[] | undefined; /** *

Indicates whether host recovery is enabled or disabled for the Dedicated Host.

* @public */ HostRecovery?: HostRecovery | undefined; /** *

Indicates whether the Dedicated Host supports multiple instance types of the same * instance family. If the value is on, the Dedicated Host supports multiple * instance types in the instance family. If the value is off, the Dedicated * Host supports a single instance type only.

* @public */ AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | undefined; /** *

The ID of the Amazon Web Services account that owns the Dedicated Host.

* @public */ OwnerId?: string | undefined; /** *

The ID of the Availability Zone in which the Dedicated Host is allocated.

* @public */ AvailabilityZoneId?: string | undefined; /** *

Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the * host is in a host resource group; otherwise, it is not.

* @public */ MemberOfServiceLinkedResourceGroup?: boolean | undefined; /** *

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the * Dedicated Host is allocated.

* @public */ OutpostArn?: string | undefined; /** *

Indicates whether host maintenance is enabled or disabled for the Dedicated * Host.

* @public */ HostMaintenance?: HostMaintenance | undefined; /** *

The ID of the Outpost hardware asset on which the Dedicated Host is allocated.

* @public */ AssetId?: string | undefined; } /** * @public */ export interface DescribeHostsResult { /** *

Information about the Dedicated Hosts.

* @public */ Hosts?: Host[] | undefined; /** *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeIamInstanceProfileAssociationsRequest { /** *

The IAM instance profile associations.

* @public */ AssociationIds?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeIamInstanceProfileAssociationsResult { /** *

Information about the IAM instance profile associations.

* @public */ IamInstanceProfileAssociations?: IamInstanceProfileAssociation[] | undefined; /** *

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

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeIdentityIdFormatRequest { /** *

The type of resource: bundle | * conversion-task | customer-gateway | dhcp-options | * elastic-ip-allocation | elastic-ip-association | * export-task | flow-log | image | * import-task | instance | internet-gateway | * network-acl | network-acl-association | * network-interface | network-interface-attachment | * prefix-list | reservation | route-table | * route-table-association | security-group | * snapshot | subnet | * subnet-cidr-block-association | volume | vpc * | vpc-cidr-block-association | vpc-endpoint | * vpc-peering-connection | vpn-connection | vpn-gateway *

* @public */ Resource?: string | undefined; /** *

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

* @public */ PrincipalArn: string | undefined; } /** * @public */ export interface DescribeIdentityIdFormatResult { /** *

Information about the ID format for the resources.

* @public */ Statuses?: IdFormat[] | undefined; } /** * @public */ export interface DescribeIdFormatRequest { /** *

The type of resource: bundle | * conversion-task | customer-gateway | dhcp-options | * elastic-ip-allocation | elastic-ip-association | * export-task | flow-log | image | * import-task | instance | internet-gateway | * network-acl | network-acl-association | * network-interface | network-interface-attachment | * prefix-list | reservation | route-table | * route-table-association | security-group | * snapshot | subnet | * subnet-cidr-block-association | volume | vpc * | vpc-cidr-block-association | vpc-endpoint | * vpc-peering-connection | vpn-connection | vpn-gateway *

* @public */ Resource?: string | undefined; } /** * @public */ export interface DescribeIdFormatResult { /** *

Information about the ID format for the resource.

* @public */ Statuses?: IdFormat[] | undefined; } /** *

Contains the parameters for DescribeImageAttribute.

* @public */ export interface DescribeImageAttributeRequest { /** *

The AMI attribute.

*

* Note: The blockDeviceMapping attribute is * deprecated. Using this attribute returns the Client.AuthFailure error. To get * information about the block device mappings for an AMI, describe the image instead.

* @public */ Attribute: ImageAttributeName | undefined; /** *

The ID of the AMI.

* @public */ ImageId: string | undefined; /** *

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

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

Describes a launch permission.

* @public */ export interface LaunchPermission { /** *

The Amazon Resource Name (ARN) of an organization.

* @public */ OrganizationArn?: string | undefined; /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

* @public */ OrganizationalUnitArn?: string | undefined; /** *

The Amazon Web Services account ID.

*

Constraints: Up to 10 000 account IDs can be specified in a single request.

* @public */ UserId?: string | undefined; /** *

The name of the group.

* @public */ Group?: PermissionGroup | undefined; } /** *

Describes an image attribute.

* @public */ export interface ImageAttribute { /** *

A description for the AMI.

* @public */ Description?: AttributeValue | undefined; /** *

The kernel ID.

* @public */ KernelId?: AttributeValue | undefined; /** *

The RAM disk ID.

* @public */ RamdiskId?: AttributeValue | undefined; /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is * enabled.

* @public */ SriovNetSupport?: AttributeValue | undefined; /** *

The boot mode.

* @public */ BootMode?: AttributeValue | undefined; /** *

If the image is configured for NitroTPM support, the value is v2.0.

* @public */ TpmSupport?: AttributeValue | undefined; /** *

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data, * use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the * python-uefivars tool on * GitHub. For more information, see UEFI Secure Boot for Amazon EC2 * instances in the Amazon EC2 User Guide.

* @public */ UefiData?: AttributeValue | undefined; /** *

The date and time, in ISO 8601 date-time * format, when the AMI was last used to launch an EC2 instance. When the AMI is used * to launch an instance, there is a 24-hour delay before that usage is reported.

* *

* lastLaunchedTime data is available starting April 2017.

*
* @public */ LastLaunchedTime?: AttributeValue | undefined; /** *

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched * from this AMI will have HttpTokens automatically set to required so * that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. * In addition, HttpPutResponseHopLimit is set to 2. For more * information, see Configure the AMI in the Amazon EC2 User Guide.

* @public */ ImdsSupport?: AttributeValue | undefined; /** *

Indicates whether deregistration protection is enabled for the AMI.

* @public */ DeregistrationProtection?: AttributeValue | undefined; /** *

The ID of the AMI.

* @public */ ImageId?: string | undefined; /** *

The launch permissions.

* @public */ LaunchPermissions?: LaunchPermission[] | undefined; /** *

The product codes.

* @public */ ProductCodes?: ProductCode[] | undefined; /** *

The block device mapping entries.

* @public */ BlockDeviceMappings?: BlockDeviceMapping[] | undefined; } /** *

The options that affect the scope of the response.

* @public */ export interface ResourceTypeOption { /** *

The name of the option.

* * @public */ OptionName?: ImageReferenceOptionName | undefined; /** *

A value for the specified option.

* * @public */ OptionValues?: string[] | undefined; } /** *

A resource type to check for image references. Associated options can also be specified if the * resource type is an EC2 instance or launch template.

* @public */ export interface ResourceTypeRequest { /** *

The resource type.

* @public */ ResourceType?: ImageReferenceResourceType | undefined; /** *

The options that affect the scope of the response. Valid only when * ResourceType is ec2:Instance or * ec2:LaunchTemplate.

* @public */ ResourceTypeOptions?: ResourceTypeOption[] | undefined; } /** * @public */ export interface DescribeImageReferencesRequest { /** *

The IDs of the images to check for resource references.

* @public */ ImageIds: string[] | undefined; /** *

Specifies whether to check all supported Amazon Web Services resource types for image references. When * specified, default values are applied for ResourceTypeOptions. For the default * values, see How AMI * reference checks work in the Amazon EC2 User Guide. If you also * specify ResourceTypes with ResourceTypeOptions, your specified * values override the default values.

*

Supported resource types: ec2:Instance | ec2:LaunchTemplate | * ssm:Parameter | imagebuilder:ImageRecipe | * imagebuilder:ContainerRecipe *

*

Either IncludeAllResourceTypes or ResourceTypes must be * specified.

* @public */ IncludeAllResourceTypes?: boolean | undefined; /** *

The Amazon Web Services resource types to check for image references.

*

Either IncludeAllResourceTypes or ResourceTypes must be * specified.

* @public */ ResourceTypes?: ResourceTypeRequest[] | undefined; /** *

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

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

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

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

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

A resource that is referencing an image.

* @public */ export interface ImageReference { /** *

The ID of the referenced image.

* @public */ ImageId?: string | undefined; /** *

The type of resource referencing the image.

* @public */ ResourceType?: ImageReferenceResourceType | undefined; /** *

The Amazon Resource Name (ARN) of the resource referencing the image.

* @public */ Arn?: string | undefined; } /** * @public */ export interface DescribeImageReferencesResult { /** *

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

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

The resources that are referencing the specified images.

* @public */ ImageReferences?: ImageReference[] | undefined; } /** * @public */ export interface DescribeImagesRequest { /** *

Scopes the images by users with explicit launch permissions. Specify an Amazon Web Services account ID, self (the sender of the request), or all * (public AMIs).

* * @public */ ExecutableUsers?: string[] | undefined; /** *

The image IDs.

*

Default: Describes all images available to you.

* @public */ ImageIds?: string[] | undefined; /** *

Scopes the results to images with the specified owners. You can specify a combination of * Amazon Web Services account IDs, self, amazon, * aws-backup-vault, and aws-marketplace. If you omit this parameter, * the results include all images for which you have launch permissions, regardless of * ownership.

* @public */ Owners?: string[] | undefined; /** *

Specifies whether to include deprecated AMIs.

*

Default: No deprecated AMIs are included in the response.

* *

If you are the AMI owner, all deprecated AMIs appear in the response regardless of what * you specify for this parameter.

*
* @public */ IncludeDeprecated?: boolean | undefined; /** *

Specifies whether to include disabled AMIs.

*

Default: No disabled AMIs are included in the response.

* @public */ IncludeDisabled?: boolean | undefined; /** *

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

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

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

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** *

Describes an image.

* @public */ export interface Image { /** *

The platform details associated with the billing code of the AMI. For more information, * see Understand * AMI billing information in the Amazon EC2 User Guide.

* @public */ PlatformDetails?: string | undefined; /** *

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. * usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price * List API. You can view these fields on the Instances or AMIs pages in the Amazon EC2 console, * or in the responses that are returned by the DescribeImages command in * the Amazon EC2 API, or the describe-images command in the * CLI.

* @public */ UsageOperation?: string | undefined; /** *

Any block device mapping entries.

* @public */ BlockDeviceMappings?: BlockDeviceMapping[] | undefined; /** *

The description of the AMI that was provided during image creation.

* @public */ Description?: string | undefined; /** *

Specifies whether enhanced networking with ENA is enabled.

* @public */ EnaSupport?: boolean | undefined; /** *

The hypervisor type of the image. Only xen is supported. ovm is * not supported.

* @public */ Hypervisor?: HypervisorType | undefined; /** *

The owner alias (amazon | aws-backup-vault | * aws-marketplace).

* @public */ ImageOwnerAlias?: string | undefined; /** *

The name of the AMI that was provided during image creation.

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

The device name of the root device volume (for example, /dev/sda1).

* @public */ RootDeviceName?: string | undefined; /** *

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance * store volume.

* @public */ RootDeviceType?: DeviceType | undefined; /** *

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is * enabled.

* @public */ SriovNetSupport?: string | undefined; /** *

The reason for the state change.

* @public */ StateReason?: StateReason | undefined; /** *

Any tags assigned to the image.

* @public */ Tags?: Tag[] | undefined; /** *

The type of virtualization of the AMI.

* @public */ VirtualizationType?: VirtualizationType | undefined; /** *

The boot mode of the image. For more information, see Instance launch behavior with Amazon EC2 * boot modes in the Amazon EC2 User Guide.

* @public */ BootMode?: BootModeValues | undefined; /** *

If the image is configured for NitroTPM support, the value is v2.0. For more * information, see NitroTPM in the Amazon EC2 User Guide.

* @public */ TpmSupport?: TpmSupportValues | undefined; /** *

The date and time to deprecate the AMI, in UTC, in the following format: * YYYY-MM-DDTHH:MM:SSZ. * If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.

* @public */ DeprecationTime?: string | undefined; /** *

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched * from this AMI will have HttpTokens automatically set to required so * that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. * In addition, HttpPutResponseHopLimit is set to 2. For more * information, see Configure the AMI in the Amazon EC2 User Guide.

* @public */ ImdsSupport?: ImdsSupportValues | undefined; /** *

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using * CreateImage.

* @public */ SourceInstanceId?: string | undefined; /** *

Indicates whether deregistration protection is enabled for the AMI.

* @public */ DeregistrationProtection?: string | undefined; /** *

The date and time, in ISO 8601 date-time * format, when the AMI was last used to launch an EC2 instance. When the AMI is used * to launch an instance, there is a 24-hour delay before that usage is reported.

* *

* lastLaunchedTime data is available starting April 2017.

*
* @public */ LastLaunchedTime?: string | undefined; /** *

If true, the AMI satisfies the criteria for Allowed AMIs and can be * discovered and used in the account. If false and Allowed AMIs is set to * enabled, the AMI can't be discovered or used in the account. If * false and Allowed AMIs is set to audit-mode, the AMI can be * discovered and used in the account.

*

For more information, see Control the discovery and use of AMIs in * Amazon EC2 with Allowed AMIs in * Amazon EC2 User Guide.

* @public */ ImageAllowed?: boolean | undefined; /** *

The ID of the source AMI from which the AMI was created.

* @public */ SourceImageId?: string | undefined; /** *

The Region of the source AMI.

* @public */ SourceImageRegion?: string | undefined; /** *

Indicates whether the image is eligible for Amazon Web Services Free Tier.

* * @public */ FreeTierEligible?: boolean | undefined; /** *

The ID of the AMI.

* @public */ ImageId?: string | undefined; /** *

The location of the AMI.

* @public */ ImageLocation?: string | undefined; /** *

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

* @public */ State?: ImageState | undefined; /** *

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

* @public */ OwnerId?: string | undefined; /** *

The date and time the image was created.

* @public */ CreationDate?: string | undefined; /** *

Indicates whether the image has public launch permissions. The value is true * if this image has public launch permissions or false if it has only implicit and * explicit launch permissions.

* @public */ Public?: boolean | undefined; /** *

Any product codes associated with the AMI.

* @public */ ProductCodes?: ProductCode[] | undefined; /** *

The architecture of the image.

* @public */ Architecture?: ArchitectureValues | undefined; /** *

The type of image.

* @public */ ImageType?: ImageTypeValues | undefined; /** *

The kernel associated with the image, if any. Only applicable for machine images.

* @public */ KernelId?: string | undefined; /** *

The RAM disk associated with the image, if any. Only applicable for machine images.

* @public */ RamdiskId?: string | undefined; /** *

This value is set to windows for Windows AMIs; otherwise, it is blank.

* @public */ Platform?: PlatformValues | undefined; } /** * @public */ export interface DescribeImagesResult { /** *

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

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

Information about the images.

* @public */ Images?: Image[] | undefined; } /** * @public */ export interface DescribeImageUsageReportEntriesRequest { /** *

The IDs of the images for filtering the report entries. If specified, only report entries * containing these images are returned.

* @public */ ImageIds?: string[] | undefined; /** *

The IDs of the usage reports.

* @public */ ReportIds?: string[] | undefined; /** *

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

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

A single entry in an image usage report, detailing how an image is being used by a * specific Amazon Web Services account and resource type.

* @public */ export interface ImageUsageReportEntry { /** *

The type of resource (ec2:Instance or * ec2:LaunchTemplate).

* @public */ ResourceType?: string | undefined; /** *

The ID of the report.

* @public */ ReportId?: string | undefined; /** *

The number of times resources of this type reference this image in the account.

* @public */ UsageCount?: number | undefined; /** *

The ID of the account that uses the image.

* @public */ AccountId?: string | undefined; /** *

The ID of the image.

* @public */ ImageId?: string | undefined; /** *

The date and time the report creation was initiated.

* @public */ ReportCreationTime?: Date | undefined; } /** * @public */ export interface DescribeImageUsageReportEntriesResult { /** *

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

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

The content of the usage reports.

* @public */ ImageUsageReportEntries?: ImageUsageReportEntry[] | undefined; } /** * @public */ export interface DescribeImageUsageReportsRequest { /** *

The IDs of the images for filtering the reports. If specified, only reports containing * these images are returned.

* @public */ ImageIds?: string[] | undefined; /** *

The IDs of the image usage reports.

* @public */ ReportIds?: string[] | undefined; /** *

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

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

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

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

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

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

The options that affect the scope of the report.

* @public */ export interface ImageUsageResourceTypeOption { /** *

The name of the option.

* @public */ OptionName?: string | undefined; /** *

The number of launch template versions to check.

* @public */ OptionValues?: string[] | undefined; } /** *

A resource type to include in the report. Associated options can also be specified if the * resource type is a launch template.

* @public */ export interface ImageUsageResourceType { /** *

The resource type.

*

Valid values: ec2:Instance | ec2:LaunchTemplate *

* @public */ ResourceType?: string | undefined; /** *

The options that affect the scope of the report. Valid only when ResourceType * is ec2:LaunchTemplate.

* @public */ ResourceTypeOptions?: ImageUsageResourceTypeOption[] | undefined; } /** *

The configuration and status of an image usage report.

* @public */ export interface ImageUsageReport { /** *

The ID of the image that was specified when the report was created.

* @public */ ImageId?: string | undefined; /** *

The ID of the report.

* @public */ ReportId?: string | undefined; /** *

The resource types that were specified when the report was created.

* @public */ ResourceTypes?: ImageUsageResourceType[] | undefined; /** *

The IDs of the Amazon Web Services accounts that were specified when the report was created.

* @public */ AccountIds?: string[] | undefined; /** *

The current state of the report. Possible values:

* * @public */ State?: string | undefined; /** *

Provides additional details when the report is in an error state.

* @public */ StateReason?: string | undefined; /** *

The date and time when the report was created.

* @public */ CreationTime?: Date | undefined; /** *

The date and time when Amazon EC2 will delete the report (30 days after the report was * created).

* @public */ ExpirationTime?: Date | undefined; /** *

Any tags assigned to the report.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeImageUsageReportsResult { /** *

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

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

The image usage reports.

* @public */ ImageUsageReports?: ImageUsageReport[] | undefined; } /** * @public */ export interface DescribeImportImageTasksRequest { /** *

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

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

Filter tasks using the task-state filter and one of the following values: active, * completed, deleting, or deleted.

* @public */ Filters?: Filter[] | undefined; /** *

The IDs of the import image tasks.

* @public */ ImportTaskIds?: string[] | undefined; /** *

The maximum number of results to return in a single call.

* @public */ MaxResults?: number | undefined; /** *

A token that indicates the next page of results.

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

The response information for license configurations.

* @public */ export interface ImportImageLicenseConfigurationResponse { /** *

The ARN of a license configuration.

* @public */ LicenseConfigurationArn?: string | undefined; } /** *

Describes the Amazon S3 bucket for the disk image.

* @public */ export interface UserBucketDetails { /** *

The Amazon S3 bucket from which the disk image was created.

* @public */ S3Bucket?: string | undefined; /** *

The file name of the disk image.

* @public */ S3Key?: string | undefined; } /** *

Describes the snapshot created from the imported disk.

* @public */ export interface SnapshotDetail { /** *

A description for the snapshot.

* @public */ Description?: string | undefined; /** *

The block device mapping for the snapshot.

* @public */ DeviceName?: string | undefined; /** *

The size of the disk in the snapshot, in GiB.

* @public */ DiskImageSize?: number | undefined; /** *

The format of the disk image from which the snapshot is created.

* @public */ Format?: string | undefined; /** *

The percentage of progress for the task.

* @public */ Progress?: string | undefined; /** *

The snapshot ID of the disk being imported.

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

A brief status of the snapshot creation.

* @public */ Status?: string | undefined; /** *

A detailed status message for the snapshot creation.

* @public */ StatusMessage?: string | undefined; /** *

The URL used to access the disk image.

* @public */ Url?: string | undefined; /** *

The Amazon S3 bucket for the disk image.

* @public */ UserBucket?: UserBucketDetails | undefined; } /** *

Describes an import image task.

* @public */ export interface ImportImageTask { /** *

The architecture of the virtual machine.

*

Valid values: i386 | x86_64 | arm64 *

* @public */ Architecture?: string | undefined; /** *

A description of the import task.

* @public */ Description?: string | undefined; /** *

Indicates whether the image is encrypted.

* @public */ Encrypted?: boolean | undefined; /** *

The target hypervisor for the import task.

*

Valid values: xen *

* @public */ Hypervisor?: string | undefined; /** *

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

* @public */ ImageId?: string | undefined; /** *

The ID of the import image task.

* @public */ ImportTaskId?: string | undefined; /** *

The identifier for the KMS key that was used to create the encrypted image.

* @public */ KmsKeyId?: string | undefined; /** *

The license type of the virtual machine.

* @public */ LicenseType?: string | undefined; /** *

The description string for the import image task.

* @public */ Platform?: string | undefined; /** *

The percentage of progress of the import image task.

* @public */ Progress?: string | undefined; /** *

Information about the snapshots.

* @public */ SnapshotDetails?: SnapshotDetail[] | undefined; /** *

A brief status for the import image task.

* @public */ Status?: string | undefined; /** *

A descriptive status message for the import image task.

* @public */ StatusMessage?: string | undefined; /** *

The tags for the import image task.

* @public */ Tags?: Tag[] | undefined; /** *

The ARNs of the license configurations that are associated with the import image task.

* @public */ LicenseSpecifications?: ImportImageLicenseConfigurationResponse[] | undefined; /** *

The usage operation value.

* @public */ UsageOperation?: string | undefined; /** *

The boot mode of the virtual machine.

* @public */ BootMode?: BootModeValues | undefined; } /** * @public */ export interface DescribeImportImageTasksResult { /** *

A list of zero or more import image tasks that are currently active or were completed or canceled in the * previous 7 days.

* @public */ ImportImageTasks?: ImportImageTask[] | undefined; /** *

The token to use to get the next page of results. This value is null when there are no more results * to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeImportSnapshotTasksRequest { /** *

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

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

The filters.

* @public */ Filters?: Filter[] | undefined; /** *

A list of import snapshot task IDs.

* @public */ ImportTaskIds?: string[] | undefined; /** *

The maximum number of results to return in a single call. To retrieve the remaining results, make another call * with the returned NextToken value.

* @public */ MaxResults?: number | undefined; /** *

A token that indicates the next page of results.

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

Details about the import snapshot task.

* @public */ export interface SnapshotTaskDetail { /** *

The description of the disk image being imported.

* @public */ Description?: string | undefined; /** *

The size of the disk in the snapshot, in GiB.

* @public */ DiskImageSize?: number | undefined; /** *

Indicates whether the snapshot is encrypted.

* @public */ Encrypted?: boolean | undefined; /** *

The format of the disk image from which the snapshot is created.

* @public */ Format?: string | undefined; /** *

The identifier for the KMS key that was used to create the encrypted snapshot.

* @public */ KmsKeyId?: string | undefined; /** *

The percentage of completion for the import snapshot task.

* @public */ Progress?: string | undefined; /** *

The snapshot ID of the disk being imported.

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

A brief status for the import snapshot task.

* @public */ Status?: string | undefined; /** *

A detailed status message for the import snapshot task.

* @public */ StatusMessage?: string | undefined; /** *

The URL of the disk image from which the snapshot is created.

* @public */ Url?: string | undefined; /** *

The Amazon S3 bucket for the disk image.

* @public */ UserBucket?: UserBucketDetails | undefined; } /** *

Describes an import snapshot task.

* @public */ export interface ImportSnapshotTask { /** *

A description of the import snapshot task.

* @public */ Description?: string | undefined; /** *

The ID of the import snapshot task.

* @public */ ImportTaskId?: string | undefined; /** *

Describes an import snapshot task.

* @public */ SnapshotTaskDetail?: SnapshotTaskDetail | undefined; /** *

The tags for the import snapshot task.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface DescribeImportSnapshotTasksResult { /** *

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the * previous 7 days.

* @public */ ImportSnapshotTasks?: ImportSnapshotTask[] | undefined; /** *

The token to use to get the next page of results. This value is null when there are no more results * to return.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeInstanceAttributeRequest { /** *

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

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

The ID of the instance.

* @public */ InstanceId: string | undefined; /** *

The instance attribute.

*

Note that the enaSupport attribute is not supported.

* @public */ Attribute: InstanceAttributeName | undefined; } /** *

Describes a parameter used to set up an EBS volume in a block device mapping.

* @public */ export interface EbsInstanceBlockDevice { /** *

The time stamp when the attachment initiated.

* @public */ AttachTime?: Date | undefined; /** *

Indicates whether the volume is deleted on instance termination.

* @public */ DeleteOnTermination?: boolean | undefined; /** *

The attachment state.

* @public */ Status?: AttachmentStatus | undefined; /** *

The ID of the EBS volume.

* @public */ VolumeId?: string | undefined; /** *

The ARN of the Amazon Web Services-managed resource * to which the volume is attached.

* @public */ AssociatedResource?: string | undefined; /** *

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

*

This parameter is returned only for volumes that are attached to * Amazon Web Services-managed resources.

* @public */ VolumeOwnerId?: string | undefined; /** *

The service provider that manages the EBS volume.

* @public */ Operator?: OperatorResponse | undefined; /** *

The index of the EBS card. Some instance types support multiple EBS cards. The default EBS card index is 0.

* @public */ EbsCardIndex?: number | undefined; } /** *

Describes a block device mapping.

* @public */ export interface InstanceBlockDeviceMapping { /** *

The device name.

* @public */ DeviceName?: string | undefined; /** *

Parameters used to automatically set up EBS volumes when the instance is * launched.

* @public */ Ebs?: EbsInstanceBlockDevice | undefined; } /** *

Describes a value for a resource attribute that is a Boolean value.

* @public */ export interface AttributeBooleanValue { /** *

The attribute value. The valid values are true or false.

* @public */ Value?: boolean | undefined; } /** *

Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.

* @public */ export interface EnclaveOptions { /** *

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro * Enclaves.

* @public */ Enabled?: boolean | undefined; } /** *

Describes an instance attribute.

* @public */ export interface InstanceAttribute { /** *

The block device mapping of the instance.

* @public */ BlockDeviceMappings?: InstanceBlockDeviceMapping[] | undefined; /** *

Indicates whether termination protection is enabled. If the value is true, * you can't terminate the instance using the Amazon EC2 console, command line tools, or API.

* @public */ DisableApiTermination?: AttributeBooleanValue | undefined; /** *

Indicates whether enhanced networking with ENA is enabled.

* @public */ EnaSupport?: AttributeBooleanValue | undefined; /** *

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

* @public */ EnclaveOptions?: EnclaveOptions | undefined; /** *

Indicates whether the instance is optimized for Amazon EBS I/O.

* @public */ EbsOptimized?: AttributeBooleanValue | undefined; /** *

The ID of the instance.

* @public */ InstanceId?: string | undefined; /** *

Indicates whether an instance stops or terminates when you initiate shutdown from the * instance (using the operating system command for system shutdown).

* @public */ InstanceInitiatedShutdownBehavior?: AttributeValue | undefined; /** *

The instance type.

* @public */ InstanceType?: AttributeValue | undefined; /** *

The kernel ID.

* @public */ KernelId?: AttributeValue | undefined; /** *

The product codes.

* @public */ ProductCodes?: ProductCode[] | undefined; /** *

The RAM disk ID.

* @public */ RamdiskId?: AttributeValue | undefined; /** *

The device name of the root device volume (for example, * /dev/sda1).

* @public */ RootDeviceName?: AttributeValue | undefined; /** *

Indicates whether source/destination checks are enabled.

* @public */ SourceDestCheck?: AttributeBooleanValue | undefined; /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface * is enabled.

* @public */ SriovNetSupport?: AttributeValue | undefined; /** *

The user data.

* @public */ UserData?: AttributeValue | undefined; /** *

Indicates whether stop protection is enabled for the instance.

* @public */ DisableApiStop?: AttributeBooleanValue | undefined; /** *

The security groups associated with the instance.

* @public */ Groups?: GroupIdentifier[] | undefined; } /** * @public */ export interface DescribeInstanceConnectEndpointsRequest { /** *

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

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

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

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

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

One or more filters.

* * @public */ Filters?: Filter[] | undefined; /** *

One or more EC2 Instance Connect Endpoint IDs.

* @public */ InstanceConnectEndpointIds?: string[] | undefined; } /** * @public */ export interface DescribeInstanceConnectEndpointsResult { /** *

Information about the EC2 Instance Connect Endpoints.

* @public */ InstanceConnectEndpoints?: Ec2InstanceConnectEndpoint[] | undefined; /** *

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

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