import type { _InstanceType, ActivityStatus, AllocationStrategy, AmdSevSnpSpecification, AnalysisStatus, ArchitectureType, ArchitectureValues, AttachmentLimitType, AttachmentStatus, BandwidthWeightingType, BatchState, BootModeType, BootModeValues, CapacityReservationPreference, CurrencyCodeValues, DeviceType, DiskType, EbsEncryptionSupport, EbsNvmeSupport, EbsOptimizedSupport, EnaSupport, EphemeralNvmeSupport, EventCode, EventType, ExcessCapacityTerminationPolicy, FindingsFound, FleetType, FlexibleEnaQueuesSupport, HaStatus, HostnameType, HttpTokensState, HypervisorType, ImageState, InstanceAutoRecoveryState, InstanceBandwidthWeighting, InstanceBootModeValues, InstanceInterruptionBehavior, InstanceLifecycleType, InstanceMetadataEndpointState, InstanceMetadataOptionsState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceRebootMigrationState, InstanceStateName, InstanceStorageEncryptionSupport, InstanceTypeHypervisor, KeyType, LocationType, LockState, MonitoringState, MoveStatus, NestedVirtualizationSpecification, NetworkInterfaceAttribute, NetworkInterfaceStatus, NitroEnclavesSupport, NitroTpmSupport, OfferingClassType, OfferingTypeValues, OnDemandAllocationStrategy, PermissionGroup, PhcSupport, PlacementGroupStrategy, PlatformValues, RebootMigrationSupport, RecurringChargeFrequency, ReplacementStrategy, ReservedInstanceState, ResourceType, RIProductDescription, RootDeviceType, Scope, SecondaryInterfaceStatus, SecondaryInterfaceType, SecondaryNetworkType, SecurityGroupVpcAssociationState, ServiceLinkVirtualInterfaceConfigurationState, SnapshotAttributeName, SnapshotState, SpotInstanceState, SpotInstanceType, SqlServerLicenseUsage, StatusName, StatusType, StorageTier, SummaryStatus, SupportedAdditionalProcessorFeature, TargetCapacityUnitType, Tenancy, TieringOperationStatus, UsageClassType, VirtualizationType } from "./enums"; import type { ActiveInstance, AlternatePathHint, Explanation, IamInstanceProfile, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, IpPermission, OperatorResponse, PathComponent, ReservedInstancesListing, SecurityGroupRule, Subnet, Tag, TagSpecification, UserIdGroupPair } from "./models_0"; import type { AttributeValue, BlockDeviceMapping, CapacityReservationTargetResponse, ConnectionTrackingSpecificationRequest, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, GroupIdentifier, InstanceIpv6Address, InstanceRequirements, InternetGateway, Ipam, IpamExternalResourceVerificationToken, IpamPolicy, IpamPool, IpamPrefixListResolver, IpamPrefixListResolverTarget, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, LocalGatewayVirtualInterface, LocalGatewayVirtualInterfaceGroup, MacModificationTask, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, Placement, PlacementGroup, PrivateIpAddressSpecification, ReplaceRootVolumeTask, RouteServer, RouteServerEndpoint, RouteServerPeer, RouteTable, StateReason } from "./models_1"; import type { SecondaryNetwork, SecondarySubnet, Snapshot, SpotDatafeedSubscription, SpotInstanceStateFault } from "./models_2"; import type { AttributeBooleanValue, Byoasn, EnclaveOptions, EventInformation, Filter, IdFormat, InstanceBlockDeviceMapping, InstanceTagNotificationAttribute, ProductCode } from "./models_3"; /** * @public */ export interface DescribeInstanceCreditSpecificationsRequest { /** *

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 filters.

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

The instance IDs.

*

Default: Describes all your instances.

*

Constraints: Maximum 1000 explicitly specified instance IDs.

* @public */ InstanceIds?: 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 cannot specify this parameter and the instance IDs * parameter in the same call.

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

Describes the credit option for CPU usage of a burstable performance instance.

* @public */ export interface InstanceCreditSpecification { /** *

The ID of the instance.

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

The credit option for CPU usage of the instance.

*

Valid values: standard | unlimited *

* @public */ CpuCredits?: string | undefined; } /** * @public */ export interface DescribeInstanceCreditSpecificationsResult { /** *

Information about the credit option for CPU usage of an instance.

* @public */ InstanceCreditSpecifications?: InstanceCreditSpecification[] | 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 DescribeInstanceEventNotificationAttributesRequest { /** *

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 DescribeInstanceEventNotificationAttributesResult { /** *

Information about the registered tag keys.

* @public */ InstanceTagAttribute?: InstanceTagNotificationAttribute | undefined; } /** *

Describe instance event windows by InstanceEventWindow.

* @public */ export interface DescribeInstanceEventWindowsRequest { /** *

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 event windows.

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

One or more 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 20 and 500. You cannot specify this parameter and the event window IDs parameter * in the same call.

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

The token to request the next page of results.

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

Information about the event windows.

* @public */ InstanceEventWindows?: InstanceEventWindow[] | 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 DescribeInstanceImageMetadataRequest { /** *

The filters.

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

The instance IDs.

*

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

* @public */ InstanceIds?: 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.

*

Default: 1000

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

Information about the AMI.

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

The ID of the AMI.

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

The name of the AMI.

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

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

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

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

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

The alias of the AMI owner.

*

Valid values: amazon | aws-backup-vault | * aws-marketplace *

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

The date and time the AMI was created.

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

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

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

If true, the AMI satisfies the criteria for Allowed AMIs and can be * discovered and used in the account. If false, the AMI can't be discovered or 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; /** *

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

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

Describes the current state of an instance.

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

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

*

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

*

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

*

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

* *

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

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

The current state of the instance.

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

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

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

The ID of the instance.

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

The instance type.

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

The time the instance was launched.

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

The Availability Zone or Local Zone of the instance.

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

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

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

The current state of the instance.

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

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

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

Any tags assigned to the instance.

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

Information about the AMI used to launch the instance.

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

The entity that manages the instance.

* @public */ Operator?: OperatorResponse | undefined; } /** * @public */ export interface DescribeInstanceImageMetadataResult { /** *

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

* @public */ InstanceImageMetadata?: InstanceImageMetadata[] | 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 DescribeInstancesRequest { /** *

The instance IDs.

*

Default: Describes all your instances.

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

Indicates whether to include managed resources in the output. If this parameter is set * to true, the output includes resources that are managed by Amazon Web Services services, * even if managed resource visibility is set to hidden.

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

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

*

You cannot specify this parameter and the instance IDs parameter in the same request.

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

Describes the instance's Capacity Reservation targeting preferences. The action returns the * capacityReservationPreference response element if the instance is * configured to run in On-Demand capacity, or if it is configured in run in any * open Capacity Reservation that has matching attributes (instance type, platform, * Availability Zone). The action returns the capacityReservationTarget * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

* @public */ export interface CapacityReservationSpecificationResponse { /** *

Describes the instance's Capacity Reservation preferences. Possible preferences include:

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

Information about the targeted Capacity Reservation or Capacity Reservation group.

* @public */ CapacityReservationTarget?: CapacityReservationTargetResponse | undefined; } /** *

The CPU options for the instance.

* @public */ export interface CpuOptions { /** *

The number of CPU cores for the instance.

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

The number of threads per CPU core.

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

Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see * AMD SEV-SNP.

* @public */ AmdSevSnp?: AmdSevSnpSpecification | undefined; /** *

Indicates whether the instance is enabled for nested virtualization.

* @public */ NestedVirtualization?: NestedVirtualizationSpecification | undefined; } /** * *

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

*
*

Describes the association between an instance and an Elastic Graphics accelerator.

* @public */ export interface ElasticGpuAssociation { /** *

The ID of the Elastic Graphics accelerator.

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

The ID of the association.

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

The state of the association between the instance and the * Elastic Graphics accelerator.

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

The time the Elastic Graphics accelerator was associated with the instance.

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

Amazon Elastic Inference is no longer available.

*
*

* Describes the association between an instance and an elastic inference accelerator. *

* @public */ export interface ElasticInferenceAcceleratorAssociation { /** *

* The Amazon Resource Name (ARN) of the elastic inference accelerator. *

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

* The ID of the association. *

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

* The state of the elastic inference accelerator. *

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

* The time at which the elastic inference accelerator is associated with an instance. *

* @public */ ElasticInferenceAcceleratorAssociationTime?: Date | undefined; } /** *

Indicates whether your instance is configured for hibernation. This parameter is valid * only if the instance meets the hibernation * prerequisites. For more information, see Hibernate your Amazon EC2 * instance in the Amazon EC2 User Guide.

* @public */ export interface HibernationOptions { /** *

If true, your instance is enabled for hibernation; otherwise, it is not * enabled for hibernation.

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

Describes a license configuration.

* @public */ export interface LicenseConfiguration { /** *

The Amazon Resource Name (ARN) of the license configuration.

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

The maintenance options for the instance.

* @public */ export interface InstanceMaintenanceOptions { /** *

Provides information on the current automatic recovery behavior of your * instance.

* @public */ AutoRecovery?: InstanceAutoRecoveryState | undefined; /** *

Specifies whether to attempt reboot migration during a user-initiated reboot of an * instance that has a scheduled system-reboot event:

* *

This setting only applies to supported instances that have a scheduled reboot event. * For more information, see Enable or disable reboot migration in the * Amazon EC2 User Guide.

* @public */ RebootMigration?: InstanceRebootMigrationState | undefined; } /** *

The metadata options for the instance.

* @public */ export interface InstanceMetadataOptionsResponse { /** *

The state of the metadata option changes.

*

* pending - The metadata options are being updated and the instance is not * ready to process metadata traffic with the new selection.

*

* applied - The metadata options have been successfully applied on the * instance.

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

Indicates whether IMDSv2 is required.

* * @public */ HttpTokens?: HttpTokensState | undefined; /** *

The maximum number of hops that the metadata token can travel.

*

Possible values: Integers from 1 to 64 *

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

Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.

*

If the value is disabled, you cannot access your instance * metadata.

* @public */ HttpEndpoint?: InstanceMetadataEndpointState | undefined; /** *

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or * disabled.

*

Default: disabled *

* @public */ HttpProtocolIpv6?: InstanceMetadataProtocolState | undefined; /** *

Indicates whether access to instance tags from the instance metadata is enabled or * disabled. For more information, see View tags for your EC2 * instances using instance metadata.

* @public */ InstanceMetadataTags?: InstanceMetadataTagsState | undefined; } /** *

Describes the monitoring of an instance.

* @public */ export interface Monitoring { /** *

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is * enabled.

* @public */ State?: MonitoringState | undefined; } /** *

Describes association information for an Elastic IP address (IPv4).

* @public */ export interface InstanceNetworkInterfaceAssociation { /** *

The carrier IP address associated with the network interface.

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

The customer-owned IP address associated with the network interface.

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

The ID of the owner of the Elastic IP address.

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

The public DNS name.

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

The public IP address or Elastic IP address bound to the network interface.

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

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic * automatically uses it. However, some UDP-based applications are designed to handle network packets that are * out of order, without a need for retransmission, such as live video broadcasting or other near-real-time * applications. For UDP traffic, you can specify whether to use ENA Express, based on your application * environment needs.

* @public */ export interface InstanceAttachmentEnaSrdUdpSpecification { /** *

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, * you must first enable ENA Express.

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

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the * maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. * With ENA Express, you can communicate between two EC2 instances in the same subnet within the same * account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

*

To improve the reliability of network packet delivery, ENA Express reorders network packets on the * receiving end by default. However, some UDP-based applications are designed to handle network packets * that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express * is enabled, you can specify whether UDP network traffic uses it.

* @public */ export interface InstanceAttachmentEnaSrdSpecification { /** *

Indicates whether ENA Express is enabled for the network interface.

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

Configures ENA Express for UDP network traffic.

* @public */ EnaSrdUdpSpecification?: InstanceAttachmentEnaSrdUdpSpecification | undefined; } /** *

Describes a network interface attachment.

* @public */ export interface InstanceNetworkInterfaceAttachment { /** *

The time stamp when the attachment initiated.

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

The ID of the network interface attachment.

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

Indicates whether the network interface is deleted when the instance is * terminated.

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

The index of the device on the instance for the network interface attachment.

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

The attachment state.

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

The index of the network card.

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

Contains the ENA Express settings for the network interface that's attached to * the instance.

* @public */ EnaSrdSpecification?: InstanceAttachmentEnaSrdSpecification | undefined; /** *

The number of ENA queues created with the instance.

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

A security group connection tracking specification response that enables you to set * the idle timeout for connection tracking on an Elastic network interface. For more * information, see Connection tracking timeouts in the * Amazon EC2 User Guide.

* @public */ export interface ConnectionTrackingSpecificationResponse { /** *

Timeout (in seconds) for idle TCP * connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 * days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

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

Timeout (in seconds) for idle UDP * flows classified as streams which have seen more than one request-response * transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 * seconds.

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

Timeout (in seconds) for idle UDP flows that * have seen traffic only in a single direction or a single request-response * transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

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

Information about an IPv4 prefix.

* @public */ export interface InstanceIpv4Prefix { /** *

One or more IPv4 prefixes assigned to the network interface.

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

Information about an IPv6 prefix.

* @public */ export interface InstanceIpv6Prefix { /** *

One or more IPv6 prefixes assigned to the network interface.

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

Describes a private IPv4 address.

* @public */ export interface InstancePrivateIpAddress { /** *

The association information for an Elastic IP address for the network * interface.

* @public */ Association?: InstanceNetworkInterfaceAssociation | undefined; /** *

Indicates whether this IPv4 address is the primary private IP address of the network * interface.

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

The private IPv4 DNS name.

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

The private IPv4 address of the network interface.

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

Describes a network interface.

* @public */ export interface InstanceNetworkInterface { /** *

The association information for an Elastic IPv4 associated with the network * interface.

* @public */ Association?: InstanceNetworkInterfaceAssociation | undefined; /** *

The network interface attachment.

* @public */ Attachment?: InstanceNetworkInterfaceAttachment | undefined; /** *

The description.

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

The security groups.

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

The IPv6 addresses associated with the network interface.

* @public */ Ipv6Addresses?: InstanceIpv6Address[] | undefined; /** *

The MAC address.

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

The ID of the network interface.

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

The ID of the Amazon Web Services account that created the network interface.

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

The private DNS name.

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

The IPv4 address of the network interface within the subnet.

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

The private IPv4 addresses associated with the network interface.

* @public */ PrivateIpAddresses?: InstancePrivateIpAddress[] | undefined; /** *

Indicates whether source/destination checking is enabled.

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

The status of the network interface.

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

The ID of the subnet.

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

The ID of the VPC.

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

The type of network interface.

*

Valid values: interface | efa | efa-only | evs | * trunk *

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

The IPv4 delegated prefixes that are assigned to the network interface.

* @public */ Ipv4Prefixes?: InstanceIpv4Prefix[] | undefined; /** *

The IPv6 delegated prefixes that are assigned to the network interface.

* @public */ Ipv6Prefixes?: InstanceIpv6Prefix[] | undefined; /** *

A security group connection tracking configuration that enables you to set the timeout * for connection tracking on an Elastic network interface. For more information, see * Connection tracking timeouts in the * Amazon EC2 User Guide.

* @public */ ConnectionTrackingConfiguration?: ConnectionTrackingSpecificationResponse | undefined; /** *

The service provider that manages the network interface.

* @public */ Operator?: OperatorResponse | undefined; } /** *

With network performance options, you can adjust your bandwidth preferences to meet * the needs of the workload that runs on your instance.

* @public */ export interface InstanceNetworkPerformanceOptions { /** *

When you configure network bandwidth weighting, you can boost your baseline bandwidth for either * networking or EBS by up to 25%. The total available baseline bandwidth for your instance remains * the same. The default option uses the standard bandwidth configuration for your instance type.

* @public */ BandwidthWeighting?: InstanceBandwidthWeighting | undefined; } /** *

Describes the options for instance hostnames.

* @public */ export interface PrivateDnsNameOptionsResponse { /** *

The type of hostname to assign to an instance.

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

Indicates whether to respond to DNS queries for instance hostnames with DNS A * records.

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

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA * records.

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

Describes the attachment of a secondary interface to an instance.

* @public */ export interface InstanceSecondaryInterfaceAttachment { /** *

The timestamp when the attachment was created.

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

The ID of the attachment.

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

Indicates whether the secondary interface is deleted when the instance is terminated.

*

The only supported value for this field is true.

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

The device index of the secondary interface.

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

The attachment state.

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

The index of the network card.

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

Describes a private IPv4 address for a secondary interface.

* @public */ export interface InstanceSecondaryInterfacePrivateIpAddress { /** *

The private IPv4 address.

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

Describes a secondary interface attached to an instance.

* @public */ export interface InstanceSecondaryInterface { /** *

The attachment information for the secondary interface.

* @public */ Attachment?: InstanceSecondaryInterfaceAttachment | undefined; /** *

The MAC address of the secondary interface.

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

The ID of the secondary interface.

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

The Amazon Web Services account ID of the owner of the secondary interface.

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

The private IPv4 addresses associated with the secondary interface.

* @public */ PrivateIpAddresses?: InstanceSecondaryInterfacePrivateIpAddress[] | undefined; /** *

Indicates whether source/destination checking is enabled.

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

The status of the secondary interface.

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

The ID of the secondary subnet.

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

The ID of the secondary network.

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

The type of secondary interface.

* @public */ InterfaceType?: SecondaryInterfaceType | undefined; } /** *

Describes an instance.

* @public */ export interface Instance { /** *

The architecture of the image.

* @public */ Architecture?: ArchitectureValues | undefined; /** *

Any block device mapping entries for the instance.

* @public */ BlockDeviceMappings?: InstanceBlockDeviceMapping[] | undefined; /** *

The idempotency token you provided when you launched the instance, if * applicable.

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

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization * provides dedicated throughput to Amazon EBS and an optimized configuration stack to * provide optimal I/O performance. This optimization isn't available with all instance * types. Additional usage charges apply when using an EBS Optimized instance.

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

Specifies whether enhanced networking with ENA is enabled.

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

The hypervisor type of the instance. The value xen is used for both Xen * and Nitro hypervisors.

* @public */ Hypervisor?: HypervisorType | undefined; /** *

The IAM instance profile associated with the instance, if * applicable.

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

Indicates whether this is a Spot Instance or a Scheduled Instance.

* @public */ InstanceLifecycle?: InstanceLifecycleType | undefined; /** *

Deprecated.

* *

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

*
* @public */ ElasticGpuAssociations?: ElasticGpuAssociation[] | undefined; /** *

Deprecated

* *

Amazon Elastic Inference is no longer available.

*
* @public */ ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[] | undefined; /** *

The network interfaces for the instance.

* @public */ NetworkInterfaces?: InstanceNetworkInterface[] | undefined; /** *

The Amazon Resource Name (ARN) of the Outpost.

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

The device name of the root device volume (for example, * /dev/sda1).

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

The root device type used by the AMI. The AMI can use an EBS volume or an instance * store volume.

* @public */ RootDeviceType?: DeviceType | undefined; /** *

The security groups for the instance.

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

Indicates whether source/destination checking is enabled.

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

If the request is a Spot Instance request, the ID of the request.

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

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface * is enabled.

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

The reason for the most recent state transition.

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

Any tags assigned to the instance.

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

The virtualization type of the instance.

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

The CPU options for the instance.

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

The ID of the Capacity Block.

* *

For P5 instances, a Capacity Block ID refers to a group of instances. For Trn2u * instances, a capacity block ID refers to an EC2 UltraServer.

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

The ID of the Capacity Reservation.

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

Information about the Capacity Reservation targeting option.

* @public */ CapacityReservationSpecification?: CapacityReservationSpecificationResponse | undefined; /** *

Indicates whether the instance is enabled for hibernation.

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

The license configurations for the instance.

* @public */ Licenses?: LicenseConfiguration[] | undefined; /** *

The metadata options for the instance.

* @public */ MetadataOptions?: InstanceMetadataOptionsResponse | undefined; /** *

Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.

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

The boot mode that was specified by the AMI. If the value is uefi-preferred, * the AMI supports both UEFI and Legacy BIOS. The currentInstanceBootMode parameter * is the boot mode that is used to boot the instance at launch or start.

* *

The operating system contained in the AMI must be configured to support the specified boot mode.

*
*

For more information, see Boot modes in the * Amazon EC2 User Guide.

* @public */ BootMode?: BootModeValues | undefined; /** *

The platform details value for the instance. For more information, see AMI * billing information fields in the * Amazon EC2 User Guide.

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

The usage operation value for the instance. For more information, see AMI * billing information fields in the * Amazon EC2 User Guide.

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

The time that the usage operation was last updated.

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

The options for the instance hostname.

* @public */ PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse | undefined; /** *

The IPv6 address assigned to the instance.

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

If the instance is configured for NitroTPM support, the value is v2.0. * For more information, see NitroTPM in the * Amazon EC2 User Guide.

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

Provides information on the recovery and maintenance options of your instance.

* @public */ MaintenanceOptions?: InstanceMaintenanceOptions | undefined; /** *

The boot mode that is used to boot the instance at launch or start. For more information, see Boot modes in the * Amazon EC2 User Guide.

* @public */ CurrentInstanceBootMode?: InstanceBootModeValues | undefined; /** *

Contains settings for the network performance options for your instance.

* @public */ NetworkPerformanceOptions?: InstanceNetworkPerformanceOptions | undefined; /** *

The service provider that manages the instance.

* @public */ Operator?: OperatorResponse | undefined; /** *

The secondary interfaces for the instance.

* @public */ SecondaryInterfaces?: InstanceSecondaryInterface[] | undefined; /** *

The ID of the instance.

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

The ID of the AMI used to launch the instance.

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

The current state of the instance.

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

[IPv4 only] The private DNS hostname name assigned to the instance. This DNS hostname * can only be used inside the Amazon EC2 network. This name is not available until the * instance enters the running state.

*

The Amazon-provided DNS server resolves Amazon-provided private DNS * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name servers must * resolve the hostname as appropriate.

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

The public DNS name assigned to the instance. This name is not available * until the instance enters the running state. This name is only * available if you've enabled DNS hostnames for your VPC. The format of this * name depends on the public hostname type.

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

The reason for the most recent state transition. This might be an empty string.

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

The name of the key pair, if this instance was launched with an associated key * pair.

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

The AMI launch index, which can be used to find this instance in the launch * group.

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

The product codes attached to this instance, if applicable.

* @public */ ProductCodes?: ProductCode[] | undefined; /** *

The instance type.

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

The time that the instance was last launched. To determine the time that instance was first launched, * see the attachment time for the primary network interface.

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

The location where the instance launched, if applicable.

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

The kernel associated with this instance, if applicable.

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

The RAM disk associated with this instance, if applicable.

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

The platform. This value is windows for Windows instances; otherwise, it is empty.

* @public */ Platform?: PlatformValues | undefined; /** *

The monitoring for the instance.

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

The ID of the subnet in which the instance is running.

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

The ID of the VPC in which the instance is running.

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

The private IPv4 address assigned to the instance.

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

The public IPv4 address, or the Carrier IP address assigned to the instance, if * applicable.

*

A Carrier IP address only applies to an instance launched in a subnet associated with * a Wavelength Zone.

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

Describes a launch request for one or more instances, and includes owner, requester, * and security group information that applies to all instances in the launch * request.

* @public */ export interface Reservation { /** *

The ID of the reservation.

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

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

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

The ID of the requester that launched the instances on your behalf (for example, * Amazon Web Services Management Console or Auto Scaling).

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

Not supported.

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

The instances.

* @public */ Instances?: Instance[] | undefined; } /** * @public */ export interface DescribeInstancesResult { /** *

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 reservations.

* @public */ Reservations?: Reservation[] | undefined; } /** * @public */ export interface DescribeInstanceSqlHaHistoryStatesRequest { /** *

The IDs of the SQL Server High Availability instances to describe. If omitted, the API returns * historical states for all SQL Server High Availability instances.

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

The start data and time of the period for which to get the historical * SQL Server High Availability states. If omitted, the API returns all available historical states.

*

Timezone: UTC

*

Format: YYYY-MM-DDThh:mm:ss.sssZ *

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

The end data and time of the period for which to get historical SQL Server High Availability * states. If omitted, the API returns historical states up to the current * date and time.

*

Timezone: UTC

*

Format: YYYY-MM-DDThh:mm:ss.sssZ *

* @public */ EndTime?: Date | 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.

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

One or more filters to apply to the results. Supported filters * include:

* * @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 Amazon EC2 instance that is enabled for SQL Server High Availability standby * detection monitoring.

* @public */ export interface RegisteredInstance { /** *

The ID of the SQL Server High Availability instance.

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

The license type for the SQL Server license. Valid values include:

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

The SQL Server High Availability status of the instance. Valid values are:

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

A brief description of the SQL Server High Availability status. If the instance is in the invalid * High Availability status, this parameter includes the error message.

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

The date and time when the instance's SQL Server High Availability status was last updated, in the ISO 8601 format * in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

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

The ARN of the Secrets Manager secret containing the SQL Server access credentials for the SQL Server High Availability instance. * If not specified, deafult local user credentials will be used by the Amazon Web Services Systems Manager agent.

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

The tags assigned to the SQL Server High Availability instance.

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

Information about the historical SQL Server High Availability states of the SQL Server High Availability instances.

* @public */ Instances?: RegisteredInstance[] | 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 DescribeInstanceSqlHaStatesRequest { /** *

The IDs of the SQL Server High Availability instances to describe. If omitted, the API returns * SQL Server High Availability states for all SQL Server High Availability instances.

* @public */ InstanceIds?: 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.

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

One or more filters to apply to the results. Supported filters * include:

* * @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 DescribeInstanceSqlHaStatesResult { /** *

Information about the SQL Server High Availability instances.

* @public */ Instances?: RegisteredInstance[] | 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 DescribeInstanceStatusRequest { /** *

The instance IDs.

*

Default: Describes all your instances.

*

Constraints: Maximum 100 explicitly specified instance IDs.

* @public */ InstanceIds?: 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 cannot specify this parameter and the instance IDs parameter in the same request.

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

Indicates whether to include managed resources in the output. If this parameter is set * to true, the output includes resources that are managed by Amazon Web Services services, * even if managed resource visibility is set to hidden.

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

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 filters.

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

When true, includes the health status for all instances. When * false, includes the health status for running instances only.

*

Default: false *

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

Describes the attached EBS status check for an instance.

* @public */ export interface EbsStatusDetails { /** *

The date and time when the attached EBS status check failed.

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

The name of the attached EBS status check.

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

The result of the attached EBS status check.

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

Provides a summary of the attached EBS volume status for an instance.

* @public */ export interface EbsStatusSummary { /** *

Details about the attached EBS status check for an instance.

* @public */ Details?: EbsStatusDetails[] | undefined; /** *

The current status.

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

Describes a scheduled event for an instance.

* @public */ export interface InstanceStatusEvent { /** *

The ID of the event.

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

The event code.

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

A description of the event.

*

After a scheduled event is completed, it can still be described for up to a week. If * the event has been completed, this description starts with the following text: * [Completed].

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

The latest scheduled end time for the event.

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

The earliest scheduled start time for the event.

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

The deadline for starting the event.

* @public */ NotBeforeDeadline?: Date | undefined; } /** *

Describes the instance status.

* @public */ export interface InstanceStatusDetails { /** *

The time when a status check failed. For an instance that was launched and impaired, * this is the time when the instance was launched.

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

The type of instance status.

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

The status.

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

Describes the status of an instance.

* @public */ export interface InstanceStatusSummary { /** *

The system instance health or application instance health.

* @public */ Details?: InstanceStatusDetails[] | undefined; /** *

The status.

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

Describes the status of an instance.

* @public */ export interface InstanceStatus { /** *

The Availability Zone of the instance.

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

The ID of the Availability Zone of the instance.

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

The Amazon Resource Name (ARN) of the Outpost.

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

The service provider that manages the instance.

* @public */ Operator?: OperatorResponse | undefined; /** *

Any scheduled events associated with the instance.

* @public */ Events?: InstanceStatusEvent[] | undefined; /** *

The ID of the instance.

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

The intended state of the instance. DescribeInstanceStatus requires * that an instance be in the running state.

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

Reports impaired functionality that stems from issues internal to the instance, such * as impaired reachability.

* @public */ InstanceStatus?: InstanceStatusSummary | undefined; /** *

Reports impaired functionality that stems from issues related to the systems that * support an instance, such as hardware failures and network connectivity problems.

* @public */ SystemStatus?: InstanceStatusSummary | undefined; /** *

Reports impaired functionality that stems from an attached Amazon EBS volume that is * unreachable and unable to complete I/O operations.

* @public */ AttachedEbsStatus?: EbsStatusSummary | undefined; } /** * @public */ export interface DescribeInstanceStatusResult { /** *

Information about the status of the instances.

* @public */ InstanceStatuses?: InstanceStatus[] | 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 DescribeInstanceTopologyRequest { /** *

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 instance IDs parameter in the same * request.

*

Default: 20 *

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

The instance IDs.

*

Default: Describes all your instances.

*

Constraints: Maximum 100 explicitly specified instance IDs.

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

The name of the placement group that each instance is in.

*

Constraints: Maximum 100 explicitly specified placement group names.

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

The filters.

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

Information about the instance topology.

* @public */ export interface InstanceTopology { /** *

The instance ID.

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

The instance type.

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

The name of the placement group that the instance is in.

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

The network nodes. The nodes are hashed based on your account. Instances 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 name of the Availability Zone or Local Zone that the instance is in.

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

The ID of the Availability Zone or Local Zone that the instance is in.

* @public */ ZoneId?: 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; } /** * @public */ export interface DescribeInstanceTopologyResult { /** *

Information about the topology of each instance.

* @public */ Instances?: InstanceTopology[] | 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 DescribeInstanceTypeOfferingsRequest { /** *

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 location type.

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

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

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

The instance types offered.

* @public */ export interface InstanceTypeOffering { /** *

The instance type. For more information, see Instance types in the Amazon EC2 * User Guide.

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

The location type.

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

The identifier for the location. This depends on the location type. For example, if the * location type is region, the location is the Region code (for example, * us-east-2.)

* @public */ Location?: string | undefined; } /** * @public */ export interface DescribeInstanceTypeOfferingsResult { /** *

The instance types offered in the location.

* @public */ InstanceTypeOfferings?: InstanceTypeOffering[] | 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 DescribeInstanceTypesRequest { /** *

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 types.

* @public */ InstanceTypes?: _InstanceType[] | undefined; /** *

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

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

Describes the performance characteristics of an EBS card on the instance type.

* @public */ export interface EbsCardInfo { /** *

The index of the EBS card.

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

The baseline bandwidth performance for the EBS card, in Mbps.

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

The baseline throughput performance for the EBS card, in MBps.

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

The baseline IOPS performance for the EBS card.

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

The maximum bandwidth performance for the EBS card, in Mbps.

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

The maximum throughput performance for the EBS card, in MBps.

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

The maximum IOPS performance for the EBS card.

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

Describes the optimized EBS performance for supported instance types.

* @public */ export interface EbsOptimizedInfo { /** *

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

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

The baseline throughput performance for an EBS-optimized instance type, in MB/s.

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

The baseline input/output storage operations per seconds for an EBS-optimized instance * type.

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

The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

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

The maximum throughput performance for an EBS-optimized instance type, in MB/s.

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

The maximum input/output storage operations per second for an EBS-optimized instance * type.

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

Describes the Amazon EBS features supported by the instance type.

* @public */ export interface EbsInfo { /** *

Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized * instances in Amazon EC2 User Guide.

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

Indicates whether Amazon EBS encryption is supported.

* @public */ EncryptionSupport?: EbsEncryptionSupport | undefined; /** *

Describes the optimized EBS performance for the instance type.

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

Indicates whether non-volatile memory express (NVMe) is supported.

* @public */ NvmeSupport?: EbsNvmeSupport | undefined; /** *

Indicates the maximum number of Amazon EBS volumes that can be attached to * the instance type. For more information, see Amazon EBS volume limits for * Amazon EC2 instances in the Amazon EC2 User Guide.

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

Indicates whether the instance type features a shared or dedicated Amazon EBS * volume attachment limit. For more information, see Amazon EBS volume limits for * Amazon EC2 instances in the Amazon EC2 User Guide.

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

Indicates the number of EBS cards supported by the instance type.

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

Describes the EBS cards available for the instance type.

* @public */ EbsCards?: EbsCardInfo[] | undefined; } /** *

Describes the memory for the FPGA accelerator for the instance type.

* @public */ export interface FpgaDeviceMemoryInfo { /** *

The size of the memory available to the FPGA accelerator, in MiB.

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

Describes the FPGA accelerator for the instance type.

* @public */ export interface FpgaDeviceInfo { /** *

The name of the FPGA accelerator.

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

The manufacturer of the FPGA accelerator.

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

The count of FPGA accelerators for the instance type.

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

Describes the memory for the FPGA accelerator for the instance type.

* @public */ MemoryInfo?: FpgaDeviceMemoryInfo | undefined; } /** *

Describes the FPGAs for the instance type.

* @public */ export interface FpgaInfo { /** *

Describes the FPGAs for the instance type.

* @public */ Fpgas?: FpgaDeviceInfo[] | undefined; /** *

The total memory of all FPGA accelerators for the instance type.

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

Describes the memory available to the GPU accelerator.

* @public */ export interface GpuDeviceMemoryInfo { /** *

The size of the memory available to the GPU accelerator, in MiB.

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

Describes the GPU accelerators for the instance type.

* @public */ export interface GpuDeviceInfo { /** *

The name of the GPU accelerator.

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

The manufacturer of the GPU accelerator.

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

The number of GPUs for the instance type.

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

Total number of GPU devices of this type.

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

The size of each GPU as a fraction of a full GPU, between 0 (excluded) and 1 (included).

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

A list of workload types this GPU supports.

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

Describes the memory available to the GPU accelerator.

* @public */ MemoryInfo?: GpuDeviceMemoryInfo | undefined; } /** *

Describes the GPU accelerators for the instance type.

* @public */ export interface GpuInfo { /** *

Describes the GPU accelerators for the instance type.

* @public */ Gpus?: GpuDeviceInfo[] | undefined; /** *

The total size of the memory for the GPU accelerators for the instance type, in MiB.

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

Amazon Elastic Inference is no longer available.

*
*

Describes the memory available to the inference accelerator.

* @public */ export interface InferenceDeviceMemoryInfo { /** *

The size of the memory available to the inference accelerator, in MiB.

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

Amazon Elastic Inference is no longer available.

*
*

Describes the Inference accelerators for the instance type.

* @public */ export interface InferenceDeviceInfo { /** *

The number of Inference accelerators for the instance type.

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

The name of the Inference accelerator.

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

The manufacturer of the Inference accelerator.

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

Describes the memory available to the inference accelerator.

* @public */ MemoryInfo?: InferenceDeviceMemoryInfo | undefined; } /** * *

Amazon Elastic Inference is no longer available.

*
*

Describes the Inference accelerators for the instance type.

* @public */ export interface InferenceAcceleratorInfo { /** *

Describes the Inference accelerators for the instance type.

* @public */ Accelerators?: InferenceDeviceInfo[] | undefined; /** *

The total size of the memory for the inference accelerators for the instance type, in * MiB.

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

Describes a disk.

* @public */ export interface DiskInfo { /** *

The size of the disk in GB.

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

The number of disks with this configuration.

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

The type of disk.

* @public */ Type?: DiskType | undefined; } /** *

Describes the instance store features that are supported by the instance type.

* @public */ export interface InstanceStorageInfo { /** *

The total size of the disks, in GB.

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

Describes the disks that are available for the instance type.

* @public */ Disks?: DiskInfo[] | undefined; /** *

Indicates whether non-volatile memory express (NVMe) is supported.

* @public */ NvmeSupport?: EphemeralNvmeSupport | undefined; /** *

Indicates whether data is encrypted at rest.

* @public */ EncryptionSupport?: InstanceStorageEncryptionSupport | undefined; } /** *

Describes the memory available to the media accelerator.

* @public */ export interface MediaDeviceMemoryInfo { /** *

The size of the memory available to each media accelerator, in MiB.

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

Describes the media accelerators for the instance type.

* @public */ export interface MediaDeviceInfo { /** *

The number of media accelerators for the instance type.

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

The name of the media accelerator.

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

The manufacturer of the media accelerator.

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

Describes the memory available to the media accelerator.

* @public */ MemoryInfo?: MediaDeviceMemoryInfo | undefined; } /** *

Describes the media accelerators for the instance type.

* @public */ export interface MediaAcceleratorInfo { /** *

Describes the media accelerators for the instance type.

* @public */ Accelerators?: MediaDeviceInfo[] | undefined; /** *

The total size of the memory for the media accelerators for the instance type, in * MiB.

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

Describes the memory for the instance type.

* @public */ export interface MemoryInfo { /** *

The size of the memory, in MiB.

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

Indicates default conntrack information for the instance type. For more * information, see * Connection tracking timeouts * in the Amazon EC2 User Guide. *

* @public */ export interface DefaultConnectionTrackingConfiguration { /** *

Default timeout (in seconds) for idle TCP connections in an established state.

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

Default timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction.

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

Default timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction.

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

Describes the Elastic Fabric Adapters for the instance type.

* @public */ export interface EfaInfo { /** *

The maximum number of Elastic Fabric Adapters for the instance type.

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

Describes the network card support of the instance type.

* @public */ export interface NetworkCardInfo { /** *

The index of the network card.

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

The network performance of the network card.

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

The maximum number of network interfaces for the network card.

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

The number of additional network interfaces that can be attached to an instance when using * flexible Elastic Network Adapter (ENA) queues. This number is in addition to the base number * specified by maximumNetworkInterfaces.

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

The baseline network performance of the network card, in Gbps.

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

The peak (burst) network performance of the network card, in Gbps.

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

The default number of the ENA queues for each interface.

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

The maximum number of the ENA queues.

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

The maximum number of the ENA queues for each interface.

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

Describes the networking features of the instance type.

* @public */ export interface NetworkInfo { /** *

The network performance.

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

The maximum number of network interfaces for the instance type.

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

The maximum number of physical network cards that can be allocated to the instance.

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

The index of the default network card, starting at 0.

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

Describes the network cards for the instance type.

* @public */ NetworkCards?: NetworkCardInfo[] | undefined; /** *

The maximum number of IPv4 addresses per network interface.

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

The maximum number of IPv6 addresses per network interface.

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

Indicates whether IPv6 is supported.

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

Indicates whether Elastic Network Adapter (ENA) is supported.

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

Indicates whether Elastic Fabric Adapter (EFA) is supported.

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

Describes the Elastic Fabric Adapters for the instance type.

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

Indicates whether the instance type automatically encrypts in-transit traffic between * instances.

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

Indicates whether the instance type supports ENA Express. ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream * and minimize tail latency of network traffic between EC2 instances.

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

A list of valid settings for configurable bandwidth weighting for the instance type, if * supported.

* @public */ BandwidthWeightings?: BandwidthWeightingType[] | undefined; /** *

Indicates whether changing the number of ENA queues is supported.

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

Indicates conntrack information for the instance type

* @public */ ConnectionTrackingConfiguration?: DefaultConnectionTrackingConfiguration | undefined; /** *

Indicates whether secondary interface attachments from secondary network are supported.

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

The maximum number of secondary interfaces for the instance type.

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

The maximum number of IPv4 addresses per secondary interface.

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

Describes the cores available to the neuron accelerator.

* @public */ export interface NeuronDeviceCoreInfo { /** *

The number of cores available to the neuron accelerator.

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

The version of the neuron accelerator.

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

Describes the memory available to the neuron accelerator.

* @public */ export interface NeuronDeviceMemoryInfo { /** *

The size of the memory available to the neuron accelerator, in MiB.

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

Describes the neuron accelerators for the instance type.

* @public */ export interface NeuronDeviceInfo { /** *

The number of neuron accelerators for the instance type.

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

The name of the neuron accelerator.

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

Describes the cores available to each neuron accelerator.

* @public */ CoreInfo?: NeuronDeviceCoreInfo | undefined; /** *

Describes the memory available to each neuron accelerator.

* @public */ MemoryInfo?: NeuronDeviceMemoryInfo | undefined; } /** *

Describes the neuron accelerators for the instance type.

* @public */ export interface NeuronInfo { /** *

Describes the neuron accelerators for the instance type.

* @public */ NeuronDevices?: NeuronDeviceInfo[] | undefined; /** *

The total size of the memory for the neuron accelerators for the instance type, in * MiB.

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

Describes the supported NitroTPM versions for the instance type.

* @public */ export interface NitroTpmInfo { /** *

Indicates the supported NitroTPM versions.

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

Describes the placement group support of the instance type.

* @public */ export interface PlacementGroupInfo { /** *

The supported placement group types.

* @public */ SupportedStrategies?: PlacementGroupStrategy[] | undefined; } /** *

Describes the processor used by the instance type.

* @public */ export interface ProcessorInfo { /** *

The architectures supported by the instance type.

* @public */ SupportedArchitectures?: ArchitectureType[] | undefined; /** *

The speed of the processor, in GHz.

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

Indicates whether the instance type supports AMD SEV-SNP. If the request returns * amd-sev-snp, AMD SEV-SNP is supported. Otherwise, it is not supported. For more * information, see AMD * SEV-SNP.

* @public */ SupportedFeatures?: SupportedAdditionalProcessorFeature[] | undefined; /** *

The manufacturer of the processor.

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

Describes the vCPU configurations for the instance type.

* @public */ export interface VCpuInfo { /** *

The default number of vCPUs for the instance type.

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

The default number of cores for the instance type.

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

The default number of threads per core for the instance type.

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

The valid number of cores that can be configured for the instance type.

* @public */ ValidCores?: number[] | undefined; /** *

The valid number of threads per core that can be configured for the instance type.

* @public */ ValidThreadsPerCore?: number[] | undefined; } /** *

Describes the instance type.

* @public */ export interface InstanceTypeInfo { /** *

The instance type. For more information, see Instance types in the Amazon EC2 * User Guide.

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

Indicates whether the instance type is current generation.

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

Indicates whether the instance type is eligible for the free tier.

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

Indicates whether the instance type is offered for spot, On-Demand, or Capacity * Blocks.

* @public */ SupportedUsageClasses?: UsageClassType[] | undefined; /** *

The supported root device types.

* @public */ SupportedRootDeviceTypes?: RootDeviceType[] | undefined; /** *

The supported virtualization types.

* @public */ SupportedVirtualizationTypes?: VirtualizationType[] | undefined; /** *

Indicates whether the instance is a bare metal instance type.

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

The hypervisor for the instance type.

* @public */ Hypervisor?: InstanceTypeHypervisor | undefined; /** *

Describes the processor.

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

Describes the vCPU configurations for the instance type.

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

Describes the memory for the instance type.

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

Indicates whether instance storage is supported.

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

Describes the instance storage for the instance type.

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

Describes the Amazon EBS settings for the instance type.

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

Describes the network settings for the instance type.

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

Describes the GPU accelerator settings for the instance type.

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

Describes the FPGA accelerator settings for the instance type.

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

Describes the placement group settings for the instance type.

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

Describes the Inference accelerator settings for the instance type.

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

Indicates whether On-Demand hibernation is supported.

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

Indicates whether the instance type is a burstable performance T instance type. For more * information, see Burstable performance * instances.

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

Indicates whether Dedicated Hosts are supported on the instance type.

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

Indicates whether Amazon CloudWatch action based recovery is supported.

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

The supported boot modes. For more information, see Boot modes in the Amazon EC2 User * Guide.

* @public */ SupportedBootModes?: BootModeType[] | undefined; /** *

Indicates whether Nitro Enclaves is supported.

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

Indicates whether NitroTPM is supported.

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

Describes the supported NitroTPM versions for the instance type.

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

Describes the media accelerator settings for the instance type.

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

Describes the Neuron accelerator settings for the instance type.

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

Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is * supported.

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

Indicates whether reboot migration during a user-initiated reboot is supported for * instances that have a scheduled system-reboot event. For more information, * see Enable or disable reboot migration in the * Amazon EC2 User Guide.

* @public */ RebootMigrationSupport?: RebootMigrationSupport | undefined; } /** * @public */ export interface DescribeInstanceTypesResult { /** *

The instance type.

* @public */ InstanceTypes?: InstanceTypeInfo[] | 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 DescribeInternetGatewaysRequest { /** *

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 IDs of the internet gateways.

*

Default: Describes all your internet gateways.

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

The filters.

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

Information about the internet gateways.

* @public */ InternetGateways?: InternetGateway[] | 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 DescribeIpamByoasnRequest { /** *

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 DescribeIpamByoasnResult { /** *

ASN and BYOIP CIDR associations.

* @public */ Byoasns?: Byoasn[] | 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 DescribeIpamExternalResourceVerificationTokensRequest { /** *

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

One or more filters for the request. For more information about filtering, see Filtering CLI output.

*

Available filters:

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

The token for the next page of results.

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

The maximum number of tokens to return in one page of results.

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

Verification token IDs.

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

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

Verification tokens.

* @public */ IpamExternalResourceVerificationTokens?: IpamExternalResourceVerificationToken[] | undefined; } /** * @public */ export interface DescribeIpamPoliciesRequest { /** *

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

One or more filters for the IPAM policy description.

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

The maximum number of results to return in a single call.

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

The token for the next page of results.

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

The IDs of the IPAM policies to describe.

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

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 IPAM policies.

*

An IPAM policy is a set of rules that define how public IPv4 addresses from IPAM pools are allocated to Amazon Web Services resources. Each rule maps an Amazon Web Services service to IPAM pools that the service will use to get IP addresses. A single policy can have multiple rules and be applied to multiple Amazon Web Services Regions. If the IPAM pool run out of addresses then the services fallback to Amazon-provided IP addresses. A policy can be applied to an individual Amazon Web Services account or an entity within Amazon Web Services Organizations.

* @public */ IpamPolicies?: IpamPolicy[] | undefined; } /** * @public */ export interface DescribeIpamPoolsRequest { /** *

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

One or more filters for the request. For more information about filtering, see Filtering CLI output.

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

The maximum number of results to return in the request.

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

The token for the next page of results.

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

The IDs of the IPAM pools you would like information on.

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

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 IPAM pools.

* @public */ IpamPools?: IpamPool[] | undefined; } /** * @public */ export interface DescribeIpamPrefixListResolversRequest { /** *

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

One or more filters to limit the 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 for the next page of results.

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

The IDs of the IPAM prefix list resolvers to describe. If not specified, all resolvers in your account are described.

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

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 IPAM prefix list resolvers.

* @public */ IpamPrefixListResolvers?: IpamPrefixListResolver[] | undefined; } /** * @public */ export interface DescribeIpamPrefixListResolverTargetsRequest { /** *

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

One or more filters to limit the 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 for the next page of results.

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

The IDs of the IPAM prefix list resolver Targets to describe. If not specified, all targets in your account are described.

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

The ID of the IPAM prefix list resolver to filter targets by. Only targets associated with this resolver will be returned.

* @public */ IpamPrefixListResolverId?: string | undefined; } /** * @public */ export interface DescribeIpamPrefixListResolverTargetsResult { /** *

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 IPAM prefix list resolver Targets.

* @public */ IpamPrefixListResolverTargets?: IpamPrefixListResolverTarget[] | undefined; } /** * @public */ export interface DescribeIpamResourceDiscoveriesRequest { /** *

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 IPAM resource discovery IDs.

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

The token for the next page of results.

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

The maximum number of resource discoveries to return in one page of results.

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

The resource discovery filters.

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

The resource discoveries.

* @public */ IpamResourceDiscoveries?: IpamResourceDiscovery[] | 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 DescribeIpamResourceDiscoveryAssociationsRequest { /** *

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 resource discovery association IDs.

* @public */ IpamResourceDiscoveryAssociationIds?: 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 resource discovery associations to return in one page of results.

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

The resource discovery association filters.

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

The resource discovery associations.

* @public */ IpamResourceDiscoveryAssociations?: IpamResourceDiscoveryAssociation[] | 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 DescribeIpamsRequest { /** *

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

One or more filters for the request. For more information about filtering, see Filtering CLI output.

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

The maximum number of results to return in the request.

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

The token for the next page of results.

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

The IDs of the IPAMs you want information on.

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

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 IPAMs.

* @public */ Ipams?: Ipam[] | undefined; } /** * @public */ export interface DescribeIpamScopesRequest { /** *

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

One or more filters for the request. For more information about filtering, see Filtering CLI output.

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

The maximum number of results to return in the request.

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

The token for the next page of results.

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

The IDs of the scopes you want information on.

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

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

The scopes you want information on.

* @public */ IpamScopes?: IpamScope[] | undefined; } /** * @public */ export interface DescribeIpv6PoolsRequest { /** *

The IDs of the IPv6 address pools.

* @public */ PoolIds?: string[] | 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; /** *

One or more filters.

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

Describes a CIDR block for an address pool.

* @public */ export interface PoolCidrBlock { /** *

The CIDR block.

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

Describes an IPv6 address pool.

* @public */ export interface Ipv6Pool { /** *

The ID of the address pool.

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

The description for the address pool.

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

The CIDR blocks for the address pool.

* @public */ PoolCidrBlocks?: PoolCidrBlock[] | undefined; /** *

Any tags for the address pool.

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

Information about the IPv6 address pools.

* @public */ Ipv6Pools?: Ipv6Pool[] | 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 DescribeKeyPairsRequest { /** *

The key pair names.

*

Default: Describes all of your key pairs.

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

The IDs of the key pairs.

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

If true, the public key material is included in the response.

*

Default: false *

* @public */ IncludePublicKey?: 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 a key pair.

* @public */ export interface KeyPairInfo { /** *

The ID of the key pair.

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

The type of key pair.

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

Any tags applied to the key pair.

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

The public key material.

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

If you used Amazon EC2 to create the key pair, this is the date and time when the key * was created, in ISO * 8601 date-time format, in the UTC time zone.

*

If you imported an existing key pair to Amazon EC2, this is the date and time the key * was imported, in ISO * 8601 date-time format, in the UTC time zone.

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

The name of the key pair.

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

If you used CreateKeyPair to create the key pair:

* *

If you used ImportKeyPair to provide Amazon Web Services the public key:

* * @public */ KeyFingerprint?: string | undefined; } /** * @public */ export interface DescribeKeyPairsResult { /** *

Information about the key pairs.

* @public */ KeyPairs?: KeyPairInfo[] | undefined; } /** * @public */ export interface DescribeLaunchTemplatesRequest { /** *

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 launch template IDs.

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

One or more launch template names.

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

One or more filters.

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

The token to request the next page of results.

* @public */ NextToken?: 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. This value * can be between 1 and 200.

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

Indicates whether to include managed resources in the output. If this parameter is set to true, the output includes resources that are managed by Amazon Web Services services, even if managed resource visibility is set to hidden.

* @public */ IncludeManagedResources?: boolean | undefined; } /** * @public */ export interface DescribeLaunchTemplatesResult { /** *

Information about the launch templates.

* @public */ LaunchTemplates?: LaunchTemplate[] | 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 DescribeLaunchTemplateVersionsRequest { /** *

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 launch template.

*

To describe one or more versions of a specified launch template, you must specify * either the launch template ID or the launch template name, but not both.

*

To describe all the latest or default launch template versions in your account, you * must omit this parameter.

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

The name of the launch template.

*

To describe one or more versions of a specified launch template, you must specify * either the launch template name or the launch template ID, but not both.

*

To describe all the latest or default launch template versions in your account, you * must omit this parameter.

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

One or more versions of the launch template. Valid values depend on whether you are * describing a specified launch template (by ID or name) or all launch templates in your * account.

*

To describe one or more versions of a specified launch template, valid values are * $Latest, $Default, and numbers.

*

To describe all launch templates in your account that are defined as the latest * version, the valid value is $Latest. To describe all launch templates in * your account that are defined as the default version, the valid value is * $Default. You can specify $Latest and * $Default in the same request. You cannot specify numbers.

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

The version number after which to describe launch template versions.

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

The version number up to which to describe launch template versions.

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

The token to request the next page of results.

* @public */ NextToken?: 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. This value * can be between 1 and 200.

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

One or more filters.

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

If true, and if a Systems Manager parameter is specified for * ImageId, the AMI ID is displayed in the response for * imageId.

*

If false, and if a Systems Manager parameter is specified for * ImageId, the parameter is displayed in the response for * imageId.

*

For more information, see Use a Systems Manager parameter instead of an AMI ID in the * Amazon EC2 User Guide.

*

Default: false *

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

Indicates whether to include managed resources in the output. If this parameter is set to true, the output includes resources that are managed by Amazon Web Services services, even if managed resource visibility is set to hidden.

* @public */ IncludeManagedResources?: boolean | undefined; } /** * @public */ export interface DescribeLaunchTemplateVersionsResult { /** *

Information about the launch template versions.

* @public */ LaunchTemplateVersions?: LaunchTemplateVersion[] | 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 DescribeLocalGatewayRouteTablesRequest { /** *

The IDs of the local gateway route tables.

* @public */ LocalGatewayRouteTableIds?: 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 DescribeLocalGatewayRouteTablesResult { /** *

Information about the local gateway route tables.

* @public */ LocalGatewayRouteTables?: LocalGatewayRouteTable[] | 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 DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** *

The IDs of the associations.

* @public */ LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: 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 DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** *

Information about the associations.

* @public */ LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[] | 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 DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** *

The IDs of the associations.

* @public */ LocalGatewayRouteTableVpcAssociationIds?: 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 DescribeLocalGatewayRouteTableVpcAssociationsResult { /** *

Information about the associations.

* @public */ LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[] | 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 DescribeLocalGatewaysRequest { /** *

The IDs of the local gateways.

* @public */ LocalGatewayIds?: 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; } /** *

Describes a local gateway.

* @public */ export interface LocalGateway { /** *

The ID of the local gateway.

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

The Amazon Resource Name (ARN) of the Outpost.

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

The ID of the Amazon Web Services account that owns the local gateway.

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

The state of the local gateway.

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

The tags assigned to the local gateway.

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

Information about the local gateways.

* @public */ LocalGateways?: LocalGateway[] | 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 DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** *

The IDs of the virtual interface groups.

* @public */ LocalGatewayVirtualInterfaceGroupIds?: 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 DescribeLocalGatewayVirtualInterfaceGroupsResult { /** *

The virtual interface groups.

* @public */ LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[] | 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 DescribeLocalGatewayVirtualInterfacesRequest { /** *

The IDs of the virtual interfaces.

* @public */ LocalGatewayVirtualInterfaceIds?: 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 DescribeLocalGatewayVirtualInterfacesResult { /** *

Information about the virtual interfaces.

* @public */ LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[] | 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 DescribeLockedSnapshotsRequest { /** *

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

The IDs of the snapshots for which to view the lock status.

* @public */ SnapshotIds?: 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 locked snapshot.

* @public */ export interface LockedSnapshotsInfo { /** *

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

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

The ID of the snapshot.

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

The state of the snapshot lock. Valid states include:

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

The period of time for which the snapshot is locked, in days.

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

The compliance mode cooling-off period, in hours.

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

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone * (YYYY-MM-DDThh:mm:ss.sssZ).

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

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

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

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

*

If you lock a snapshot that is in the pending state, the lock duration * starts only once the snapshot enters the completed state.

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

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

* @public */ LockExpiresOn?: Date | undefined; } /** * @public */ export interface DescribeLockedSnapshotsResult { /** *

Information about the snapshots.

* @public */ Snapshots?: LockedSnapshotsInfo[] | 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 DescribeMacHostsRequest { /** *

The filters.

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

* The IDs of the EC2 Mac Dedicated Hosts. *

* @public */ HostIds?: 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; } /** *

* Information about the EC2 Mac Dedicated Host. *

* @public */ export interface MacHost { /** *

* The EC2 Mac Dedicated Host ID. *

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

* The latest macOS versions that the EC2 Mac Dedicated Host can launch without being upgraded. *

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

* Information about the EC2 Mac Dedicated Hosts. *

* @public */ MacHosts?: MacHost[] | undefined; /** *

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

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

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

Specifies one or more filters for the request:

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

The ID of task.

* @public */ MacModificationTaskIds?: 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; } /** * @public */ export interface DescribeMacModificationTasksResult { /** *

Information about the tasks.

* @public */ MacModificationTasks?: MacModificationTask[] | 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 DescribeManagedPrefixListsRequest { /** *

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

One or more prefix list IDs.

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

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 prefix lists.

* @public */ PrefixLists?: ManagedPrefixList[] | undefined; } /** * @public */ export interface DescribeMovingAddressesRequest { /** *

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 Elastic IP addresses.

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

The token for the next page of results.

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

One or more filters.

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

The maximum number of results to return for the request in a single page. The remaining * results of the initial request can be seen by sending another request with the returned * NextToken value. This value can be between 5 and 1000; if * MaxResults is given a value outside of this range, an error is returned.

*

Default: If no value is provided, the default is 1000.

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

This action is deprecated.

*
*

Describes the status of a moving Elastic IP address.

* @public */ export interface MovingAddressStatus { /** *

The status of the Elastic IP address that's being moved or restored.

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

The Elastic IP address.

* @public */ PublicIp?: string | undefined; } /** * @public */ export interface DescribeMovingAddressesResult { /** *

The status for each Elastic IP address.

* @public */ MovingAddressStatuses?: MovingAddressStatus[] | 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 DescribeNatGatewaysRequest { /** *

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 */ Filter?: 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 IDs of the NAT gateways.

* @public */ NatGatewayIds?: 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; } /** * @public */ export interface DescribeNatGatewaysResult { /** *

Information about the NAT gateways.

* @public */ NatGateways?: NatGateway[] | 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 DescribeNetworkAclsRequest { /** *

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 IDs of the network ACLs.

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

The filters.

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

Information about the network ACLs.

* @public */ NetworkAcls?: NetworkAcl[] | 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 DescribeNetworkInsightsAccessScopeAnalysesRequest { /** *

The IDs of the Network Access Scope analyses.

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

The ID of the Network Access Scope.

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

Filters the results based on the start time. The analysis must have started on or after this time.

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

Filters the results based on the start time. The analysis must have started on or before this time.

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

There are no supported 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; /** *

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 for the next page of results.

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

Describes a Network Access Scope analysis.

* @public */ export interface NetworkInsightsAccessScopeAnalysis { /** *

The ID of the Network Access Scope analysis.

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

The Amazon Resource Name (ARN) of the Network Access Scope analysis.

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

The ID of the Network Access Scope.

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

The status.

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

The status message.

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

The warning message.

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

The analysis start date.

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

The analysis end date.

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

Indicates whether there are findings.

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

The number of network interfaces analyzed.

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

The tags.

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

The Network Access Scope analyses.

* @public */ NetworkInsightsAccessScopeAnalyses?: NetworkInsightsAccessScopeAnalysis[] | 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 DescribeNetworkInsightsAccessScopesRequest { /** *

The IDs of the Network Access Scopes.

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

There are no supported 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; /** *

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 for the next page of results.

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

The Network Access Scopes.

* @public */ NetworkInsightsAccessScopes?: NetworkInsightsAccessScope[] | 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 DescribeNetworkInsightsAnalysesRequest { /** *

The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

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

The ID of the path. You must specify either a path ID or analysis IDs.

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

The time when the network insights analyses started.

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

The time when the network insights analyses ended.

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

The filters. The following are the possible values:

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

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 for the next page of results.

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

Describes a network insights analysis.

* @public */ export interface NetworkInsightsAnalysis { /** *

The ID of the network insights analysis.

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

The Amazon Resource Name (ARN) of the network insights analysis.

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

The ID of the path.

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

The member accounts that contain resources that the path can traverse.

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

The Amazon Resource Names (ARN) of the resources that the path must traverse.

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

The Amazon Resource Names (ARN) of the resources that the path must ignore.

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

The time the analysis started.

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

The status of the network insights analysis.

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

The status message, if the status is failed.

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

The warning message.

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

Indicates whether the destination is reachable from the source.

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

The components in the path from source to destination.

* @public */ ForwardPathComponents?: PathComponent[] | undefined; /** *

The components in the path from destination to source.

* @public */ ReturnPathComponents?: PathComponent[] | undefined; /** *

The explanations. For more information, see Reachability Analyzer explanation codes.

* @public */ Explanations?: Explanation[] | undefined; /** *

Potential intermediate components.

* @public */ AlternatePathHints?: AlternatePathHint[] | undefined; /** *

Potential intermediate accounts.

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

The tags.

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

Information about the network insights analyses.

* @public */ NetworkInsightsAnalyses?: NetworkInsightsAnalysis[] | 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 DescribeNetworkInsightsPathsRequest { /** *

The IDs of the paths.

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

The filters. The following are the possible values:

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

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 for the next page of results.

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

Information about the paths.

* @public */ NetworkInsightsPaths?: NetworkInsightsPath[] | 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; } /** *

Contains the parameters for DescribeNetworkInterfaceAttribute.

* @public */ export interface DescribeNetworkInterfaceAttributeRequest { /** *

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 network interface.

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

The attribute of the network interface. This parameter is required.

* @public */ Attribute?: NetworkInterfaceAttribute | undefined; } /** *

Contains the output of DescribeNetworkInterfaceAttribute.

* @public */ export interface DescribeNetworkInterfaceAttributeResult { /** *

The attachment (if any) of the network interface.

* @public */ Attachment?: NetworkInterfaceAttachment | undefined; /** *

The description of the network interface.

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

The security groups associated with the network interface.

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

The ID of the network interface.

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

Indicates whether source/destination checking is enabled.

* @public */ SourceDestCheck?: AttributeBooleanValue | undefined; /** *

Indicates whether to assign a public IPv4 address to a network interface. This option * can be enabled for any network interface but will only apply to the primary network * interface (eth0).

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

Contains the parameters for DescribeNetworkInterfacePermissions.

* @public */ export interface DescribeNetworkInterfacePermissionsRequest { /** *

The network interface permission IDs.

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

One or more 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. If this parameter is not * specified, up to 50 results are returned by default. For more information, see Pagination.

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

Contains the output for DescribeNetworkInterfacePermissions.

* @public */ export interface DescribeNetworkInterfacePermissionsResult { /** *

The network interface permissions.

* @public */ NetworkInterfacePermissions?: NetworkInterfacePermission[] | 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; } /** *

Contains the parameters for DescribeNetworkInterfaces.

* @public */ export interface DescribeNetworkInterfacesRequest { /** *

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. You cannot specify this * parameter and the network interface IDs parameter in the same request. For more * information, see Pagination.

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

Indicates whether to include managed resources in the output. If this parameter is set * to true, the output includes resources that are managed by Amazon Web Services services, * even if managed resource visibility is set to hidden.

* @public */ IncludeManagedResources?: 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 network interface IDs.

*

Default: Describes all your network interfaces.

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

One or more filters.

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

Information about the network interfaces.

* @public */ NetworkInterfaces?: NetworkInterface[] | 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 DescribeOutpostLagsRequest { /** *

The IDs of the Outpost LAGs.

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

The filters to use for narrowing down the request. The following filters are * supported:

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

Describes an Outpost link aggregation group (LAG).

* @public */ export interface OutpostLag { /** *

The Amazon Resource Number (ARN) of the Outpost LAG.

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

The ID of the Outpost LAG owner.

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

The current state of the Outpost LAG.

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

The ID of the Outpost LAG.

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

The IDs of the local gateway virtual interfaces associated with the Outpost LAG.

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

The service link virtual interface IDs associated with the Outpost LAG.

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

The tags associated with the Outpost LAG.

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

The Outpost LAGs.

* @public */ OutpostLags?: OutpostLag[] | 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 DescribePlacementGroupsRequest { /** *

The IDs of the placement groups.

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

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 names of the placement groups.

*

Constraints:

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

The filters.

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

Information about the placement groups.

* @public */ PlacementGroups?: PlacementGroup[] | undefined; } /** * @public */ export interface DescribePrefixListsRequest { /** *

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

One or more prefix list IDs.

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

Describes prefixes for Amazon Web Services services.

* @public */ export interface PrefixList { /** *

The IP address range of the Amazon Web Services service.

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

The ID of the prefix.

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

The name of the prefix.

* @public */ PrefixListName?: string | undefined; } /** * @public */ export interface DescribePrefixListsResult { /** *

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

All available prefix lists.

* @public */ PrefixLists?: PrefixList[] | undefined; } /** * @public */ export interface DescribePrincipalIdFormatRequest { /** *

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 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 */ Resources?: 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; /** *

The token to request the next page of results.

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

PrincipalIdFormat description

* @public */ export interface PrincipalIdFormat { /** *

PrincipalIdFormatARN description

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

PrincipalIdFormatStatuses description

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

Information about the ID format settings for the ARN.

* @public */ Principals?: PrincipalIdFormat[] | 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 DescribePublicIpv4PoolsRequest { /** *

The IDs of the address pools.

* @public */ PoolIds?: string[] | 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; /** *

One or more filters.

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

Describes an address range of an IPv4 address pool.

* @public */ export interface PublicIpv4PoolRange { /** *

The first IP address in the range.

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

The last IP address in the range.

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

The number of addresses in the range.

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

The number of available addresses in the range.

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

Describes an IPv4 address pool.

* @public */ export interface PublicIpv4Pool { /** *

The ID of the address pool.

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

A description of the address pool.

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

The address ranges.

* @public */ PoolAddressRanges?: PublicIpv4PoolRange[] | undefined; /** *

The total number of addresses.

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

The total number of available addresses.

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

The name of the location from which the address pool is advertised. * A network border group is a unique set of Availability Zones or Local Zones * from where Amazon Web Services advertises public IP addresses.

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

Any tags for the address pool.

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

Information about the address pools.

* @public */ PublicIpv4Pools?: PublicIpv4Pool[] | 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 DescribeRegionsRequest { /** *

The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

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

Indicates whether to display all Regions, including Regions that are disabled for your account.

* @public */ AllRegions?: 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 a Region.

* @public */ export interface RegionGeography { /** *

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

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

Describes a Region.

* @public */ export interface Region { /** *

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and * not-opted-in.

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

The geography information for the Region. The geography is returned as a list.

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

The name of the Region.

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

The Region service endpoint.

* @public */ Endpoint?: string | undefined; } /** * @public */ export interface DescribeRegionsResult { /** *

Information about the Regions.

* @public */ Regions?: Region[] | undefined; } /** * @public */ export interface DescribeReplaceRootVolumeTasksRequest { /** *

The ID of the root volume replacement task to view.

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

Filter to use:

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

Information about the root volume replacement task.

* @public */ ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[] | 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; } /** *

Contains the parameters for DescribeReservedInstances.

* @public */ export interface DescribeReservedInstancesRequest { /** *

Describes whether the Reserved Instance is Standard or Convertible.

* @public */ OfferingClass?: OfferingClassType | undefined; /** *

One or more Reserved Instance IDs.

*

Default: Describes all your Reserved Instances, or only those otherwise specified.

* @public */ ReservedInstancesIds?: 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.

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

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 * API version, you only have access to the Medium Utilization Reserved Instance * offering type.

* @public */ OfferingType?: OfferingTypeValues | undefined; } /** *

Describes a recurring charge.

* @public */ export interface RecurringCharge { /** *

The amount of the recurring charge.

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

The frequency of the recurring charge.

* @public */ Frequency?: RecurringChargeFrequency | undefined; } /** *

Describes a Reserved Instance.

* @public */ export interface ReservedInstances { /** *

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency * codes. At this time, the only supported currency is USD.

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

The tenancy of the instance.

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

The offering class of the Reserved Instance.

* @public */ OfferingClass?: OfferingClassType | undefined; /** *

The Reserved Instance offering type.

* @public */ OfferingType?: OfferingTypeValues | undefined; /** *

The recurring charge tag assigned to the resource.

* @public */ RecurringCharges?: RecurringCharge[] | undefined; /** *

The scope of the Reserved Instance.

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

Any tags assigned to the resource.

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

The ID of the Availability Zone.

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

The ID of the Reserved Instance.

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

The instance type on which the Reserved Instance can be used.

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

The Availability Zone in which the Reserved Instance can be used.

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

The date and time the Reserved Instance started.

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

The time when the Reserved Instance expires.

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

The duration of the Reserved Instance, in seconds.

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

The usage price of the Reserved Instance, per hour.

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

The purchase price of the Reserved Instance.

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

The number of reservations purchased.

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

The Reserved Instance product platform description.

* @public */ ProductDescription?: RIProductDescription | undefined; /** *

The state of the Reserved Instance purchase.

* @public */ State?: ReservedInstanceState | undefined; } /** *

Contains the output for DescribeReservedInstances.

* @public */ export interface DescribeReservedInstancesResult { /** *

A list of Reserved Instances.

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

Contains the parameters for DescribeReservedInstancesListings.

* @public */ export interface DescribeReservedInstancesListingsRequest { /** *

One or more Reserved Instance IDs.

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

One or more Reserved Instance listing IDs.

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

One or more filters.

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

Contains the output of DescribeReservedInstancesListings.

* @public */ export interface DescribeReservedInstancesListingsResult { /** *

Information about the Reserved Instance listing.

* @public */ ReservedInstancesListings?: ReservedInstancesListing[] | undefined; } /** *

Contains the parameters for DescribeReservedInstancesModifications.

* @public */ export interface DescribeReservedInstancesModificationsRequest { /** *

IDs for the submitted modification request.

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

The token to retrieve the next page of results.

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

One or more filters.

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

Describes the configuration settings for the modified Reserved Instances.

* @public */ export interface ReservedInstancesConfiguration { /** *

The Availability Zone for the modified Reserved Instances.

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

The number of modified Reserved Instances.

* *

This is a required field for a request.

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

The instance type for the modified Reserved Instances.

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

The network platform of the modified Reserved Instances.

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

Whether the Reserved Instance is applied to instances in a Region or instances in a * specific Availability Zone.

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

The ID of the Availability Zone.

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

Describes the modification request/s.

* @public */ export interface ReservedInstancesModificationResult { /** *

The ID for the Reserved Instances that were created as part of the modification request. * This field is only available when the modification is fulfilled.

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

The target Reserved Instances configurations supplied as part of the modification * request.

* @public */ TargetConfiguration?: ReservedInstancesConfiguration | undefined; } /** *

Describes the ID of a Reserved Instance.

* @public */ export interface ReservedInstancesId { /** *

The ID of the Reserved Instance.

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

Describes a Reserved Instance modification.

* @public */ export interface ReservedInstancesModification { /** *

A unique, case-sensitive key supplied by the client to ensure that the request is * idempotent. For more information, see Ensuring * Idempotency.

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

The time when the modification request was created.

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

The time for the modification to become effective.

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

Contains target configurations along with their corresponding new Reserved Instance * IDs.

* @public */ ModificationResults?: ReservedInstancesModificationResult[] | undefined; /** *

The IDs of one or more Reserved Instances.

* @public */ ReservedInstancesIds?: ReservedInstancesId[] | undefined; /** *

A unique ID for the Reserved Instance modification.

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

The status of the Reserved Instances modification request.

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

The reason for the status.

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

The time when the modification request was last updated.

* @public */ UpdateDate?: Date | undefined; } /** *

Contains the output of DescribeReservedInstancesModifications.

* @public */ export interface DescribeReservedInstancesModificationsResult { /** *

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

The Reserved Instance modification information.

* @public */ ReservedInstancesModifications?: ReservedInstancesModification[] | undefined; } /** *

Contains the parameters for DescribeReservedInstancesOfferings.

* @public */ export interface DescribeReservedInstancesOfferingsRequest { /** *

The Availability Zone in which the Reserved Instance can be used.

*

Either AvailabilityZone or AvailabilityZoneId can be specified, * but not both.

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

Include Reserved Instance Marketplace offerings in the response.

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

The instance type that the reservation will cover (for example, m1.small). * For more information, see Amazon EC2 instance types in the * Amazon EC2 User Guide.

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

The maximum duration (in seconds) to filter when searching for offerings.

*

Default: 94608000 (3 years)

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

The maximum number of instances to filter when searching for offerings.

*

Default: 20

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

The minimum duration (in seconds) to filter when searching for offerings.

*

Default: 2592000 (1 month)

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

The offering class of the Reserved Instance. Can be standard or * convertible.

* @public */ OfferingClass?: OfferingClassType | undefined; /** *

The Reserved Instance product platform description. Instances that include (Amazon * VPC) in the description are for use with Amazon VPC.

* @public */ ProductDescription?: RIProductDescription | undefined; /** *

One or more Reserved Instances offering IDs.

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

The ID of the Availability Zone.

*

Either AvailabilityZone or AvailabilityZoneId can be specified, * but not both.

* @public */ AvailabilityZoneId?: 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.

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

The tenancy of the instances covered by the reservation. A Reserved Instance with a * tenancy of dedicated is applied to instances that run in a VPC on single-tenant * hardware (i.e., Dedicated Instances).

*

* Important: The host value cannot be used with * this parameter. Use the default or dedicated values only.

*

Default: default *

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

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 * API version, you only have access to the Medium Utilization Reserved Instance * offering type.

* @public */ OfferingType?: OfferingTypeValues | 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 of the initial request can be seen by sending another request with the returned * NextToken value. The maximum is 100.

*

Default: 100

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

Describes a Reserved Instance offering.

* @public */ export interface PricingDetail { /** *

The number of reservations available for the price.

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

The price per instance.

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

Describes a Reserved Instance offering.

* @public */ export interface ReservedInstancesOffering { /** *

The currency of the Reserved Instance offering you are purchasing. It's specified using * ISO 4217 standard currency codes. At this time, the only supported currency is * USD.

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

The tenancy of the instance.

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

Indicates whether the offering is available through the Reserved Instance Marketplace * (resale) or Amazon Web Services. If it's a Reserved Instance Marketplace offering, this is * true.

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

If convertible it can be exchanged for Reserved Instances of the same or * higher monetary value, with different configurations. If standard, it is not * possible to perform an exchange.

* @public */ OfferingClass?: OfferingClassType | undefined; /** *

The Reserved Instance offering type.

* @public */ OfferingType?: OfferingTypeValues | undefined; /** *

The pricing details of the Reserved Instance offering.

* @public */ PricingDetails?: PricingDetail[] | undefined; /** *

The recurring charge tag assigned to the resource.

* @public */ RecurringCharges?: RecurringCharge[] | undefined; /** *

Whether the Reserved Instance is applied to instances in a Region or an Availability * Zone.

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

The ID of the Availability Zone.

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

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.

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

The instance type on which the Reserved Instance can be used.

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

The Availability Zone in which the Reserved Instance can be used.

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

The duration of the Reserved Instance, in seconds.

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

The usage price of the Reserved Instance, per hour.

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

The purchase price of the Reserved Instance.

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

The Reserved Instance product platform description.

* @public */ ProductDescription?: RIProductDescription | undefined; } /** *

Contains the output of DescribeReservedInstancesOfferings.

* @public */ export interface DescribeReservedInstancesOfferingsResult { /** *

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

A list of Reserved Instances offerings.

* @public */ ReservedInstancesOfferings?: ReservedInstancesOffering[] | undefined; } /** * @public */ export interface DescribeRouteServerEndpointsRequest { /** *

The IDs of the route server endpoints to describe.

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

The token for the next page of results.

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

The maximum number of results to return with a single call.

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

One or more filters to apply to the describe request.

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

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

Information about the described route server endpoints.

* @public */ RouteServerEndpoints?: RouteServerEndpoint[] | 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 DescribeRouteServerPeersRequest { /** *

The IDs of the route server peers to describe.

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

The token for the next page of results.

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

The maximum number of results to return with a single call.

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

One or more filters to apply to the describe request.

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

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

Information about the described route server peers.

* @public */ RouteServerPeers?: RouteServerPeer[] | 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 DescribeRouteServersRequest { /** *

The IDs of the route servers to describe.

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

The token for the next page of results.

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

The maximum number of results to return with a single call.

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

One or more filters to apply to the describe request.

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

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

Information about the described route servers.

* @public */ RouteServers?: RouteServer[] | 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 DescribeRouteTablesRequest { /** *

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 IDs of the route tables.

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

The filters.

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

Contains the output of DescribeRouteTables.

* @public */ export interface DescribeRouteTablesResult { /** *

Information about the route tables.

* @public */ RouteTables?: RouteTable[] | 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; } /** *

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

* @public */ export interface SlotDateTimeRangeRequest { /** *

The earliest date and time, in UTC, for the Scheduled Instance to start.

* @public */ EarliestTime: Date | undefined; /** *

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

* @public */ LatestTime: Date | undefined; } /** *

Describes the recurring schedule for a Scheduled Instance.

* @public */ export interface ScheduledInstanceRecurrenceRequest { /** *

The frequency (Daily, Weekly, or Monthly).

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

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 * weeks or every 2 months.

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

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

* @public */ OccurrenceDays?: number[] | undefined; /** *

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

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

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). * This value is required for a monthly schedule. * You can't specify DayOfWeek with a weekly schedule. * You can't specify this value with a daily schedule.

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

Contains the parameters for DescribeScheduledInstanceAvailability.

* @public */ export interface DescribeScheduledInstanceAvailabilityRequest { /** *

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 time period for the first schedule to start.

* @public */ FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; /** *

The maximum number of results to return in a single call. * This value can be between 5 and 300. The default value is 300. * To retrieve the remaining results, make another call with the returned * NextToken value.

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

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours * and less than 1,720.

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

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

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

The token for the next set of results.

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

The schedule recurrence.

* @public */ Recurrence: ScheduledInstanceRecurrenceRequest | undefined; } /** *

Describes the recurring schedule for a Scheduled Instance.

* @public */ export interface ScheduledInstanceRecurrence { /** *

The frequency (Daily, Weekly, or Monthly).

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

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 * weeks or every 2 months.

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

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

* @public */ OccurrenceDaySet?: number[] | undefined; /** *

Indicates whether the occurrence is relative to the end of the specified week or month.

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

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

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

Describes a schedule that is available for your Scheduled Instances.

* @public */ export interface ScheduledInstanceAvailability { /** *

The Availability Zone.

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

The number of available instances.

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

The time period for the first schedule to start.

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

The hourly price for a single instance.

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

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

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

The maximum term. The only possible value is 365 days.

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

The minimum term. The only possible value is 365 days.

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

The network platform.

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

The platform (Linux/UNIX or Windows).

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

The purchase token. This token expires in two hours.

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

The schedule recurrence.

* @public */ Recurrence?: ScheduledInstanceRecurrence | undefined; /** *

The number of hours in the schedule.

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

The total number of hours for a single instance for the entire term.

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

Contains the output of DescribeScheduledInstanceAvailability.

* @public */ export interface DescribeScheduledInstanceAvailabilityResult { /** *

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

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

Information about the available Scheduled Instances.

* @public */ ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[] | undefined; } /** *

Describes the time period for a Scheduled Instance to start its first schedule.

* @public */ export interface SlotStartTimeRangeRequest { /** *

The earliest date and time, in UTC, for the Scheduled Instance to start.

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

The latest date and time, in UTC, for the Scheduled Instance to start.

* @public */ LatestTime?: Date | undefined; } /** *

Contains the parameters for DescribeScheduledInstances.

* @public */ export interface DescribeScheduledInstancesRequest { /** *

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. * This value can be between 5 and 300. The default value is 100. * To retrieve the remaining results, make another call with the returned * NextToken value.

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

The token for the next set of results.

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

The Scheduled Instance IDs.

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

The time period for the first schedule to start.

* @public */ SlotStartTimeRange?: SlotStartTimeRangeRequest | undefined; } /** *

Describes a Scheduled Instance.

* @public */ export interface ScheduledInstance { /** *

The Availability Zone.

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

The date when the Scheduled Instance was purchased.

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

The hourly price for a single instance.

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

The number of instances.

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

The instance type.

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

The network platform.

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

The time for the next schedule to start.

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

The platform (Linux/UNIX or Windows).

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

The time that the previous schedule ended or will end.

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

The schedule recurrence.

* @public */ Recurrence?: ScheduledInstanceRecurrence | undefined; /** *

The Scheduled Instance ID.

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

The number of hours in the schedule.

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

The end date for the Scheduled Instance.

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

The start date for the Scheduled Instance.

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

The total number of hours for a single instance for the entire term.

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

Contains the output of DescribeScheduledInstances.

* @public */ export interface DescribeScheduledInstancesResult { /** *

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

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

Information about the Scheduled Instances.

* @public */ ScheduledInstanceSet?: ScheduledInstance[] | undefined; } /** * @public */ export interface DescribeSecondaryInterfacesRequest { /** *

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

The IDs of the secondary interfaces.

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

Describes the attachment of a secondary interface to an instance.

* @public */ export interface SecondaryInterfaceAttachment { /** *

The ID of the attachment.

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

The timestamp when the attachment was created.

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

Indicates whether the secondary interface is deleted when the instance is terminated.

*

The only supported value for this field is true.

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

The device index of the secondary interface.

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

The ID of the instance to which the secondary interface is attached.

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

The Amazon Web Services account ID of the owner of the instance.

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

The index of the network card.

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

The attachment state.

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

Describes a private IPv4 address for a secondary interface.

* @public */ export interface SecondaryInterfaceIpv4Address { /** *

The private IPv4 address.

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

Describes a secondary interface.

* @public */ export interface SecondaryInterface { /** *

The Availability Zone of the secondary interface.

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

The ID of the Availability Zone of the secondary interface.

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

The attachment information for the secondary interface.

* @public */ Attachment?: SecondaryInterfaceAttachment | undefined; /** *

The MAC address of the secondary interface.

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

The ID of the Amazon Web Services account that owns the secondary interface.

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

The private IPv4 addresses associated with the secondary interface.

* @public */ PrivateIpv4Addresses?: SecondaryInterfaceIpv4Address[] | undefined; /** *

The ID of the secondary interface.

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

The Amazon Resource Name (ARN) of the secondary interface.

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

The type of secondary interface.

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

The ID of the secondary subnet.

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

The ID of the secondary network.

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

The type of the secondary network.

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

Indicates whether source/destination checking is enabled.

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

The status of the secondary interface.

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

The tags assigned to the secondary interface.

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

Information about the secondary interfaces.

* @public */ SecondaryInterfaces?: SecondaryInterface[] | 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 DescribeSecondaryNetworksRequest { /** *

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. The following are the possible values:

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

The IDs of the secondary networks.

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

Information about the secondary networks.

* @public */ SecondaryNetworks?: SecondaryNetwork[] | 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 DescribeSecondarySubnetsRequest { /** *

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

The IDs of the secondary subnets.

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

Information about the secondary subnets.

* @public */ SecondarySubnets?: SecondarySubnet[] | 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 DescribeSecurityGroupReferencesRequest { /** *

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 security groups in your account.

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

Describes a VPC with a security group that references your security group.

* @public */ export interface SecurityGroupReference { /** *

The ID of your security group.

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

The ID of the VPC with the referencing security group.

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

The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see * Update your security groups to reference peer security groups * in the VPC Peering Guide.

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

The ID of the transit gateway (if applicable).

* @public */ TransitGatewayId?: string | undefined; } /** * @public */ export interface DescribeSecurityGroupReferencesResult { /** *

Information about the VPCs with the referencing security groups.

* @public */ SecurityGroupReferenceSet?: SecurityGroupReference[] | undefined; } /** * @public */ export interface DescribeSecurityGroupRulesRequest { /** *

One or more filters.

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

The IDs of the security group rules.

* @public */ SecurityGroupRuleIds?: 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 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. This value * can be between 5 and 1000. If this parameter is not specified, then all items are * returned. For more information, see Pagination.

* @public */ MaxResults?: number | undefined; } /** * @public */ export interface DescribeSecurityGroupRulesResult { /** *

Information about security group rules.

* @public */ SecurityGroupRules?: SecurityGroupRule[] | 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 DescribeSecurityGroupsRequest { /** *

The IDs of the security groups. Required for security groups in a nondefault VPC.

*

Default: Describes all of your security groups.

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

[Default VPC] The names of the security groups. You can specify either * the security group name or the security group ID.

*

Default: Describes all of your security groups.

* @public */ GroupNames?: 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. This value can be between 5 and 1000. * If this parameter is not specified, then all items are returned. 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. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

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

Describes a security group.

* @public */ export interface SecurityGroup { /** *

The ID of the security group.

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

The outbound rules associated with the security group.

* @public */ IpPermissionsEgress?: IpPermission[] | undefined; /** *

Any tags assigned to the security group.

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

The ID of the VPC for the security group.

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

The ARN of the security group.

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

The Amazon Web Services account ID of the owner of the security group.

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

The name of the security group.

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

A description of the security group.

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

The inbound rules associated with the security group.

* @public */ IpPermissions?: IpPermission[] | undefined; } /** * @public */ export interface DescribeSecurityGroupsResult { /** *

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 security groups.

* @public */ SecurityGroups?: SecurityGroup[] | undefined; } /** * @public */ export interface DescribeSecurityGroupVpcAssociationsRequest { /** *

Security group VPC association 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.

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

A security group association with a VPC that you made with AssociateSecurityGroupVpc.

* @public */ export interface SecurityGroupVpcAssociation { /** *

The association's security group ID.

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

The association's VPC ID.

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

The Amazon Web Services account ID of the owner of the VPC.

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

The association's state.

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

The association's state reason.

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

The Amazon Web Services account ID of the owner of the security group.

* @public */ GroupOwnerId?: string | undefined; } /** * @public */ export interface DescribeSecurityGroupVpcAssociationsResult { /** *

The security group VPC associations.

* @public */ SecurityGroupVpcAssociations?: SecurityGroupVpcAssociation[] | 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 DescribeServiceLinkVirtualInterfacesRequest { /** *

The IDs of the service link virtual interfaces.

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

The filters to use for narrowing down the request. The following filters are * supported:

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

Describes the service link virtual interfaces that establish connectivity between Amazon Web Services Outpost and on-premises networks.

* @public */ export interface ServiceLinkVirtualInterface { /** *

The ID of the service link virtual interface.

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

The Amazon Resource Number (ARN) for the service link virtual interface.

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

The Outpost ID for the service link virtual interface.

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

The Outpost Amazon Resource Number (ARN) for the service link virtual interface.

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

The ID of the Amazon Web Services account that owns the service link virtual interface..

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

The IPv4 address assigned to the local gateway virtual interface on the Outpost side.

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

The IPv4 peer address for the service link virtual interface.

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

The ASN for the Border Gateway Protocol (BGP) associated with the service link virtual interface.

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

The virtual local area network for the service link virtual interface.

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

The link aggregation group (LAG) ID for the service link virtual interface.

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

The tags associated with the service link virtual interface.

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

The current state of the service link virtual interface.

* @public */ ConfigurationState?: ServiceLinkVirtualInterfaceConfigurationState | undefined; } /** * @public */ export interface DescribeServiceLinkVirtualInterfacesResult { /** *

Describes the service link virtual interfaces.

* @public */ ServiceLinkVirtualInterfaces?: ServiceLinkVirtualInterface[] | 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 DescribeSnapshotAttributeRequest { /** *

The snapshot attribute you would like to view.

* @public */ Attribute: SnapshotAttributeName | undefined; /** *

The ID of the EBS snapshot.

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

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

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

Describes the user or group to be added or removed from the list of create volume * permissions for a volume.

* @public */ export interface CreateVolumePermission { /** *

The ID of the Amazon Web Services account to be added or removed.

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

The group to be added or removed. The possible value is all.

* @public */ Group?: PermissionGroup | undefined; } /** * @public */ export interface DescribeSnapshotAttributeResult { /** *

The product codes.

* @public */ ProductCodes?: ProductCode[] | undefined; /** *

The ID of the EBS snapshot.

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

The users and groups that have the permissions for creating volumes from the * snapshot.

* @public */ CreateVolumePermissions?: CreateVolumePermission[] | undefined; } /** * @public */ export interface DescribeSnapshotsRequest { /** *

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

Scopes the results to snapshots with the specified owners. You can specify a combination of * Amazon Web Services account IDs, self, and amazon.

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

The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

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

The snapshot IDs.

*

Default: Describes the snapshots for which you have create volume permissions.

* @public */ SnapshotIds?: 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 DescribeSnapshotsResult { /** *

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 snapshots.

* @public */ Snapshots?: Snapshot[] | undefined; } /** * @public */ export interface DescribeSnapshotTierStatusRequest { /** *

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

Provides information about a snapshot's storage tier.

* @public */ export interface SnapshotTierStatus { /** *

The ID of the snapshot.

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

The ID of the volume from which the snapshot was created.

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

The state of the snapshot.

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

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

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

The tags that are assigned to the snapshot.

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

The storage tier in which the snapshot is stored. standard indicates * that the snapshot is stored in the standard snapshot storage tier and that it is ready * for use. archive indicates that the snapshot is currently archived and that * it must be restored before it can be used.

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

The date and time when the last archive or restore process was started.

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

The progress of the last archive or restore process, as a percentage.

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

The status of the last archive or restore process.

* @public */ LastTieringOperationStatus?: TieringOperationStatus | undefined; /** *

A message describing the status of the last archive or restore process.

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

The date and time when the last archive process was completed.

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

Only for archived snapshots that are temporarily restored. Indicates the date and * time when a temporarily restored snapshot will be automatically re-archived.

* @public */ RestoreExpiryTime?: Date | undefined; } /** * @public */ export interface DescribeSnapshotTierStatusResult { /** *

Information about the snapshot's storage tier.

* @public */ SnapshotTierStatuses?: SnapshotTierStatus[] | 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; } /** *

Contains the parameters for DescribeSpotDatafeedSubscription.

* @public */ export interface DescribeSpotDatafeedSubscriptionRequest { /** *

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 DescribeSpotDatafeedSubscription.

* @public */ export interface DescribeSpotDatafeedSubscriptionResult { /** *

The Spot Instance data feed subscription.

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

Contains the parameters for DescribeSpotFleetInstances.

* @public */ export interface DescribeSpotFleetInstancesRequest { /** *

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 Spot Fleet request.

* @public */ SpotFleetRequestId: string | 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 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; } /** *

Contains the output of DescribeSpotFleetInstances.

* @public */ export interface DescribeSpotFleetInstancesResponse { /** *

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 Spot Fleet request.

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

Contains the parameters for DescribeSpotFleetRequestHistory.

* @public */ export interface DescribeSpotFleetRequestHistoryRequest { /** *

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 Spot Fleet request.

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

The type of events to describe. By default, all events are described.

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

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

* @public */ StartTime: 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 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; } /** *

Describes an event in the history of the Spot Fleet request.

* @public */ export interface HistoryRecord { /** *

Information about the event.

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

The event type.

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

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

* @public */ Timestamp?: Date | undefined; } /** *

Contains the output of DescribeSpotFleetRequestHistory.

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

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

* @public */ HistoryRecords?: HistoryRecord[] | 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 Spot Fleet request.

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

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

* @public */ StartTime?: Date | undefined; } /** *

Contains the parameters for DescribeSpotFleetRequests.

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

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

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

The IDs of the Spot Fleet requests.

* @public */ SpotFleetRequestIds?: string[] | 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 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; } /** *

Describes whether monitoring is enabled.

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

Enables monitoring for the instance.

*

Default: false *

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

Describes a network interface.

* @public */ export interface InstanceNetworkInterfaceSpecification { /** *

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. * The public IP address can only be assigned to a network interface for eth0, and can only * be assigned to a new network interface, not an existing one. You cannot specify more * than one network interface in the request. If launching into a default subnet, the * default value is true.

*

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses * associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

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

If set to true, the interface is deleted when the instance is terminated. * You can specify true only if creating a new network interface when * launching an instance.

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

The description of the network interface. Applies only if creating a network interface * when launching an instance.

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

The position of the network interface in the attachment order. A primary network * interface has a device index of 0.

*

If you specify a network interface when launching an instance, you must specify the * device index.

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

The IDs of the security groups for the network interface. Applies only if creating a * network interface when launching an instance.

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

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the * IPv6 addresses from the range of the subnet. You cannot specify this option and the * option to assign specific IPv6 addresses in the same request. You can specify this * option if you've specified a minimum number of instances to launch.

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

The IPv6 addresses to assign to the network interface. You cannot specify this option * and the option to assign a number of IPv6 addresses in the same request. You cannot * specify this option if you've specified a minimum number of instances to launch.

* @public */ Ipv6Addresses?: InstanceIpv6Address[] | undefined; /** *

The ID of the network interface.

*

If you are creating a Spot Fleet, omit this parameter because you can’t specify a * network interface ID in a launch specification.

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

The private IPv4 address of the network interface. Applies only if creating a network * interface when launching an instance. You cannot specify this option if you're launching * more than one instance in a RunInstances * request.

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

The private IPv4 addresses to assign to the network interface. Only one private IPv4 * address can be designated as primary. You cannot specify this option if you're launching * more than one instance in a RunInstances * request.

* @public */ PrivateIpAddresses?: PrivateIpAddressSpecification[] | undefined; /** *

The number of secondary private IPv4 addresses. You can’t specify this parameter and * also specify a secondary private IP address using the PrivateIpAddress * parameter.

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

The ID of the subnet associated with the network interface. Applies only if creating a * network interface when launching an instance.

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

Indicates whether to assign a carrier IP address to the network interface.

*

You can only assign a carrier IP address to a network interface that is in a subnet in * a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer * Guide.

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

The type of network interface.

*

If you specify efa-only, do not assign any IP addresses to the network * interface. EFA-only network interfaces do not support IP addresses.

*

Valid values: interface | efa | efa-only *

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

The index of the network card. Some instance types support multiple network cards. The * primary network interface must be assigned to network card index 0. The default is * network card index 0.

*

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because * you can’t specify the network card index when using this API. To specify the network * card index, use RunInstances.

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

The IPv4 delegated prefixes to be assigned to the network interface. You cannot use * this option if you use the Ipv4PrefixCount option.

* @public */ Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[] | undefined; /** *

The number of IPv4 delegated prefixes to be automatically assigned to the network * interface. You cannot use this option if you use the Ipv4Prefix * option.

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

The IPv6 delegated prefixes to be assigned to the network interface. You cannot use * this option if you use the Ipv6PrefixCount option.

* @public */ Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[] | undefined; /** *

The number of IPv6 delegated prefixes to be automatically assigned to the network * interface. You cannot use this option if you use the Ipv6Prefix * option.

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

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

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

Specifies the ENA Express settings for the network interface that's attached to * the instance.

* @public */ EnaSrdSpecification?: EnaSrdSpecificationRequest | undefined; /** *

A security group connection tracking specification that enables you to set the timeout * for connection tracking on an Elastic network interface. For more information, see * Connection tracking timeouts in the * Amazon EC2 User Guide.

* @public */ ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; /** *

The number of ENA queues to be created with the instance.

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

Describes Spot Instance placement.

* @public */ export interface SpotPlacement { /** *

The Availability Zone. For example, us-east-2a.

*

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; * for example, "us-east-2a, us-east-2b".

*

Either AvailabilityZone or AvailabilityZoneId must be * specified in the request, but not both.

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

The name of the placement group.

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

The tenancy of the instance (if the instance is running in a VPC). An instance with a * tenancy of dedicated runs on single-tenant hardware. The host * tenancy is not supported for Spot Instances.

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

The ID of the Availability Zone. For example, use2-az1.

*

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; * for example, "use2-az1, use2-bz1".

*

Either AvailabilityZone or AvailabilityZoneId must be * specified in the request, but not both.

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

The tags for a Spot Fleet resource.

* @public */ export interface SpotFleetTagSpecification { /** *

The type of resource. Currently, the only resource type that is supported is * instance. To tag the Spot Fleet request on creation, use the * TagSpecifications parameter in * SpotFleetRequestConfigData * .

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

The tags.

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

Describes the launch specification for one or more Spot Instances. If you include * On-Demand capacity in your fleet request or want to specify an EFA network device, you * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

* @public */ export interface SpotFleetLaunchSpecification { /** *

Deprecated.

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

One or more block devices that are mapped to the Spot Instances. You can't specify both * a snapshot ID and an encryption value. This is because only blank volumes can be * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its * encryption status is used for the volume encryption status.

* @public */ BlockDeviceMappings?: BlockDeviceMapping[] | undefined; /** *

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

*

Default: false *

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

The IAM instance profile.

* @public */ IamInstanceProfile?: IamInstanceProfileSpecification | undefined; /** *

The ID of the AMI.

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

The instance type.

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

The ID of the kernel.

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

The name of the key pair.

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

Enable or disable monitoring for the instances.

* @public */ Monitoring?: SpotFleetMonitoring | undefined; /** *

The network interfaces.

* *

* SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). * You must use LaunchTemplateConfig instead.

*
* @public */ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined; /** *

The placement information.

* @public */ Placement?: SpotPlacement | undefined; /** *

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel * requirements for information about whether you need to specify a RAM disk. To find kernel * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

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

The maximum price per unit hour that you are willing to pay for a Spot Instance. 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 instances will be interrupted more frequently than if you do not specify this parameter.

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

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

*

If you specify a network interface, you must specify any subnets as part of the * network interface instead of using this parameter.

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

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

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

The number of units provided by the specified instance type. These are the same units * that you chose to set the target capacity in terms of instances, or a performance * characteristic such as vCPUs, memory, or I/O.

*

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the * number of instances to the next whole number. If this value is not specified, the default * is 1.

* *

When specifying weights, the price used in the lowestPrice and * priceCapacityOptimized allocation strategies is per * unit hour (where the instance price is divided by the specified * weight). However, if all the specified weights are above the requested * TargetCapacity, resulting in only 1 instance being launched, the price * used is per instance hour.

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

The tags to apply during creation.

* @public */ TagSpecifications?: SpotFleetTagSpecification[] | undefined; /** *

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will * identify instance types with those attributes.

* *

If you specify InstanceRequirements, you can't specify * InstanceType.

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

The security groups.

*

If you specify a network interface, you must specify any security groups as part of * the network interface instead of using this parameter.

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

Describes overrides for a launch template.

* @public */ export interface LaunchTemplateOverrides { /** *

The instance type.

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

The maximum price per unit hour that you are willing to pay for a Spot Instance. 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 instances will be interrupted more frequently than if you do not specify this parameter.

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

The ID of the subnet in which to launch the instances.

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

The Availability Zone in which to launch the instances. For example, * us-east-2a.

*

Either AvailabilityZone or AvailabilityZoneId must be * specified in the request, but not both.

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

The number of units provided by the specified instance type. These are the same units * that you chose to set the target capacity in terms of instances, or a performance * characteristic such as vCPUs, memory, or I/O.

*

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the * number of instances to the next whole number. If this value is not specified, the default * is 1.

* *

When specifying weights, the price used in the lowestPrice and * priceCapacityOptimized allocation strategies is per * unit hour (where the instance price is divided by the specified * weight). However, if all the specified weights are above the requested * TargetCapacity, resulting in only 1 instance being launched, the price * used is per instance hour.

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

The priority for the launch template override. The highest priority is launched * first.

*

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet * uses priority to determine which launch template override to use first in fulfilling * On-Demand capacity.

*

If the Spot AllocationStrategy is set to * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis * to determine which launch template override to use in fulfilling Spot capacity, but * optimizes for capacity first.

*

Valid values are whole numbers starting at 0. The lower the number, the * higher the priority. If no number is set, the launch template override has the lowest * priority. You can set the same priority for different launch template overrides.

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

The instance requirements. When you specify instance requirements, Amazon EC2 will identify * instance types with the provided requirements, and then use your On-Demand and Spot * allocation strategies to launch instances from these instance types, in the same way as * when you specify a list of instance types.

* *

If you specify InstanceRequirements, you can't specify * InstanceType.

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

The ID of the Availability Zone in which to launch the instances. For example, * use2-az1.

*

Either AvailabilityZone or AvailabilityZoneId must be * specified in the request, but not both.

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

Describes a launch template and overrides.

* @public */ export interface LaunchTemplateConfig { /** *

The launch template to use. Make sure that the launch template does not contain the * NetworkInterfaceId parameter because you can't specify a network interface * ID in a Spot Fleet.

* @public */ LaunchTemplateSpecification?: FleetLaunchTemplateSpecification | undefined; /** *

Any parameters that you specify override the same parameters in the launch * template.

* @public */ Overrides?: LaunchTemplateOverrides[] | undefined; } /** *

Describes a Classic Load Balancer.

* @public */ export interface ClassicLoadBalancer { /** *

The name of the load balancer.

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

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers * the running Spot Instances with these Classic Load Balancers.

* @public */ export interface ClassicLoadBalancersConfig { /** *

One or more Classic Load Balancers.

* @public */ ClassicLoadBalancers?: ClassicLoadBalancer[] | undefined; } /** *

Describes a load balancer target group.

* @public */ export interface TargetGroup { /** *

The Amazon Resource Name (ARN) of the target group.

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

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the * running Spot Instances with these target groups.

* @public */ export interface TargetGroupsConfig { /** *

One or more target groups.

* @public */ TargetGroups?: TargetGroup[] | undefined; } /** *

Describes the Classic Load Balancers and target groups to attach to a Spot Fleet * request.

* @public */ export interface LoadBalancersConfig { /** *

The Classic Load Balancers.

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

The target groups.

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

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your * Spot Instance is at an elevated risk of being interrupted. For more information, see * Capacity * rebalancing in the Amazon EC2 User Guide.

* @public */ export interface SpotCapacityRebalance { /** *

The replacement strategy to use. Only available for fleets of type * maintain.

*

* launch - Spot Fleet launches a new replacement Spot Instance when a * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot 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 - Spot 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?: ReplacementStrategy | 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 SpotMaintenanceStrategies { /** *

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your * Spot Instance is at an elevated risk of being interrupted. For more information, see * Capacity * rebalancing in the Amazon EC2 User Guide.

* @public */ CapacityRebalance?: SpotCapacityRebalance | undefined; } /** *

Describes the configuration of a Spot Fleet request.

* @public */ export interface SpotFleetRequestConfigData { /** *

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance * pools specified by the Spot Fleet launch configuration. For more information, see Allocation * strategies for Spot Instances in the Amazon EC2 User Guide.

*
*
priceCapacityOptimized (recommended)
*
*

Spot 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. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

*
*
capacityOptimized
*
*

Spot 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 * capacityOptimizedPrioritized. 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. * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a * launch template. Note that if the OnDemandAllocationStrategy is set to * prioritized, the same priority is applied when fulfilling On-Demand * capacity.

*
*
diversified
*
*

Spot Fleet requests instances from all of the Spot Instance pools that you * specify.

*
*
lowestPrice (not recommended)
*
* *

We don't recommend the lowestPrice allocation strategy because * it has the highest risk of interruption for your Spot Instances.

*
*

Spot 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, Spot 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: lowestPrice *

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

The order of the launch template overrides to use in fulfilling On-Demand capacity. If * you specify lowestPrice, Spot Fleet uses price to determine the order, launching * the lowest price first. If you specify prioritized, Spot Fleet uses the priority * that you assign to each Spot Fleet launch template override, launching the highest priority * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

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

The strategies for managing your Spot Instances that are at an elevated risk of being * interrupted.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of your * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

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

Indicates whether running instances should be terminated if you decrease the * target capacity of the Spot Fleet request below the current size of the Spot Fleet.

*

Supported only for fleets of type maintain.

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

The number of units fulfilled by this request compared to the set target capacity. You * cannot set this value.

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

The number of On-Demand units fulfilled by this request compared to the set target * On-Demand capacity.

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

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances * on your behalf. For more information, see Spot * Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can * terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set * TerminateInstancesWithExpiration.

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

The launch specifications for the Spot Fleet request. If you specify * LaunchSpecifications, you can't specify * LaunchTemplateConfigs. If you include On-Demand capacity in your * request, you must use LaunchTemplateConfigs.

* *

If an AMI specified in a launch specification is deregistered or disabled, no new * instances can be launched from the AMI. For fleets of type maintain, the * target capacity will not be maintained.

*
* @public */ LaunchSpecifications?: SpotFleetLaunchSpecification[] | undefined; /** *

The launch template and overrides. If you specify LaunchTemplateConfigs, * you can't specify LaunchSpecifications. If you include On-Demand capacity * in your request, you must use LaunchTemplateConfigs.

* @public */ LaunchTemplateConfigs?: LaunchTemplateConfig[] | undefined; /** *

The maximum price per unit hour that you are willing to pay for a Spot Instance. 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 instances will be interrupted more frequently than if you do not specify this parameter.

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

The number of units to request for the Spot Fleet. 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 */ TargetCapacity: number | undefined; /** *

The number of On-Demand 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 */ OnDemandTargetCapacity?: number | undefined; /** *

The maximum amount per hour for On-Demand Instances that you're willing to pay. You * can use the onDemandMaxTotalPrice parameter, the * spotMaxTotalPrice parameter, or both parameters 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, Spot Fleet will launch instances until it reaches the * maximum amount 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.

* *

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 onDemandMaxTotalPrice does not account for surplus * credits, and, if you use surplus credits, your final cost might be higher than what you * specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the * Amazon EC2 User Guide.

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

The maximum amount per hour for Spot Instances that you're willing to pay. You can use * the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice * parameter, or both parameters 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, Spot Fleet will * launch instances until it reaches the maximum amount 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.

* *

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 spotMaxTotalPrice does not account for surplus * credits, and, if you use surplus credits, your final cost might be higher than what you * specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the * Amazon EC2 User Guide.

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

Indicates whether running Spot Instances are terminated when the Spot Fleet request * expires.

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

The type of request. Indicates whether the Spot Fleet only requests the target * capacity or also attempts to maintain it. When this value is request, the * Spot Fleet only places the required requests. It does not attempt to replenish Spot * Instances if capacity is diminished, nor does it submit requests in alternative Spot * pools if capacity is not available. When this value is maintain, the Spot * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet * capacity and automatically replenishes any interrupted instances. Default: * maintain. instant is listed but is not used by Spot * Fleet.

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

The start date and time of the request, in UTC format * (YYYY-MM-DDTHH:MM:SSZ). * By default, Amazon EC2 starts fulfilling the request immediately.

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

The end date and time of the request, in UTC format * (YYYY-MM-DDTHH:MM:SSZ). * After the end date and time, no new Spot Instance requests are placed or able to fulfill * the request. If no value is specified, the Spot Fleet request remains until you cancel * it.

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

Indicates whether Spot Fleet should replace unhealthy instances.

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

The behavior when a Spot Instance is interrupted. The default is * terminate.

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

One or more Classic Load Balancers and target groups to attach to the Spot Fleet * request. Spot Fleet registers the running Spot Instances with the specified Classic Load * Balancers and target groups.

*

With Network Load Balancers, Spot Fleet cannot register instances that have the * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, * M3, and T1.

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

The number of Spot pools across which to allocate your target Spot capacity. Valid * only when Spot AllocationStrategy is set to * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly * allocates your target Spot capacity across the number of Spot pools that you * specify.

*

Note that Spot 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, Spot 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; /** *

Reserved.

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

The unit for the target capacity. You can specify this parameter only when * using attribute-based instance type selection.

*

Default: units (the number of instances)

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

The key-value pair for tagging the Spot Fleet request on creation. The value for * ResourceType must be spot-fleet-request, otherwise the * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch * template (valid only if you use LaunchTemplateConfigs) or in * the * SpotFleetTagSpecification * (valid only if you use * LaunchSpecifications). For information about tagging after launch, see * Tag your resources.

* @public */ TagSpecifications?: TagSpecification[] | undefined; } /** *

Describes a Spot Fleet request.

* @public */ export interface SpotFleetRequestConfig { /** *

The progress of the Spot Fleet request. * If there is an error, the status is error. * After all requests are placed, the status is pending_fulfillment. * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. * If the size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

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

The creation date and time of the request.

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

The configuration of the Spot Fleet request.

* @public */ SpotFleetRequestConfig?: SpotFleetRequestConfigData | undefined; /** *

The ID of the Spot Fleet request.

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

The state of the Spot Fleet request.

* @public */ SpotFleetRequestState?: BatchState | undefined; /** *

The tags for a Spot Fleet resource.

* @public */ Tags?: Tag[] | undefined; } /** *

Contains the output of DescribeSpotFleetRequests.

* @public */ export interface DescribeSpotFleetRequestsResponse { /** *

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 configuration of your Spot Fleet.

* @public */ SpotFleetRequestConfigs?: SpotFleetRequestConfig[] | undefined; } /** *

Contains the parameters for DescribeSpotInstanceRequests.

* @public */ export interface DescribeSpotInstanceRequestsRequest { /** *

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 IDs of the Spot Instance requests.

* @public */ SpotInstanceRequestIds?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; } /** *

Describes the monitoring of an instance.

* @public */ export interface RunInstancesMonitoringEnabled { /** *

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is * enabled.

* @public */ Enabled: boolean | undefined; } /** *

Describes the launch specification for an instance.

* @public */ export interface LaunchSpecification { /** *

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

* @public */ UserData?: string | undefined; /** *

Deprecated.

* @public */ AddressingType?: string | undefined; /** *

The block device mapping entries.

* @public */ BlockDeviceMappings?: BlockDeviceMapping[] | undefined; /** *

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

*

Default: false *

* @public */ EbsOptimized?: boolean | undefined; /** *

The IAM instance profile.

* @public */ IamInstanceProfile?: IamInstanceProfileSpecification | undefined; /** *

The ID of the AMI.

* @public */ ImageId?: string | undefined; /** *

The instance type. Only one instance type can be specified.

* @public */ InstanceType?: _InstanceType | undefined; /** *

The ID of the kernel.

* @public */ KernelId?: string | undefined; /** *

The name of the key pair.

* @public */ KeyName?: string | undefined; /** *

The network interfaces. If you specify a network interface, you must specify * subnet IDs and security group IDs using the network interface.

* @public */ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined; /** *

The placement information for the instance.

* @public */ Placement?: SpotPlacement | undefined; /** *

The ID of the RAM disk.

* @public */ RamdiskId?: string | undefined; /** *

The ID of the subnet in which to launch the instance.

* @public */ SubnetId?: string | undefined; /** *

The IDs of the security groups.

* @public */ SecurityGroups?: GroupIdentifier[] | undefined; /** *

Describes the monitoring of an instance.

* @public */ Monitoring?: RunInstancesMonitoringEnabled | undefined; } /** *

Describes the status of a Spot Instance request.

* @public */ export interface SpotInstanceStatus { /** *

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide.

* @public */ Code?: string | undefined; /** *

The description for the status code.

* @public */ Message?: string | undefined; /** *

The date and time of the most recent status update, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ).

* @public */ UpdateTime?: Date | undefined; } /** *

Describes a Spot Instance request.

* @public */ export interface SpotInstanceRequest { /** *

Deprecated.

* @public */ ActualBlockHourlyPrice?: string | undefined; /** *

The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

* @public */ AvailabilityZoneGroup?: string | undefined; /** *

Deprecated.

* @public */ BlockDurationMinutes?: number | undefined; /** *

The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

* @public */ CreateTime?: Date | undefined; /** *

The fault codes for the Spot Instance request, if any.

* @public */ Fault?: SpotInstanceStateFault | undefined; /** *

The instance ID, if an instance has been launched to fulfill the Spot Instance request.

* @public */ InstanceId?: string | undefined; /** *

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

* @public */ LaunchGroup?: string | undefined; /** *

Additional information for launching instances.

* @public */ LaunchSpecification?: LaunchSpecification | undefined; /** *

The Availability Zone in which the request is launched.

*

Either launchedAvailabilityZone or launchedAvailabilityZoneId can be specified, but not both

* @public */ LaunchedAvailabilityZone?: string | undefined; /** *

The ID of the Availability Zone in which the request is launched.

*

Either launchedAvailabilityZone or launchedAvailabilityZoneId can be specified, but not both

* @public */ LaunchedAvailabilityZoneId?: string | undefined; /** *

The product description associated with the Spot Instance.

* @public */ ProductDescription?: RIProductDescription | undefined; /** *

The ID of the Spot Instance request.

* @public */ SpotInstanceRequestId?: string | undefined; /** *

The maximum price per unit hour that you are willing to pay for a Spot Instance. 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 instances will be interrupted more frequently than if you do not specify this parameter.

*
* @public */ SpotPrice?: string | undefined; /** *

The state of the Spot Instance request. Spot request status information helps track your Spot * Instance requests. For more information, see Spot request status in the * Amazon EC2 User Guide.

* @public */ State?: SpotInstanceState | undefined; /** *

The status code and status message describing the Spot Instance request.

* @public */ Status?: SpotInstanceStatus | undefined; /** *

Any tags assigned to the resource.

* @public */ Tags?: Tag[] | undefined; /** *

The Spot Instance request type.

* @public */ Type?: SpotInstanceType | undefined; /** *

The start date of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). * The request becomes active at this date and time.

* @public */ ValidFrom?: Date | undefined; /** *

The end date of the request, in UTC format * (YYYY-MM-DDTHH:MM:SSZ).

* * @public */ ValidUntil?: Date | undefined; /** *

The behavior when a Spot Instance is interrupted.

* @public */ InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined; } /** *

Contains the output of DescribeSpotInstanceRequests.

* @public */ export interface DescribeSpotInstanceRequestsResult { /** *

The Spot Instance requests.

* @public */ SpotInstanceRequests?: SpotInstanceRequest[] | 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; } /** *

Contains the parameters for DescribeSpotPriceHistory.

* @public */ export interface DescribeSpotPriceHistoryRequest { /** *

Filters the results by the specified ID of the Availability Zone.

*

Either AvailabilityZone or AvailabilityZoneId can be specified, but not both

* @public */ AvailabilityZoneId?: 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 date and time, up to the past 90 days, from which to start retrieving the price * history data, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ).

* @public */ StartTime?: Date | undefined; /** *

The date and time, up to the current date, from which to stop retrieving the price * history data, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ).

* @public */ EndTime?: Date | undefined; /** *

Filters the results by the specified instance types.

* @public */ InstanceTypes?: _InstanceType[] | undefined; /** *

Filters the results by the specified basic product descriptions.

* @public */ ProductDescriptions?: string[] | undefined; /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

Filters the results by the specified Availability Zone.

*

Either AvailabilityZone or AvailabilityZoneId can be specified, but not both

* @public */ AvailabilityZone?: 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 maximum price per unit hour that you are willing to pay for a Spot Instance. 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 instances will be interrupted more frequently than if you do not specify this parameter.

*
* @public */ export interface SpotPrice { /** *

The Availability Zone.

* @public */ AvailabilityZone?: string | undefined; /** *

The ID of the Availability Zone.

* @public */ AvailabilityZoneId?: string | undefined; /** *

The instance type.

* @public */ InstanceType?: _InstanceType | undefined; /** *

A general description of the AMI.

* @public */ ProductDescription?: RIProductDescription | undefined; /** *

The maximum price per unit hour that you are willing to pay for a Spot Instance. 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 instances will be interrupted more frequently than if you do not specify this parameter.

*
* @public */ SpotPrice?: string | undefined; /** *

The date and time the request was created, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ).

* @public */ Timestamp?: Date | undefined; } /** *

Contains the output of DescribeSpotPriceHistory.

* @public */ export interface DescribeSpotPriceHistoryResult { /** *

The token to include in another request to get the next page of items. This value is * an empty string ("") or null when there are no more items to return.

* @public */ NextToken?: string | undefined; /** *

The historical Spot prices.

* @public */ SpotPriceHistory?: SpotPrice[] | undefined; } /** * @public */ export interface DescribeStaleSecurityGroupsRequest { /** *

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 VPC.

* @public */ VpcId: string | undefined; } /** *

Describes a stale rule in a security group.

* @public */ export interface StaleIpPermission { /** *

If the protocol is TCP or UDP, this is the start of the port range. * If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

* @public */ FromPort?: number | undefined; /** *

The IP protocol name (tcp, udp, icmp, icmpv6) or number * (see Protocol Numbers).

* @public */ IpProtocol?: string | undefined; /** *

The IP ranges. Not applicable for stale security group rules.

* @public */ IpRanges?: string[] | undefined; /** *

The prefix list IDs. Not applicable for stale security group rules.

* @public */ PrefixListIds?: string[] | undefined; /** *

If the protocol is TCP or UDP, this is the end of the port range. * If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes).

* @public */ ToPort?: number | undefined; /** *

The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

* @public */ UserIdGroupPairs?: UserIdGroupPair[] | undefined; } /** *

Describes a stale security group (a security group that contains stale rules).

* @public */ export interface StaleSecurityGroup { /** *

The description of the security group.

* @public */ Description?: string | undefined; /** *

The ID of the security group.

* @public */ GroupId?: string | undefined; /** *

The name of the security group.

* @public */ GroupName?: string | undefined; /** *

Information about the stale inbound rules in the security group.

* @public */ StaleIpPermissions?: StaleIpPermission[] | undefined; /** *

Information about the stale outbound rules in the security group.

* @public */ StaleIpPermissionsEgress?: StaleIpPermission[] | undefined; /** *

The ID of the VPC for the security group.

* @public */ VpcId?: string | undefined; } /** * @public */ export interface DescribeStaleSecurityGroupsResult { /** *

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 stale security groups.

* @public */ StaleSecurityGroupSet?: StaleSecurityGroup[] | undefined; } /** * @public */ export interface DescribeStoreImageTasksRequest { /** *

The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a * request.

* @public */ ImageIds?: 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.

* * *

When you specify the ImageIds parameter, any filters that you specify are * ignored. To use the filters, you must remove the ImageIds parameter.

*
* @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.

*

You cannot specify this parameter and the ImageIds parameter in the same * call.

* @public */ MaxResults?: number | undefined; } /** *

The information about the AMI store task, including the progress of the task.

* @public */ export interface StoreImageTaskResult { /** *

The ID of the AMI that is being stored.

* @public */ AmiId?: string | undefined; /** *

The time the task started.

* @public */ TaskStartTime?: Date | undefined; /** *

The name of the Amazon S3 bucket that contains the stored AMI object.

* @public */ Bucket?: string | undefined; /** *

The name of the stored AMI object in the bucket.

* @public */ S3objectKey?: string | undefined; /** *

The progress of the task as a percentage.

* @public */ ProgressPercentage?: number | undefined; /** *

The state of the store task (InProgress, Completed, or * Failed).

* @public */ StoreTaskState?: string | undefined; /** *

If the tasks fails, the reason for the failure is returned. If the task succeeds, * null is returned.

* @public */ StoreTaskFailureReason?: string | undefined; } /** * @public */ export interface DescribeStoreImageTasksResult { /** *

The information about the AMI store tasks.

* @public */ StoreImageTaskResults?: StoreImageTaskResult[] | 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 DescribeSubnetsRequest { /** *

The filters.

* * @public */ Filters?: Filter[] | undefined; /** *

The IDs of the subnets.

*

Default: Describes all your subnets.

* @public */ SubnetIds?: 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; } /** * @public */ export interface DescribeSubnetsResult { /** *

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 subnets.

* @public */ Subnets?: Subnet[] | undefined; } /** * @public */ export interface DescribeTagsRequest { /** *

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 items to return for this request. This value can be between 5 and 1000. * 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; }