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.
The filters.
*
* instance-id - The ID of the instance.
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
*
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Information about the 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.
The IDs of the event windows.
* @public */ InstanceEventWindowIds?: string[] | undefined; /** *One or more filters.
*
* dedicated-host-id - The event windows associated with the specified
* Dedicated Host ID.
* event-window-name - The event windows associated with the specified
* names.
* instance-id - The event windows associated with the specified
* instance ID.
* instance-tag - The event windows associated with the specified tag
* and value.
* instance-tag-key - The event windows associated with the specified
* tag key, regardless of the value.
* instance-tag-value - The event windows associated with the specified
* tag value, regardless of the key.
* tag: - The key/value combination of a tag assigned to the
* event window. Use the tag key in the filter name and the tag value as the filter
* value. For example, to find all resources that have a tag with the key
* Owner and the value CMX, specify tag:Owner
* for the filter name and CMX for the filter value.
* tag-key - The key of a tag assigned to the event window. Use this
* filter to find all event windows that have a tag with a specific key, regardless of
* the tag value.
* tag-value - The value of a tag assigned to the event window. Use this
* filter to find all event windows that have a tag with a specific value, regardless of
* the tag key.
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.
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.
The filters.
*
* availability-zone - The name of the Availability Zone (for example,
* us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of
* the instance.
* instance-id - The ID of the instance.
* image-allowed - A Boolean that indicates whether the image meets the
* criteria specified for Allowed AMIs.
* instance-state-name - The state of the instance (pending |
* running | shutting-down | terminated |
* stopping | stopped).
* instance-type - The type of instance (for example,
* t3.micro).
* launch-time - The time when the instance was launched, in the ISO 8601
* format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,
* 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for
* example, 2023-09-29T*, which matches an entire day.
* owner-alias - The owner alias (amazon |
* aws-marketplace | aws-backup-vault). The valid aliases are
* defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set
* using the IAM console. We recommend that you use the Owner request parameter
* instead of this filter.
* owner-id - The Amazon Web Services account ID of the owner. We recommend that you use
* the Owner request parameter instead of this filter.
* tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* zone-id - The ID of the Availability Zone (for example,
* usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the
* instance.
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.
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.
The alias of the AMI owner.
*Valid values: amazon | aws-backup-vault |
* aws-marketplace
*
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.
Describes the current state of an instance.
* @public */ export interface InstanceState { /** *The state of the instance as a 16-bit unsigned integer.
*The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values * between 256 and 65,535. These numerical values are used for internal purposes and should * be ignored.
*The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values * between 0 and 255.
*The valid values for instance-state-code will all be in the range of the low byte and * they are:
*
* 0 : pending
*
* 16 : running
*
* 32 : shutting-down
*
* 48 : terminated
*
* 64 : stopping
*
* 80 : stopped
*
You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in * decimal.
* @public */ Code?: number | 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.
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.
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.
The filters.
*
* affinity - The affinity setting for an instance running on a
* Dedicated Host (default | host).
* architecture - The instance architecture (i386 |
* x86_64 | arm64).
* availability-zone - The Availability Zone of the instance.
* availability-zone-id - The ID of the Availability Zone of the
* instance.
* block-device-mapping.attach-time - The attach time for an EBS
* volume mapped to the instance, for example,
* 2022-09-15T17:15:20.000Z.
* block-device-mapping.delete-on-termination - A Boolean that
* indicates whether the EBS volume is deleted on instance termination.
* block-device-mapping.device-name - The device name specified in
* the block device mapping (for example, /dev/sdh or
* xvdh).
* block-device-mapping.status - The status for the EBS volume
* (attaching | attached | detaching |
* detached).
* block-device-mapping.volume-id - The volume ID of the EBS
* volume.
* boot-mode - The boot mode that was specified by the AMI
* (legacy-bios | uefi |
* uefi-preferred).
* capacity-reservation-id - The ID of the Capacity Reservation into which the
* instance was launched.
* capacity-reservation-specification.capacity-reservation-preference
* - The instance's Capacity Reservation preference (open | none).
* capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id
* - The ID of the targeted Capacity Reservation.
* capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn
* - The ARN of the targeted Capacity Reservation group.
* client-token - The idempotency token you provided when you
* launched the instance.
* current-instance-boot-mode - The boot mode that is used to launch
* the instance at launch or start (legacy-bios |
* uefi).
* dns-name - The public DNS name of the instance.
* ebs-optimized - A Boolean that indicates whether the instance is
* optimized for Amazon EBS I/O.
* ena-support - A Boolean that indicates whether the instance is
* enabled for enhanced networking with ENA.
* enclave-options.enabled - A Boolean that indicates whether the
* instance is enabled for Amazon Web Services Nitro Enclaves.
* hibernation-options.configured - A Boolean that indicates whether
* the instance is enabled for hibernation. A value of true means that
* the instance is enabled for hibernation.
* host-id - The ID of the Dedicated Host on which the instance is
* running, if applicable.
* hypervisor - The hypervisor type of the instance
* (ovm | xen). The value xen is used
* for both Xen and Nitro hypervisors.
* iam-instance-profile.arn - The instance profile associated with
* the instance. Specified as an ARN.
* iam-instance-profile.id - The instance profile associated with
* the instance. Specified as an ID.
* image-id - The ID of the image used to launch the
* instance.
* instance-id - The ID of the instance.
* instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or
* a Capacity Block (spot | scheduled | capacity-block).
* instance-state-code - The state of the instance, as a 16-bit
* unsigned integer. The high byte is used for internal purposes and should be
* ignored. The low byte is set based on the state represented. The valid values
* are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64
* (stopping), and 80 (stopped).
* instance-state-name - The state of the instance
* (pending | running | shutting-down |
* terminated | stopping |
* stopped).
* instance-type - The type of instance (for example,
* t2.micro).
* instance.group-id - The ID of the security group for the
* instance.
* instance.group-name - The name of the security group for the
* instance.
* ip-address - The public IPv4 address of the instance.
* ipv6-address - The IPv6 address of the instance.
* kernel-id - The kernel ID.
* key-name - The name of the key pair used when the instance was
* launched.
* launch-index - When launching multiple instances, this is the
* index for the instance in the launch group (for example, 0, 1, 2, and so on).
*
* launch-time - The time when the instance was launched, in the ISO
* 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,
* 2021-09-29T11:04:43.305Z. You can use a wildcard
* (*), for example, 2021-09-29T*, which matches an
* entire day.
* maintenance-options.auto-recovery - The current automatic
* recovery behavior of the instance (disabled | default).
* metadata-options.http-endpoint - The status of access to the HTTP
* metadata endpoint on your instance (enabled |
* disabled)
* metadata-options.http-protocol-ipv4 - Indicates whether the IPv4
* endpoint is enabled (disabled | enabled).
* metadata-options.http-protocol-ipv6 - Indicates whether the IPv6
* endpoint is enabled (disabled | enabled).
* metadata-options.http-put-response-hop-limit - The HTTP metadata
* request put response hop limit (integer, possible values 1 to
* 64)
* metadata-options.http-tokens - The metadata request authorization
* state (optional | required)
* metadata-options.instance-metadata-tags - The status of access to
* instance tags from the instance metadata (enabled |
* disabled)
* metadata-options.state - The state of the metadata option changes
* (pending | applied).
* monitoring-state - Indicates whether detailed monitoring is
* enabled (disabled | enabled).
* network-interface.addresses.association.allocation-id - The allocation ID.
* network-interface.addresses.association.association-id - The association ID.
* network-interface.addresses.association.carrier-ip - The carrier IP address.
* network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.
* network-interface.addresses.association.ip-owner-id - The owner
* ID of the private IPv4 address associated with the network interface.
* network-interface.addresses.association.public-dns-name - The public DNS name.
* network-interface.addresses.association.public-ip - The ID of the
* association of an Elastic IP address (IPv4) with a network interface.
* network-interface.addresses.primary - Specifies whether the IPv4
* address of the network interface is the primary private IPv4 address.
* network-interface.addresses.private-dns-name - The private DNS name.
* network-interface.addresses.private-ip-address - The private IPv4
* address associated with the network interface.
* network-interface.association.allocation-id - The allocation ID
* returned when you allocated the Elastic IP address (IPv4) for your network
* interface.
* network-interface.association.association-id - The association ID
* returned when the network interface was associated with an IPv4 address.
* network-interface.association.carrier-ip - The customer-owned IP address.
* network-interface.association.customer-owned-ip - The customer-owned IP address.
* network-interface.association.ip-owner-id - The owner of the
* Elastic IP address (IPv4) associated with the network interface.
* network-interface.association.public-dns-name - The public DNS name.
* network-interface.association.public-ip - The address of the
* Elastic IP address (IPv4) bound to the network interface.
* network-interface.attachment.attach-time - The time that the
* network interface was attached to an instance.
* network-interface.attachment.attachment-id - The ID of the
* interface attachment.
* network-interface.attachment.delete-on-termination - Specifies
* whether the attachment is deleted when an instance is terminated.
* network-interface.attachment.device-index - The device index to
* which the network interface is attached.
* network-interface.attachment.instance-id - The ID of the instance
* to which the network interface is attached.
* network-interface.attachment.instance-owner-id - The owner ID of
* the instance to which the network interface is attached.
* network-interface.attachment.network-card-index - The index of the network card.
* network-interface.attachment.status - The status of the
* attachment (attaching | attached |
* detaching | detached).
* network-interface.availability-zone - The Availability Zone for
* the network interface.
* network-interface.deny-all-igw-traffic - A Boolean that indicates whether
* a network interface with an IPv6 address is unreachable from the public internet.
* network-interface.description - The description of the network
* interface.
* network-interface.group-id - The ID of a security group
* associated with the network interface.
* network-interface.group-name - The name of a security group
* associated with the network interface.
* network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.
* network-interface.ipv6-address - The IPv6 address associated with the network interface.
* network-interface.ipv6-addresses.ipv6-address - The IPv6 address
* associated with the network interface.
* network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this
* is the primary IPv6 address.
* network-interface.ipv6-native - A Boolean that indicates whether this is
* an IPv6 only network interface.
* network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.
* network-interface.mac-address - The MAC address of the network
* interface.
* network-interface.network-interface-id - The ID of the network
* interface.
* network-interface.operator.managed - A Boolean that indicates
* whether the instance has a managed network interface.
* network-interface.operator.principal - The principal that manages
* the network interface. Only valid for instances with managed network interfaces,
* where managed is true.
* network-interface.outpost-arn - The ARN of the Outpost.
* network-interface.owner-id - The ID of the owner of the network
* interface.
* network-interface.private-dns-name - The private DNS name of the
* network interface.
* network-interface.private-ip-address - The private IPv4 address.
* network-interface.public-dns-name - The public DNS name.
* network-interface.requester-id - The requester ID for the network
* interface.
* network-interface.requester-managed - Indicates whether the
* network interface is being managed by Amazon Web Services.
* network-interface.status - The status of the network interface
* (available) | in-use).
* network-interface.source-dest-check - Whether the network
* interface performs source/destination checking. A value of true
* means that checking is enabled, and false means that checking is
* disabled. The value must be false for the network interface to
* perform network address translation (NAT) in your VPC.
* network-interface.subnet-id - The ID of the subnet for the
* network interface.
* network-interface.tag-key - The key of a tag assigned to the network interface.
* network-interface.tag-value - The value of a tag assigned to the network interface.
* network-interface.vpc-id - The ID of the VPC for the network
* interface.
* network-performance-options.bandwidth-weighting - Where the performance boost
* is applied, if applicable. Valid values: default, vpc-1,
* ebs-1.
* operator.managed - A Boolean that indicates whether this is a
* managed instance.
* operator.principal - The principal that manages the instance.
* Only valid for managed instances, where managed is
* true.
* outpost-arn - The Amazon Resource Name (ARN) of the
* Outpost.
* owner-id - The Amazon Web Services account ID of the instance
* owner.
* placement-group-name - The name of the placement group for the
* instance.
* placement-partition-number - The partition in which the instance is
* located.
* platform - The platform. To list only Windows instances, use
* windows.
* platform-details - The platform (Linux/UNIX |
* Red Hat BYOL Linux | Red Hat Enterprise Linux |
* Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with High Availability | Red Hat Enterprise
* Linux with SQL Server Standard and HA | Red Hat Enterprise
* Linux with SQL Server Enterprise and HA | Red Hat Enterprise
* Linux with SQL Server Standard | Red Hat Enterprise Linux with
* SQL Server Web | Red Hat Enterprise Linux with SQL Server
* Enterprise | SQL Server Enterprise | SQL Server
* Standard | SQL Server Web | SUSE Linux |
* Ubuntu Pro | Windows | Windows BYOL |
* Windows with SQL Server Enterprise | Windows with SQL
* Server Standard | Windows with SQL Server Web).
* private-dns-name - The private IPv4 DNS name of the
* instance.
* private-dns-name-options.enable-resource-name-dns-a-record - A
* Boolean that indicates whether to respond to DNS queries for instance hostnames
* with DNS A records.
* private-dns-name-options.enable-resource-name-dns-aaaa-record - A
* Boolean that indicates whether to respond to DNS queries for instance hostnames
* with DNS AAAA records.
* private-dns-name-options.hostname-type - The type of hostname
* (ip-name | resource-name).
* private-ip-address - The private IPv4 address of the instance.
* This can only be used to filter by the primary IP address of the network
* interface attached to the instance. To filter by additional IP addresses
* assigned to the network interface, use the filter
* network-interface.addresses.private-ip-address.
* product-code - The product code associated with the AMI used to
* launch the instance.
* product-code.type - The type of product code (devpay
* | marketplace).
* ramdisk-id - The RAM disk ID.
* reason - The reason for the current state of the instance (for
* example, shows "User Initiated [date]" when you stop or terminate the instance).
* Similar to the state-reason-code filter.
* requester-id - The ID of the entity that launched the instance on
* your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so
* on).
* reservation-id - The ID of the instance's reservation. A
* reservation ID is created any time you launch an instance. A reservation ID has
* a one-to-one relationship with an instance launch request, but can be associated
* with more than one instance if you launch multiple instances using the same
* launch request. For example, if you launch one instance, you get one reservation
* ID. If you launch ten instances using the same launch request, you also get one
* reservation ID.
* root-device-name - The device name of the root device volume (for
* example, /dev/sda1).
* root-device-type - The type of the root device volume
* (ebs | instance-store).
* source-dest-check - Indicates whether the instance performs
* source/destination checking. A value of true means that checking is
* enabled, and false means that checking is disabled. The value must
* be false for the instance to perform network address translation
* (NAT) in your VPC.
* spot-instance-request-id - The ID of the Spot Instance
* request.
* state-reason-code - The reason code for the state change.
* state-reason-message - A message that describes the state
* change.
* subnet-id - The ID of the subnet for the instance.
* tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.
* tenancy - The tenancy of an instance (dedicated |
* default | host).
* tpm-support - Indicates if the instance is configured for
* NitroTPM support (v2.0).
* usage-operation - The usage operation value for the instance
* (RunInstances | RunInstances:00g0 |
* RunInstances:0010 | RunInstances:1010 |
* RunInstances:1014 | RunInstances:1110 |
* RunInstances:0014 | RunInstances:0210 |
* RunInstances:0110 | RunInstances:0100 |
* RunInstances:0004 | RunInstances:0200 |
* RunInstances:000g | RunInstances:0g00 |
* RunInstances:0002 | RunInstances:0800 |
* RunInstances:0102 | RunInstances:0006 |
* RunInstances:0202).
* usage-operation-update-time - The time that the usage operation
* was last updated, for example, 2022-09-15T17:15:20.000Z.
* virtualization-type - The virtualization type of the instance
* (paravirtual | hvm).
* vpc-id - The ID of the VPC that the instance is running in.
The 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.
Describes the instance's Capacity Reservation preferences. Possible preferences include:
*
* open - The instance can run in any open Capacity Reservation that
* has matching attributes (instance type, platform, Availability Zone).
* none - The instance avoids running in a Capacity Reservation even if one is
* available. The instance runs in On-Demand capacity.
Information about the targeted Capacity Reservation or Capacity Reservation group.
* @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.
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:
* default - Amazon EC2 attempts to migrate the instance to
* new hardware (reboot migration). If successful, the system-reboot
* event is cleared. If unsuccessful, an in-place reboot occurs and the event
* remains scheduled.
* disabled - Amazon EC2 keeps the instance on the same
* hardware (in-place reboot). The system-reboot event remains
* scheduled.
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.
Indicates whether IMDSv2 is required.
*
* optional - IMDSv2 is optional, which means that you can use
* either IMDSv2 or IMDSv1.
* required - IMDSv2 is required, which means that IMDSv1 is
* disabled, and you must use IMDSv2.
The maximum number of hops that the metadata token can travel.
*Possible values: Integers from 1 to 64
*
Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
*If the value is disabled, you cannot access your instance
* metadata.
Indicates whether the IPv6 endpoint for the instance metadata service is enabled or * disabled.
*Default: disabled
*
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
*
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.
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.
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.
*Deprecated
*Amazon Elastic Inference is no longer available.
*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).
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.
*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.
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.
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.
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.
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
*
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
*
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.
One or more filters to apply to the results. Supported filters * include:
*
* tag: - The tag key and value pair assigned to the
* instance. For example, to find all instances tagged with Owner:TeamA, specify
* tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The tag key assigned to the instance.
* haStatus - The SQL Server High Availability status of the SQL Server High Availability instance (processing |
* active | standby | invalid).
* sqlServerLicenseUsage - The license type for the SQL Server license
* (full | waived).
Checks whether you have the required permissions for the action,
* without actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation. Otherwise,
* it is UnauthorizedOperation.
Describes an 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:
*
* full - The SQL Server High Availability instance is using a full SQL Server license.
* waived - The SQL Server High Availability instance is waived from the SQL Server license.
The SQL Server High Availability status of the instance. Valid values are:
*
* processing - The SQL Server High Availability status for the SQL Server High Availability instance is being updated.
* active - The SQL Server High Availability instance is an active node in an SQL Server High Availability cluster.
* standby - The SQL Server High Availability instance is a standby failover node in an SQL Server High Availability
* cluster.
* invalid - An error occurred due to misconfigured permissions, or unable
* to dertemine SQL Server High Availability status for the SQL Server High Availability instance.
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.
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).
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.
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.
One or more filters to apply to the results. Supported filters * include:
*
* tag: - The tag key and value pair assigned to the
* instance. For example, to find all instances tagged with Owner:TeamA, specify
* tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The tag key assigned to the instance.
* haStatus - The SQL Server High Availability status of the SQL Server High Availability instance (processing |
* active | standby | invalid).
* sqlServerLicenseUsage - The license type for the SQL Server license
* (full | waived).
Checks whether you have the required permissions for the action,
* without actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation. Otherwise,
* it is UnauthorizedOperation.
Information about the 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.
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.
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.
The filters.
*
* availability-zone - The Availability Zone of the instance.
* availability-zone-id - The ID of the Availability Zone of the
* instance.
* event.code - The code for the scheduled event
* (instance-reboot | system-reboot |
* system-maintenance | instance-retirement |
* instance-stop).
* event.description - A description of the event.
* event.instance-event-id - The ID of the event whose date and time
* you are modifying.
* event.not-after - The latest end time for the scheduled event
* (for example, 2014-09-15T17:15:20.000Z).
* event.not-before - The earliest start time for the scheduled
* event (for example, 2014-09-15T17:15:20.000Z).
* event.not-before-deadline - The deadline for starting the event
* (for example, 2014-09-15T17:15:20.000Z).
* instance-state-code - The code for the instance state, as a
* 16-bit unsigned integer. The high byte is used for internal purposes and should
* be ignored. The low byte is set based on the state represented. The valid values
* are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64
* (stopping), and 80 (stopped).
* instance-state-name - The state of the instance
* (pending | running | shutting-down |
* terminated | stopping |
* stopped).
* instance-status.reachability - Filters on instance status where
* the name is reachability (passed | failed
* | initializing | insufficient-data).
* instance-status.status - The status of the instance
* (ok | impaired | initializing |
* insufficient-data | not-applicable).
* operator.managed - A Boolean that indicates whether this is a
* managed instance.
* operator.principal - The principal that manages the instance.
* Only valid for managed instances, where managed is
* true.
* system-status.reachability - Filters on system status where the
* name is reachability (passed | failed |
* initializing | insufficient-data).
* system-status.status - The system status of the instance
* (ok | impaired | initializing |
* insufficient-data | not-applicable).
* attached-ebs-status.status - The status of the attached EBS volume
* for the instance (ok | impaired | initializing |
* insufficient-data | not-applicable).
When true, includes the health status for all instances. When
* false, includes the health status for running instances only.
Default: false
*
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.
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.
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.
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
*
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.
*
* availability-zone - The name of the Availability Zone (for
* example, us-west-2a) or Local Zone (for example,
* us-west-2-lax-1b) that the instance is in.
* instance-type - The instance type (for example,
* p4d.24xlarge) or instance family (for example,
* p4d*). You can use the * wildcard to match zero or
* more characters, or the ? wildcard to match zero or one
* character.
* zone-id - The ID of the Availability Zone (for example,
* usw2-az2) or Local Zone (for example,
* usw2-lax1-az1) that the instance is in.
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:
The instance type is not supported.
*The instance is in a state other than running.
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is
* DryRunOperation. Otherwise, it is UnauthorizedOperation.
The location type.
*
* availability-zone - The Availability Zone. When you specify a location
* filter, it must be an Availability Zone for the current Region.
* availability-zone-id - The AZ ID. When you specify a location filter, it must
* be an AZ ID for the current Region.
* outpost - The Outpost ARN. When you specify a location filter, it must be an
* Outpost ARN for the current Region.
* region - The current Region. If you specify a location filter, it must match
* the current Region.
One or more filters. Filter names and values are case-sensitive.
*
* instance-type - The instance type. For a list of possible values, see Instance.
* location - The location. For a list of possible identifiers, see Regions and Zones.
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.)
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is
* DryRunOperation. Otherwise, it is UnauthorizedOperation.
The instance types.
* @public */ InstanceTypes?: _InstanceType[] | undefined; /** *One or more filters. Filter names and values are case-sensitive.
*
* auto-recovery-supported - Indicates whether Amazon CloudWatch action
* based recovery is supported (true | false).
* bare-metal - Indicates whether it is a bare metal instance type
* (true | false).
* burstable-performance-supported - Indicates whether the instance type is a
* burstable performance T instance type (true | false).
* current-generation - Indicates whether this instance type is the latest
* generation instance type of an instance family (true | false).
* dedicated-hosts-supported - Indicates whether the instance type supports
* Dedicated Hosts. (true | false)
* ebs-info.attachment-limit-type - The type of Amazon EBS volume attachment limit
* (shared | dedicated).
* ebs-info.maximum-ebs-attachments - The maximum number of Amazon EBS volumes that
* can be attached to the instance type.
* ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline
* bandwidth performance for an EBS-optimized instance type, in Mbps.
* ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage
* operations per second for an EBS-optimized instance type.
* ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline
* throughput performance for an EBS-optimized instance type, in MB/s.
* ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth
* performance for an EBS-optimized instance type, in Mbps.
* ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage
* operations per second for an EBS-optimized instance type.
* ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum
* throughput performance for an EBS-optimized instance type, in MB/s.
* ebs-info.ebs-optimized-support - Indicates whether the instance type is
* EBS-optimized (supported | unsupported |
* default).
* ebs-info.encryption-support - Indicates whether EBS encryption is supported
* (supported | unsupported).
* ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe)
* is supported for EBS volumes (required | supported |
* unsupported).
* free-tier-eligible - A Boolean that indicates whether this instance type can
* be used under the Amazon Web Services Free Tier (true | false).
* hibernation-supported - Indicates whether On-Demand hibernation is supported
* (true | false).
* hypervisor - The hypervisor (nitro | xen).
* instance-storage-info.disk.count - The number of local disks.
* instance-storage-info.disk.size-in-gb - The storage size of each instance
* storage disk, in GB.
* instance-storage-info.disk.type - The storage technology for the local
* instance storage disks (hdd | ssd).
* instance-storage-info.encryption-support - Indicates whether data is
* encrypted at rest (required | supported |
* unsupported).
* instance-storage-info.nvme-support - Indicates whether non-volatile memory
* express (NVMe) is supported for instance store (required | supported
* | unsupported).
* instance-storage-info.total-size-in-gb - The total amount of storage
* available from all local instance storage, in GB.
* instance-storage-supported - Indicates whether the instance type has local
* instance storage (true | false).
* instance-type - The instance type (for example c5.2xlarge or
* c5*).
* memory-info.size-in-mib - The memory size.
* network-info.bandwidth-weightings - For instances that support bandwidth
* weighting to boost performance (default, vpc-1,
* ebs-1).
* network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic
* Fabric Adapters (EFAs) per instance.
* network-info.efa-supported - Indicates whether the instance type supports
* Elastic Fabric Adapter (EFA) (true | false).
* network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is
* supported or required (required | supported |
* unsupported).
* network-info.flexible-ena-queues-support - Indicates whether an instance supports
* flexible ENA queues (supported | unsupported).
* network-info.encryption-in-transit-supported - Indicates whether the instance
* type automatically encrypts in-transit traffic between instances (true | false).
* network-info.ipv4-addresses-per-interface - The maximum number of private
* IPv4 addresses per network interface.
* network-info.ipv6-addresses-per-interface - The maximum number of private
* IPv6 addresses per network interface.
* network-info.ipv6-supported - Indicates whether the instance type supports
* IPv6 (true | false).
* network-info.maximum-network-cards - The maximum number of network cards per
* instance.
* network-info.maximum-network-interfaces - The maximum number of network
* interfaces per instance.
* network-info.network-performance - The network performance (for example, "25
* Gigabit").
* nitro-enclaves-support - Indicates whether Nitro Enclaves is supported
* (supported | unsupported).
* nitro-tpm-support - Indicates whether NitroTPM is supported
* (supported | unsupported).
* nitro-tpm-info.supported-versions - The supported NitroTPM version
* (2.0).
* processor-info.supported-architecture - The CPU architecture
* (arm64 | i386 | x86_64).
* processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
* GHz.
* processor-info.supported-features - The supported CPU features
* (amd-sev-snp).
* reboot-migration-support - Indicates whether enabling reboot migration is
* supported (supported | unsupported).
* supported-boot-mode - The boot mode (legacy-bios |
* uefi).
* supported-root-device-type - The root device type (ebs |
* instance-store).
* supported-usage-class - The usage class (on-demand |
* spot | capacity-block).
* supported-virtualization-type - The virtualization type (hvm |
* paravirtual).
* vcpu-info.default-cores - The default number of cores for the instance
* type.
* vcpu-info.default-threads-per-core - The default number of threads per core
* for the instance type.
* vcpu-info.default-vcpus - The default number of vCPUs for the instance
* type.
* vcpu-info.valid-cores - The number of cores that can be configured for the
* instance type.
* vcpu-info.valid-threads-per-core - The number of threads per core that can be
* configured for the instance type. For example, "1" or "1,2".
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.
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.
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.
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.
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.
The IDs of the internet gateways.
*Default: Describes all your internet gateways.
* @public */ InternetGatewayIds?: string[] | undefined; /** *The filters.
*
* attachment.state - The current state of the attachment between the gateway
* and the VPC (available). Present only if a VPC is attached.
* attachment.vpc-id - The ID of an attached VPC.
* internet-gateway-id - The ID of the Internet gateway.
* owner-id - The ID of the Amazon Web Services account that owns the internet gateway.
* tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
One or more filters for the request. For more information about filtering, see Filtering CLI output.
*Available filters:
*
* ipam-arn
*
* ipam-external-resource-verification-token-arn
*
* ipam-external-resource-verification-token-id
*
* ipam-id
*
* ipam-region
*
* state
*
* status
*
* token-name
*
* token-value
*
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A check for whether you have the required permissions for the action without actually making the request
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The 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.
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.
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.
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.
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.
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
One or more filters.
*
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
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.
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
*
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The filters.
*
* key-pair-id - The ID of the key pair.
* fingerprint - The fingerprint of the key pair.
* key-name - The name of the key pair.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
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:
*For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.
*For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which * is the default for OpenSSH, starting with OpenSSH 6.8.
*If you used ImportKeyPair to provide Amazon Web Services the public key:
*For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.
*For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.
*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.
One or more launch template IDs.
* @public */ LaunchTemplateIds?: string[] | undefined; /** *One or more launch template names.
* @public */ LaunchTemplateNames?: string[] | undefined; /** *One or more filters.
*
* create-time - The time the launch template was created.
* launch-template-name - The name of the launch template.
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
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.
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.
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.
Checks whether you have the required permissions for the action, without actually
* making the request, and provides an error response. If you have the required
* permissions, the error response is DryRunOperation. Otherwise, it is
* UnauthorizedOperation.
The ID of the 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.
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.
One or more filters.
*
* create-time - The time the launch template version was
* created.
* ebs-optimized - A boolean that indicates whether the instance is
* optimized for Amazon EBS I/O.
* http-endpoint - Indicates whether the HTTP metadata endpoint on
* your instances is enabled (enabled | disabled).
* http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the
* instance metadata service is enabled (enabled |
* disabled).
* host-resource-group-arn - The ARN of the host resource group in
* which to launch the instances.
* http-tokens - The state of token usage for your instance metadata
* requests (optional | required).
* iam-instance-profile - The ARN of the IAM instance
* profile.
* image-id - The ID of the AMI.
* instance-type - The instance type.
* is-default-version - A boolean that indicates whether the launch
* template version is the default version.
* kernel-id - The kernel ID.
* license-configuration-arn - The ARN of the license
* configuration.
* network-card-index - The index of the network card.
* ram-disk-id - The RAM disk ID.
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
*
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.
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.
The IDs of the local gateway route tables.
* @public */ LocalGatewayRouteTableIds?: string[] | undefined; /** *One or more filters.
*
* local-gateway-id - The ID of a local gateway.
* local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the
* local gateway route table.
* local-gateway-route-table-id - The ID of a local gateway route table.
* outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
* owner-id - The ID of the Amazon Web Services account that owns the local gateway route table.
* state - The state of the local gateway route table.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
The IDs of the associations.
* @public */ LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[] | undefined; /** *One or more filters.
*
* local-gateway-id - The ID of a local gateway.
* local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local
* gateway route table for the virtual interface group.
* local-gateway-route-table-id - The ID of the local gateway route table.
* local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.
* local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.
* owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual
* interface group association.
* state - The state of the association.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
The IDs of the associations.
* @public */ LocalGatewayRouteTableVpcAssociationIds?: string[] | undefined; /** *One or more filters.
*
* local-gateway-id - The ID of a local gateway.
* local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local
* gateway route table for the association.
* local-gateway-route-table-id - The ID of the local gateway route table.
* local-gateway-route-table-vpc-association-id - The ID of the association.
* owner-id - The ID of the Amazon Web Services account that owns the local gateway route table
* for the association.
* state - The state of the association.
* vpc-id - The ID of the VPC.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
The IDs of the local gateways.
* @public */ LocalGatewayIds?: string[] | undefined; /** *One or more filters.
*
* local-gateway-id - The ID of a local gateway.
* outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
* owner-id - The ID of the Amazon Web Services account that owns the local gateway.
* state - The state of the association.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
The IDs of the virtual interface groups.
* @public */ LocalGatewayVirtualInterfaceGroupIds?: string[] | undefined; /** *One or more filters.
*
* local-gateway-id - The ID of a local gateway.
* local-gateway-virtual-interface-group-id - The ID of the virtual interface group.
* local-gateway-virtual-interface-id - The ID of the virtual interface.
* owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
The IDs of the virtual interfaces.
* @public */ LocalGatewayVirtualInterfaceIds?: string[] | undefined; /** *One or more filters.
*
* local-address - The local address.
* local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN)
* of the local gateway.
* local-gateway-id - The ID of the local gateway.
* local-gateway-virtual-interface-id - The ID of the virtual interface.
* owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface.
* peer-address - The peer address.
* peer-bgp-asn - The peer BGP ASN.
* vlan - The ID of the VLAN.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
The filters.
*
* lock-state - The state of the snapshot lock (compliance-cooloff |
* governance | compliance | expired).
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.
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:
*
* compliance-cooloff - The snapshot has been locked in
* compliance mode but it is still within the cooling-off period. The snapshot can't be
* deleted, but it can be unlocked and the lock settings can be modified by users with
* appropriate permissions.
* governance - The snapshot is locked in governance mode. The
* snapshot can't be deleted, but it can be unlocked and the lock settings can be
* modified by users with appropriate permissions.
* compliance - The snapshot is locked in compliance mode and the
* cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock
* duration can only be increased by users with appropriate permissions.
* expired - The snapshot was locked in compliance or governance
* mode but the lock duration has expired. The snapshot is not locked and can be deleted.
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).
The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).
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.
The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).
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.
The filters.
*
* availability-zone - The Availability Zone of the EC2 Mac Dedicated Host.
* instance-type - The instance type size that the EC2 Mac Dedicated Host is
* configured to support.
* 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.
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.
Specifies one or more filters for the request:
*
* instance-id - The ID of the instance for which the task was created.
* task-state - The state of the task (successful | failed |
* in-progress | pending).
* mac-system-integrity-protection-configuration.sip-status - The overall SIP
* state requested in the task (enabled | disabled).
* start-time - The date and time the task was created.
* task-type - The type of task (sip-modification | volume-ownership-delegation).
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.
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
One or more filters.
*
* owner-id - The ID of the prefix list owner.
* prefix-list-id - The ID of the prefix list.
* prefix-list-name - The name of the prefix list.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
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.
*
* moving-status - The status of the Elastic IP address
* (MovingToVpc | RestoringToClassic).
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The filters.
*
* nat-gateway-id - The ID of the NAT gateway.
* state - The state of the NAT gateway (pending |
* failed | available | deleting | deleted).
* subnet-id - The ID of the subnet in which the NAT gateway resides.
* tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* vpc-id - The ID of the VPC in which the NAT gateway resides.
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.
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.
The IDs of the network ACLs.
* @public */ NetworkAclIds?: string[] | undefined; /** *The filters.
*
* association.association-id - The ID of an association ID for the ACL.
* association.network-acl-id - The ID of the network ACL involved in the association.
* association.subnet-id - The ID of the subnet involved in the association.
* default - Indicates whether the ACL is the default network ACL for the VPC.
* entry.cidr - The IPv4 CIDR range specified in the entry.
* entry.icmp.code - The ICMP code specified in the entry, if any.
* entry.icmp.type - The ICMP type specified in the entry, if any.
* entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
* entry.port-range.from - The start of the port range specified in the entry.
* entry.port-range.to - The end of the port range specified in the entry.
* entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).
* entry.rule-action - Allows or denies the matching traffic (allow | deny).
* entry.egress - A Boolean that indicates the type of rule. Specify true
* for egress rules, or false for ingress rules.
* entry.rule-number - The number of an entry (in other words, rule) in
* the set of ACL entries.
* network-acl-id - The ID of the network ACL.
* owner-id - The ID of the Amazon Web Services account that owns the network ACL.
* tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* vpc-id - The ID of the VPC for the network ACL.
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.
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The 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.
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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The 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.
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:
*path-found - A Boolean value that indicates whether a feasible path is found.
*status - The status of the analysis (running | succeeded | failed).
*The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The 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.
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.
The IDs of the paths.
* @public */ NetworkInsightsPathIds?: string[] | undefined; /** *The filters. The following are the possible values:
*destination - The ID of the resource.
*filter-at-source.source-address - The source IPv4 address at the source.
*filter-at-source.source-port-range - The source port range at the source.
*filter-at-source.destination-address - The destination IPv4 address at the source.
*filter-at-source.destination-port-range - The destination port range at the source.
*filter-at-destination.source-address - The source IPv4 address at the destination.
*filter-at-destination.source-port-range - The source port range at the destination.
*filter-at-destination.destination-address - The destination IPv4 address at the destination.
*filter-at-destination.destination-port-range - The destination port range at the destination.
*protocol - The protocol.
*source - The ID of the resource.
*The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The 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.
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.
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.
*
* network-interface-permission.network-interface-permission-id -
* The ID of the permission.
* network-interface-permission.network-interface-id - The ID of the
* network interface.
* network-interface-permission.aws-account-id - The Amazon Web Services account ID.
* network-interface-permission.aws-service - The Amazon Web Services
* service.
* network-interface-permission.permission - The type of permission
* (INSTANCE-ATTACH | EIP-ASSOCIATE).
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.
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.
Checks whether you have the required permissions for the action, without actually
* making the request, and provides an error response. If you have the required
* permissions, the error response is DryRunOperation. Otherwise, it is
* UnauthorizedOperation.
The network interface IDs.
*Default: Describes all your network interfaces.
* @public */ NetworkInterfaceIds?: string[] | undefined; /** *One or more filters.
*
* association.allocation-id - The allocation ID returned when you
* allocated the Elastic IP address (IPv4) for your network interface.
* association.association-id - The association ID returned when the
* network interface was associated with an IPv4 address.
* addresses.association.owner-id - The owner ID of the addresses
* associated with the network interface.
* addresses.association.public-ip - The association ID returned
* when the network interface was associated with the Elastic IP address
* (IPv4).
* addresses.primary - Whether the private IPv4 address is the
* primary IP address associated with the network interface.
* addresses.private-ip-address - The private IPv4 addresses
* associated with the network interface.
* association.ip-owner-id - The owner of the Elastic IP address
* (IPv4) associated with the network interface.
* association.public-ip - The address of the Elastic IP address
* (IPv4) bound to the network interface.
* association.public-dns-name - The public DNS name for the network
* interface (IPv4).
* attachment.attach-time - The time that the network interface was
* attached to an instance.
* attachment.attachment-id - The ID of the interface
* attachment.
* attachment.delete-on-termination - Indicates whether the
* attachment is deleted when an instance is terminated.
* attachment.device-index - The device index to which the network
* interface is attached.
* attachment.instance-id - The ID of the instance to which the
* network interface is attached.
* attachment.instance-owner-id - The owner ID of the instance to
* which the network interface is attached.
* attachment.status - The status of the attachment
* (attaching | attached | detaching |
* detached).
* availability-zone - The Availability Zone of the network
* interface.
* availability-zone-id - The ID of the Availability Zone of the
* network interface.
* description - The description of the network interface.
* group-id - The ID of a security group associated with the network
* interface.
* ipv6-addresses.ipv6-address - An IPv6 address associated with the
* network interface.
* interface-type - The type of network interface
* (api_gateway_managed |
* aws_codestar_connections_managed | branch |
* ec2_instance_connect_endpoint | efa |
* efa-only | efs |
* evs |
* gateway_load_balancer |
* gateway_load_balancer_endpoint |
* global_accelerator_managed | interface |
* iot_rules_managed | lambda |
* load_balancer | nat_gateway |
* network_load_balancer | quicksight |
* transit_gateway | trunk |
* vpc_endpoint).
* mac-address - The MAC address of the network interface.
* network-interface-id - The ID of the network interface.
* operator.managed - A Boolean that indicates whether this is a
* managed network interface.
* operator.principal - The principal that manages the network
* interface. Only valid for managed network interfaces, where managed
* is true.
* owner-id - The Amazon Web Services account ID of the network
* interface owner.
* private-dns-name - The private DNS name of the network interface
* (IPv4).
* private-ip-address - The private IPv4 address or addresses of the
* network interface.
* requester-id - The alias or Amazon Web Services account ID of the
* principal or service that created the network interface.
* requester-managed - Indicates whether the network interface is
* being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).
* source-dest-check - Indicates whether the network interface
* performs source/destination checking. A value of true means
* checking is enabled, and false means checking is disabled. The
* value must be false for the network interface to perform network
* address translation (NAT) in your VPC.
* status - The status of the network interface. If the network
* interface is not attached to an instance, the status is available;
* if a network interface is attached to an instance the status is
* in-use.
* subnet-id - The ID of the subnet for the network
* interface.
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* vpc-id - The ID of the VPC for the network interface.
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.
The IDs of the Outpost LAGs.
* @public */ OutpostLagIds?: string[] | undefined; /** *The filters to use for narrowing down the request. The following filters are * supported:
*
* service-link-virtual-interface-id - The ID of the service link virtual interface.
* service-link-virtual-interface-arn - The ARN of the service link virtual interface.
* outpost-id - The Outpost ID.
* outpost-arn - The Outpost ARN.
* owner-id - The ID of the Amazon Web Services account that owns the service link virtual interface.
* vlan - The ID of the address pool.
* local-address - The local address.
* peer-address - The peer address.
* peer-bgp-asn - The peer BGP ASN.
* outpost-lag-id - The Outpost LAG ID.
* configuration-state - The configuration state of the service link virtual interface.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
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.
The names of the placement groups.
*Constraints:
*You can specify a name only if the placement group is owned by your * account.
*If a placement group is shared with your account,
* specifying the name results in an error. You must use the GroupId
* parameter instead.
The filters.
*
* group-name - The name of the placement group.
* group-arn - The Amazon Resource Name (ARN) of the placement
* group.
* spread-level - The spread level for the placement group
* (host | rack).
* state - The state of the placement group (pending |
* available | deleting |
* deleted).
* strategy - The strategy of the placement group
* (cluster | spread |
* partition).
* tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.
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.
One or more filters.
*
* prefix-list-id: The ID of a prefix list.
* prefix-list-name: The name of a prefix list.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
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
*
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.
One or more filters.
*
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
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.
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.
The filters.
*
* endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
* opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in |
* not-opted-in).
* region-name - The name of the Region (for example, us-east-1).
Describes the geography information for a Region.
* @public */ export interface RegionGeography { /** *The name of the geography, for example, United States of America.
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.
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:
*
* instance-id - The ID of the instance for which the root volume replacement task was created.
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.
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.
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.
One or more filters.
*
* availability-zone - The Availability Zone where the Reserved Instance can
* be used.
* availability-zone-id - The ID of the Availability Zone where the Reserved
* Instance can be used.
* duration - The duration of the Reserved Instance (one year or three
* years), in seconds (31536000 | 94608000).
* end - The time when the Reserved Instance expires (for example,
* 2015-08-07T11:54:42.000Z).
* fixed-price - The purchase price of the Reserved Instance (for example,
* 9800.0).
* instance-type - The instance type that is covered by the
* reservation.
* scope - The scope of the Reserved Instance (Region or
* Availability Zone).
* product-description - The Reserved Instance product platform description
* (Linux/UNIX | Linux with SQL Server Standard | Linux
* with SQL Server Web | Linux with SQL Server Enterprise | SUSE
* Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux
* with HA | Windows | Windows with SQL Server Standard |
* Windows with SQL Server Web | Windows with SQL Server
* Enterprise).
* reserved-instances-id - The ID of the Reserved Instance.
* start - The time at which the Reserved Instance purchase request was
* placed (for example, 2014-08-07T11:54:42.000Z).
* state - The state of the Reserved Instance (payment-pending
* | active | payment-failed | retired).
* tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* usage-price - The usage price of the Reserved Instance, per hour (for
* example, 0.84).
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.
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.
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.
*
* reserved-instances-id - The ID of the Reserved Instances.
* reserved-instances-listing-id - The ID of the Reserved Instances
* listing.
* status - The status of the Reserved Instance listing (pending |
* active | cancelled | closed).
* status-message - The reason for the status.
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.
*
* client-token - The idempotency token for the modification request.
* create-date - The time when the modification request was created.
* effective-date - The time when the modification becomes effective.
* modification-result.reserved-instances-id - The ID for the Reserved Instances
* created as part of the modification request. This ID is only available when the status of
* the modification is fulfilled.
* modification-result.target-configuration.availability-zone - The Availability
* Zone for the new Reserved Instances.
* modification-result.target-configuration.availability-zone-id - The ID of the
* Availability Zone for the new Reserved Instances.
* modification-result.target-configuration.instance-count - The number of new
* Reserved Instances.
* modification-result.target-configuration.instance-type - The instance type of
* the new Reserved Instances.
* reserved-instances-id - The ID of the Reserved Instances modified.
* reserved-instances-modification-id - The ID of the modification
* request.
* status - The status of the Reserved Instances modification request
* (processing | fulfilled | failed).
* status-message - The reason for the status.
* update-date - The time when the modification request was last updated.
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.
*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.
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.
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.
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.
The Reserved Instance product platform description. Instances that include (Amazon
* VPC) in the description are for use with Amazon VPC.
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.
Checks whether you have the required permissions for the action, without actually making
* the request, and provides an error response. If you have the required permissions, the error
* response is DryRunOperation. Otherwise, it is
* UnauthorizedOperation.
One or more filters.
*
* availability-zone - The Availability Zone where the Reserved Instance can be
* used.
* availability-zone-id - The ID of the Availability Zone where the Reserved
* Instance can be used.
* duration - The duration of the Reserved Instance (for example, one year or
* three years), in seconds (31536000 | 94608000).
* fixed-price - The purchase price of the Reserved Instance (for example,
* 9800.0).
* instance-type - The instance type that is covered by the reservation.
* marketplace - Set to true to show only Reserved Instance
* Marketplace offerings. When this filter is not used, which is the default behavior, all
* offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.
* product-description - The Reserved Instance product platform description
* (Linux/UNIX | Linux with SQL Server Standard | Linux
* with SQL Server Web | Linux with SQL Server Enterprise | SUSE
* Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux
* with HA | Windows | Windows with SQL Server Standard |
* Windows with SQL Server Web | Windows with SQL Server
* Enterprise).
* reserved-instances-offering-id - The Reserved Instances offering ID.
* scope - The scope of the Reserved Instance (Availability Zone or
* Region).
* usage-price - The usage price of the Reserved Instance, per hour (for
* example, 0.84).
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
*
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The IDs of the route tables.
* @public */ RouteTableIds?: string[] | undefined; /** *The filters.
*
* association.gateway-id - The ID of the gateway involved in the
* association.
* association.route-table-association-id - The ID of an association
* ID for the route table.
* association.route-table-id - The ID of the route table involved in
* the association.
* association.subnet-id - The ID of the subnet involved in the
* association.
* association.main - Indicates whether the route table is the main
* route table for the VPC (true | false). Route tables
* that do not have an association ID are not returned in the response.
* owner-id - The ID of the Amazon Web Services account that owns the route table.
* route-table-id - The ID of the route table.
* route.destination-cidr-block - The IPv4 CIDR range specified in a
* route in the table.
* route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.
* route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services
* service specified in a route in the table.
* route.egress-only-internet-gateway-id - The ID of an
* egress-only Internet gateway specified in a route in the route table.
* route.gateway-id - The ID of a gateway specified in a route in the table.
* route.instance-id - The ID of an instance specified in a route in the table.
* route.nat-gateway-id - The ID of a NAT gateway.
* route.transit-gateway-id - The ID of a transit gateway.
* route.origin - Describes how the route was created.
* CreateRouteTable indicates that the route was automatically
* created when the route table was created; CreateRoute indicates
* that the route was manually added to the route table;
* EnableVgwRoutePropagation indicates that the route was
* propagated by route propagation.
* route.state - The state of a route in the route table
* (active | blackhole). The blackhole state
* indicates that the route's target isn't available (for example, the specified
* gateway isn't attached to the VPC, the specified NAT instance has been
* terminated, and so on).
* route.vpc-peering-connection-id - The ID of a VPC peering
* connection specified in a route in the table.
* tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* vpc-id - The ID of the VPC for the route table.
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.
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).
The interval quantity. The interval unit depends on the value of Frequency. For example, every 2
* weeks or every 2 months.
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.
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.
The filters.
*
* availability-zone - The Availability Zone (for example, us-west-2a).
* instance-type - The instance type (for example, c4.large).
* platform - The platform (Linux/UNIX or Windows).
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.
The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours
* and less than 1,720.
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).
The interval quantity. The interval unit depends on the value of frequency. For example, every 2
* weeks or every 2 months.
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).
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).
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.
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.
The filters.
*
* availability-zone - The Availability Zone (for example, us-west-2a).
* instance-type - The instance type (for example, c4.large).
* platform - The platform (Linux/UNIX or Windows).
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.
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).
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.
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.
The filters.
*
* attachment.attachment-id - The ID of the secondary interface attachment.
* attachment.instance-id - The ID of the instance to which the secondary interface is attached.
* attachment.instance-owner-id - The ID of the Amazon Web Services account that owns the instance to which the secondary interface is attached.
* attachment.status - The attachment status (attaching | attached | detaching | detached).
* private-ipv4-addresses.private-ip-address - The private IPv4 address associated with the secondary interface.
* owner-id - The ID of the Amazon Web Services account that owns the secondary interface.
* secondary-interface-arn - The ARN of the secondary interface.
* secondary-interface-id - The ID of the secondary interface.
* secondary-interface-type - The type of secondary interface (secondary).
* secondary-network-id - The ID of the secondary network.
* secondary-network-type - The type of the secondary network (rdma).
* secondary-subnet-id - The ID of the secondary subnet.
* status - The status of the secondary interface (available | in-use).
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
The filters. The following are the possible values:
*
* ipv4-cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the secondary network.
* ipv4-cidr-block-association.cidr-block - An IPv4 CIDR block associated with the secondary network.
* ipv4-cidr-block-association.state - The state of an IPv4 CIDR block associated with the secondary network.
* owner-id - The ID of the Amazon Web Services account that owns the secondary network.
* secondary-network-id - The ID of the secondary network.
* secondary-network-arn - The ARN of the secondary network.
* state - The state of the secondary network (create-in-progress | create-complete | create-failed | delete-in-progress | delete-complete | delete-failed).
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* type - The type of the secondary network (rdma).
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
The filters.
*
* ipv4-cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the secondary subnet.
* ipv4-cidr-block-association.cidr-block - An IPv4 CIDR block associated with the secondary subnet.
* ipv4-cidr-block-association.state - The state of an IPv4 CIDR block associated with the secondary subnet.
* owner-id - The ID of the Amazon Web Services account that owns the secondary subnet.
* secondary-network-id - The ID of the secondary network.
* secondary-network-type - The type of the secondary network (rdma).
* secondary-subnet-id - The ID of the secondary subnet.
* secondary-subnet-arn - The ARN of the secondary subnet.
* state - The state of the secondary subnet (create-in-progress | create-complete | create-failed | delete-in-progress | delete-complete | delete-failed).
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The IDs of the security 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.
*
* group-id - The ID of the security group.
* security-group-rule-id - The ID of the security group rule.
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
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.
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.
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.
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.
*
* description - The description of the security group.
* egress.ip-permission.cidr - An IPv4 CIDR block for an outbound
* security group rule.
* egress.ip-permission.from-port - For an outbound rule, the
* start of port range for the TCP and UDP protocols, or an ICMP type
* number.
* egress.ip-permission.group-id - The ID of a security group
* that has been referenced in an outbound security group rule.
* egress.ip-permission.group-name - The name of a security group
* that is referenced in an outbound security group rule.
* egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an
* outbound security group rule.
* egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.
* egress.ip-permission.protocol - The IP protocol for an
* outbound security group rule (tcp | udp |
* icmp, a protocol number, or -1 for all protocols).
* egress.ip-permission.to-port - For an outbound rule, the end
* of port range for the TCP and UDP protocols, or an ICMP code.
* egress.ip-permission.user-id - The ID of an Amazon Web Services account that
* has been referenced in an outbound security group rule.
* group-id - The ID of the security group.
* group-name - The name of the security group.
* ip-permission.cidr - An IPv4 CIDR block for an inbound security
* group rule.
* ip-permission.from-port - For an inbound rule, the start of port
* range for the TCP and UDP protocols, or an ICMP type number.
* ip-permission.group-id - The ID of a security group that has been
* referenced in an inbound security group rule.
* ip-permission.group-name - The name of a security group that is
* referenced in an inbound security group rule.
* ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
* group rule.
* ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.
* ip-permission.protocol - The IP protocol for an inbound security
* group rule (tcp | udp | icmp, a
* protocol number, or -1 for all protocols).
* ip-permission.to-port - For an inbound rule, the end of port range
* for the TCP and UDP protocols, or an ICMP code.
* ip-permission.user-id - The ID of an Amazon Web Services account that has been
* referenced in an inbound security group rule.
* owner-id - The Amazon Web Services account ID of the owner of the security group.
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* vpc-id - The ID of the VPC specified when the security group was created.
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.
Information about the security groups.
* @public */ SecurityGroups?: SecurityGroup[] | undefined; } /** * @public */ export interface DescribeSecurityGroupVpcAssociationsRequest { /** *Security group VPC association filters.
*
* group-id: The security group ID.
* group-owner-id: The group owner ID.
* state: The state of the association.
* vpc-id: The ID of the associated VPC.
* vpc-owner-id: The account ID of the VPC owner.
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.
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.
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:
*
* outpost-lag-id - The ID of the Outpost LAG.
* outpost-arn - The Outpost ARN.
* owner-id - The ID of the Amazon Web Services account that owns the service link virtual interface.
* state - The state of the Outpost LAG.
* vlan - The ID of the address pool.
* service-link-virtual-interface-id - The ID of the service link virtual interface.
* local-gateway-virtual-interface-id - The ID of the local gateway virtual interface.
The maximum number of results to return with a single call.
* To retrieve the remaining results, make another call with the returned nextToken value.
The token for the next page of results.
* @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.
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.
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.
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.
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.
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.
The filters.
*
* description - A description of the snapshot.
* encrypted - Indicates whether the snapshot is encrypted
* (true | false)
* owner-alias - The owner alias, from an Amazon-maintained list
* (amazon).
* This is not the user-configured Amazon Web Services account alias set using the IAM console.
* We recommend that you use the related parameter instead of this filter.
* owner-id - The Amazon Web Services account ID of the owner. We recommend that
* you use the related parameter instead of this filter.
* progress - The progress of the snapshot, as a percentage (for example,
* 80%).
* snapshot-id - The snapshot ID.
* start-time - The time stamp when the snapshot was initiated.
* status - The status of the snapshot (pending |
* completed | error).
* storage-tier - The storage tier of the snapshot (archive |
* standard).
* transfer-type - The type of operation used to create the snapshot (time-based | standard).
* tag:Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* volume-id - The ID of the volume the snapshot is for.
* volume-size - The size of the volume, in GiB.
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.
Information about the snapshots.
* @public */ Snapshots?: Snapshot[] | undefined; } /** * @public */ export interface DescribeSnapshotTierStatusRequest { /** *The filters.
*
* snapshot-id - The snapshot ID.
* volume-id - The ID of the volume the snapshot is for.
* last-tiering-operation - The state of the last archive or restore action. (archival-in-progress | archival-completed |
* archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed |
* temporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed)
Checks whether you have the required permissions for the action, without actually making the request,
* and provides an error response. If you have the required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The 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.
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.
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.
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.
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.
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.
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.
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.
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.
*
* error - An error with the Spot Fleet request.
* fleetRequestChange - A change in the status or configuration of
* the Spot Fleet request.
* instanceChange - An instance was launched or terminated.
* Information - An informational event.
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.
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.
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.
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.
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
*
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.
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.
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
*
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.
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.
The IPv6 delegated prefixes to be assigned to the network interface. You cannot use
* this option if you use the Ipv6PrefixCount option.
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.
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.
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.
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.
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
* .
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.
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
*
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.
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.
*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.
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.
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.
*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.
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.
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.
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.
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.
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.
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.
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.
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.
*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.
*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.
Spot Fleet requests instances from all of the Spot Instance pools that you * specify.
*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
*
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.
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.
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.
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.
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.
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.
*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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
The IDs of the Spot Instance requests.
* @public */ SpotInstanceRequestIds?: string[] | undefined; /** *The filters.
*
* availability-zone-group - The Availability Zone group.
* create-time - The time stamp when the Spot Instance request was
* created.
* fault-code - The fault code related to the request.
* fault-message - The fault message related to the request.
* instance-id - The ID of the instance that fulfilled the
* request.
* launch-group - The Spot Instance launch group.
* launch.block-device-mapping.delete-on-termination - Indicates
* whether the EBS volume is deleted on instance termination.
* launch.block-device-mapping.device-name - The device name for the
* volume in the block device mapping (for example, /dev/sdh or
* xvdh).
* launch.block-device-mapping.snapshot-id - The ID of the snapshot
* for the EBS volume.
* launch.block-device-mapping.volume-size - The size of the EBS
* volume, in GiB.
* launch.block-device-mapping.volume-type - The type of EBS volume:
* gp2 or gp3 for General Purpose SSD, io1
* or io2 for Provisioned IOPS SSD, st1 for Throughput
* Optimized HDD, sc1 for Cold HDD, or standard for
* Magnetic.
* launch.group-id - The ID of the security group for the
* instance.
* launch.group-name - The name of the security group for the
* instance.
* launch.image-id - The ID of the AMI.
* launch.instance-type - The type of instance (for example,
* m3.medium).
* launch.kernel-id - The kernel ID.
* launch.key-name - The name of the key pair the instance launched
* with.
* launch.monitoring-enabled - Whether detailed monitoring is
* enabled for the Spot Instance.
* launch.ramdisk-id - The RAM disk ID.
* launched-availability-zone - The Availability Zone in which the
* request is launched.
* launched-availability-zone-id - The ID of the Availability Zone
* in which the request is launched.
* network-interface.addresses.primary - Indicates whether the IP
* address is the primary private IP address.
* network-interface.delete-on-termination - Indicates whether the
* network interface is deleted when the instance is terminated.
* network-interface.description - A description of the network
* interface.
* network-interface.device-index - The index of the device for the
* network interface attachment on the instance.
* network-interface.group-id - The ID of the security group
* associated with the network interface.
* network-interface.network-interface-id - The ID of the network
* interface.
* network-interface.private-ip-address - The primary private IP
* address of the network interface.
* network-interface.subnet-id - The ID of the subnet for the
* instance.
* product-description - The product description associated with the
* instance (Linux/UNIX | Windows).
* spot-instance-request-id - The Spot Instance request ID.
* spot-price - The maximum hourly price for any Spot Instance
* launched to fulfill the request.
* state - The state of the Spot Instance request (open
* | active | closed | cancelled |
* failed). Spot request status information can help you track
* your Amazon EC2 Spot Instance requests. For more information, see Spot
* request status in the Amazon EC2 User Guide.
* status-code - The short code describing the most recent
* evaluation of your Spot Instance request.
* status-message - The message explaining the status of the Spot
* Instance request.
* tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* type - The type of Spot Instance request (one-time |
* persistent).
* valid-from - The start date of the request.
* valid-until - The end date of the request.
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
*
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
The ID of the Availability Zone in which the request is launched.
*Either launchedAvailabilityZone or launchedAvailabilityZoneId can be specified, but not both
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.
*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).
*For a persistent request, the request remains active until the validUntil date
* and time is reached. Otherwise, the request remains active until you cancel it.
*
For a one-time request, the request remains active until all instances launch,
* the request is canceled, or the validUntil date and time is reached. By default, the
* request is valid for 7 days from the date the request was created.
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.
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
Checks whether you have the required permissions for the action, without actually
* making the request, and provides an error response. If you have the required
* permissions, the error response is DryRunOperation. Otherwise, it is
* UnauthorizedOperation.
The 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.
*
* availability-zone - The Availability Zone for which prices should
* be returned.
* availability-zone-id - The ID of the Availability Zone for which
* prices should be returned.
* instance-type - The type of instance (for example,
* m3.medium).
* product-description - The product description for the Spot price
* (Linux/UNIX | Red Hat Enterprise Linux |
* SUSE Linux | Windows | Linux/UNIX (Amazon
* VPC) | Red Hat Enterprise Linux (Amazon VPC) |
* SUSE Linux (Amazon VPC) | Windows (Amazon
* VPC)).
* spot-price - The Spot price. The value must match exactly (or use
* wildcards; greater than or less than comparison is not supported).
* timestamp - The time stamp of the Spot price history, in UTC format
* (for example, ddd MMM dd
* HH:mm:ss UTC
* YYYY). You can use wildcards (* and
* ?). Greater than or less than comparison is not
* supported.
Filters the results by the specified Availability Zone.
*Either AvailabilityZone or AvailabilityZoneId can be specified, but not both
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.
*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.
*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.
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.
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).
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.
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.
The filters.
*
* task-state - Returns tasks in a certain state (InProgress |
* Completed | Failed)
* bucket - Returns task information for tasks that targeted a specific
* bucket. For the filter value, specify the bucket name.
When you specify the ImageIds parameter, any filters that you specify are
* ignored. To use the filters, you must remove the ImageIds parameter.
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.
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).
If the tasks fails, the reason for the failure is returned. If the task succeeds,
* null is returned.
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.
The filters.
*
* availability-zone - The Availability Zone for the subnet. You can also use
* availabilityZone as the filter name.
* availability-zone-id - The ID of the Availability Zone for the subnet.
* You can also use availabilityZoneId as the filter name.
* available-ip-address-count - The number of IPv4 addresses in the
* subnet that are available.
* cidr-block - The IPv4 CIDR block of the subnet. The CIDR block
* you specify must exactly match the subnet's CIDR block for information to be
* returned for the subnet. You can also use cidr or
* cidrBlock as the filter names.
* customer-owned-ipv4-pool - The customer-owned IPv4 address pool
* associated with the subnet.
* default-for-az - Indicates whether this is the default subnet for
* the Availability Zone (true | false). You can also use
* defaultForAz as the filter name.
* enable-dns64 - Indicates whether DNS queries made to the
* Amazon-provided DNS Resolver in this subnet should return synthetic IPv6
* addresses for IPv4-only destinations.
* enable-lni-at-device-index - Indicates the device position for
* local network interfaces in this subnet. For example, 1 indicates
* local network interfaces in this subnet are the secondary network interface
* (eth1).
* ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR
* block associated with the subnet.
* ipv6-cidr-block-association.association-id - An association ID
* for an IPv6 CIDR block associated with the subnet.
* ipv6-cidr-block-association.state - The state of an IPv6 CIDR
* block associated with the subnet.
* ipv6-native - Indicates whether this is an IPv6 only subnet
* (true | false).
* map-customer-owned-ip-on-launch - Indicates whether a network
* interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.
* map-public-ip-on-launch - Indicates whether instances launched in
* this subnet receive a public IPv4 address.
* outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
* owner-id - The ID of the Amazon Web Services account that owns the
* subnet.
* private-dns-name-options-on-launch.hostname-type - The type of
* hostname to assign to instances in the subnet at launch. For IPv4-only and
* dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the
* instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6
* only subnets, an instance DNS name must be based on the instance ID
* (resource-name).
* private-dns-name-options-on-launch.enable-resource-name-dns-a-record
* - Indicates whether to respond to DNS queries for instance hostnames with DNS A
* records.
* private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record
* - Indicates whether to respond to DNS queries for instance hostnames with DNS
* AAAA records.
* state - The state of the subnet (pending | available).
* subnet-arn - The Amazon Resource Name (ARN) of the subnet.
* subnet-id - The ID of the subnet.
* tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
* For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.
* tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
* vpc-id - The ID of the VPC for the subnet.
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.
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.
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.
The filters.
*
* key - The tag key.
* resource-id - The ID of the resource.
* resource-type - The resource type. For a list of possible values, see
* TagSpecification.
* tag:
* value - The tag value.
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; }