@aws-sdk/client-ec2 3.1119.0 → 3.1121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +84 -7
  3. package/dist-es/EC2.js +2 -0
  4. package/dist-es/commands/ReplaceImageInstanceTypeSpecificationCommand.js +4 -0
  5. package/dist-es/commands/index.js +1 -0
  6. package/dist-es/schemas/schemas_0.js +72 -6
  7. package/dist-types/EC2.d.ts +7 -0
  8. package/dist-types/EC2Client.d.ts +3 -2
  9. package/dist-types/commands/DescribeImagesCommand.d.ts +12 -0
  10. package/dist-types/commands/DescribeScheduledInstanceAvailabilityCommand.d.ts +2 -1
  11. package/dist-types/commands/EnableEbsEncryptionByDefaultCommand.d.ts +1 -1
  12. package/dist-types/commands/ImportKeyPairCommand.d.ts +1 -1
  13. package/dist-types/commands/ReplaceImageInstanceTypeSpecificationCommand.d.ts +108 -0
  14. package/dist-types/commands/RequestSpotFleetCommand.d.ts +1 -1
  15. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +1 -1
  16. package/dist-types/commands/index.d.ts +1 -0
  17. package/dist-types/models/models_4.d.ts +54 -87
  18. package/dist-types/models/models_5.d.ts +87 -22
  19. package/dist-types/models/models_6.d.ts +22 -59
  20. package/dist-types/models/models_7.d.ts +119 -256
  21. package/dist-types/models/models_8.d.ts +255 -1
  22. package/dist-types/schemas/schemas_0.d.ts +6 -0
  23. package/dist-types/ts3.4/EC2.d.ts +17 -0
  24. package/dist-types/ts3.4/EC2Client.d.ts +6 -0
  25. package/dist-types/ts3.4/commands/DescribeScheduledInstanceAvailabilityCommand.d.ts +2 -4
  26. package/dist-types/ts3.4/commands/EnableEbsEncryptionByDefaultCommand.d.ts +1 -1
  27. package/dist-types/ts3.4/commands/ImportKeyPairCommand.d.ts +1 -1
  28. package/dist-types/ts3.4/commands/ReplaceImageInstanceTypeSpecificationCommand.d.ts +42 -0
  29. package/dist-types/ts3.4/commands/RequestSpotFleetCommand.d.ts +1 -1
  30. package/dist-types/ts3.4/commands/RequestSpotInstancesCommand.d.ts +1 -1
  31. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  32. package/dist-types/ts3.4/models/models_4.d.ts +8 -19
  33. package/dist-types/ts3.4/models/models_5.d.ts +19 -6
  34. package/dist-types/ts3.4/models/models_6.d.ts +6 -12
  35. package/dist-types/ts3.4/models/models_7.d.ts +24 -51
  36. package/dist-types/ts3.4/models/models_8.d.ts +50 -1
  37. package/dist-types/ts3.4/schemas/schemas_0.d.ts +6 -0
  38. package/package.json +1 -1
@@ -1,11 +1,70 @@
1
- import type { _InstanceType, AccountVpcEncryptionControlMode, Affinity, AggregationStatusEnum, ApplianceModeSupportValue, ArchitectureValues, AutoAcceptSharedAttachmentsValue, AutoPlacement, BootModeValues, CapacityReservationInstancePlatform, CapacityReservationPreference, CurrencyCodeValues, DefaultHttpTokensEnforcedState, DefaultInstanceMetadataEndpointState, DefaultInstanceMetadataTagsState, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, DnsSupportValue, EncryptionSupportOptionValue, EndDateType, ExcessCapacityTerminationPolicy, FleetExcessCapacityTerminationPolicy, FpgaImageAttributeName, HostMaintenance, HostnameType, HostRecovery, HostTenancy, HttpTokensState, ImdsSupportValues, InstanceAttributeName, InstanceAutoRecoveryState, InstanceBandwidthWeighting, InstanceInterruptionBehavior, InstanceMatchCriteria, InstanceMetadataEndpointState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceRebootMigrationState, InternetGatewayBlockMode, InternetGatewayExclusionMode, IpAddressType, IpamMeteredAccount, IpamPolicyResourceType, IpamTier, IpScopeEnum, Ipv6SupportValue, IpVersionEnum, LockMode, LockState, ManagedResourceDefaultVisibility, MetadataDefaultHttpTokensState, ModifyAvailabilityZoneOptInStatus, NestedVirtualizationSpecification, NetworkProtocolEnum, OperationType, PayerResponsibility, PayerResponsibilityScope, PayerResponsibilityType, PermissionGroup, PublicIpDnsOption, ReportInstanceReasonCodes, ReportStatusType, RouteServerPersistRoutesAction, RuleAction, SecurityGroupReferencingSupportValue, SelfServicePortal, SnapshotAttributeName, SpotInstanceType, Status, TargetStorageTier, TpmSupportValues, TrafficDirection, TrafficMirrorFilterRuleField, TrafficMirrorNetworkService, TrafficMirrorRuleAction, TrafficMirrorSessionField, UnlimitedSupportedInstanceFamily, UnsuccessfulInstanceCreditSpecificationErrorCode, VerificationMethod, VerifiedAccessEndpointProtocol, VolumeState, VolumeType, VpcEncryptionControlExclusionStateInput, VpcEncryptionControlMode, VpcTenancy, VpnEcmpSupportValue, VpnTunnelBandwidth } from "./enums";
1
+ import type { AccountVpcEncryptionControlMode, Affinity, AggregationStatusEnum, ApplianceModeSupportValue, ArchitectureValues, AutoAcceptSharedAttachmentsValue, AutoPlacement, BootModeValues, CapacityReservationInstancePlatform, CapacityReservationPreference, CurrencyCodeValues, DefaultHttpTokensEnforcedState, DefaultInstanceMetadataEndpointState, DefaultInstanceMetadataTagsState, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, DnsSupportValue, EncryptionSupportOptionValue, EndDateType, ExcessCapacityTerminationPolicy, FleetExcessCapacityTerminationPolicy, FpgaImageAttributeName, HostMaintenance, HostnameType, HostRecovery, HostTenancy, HttpTokensState, ImdsSupportValues, InstanceAttributeName, InstanceAutoRecoveryState, InstanceBandwidthWeighting, InstanceMatchCriteria, InstanceMetadataEndpointState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceRebootMigrationState, InternetGatewayBlockMode, InternetGatewayExclusionMode, IpAddressType, IpamMeteredAccount, IpamPolicyResourceType, IpamTier, IpScopeEnum, Ipv6SupportValue, IpVersionEnum, LockMode, LockState, ManagedResourceDefaultVisibility, MetadataDefaultHttpTokensState, ModifyAvailabilityZoneOptInStatus, NestedVirtualizationSpecification, NetworkProtocolEnum, OperationType, PayerResponsibility, PayerResponsibilityScope, PayerResponsibilityType, PermissionGroup, PublicIpDnsOption, ReportInstanceReasonCodes, ReportStatusType, RouteServerPersistRoutesAction, RuleAction, SecurityGroupReferencingSupportValue, SelfServicePortal, SnapshotAttributeName, Status, TargetStorageTier, TpmSupportValues, TrafficDirection, TrafficMirrorFilterRuleField, TrafficMirrorNetworkService, TrafficMirrorRuleAction, TrafficMirrorSessionField, UnlimitedSupportedInstanceFamily, UnsuccessfulInstanceCreditSpecificationErrorCode, VerificationMethod, VerifiedAccessEndpointProtocol, VolumeState, VolumeType, VpcEncryptionControlExclusionStateInput, VpcEncryptionControlMode, VpcTenancy, VpnEcmpSupportValue, VpnTunnelBandwidth } from "./enums";
2
2
  import type { AccountVpcEncryptionControl, AddedPrincipal, AddIpamOperatingRegion, AddIpamOrganizationalUnitExclusion, AddPrefixListEntry, AddressAttribute, ApplicationStatusCheckResponseObject, ByoipCidr, CapacityReservation, ClientConnectOptions, ClientLoginBannerOptions, ClientRouteEnforcementOptions, EnaSrdSpecification, HealthCheckPathRequestObject, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpamPoolAllocation, IpamRoutingPolicyRegistrationDelta, OperatorResponse, PortRange, RouteTableAssociationState, Tag, TagSpecification, TransitGatewayClientVpnAttachment, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem, VerifiedAccessInstance, VerifiedAccessSseSpecificationResponse, VerifiedAccessTrustProvider } from "./models_0";
3
3
  import type { AttributeValue, BlockDeviceMapping, CapacityReservationTarget, ConnectionLogOptions, ConnectionTrackingSpecificationRequest, ExternalAuthorityConfiguration, FleetLaunchTemplateConfigRequest, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, Ipam, IpamPool, IpamPrefixListResolver, IpamPrefixListResolverRuleRequest, IpamPrefixListResolverTarget, IpamResourceDiscovery, IpamScope, LaunchTemplate, LocalGatewayRoute, ManagedPrefixList, RequestIpamResourceTag, TargetCapacitySpecificationRequest, TransitGatewayConfigurationInputStructure, VpcEncryptionControl } from "./models_1";
4
4
  import type { DnsOptionsSpecification, IKEVersionsRequestListValue, PayerResponsibilityEntry, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsRequestListValue, Phase1IntegrityAlgorithmsRequestListValue, Phase2DHGroupNumbersRequestListValue, Phase2EncryptionAlgorithmsRequestListValue, Phase2IntegrityAlgorithmsRequestListValue, RouteServer, SubnetConfiguration, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorPortRangeRequest, TrafficMirrorSession, TransitGateway, TransitGatewayMeteringPolicy, TransitGatewayPolicyTableEntry, TransitGatewayPrefixListReference, TransitGatewayRequestPolicyRule, TransitGatewayRoute, VerifiedAccessEndpoint, VerifiedAccessGroup, VerifiedAccessSseSpecificationRequest, VpcBlockPublicAccessExclusion, VpnConnection, VpnTunnelLogOptionsSpecification } from "./models_2";
5
5
  import type { Byoasn, CapacityBlock, CapacityBlockExtension, ConversionTask, InstanceTagNotificationAttribute, IpamPoolCidr } from "./models_3";
6
6
  import type { AttributeBooleanValue, FpgaImageAttribute, InstanceMetadataOptionsResponse, InstanceStatusEvent, LaunchPermission, Monitoring, PublicIpv4PoolRange, ReservedInstancesConfiguration, SnapshotTaskDetail } from "./models_4";
7
- import type { CreateVolumePermission, InstanceNetworkInterfaceSpecification, LaunchTemplateConfig, RunInstancesMonitoringEnabled, ScheduledInstance, SpotFleetRequestConfigData, SpotInstanceRequest, SpotPlacement, VerifiedAccessInstanceLoggingConfiguration, VolumeModification, VpcBlockPublicAccessOptions } from "./models_5";
7
+ import type { CreateVolumePermission, LaunchTemplateConfig, ScheduledInstance, VerifiedAccessInstanceLoggingConfiguration, VolumeModification, VpcBlockPublicAccessOptions } from "./models_5";
8
8
  import type { ClientData, DiskImageDetail, InstanceFamilyCreditSpecification, IpamPolicyDocument, IpamResourceCidr, ManagedResourceVisibilitySettings, Purchase, UserBucket, VolumeDetail } from "./models_6";
9
+ /**
10
+ * @public
11
+ */
12
+ export interface ImportKeyPairRequest {
13
+ /**
14
+ * <p>The tags to apply to the imported key pair.</p>
15
+ * @public
16
+ */
17
+ TagSpecifications?: TagSpecification[] | undefined;
18
+ /**
19
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
20
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
21
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
22
+ * @public
23
+ */
24
+ DryRun?: boolean | undefined;
25
+ /**
26
+ * <p>A unique name for the key pair.</p>
27
+ * @public
28
+ */
29
+ KeyName: string | undefined;
30
+ /**
31
+ * <p>The public key.</p>
32
+ * @public
33
+ */
34
+ PublicKeyMaterial: Uint8Array | undefined;
35
+ }
36
+ /**
37
+ * @public
38
+ */
39
+ export interface ImportKeyPairResult {
40
+ /**
41
+ * <ul>
42
+ * <li>
43
+ * <p>For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC 4716.</p>
44
+ * </li>
45
+ * <li>
46
+ * <p>For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with <a href="http://www.openssh.com/txt/release-6.8">OpenSSH 6.8</a>.</p>
47
+ * </li>
48
+ * </ul>
49
+ * @public
50
+ */
51
+ KeyFingerprint?: string | undefined;
52
+ /**
53
+ * <p>The key pair name that you provided.</p>
54
+ * @public
55
+ */
56
+ KeyName?: string | undefined;
57
+ /**
58
+ * <p>The ID of the resulting key pair.</p>
59
+ * @public
60
+ */
61
+ KeyPairId?: string | undefined;
62
+ /**
63
+ * <p>The tags applied to the imported key pair.</p>
64
+ * @public
65
+ */
66
+ Tags?: Tag[] | undefined;
67
+ }
9
68
  /**
10
69
  * <p>The disk container object for the import snapshot request.</p>
11
70
  * @public
@@ -7990,6 +8049,64 @@ export interface ReplaceImageCriteriaInAllowedImagesSettingsResult {
7990
8049
  */
7991
8050
  ReturnValue?: boolean | undefined;
7992
8051
  }
8052
+ /**
8053
+ * <p>The instance type specification for an AMI, which contains lists of supported and
8054
+ * unsupported instance types that define which instance types are compatible with the AMI.</p>
8055
+ * @public
8056
+ */
8057
+ export interface InstanceTypeSpecificationRequest {
8058
+ /**
8059
+ * <p>The instance types that the AMI supports. You can specify instance type names or use
8060
+ * wildcard patterns (for example, <code>t3.*</code>).</p>
8061
+ * <p>Constraints: Maximum 100 entries. Each entry must be 1-24 characters and match the pattern
8062
+ * <code>^[A-Za-z0-9_.*-]+$</code>. Consecutive wildcard characters (<code>**</code>) are not
8063
+ * allowed. Entries must be unique within each list and across both lists; duplicate entries cause the request to fail.</p>
8064
+ * @public
8065
+ */
8066
+ SupportedInstanceTypes?: string[] | undefined;
8067
+ /**
8068
+ * <p>The instance types that the AMI does not support. You can specify instance type names or
8069
+ * use wildcard patterns (for example, <code>t3.*</code>).</p>
8070
+ * <p>Constraints: Maximum 100 entries. Each entry must be 1-24 characters and match the pattern
8071
+ * <code>^[A-Za-z0-9_.*-]+$</code>. Consecutive wildcard characters (<code>**</code>) are not
8072
+ * allowed. Entries must be unique within each list and across both lists; duplicate entries cause the request to fail.</p>
8073
+ * @public
8074
+ */
8075
+ UnsupportedInstanceTypes?: string[] | undefined;
8076
+ }
8077
+ /**
8078
+ * @public
8079
+ */
8080
+ export interface ReplaceImageInstanceTypeSpecificationRequest {
8081
+ /**
8082
+ * <p>The ID of the AMI.</p>
8083
+ * @public
8084
+ */
8085
+ ImageId: string | undefined;
8086
+ /**
8087
+ * <p>The instance type specification to set on the AMI. Omit this parameter to remove the
8088
+ * existing instance type specification.</p>
8089
+ * @public
8090
+ */
8091
+ InstanceTypeSpecification?: InstanceTypeSpecificationRequest | undefined;
8092
+ /**
8093
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
8094
+ * and provides an error response. If you have the required permissions, the error response is
8095
+ * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8096
+ * @public
8097
+ */
8098
+ DryRun?: boolean | undefined;
8099
+ }
8100
+ /**
8101
+ * @public
8102
+ */
8103
+ export interface ReplaceImageInstanceTypeSpecificationResult {
8104
+ /**
8105
+ * <p>Returns <code>true</code> if the request succeeds; otherwise, it returns an error.</p>
8106
+ * @public
8107
+ */
8108
+ ReturnValue?: boolean | undefined;
8109
+ }
7993
8110
  /**
7994
8111
  * @public
7995
8112
  */
@@ -8390,257 +8507,3 @@ export interface ReportInstanceStatusRequest {
8390
8507
  */
8391
8508
  Description?: string | undefined;
8392
8509
  }
8393
- /**
8394
- * <p>Contains the parameters for RequestSpotFleet.</p>
8395
- * @public
8396
- */
8397
- export interface RequestSpotFleetRequest {
8398
- /**
8399
- * <p>Checks whether you have the required permissions for the action, without actually
8400
- * making the request, and provides an error response. If you have the required
8401
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
8402
- * <code>UnauthorizedOperation</code>.</p>
8403
- * @public
8404
- */
8405
- DryRun?: boolean | undefined;
8406
- /**
8407
- * <p>The configuration for the Spot Fleet request.</p>
8408
- * @public
8409
- */
8410
- SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined;
8411
- }
8412
- /**
8413
- * <p>Contains the output of RequestSpotFleet.</p>
8414
- * @public
8415
- */
8416
- export interface RequestSpotFleetResponse {
8417
- /**
8418
- * <p>The ID of the Spot Fleet request.</p>
8419
- * @public
8420
- */
8421
- SpotFleetRequestId?: string | undefined;
8422
- }
8423
- /**
8424
- * <p>Describes the launch specification for an instance.</p>
8425
- * @public
8426
- */
8427
- export interface RequestSpotLaunchSpecification {
8428
- /**
8429
- * <p>The IDs of the security groups.</p>
8430
- * @public
8431
- */
8432
- SecurityGroupIds?: string[] | undefined;
8433
- /**
8434
- * <p>Not supported.</p>
8435
- * @public
8436
- */
8437
- SecurityGroups?: string[] | undefined;
8438
- /**
8439
- * <p>Deprecated.</p>
8440
- * @public
8441
- */
8442
- AddressingType?: string | undefined;
8443
- /**
8444
- * <p>The block device mapping entries. You can't specify both a snapshot ID and an encryption value.
8445
- * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume,
8446
- * it is not blank and its encryption status is used for the volume encryption status.</p>
8447
- * @public
8448
- */
8449
- BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
8450
- /**
8451
- * <p>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.</p>
8452
- * <p>Default: <code>false</code>
8453
- * </p>
8454
- * @public
8455
- */
8456
- EbsOptimized?: boolean | undefined;
8457
- /**
8458
- * <p>The IAM instance profile.</p>
8459
- * @public
8460
- */
8461
- IamInstanceProfile?: IamInstanceProfileSpecification | undefined;
8462
- /**
8463
- * <p>The ID of the AMI.</p>
8464
- * @public
8465
- */
8466
- ImageId?: string | undefined;
8467
- /**
8468
- * <p>The instance type. Only one instance type can be specified.</p>
8469
- * @public
8470
- */
8471
- InstanceType?: _InstanceType | undefined;
8472
- /**
8473
- * <p>The ID of the kernel.</p>
8474
- * @public
8475
- */
8476
- KernelId?: string | undefined;
8477
- /**
8478
- * <p>The name of the key pair.</p>
8479
- * @public
8480
- */
8481
- KeyName?: string | undefined;
8482
- /**
8483
- * <p>Indicates whether basic or detailed monitoring is enabled for the instance.</p>
8484
- * <p>Default: Disabled</p>
8485
- * @public
8486
- */
8487
- Monitoring?: RunInstancesMonitoringEnabled | undefined;
8488
- /**
8489
- * <p>The network interfaces. If you specify a network interface, you must specify
8490
- * subnet IDs and security group IDs using the network interface.</p>
8491
- * @public
8492
- */
8493
- NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined;
8494
- /**
8495
- * <p>The placement information for the instance.</p>
8496
- * @public
8497
- */
8498
- Placement?: SpotPlacement | undefined;
8499
- /**
8500
- * <p>The ID of the RAM disk.</p>
8501
- * @public
8502
- */
8503
- RamdiskId?: string | undefined;
8504
- /**
8505
- * <p>The ID of the subnet in which to launch the instance.</p>
8506
- * @public
8507
- */
8508
- SubnetId?: string | undefined;
8509
- /**
8510
- * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
8511
- * @public
8512
- */
8513
- UserData?: string | undefined;
8514
- }
8515
- /**
8516
- * <p>Contains the parameters for RequestSpotInstances.</p>
8517
- * @public
8518
- */
8519
- export interface RequestSpotInstancesRequest {
8520
- /**
8521
- * <p>The launch specification.</p>
8522
- * @public
8523
- */
8524
- LaunchSpecification?: RequestSpotLaunchSpecification | undefined;
8525
- /**
8526
- * <p>The key-value pair for tagging the Spot Instance request on creation. The value for
8527
- * <code>ResourceType</code> must be <code>spot-instances-request</code>, otherwise the
8528
- * Spot Instance request fails. To tag the Spot Instance request after it has been created,
8529
- * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>. </p>
8530
- * @public
8531
- */
8532
- TagSpecifications?: TagSpecification[] | undefined;
8533
- /**
8534
- * <p>The behavior when a Spot Instance is interrupted. The default is <code>terminate</code>.</p>
8535
- * @public
8536
- */
8537
- InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined;
8538
- /**
8539
- * <p>Checks whether you have the required permissions for the action, without actually
8540
- * making the request, and provides an error response. If you have the required
8541
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
8542
- * <code>UnauthorizedOperation</code>.</p>
8543
- * @public
8544
- */
8545
- DryRun?: boolean | undefined;
8546
- /**
8547
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
8548
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
8549
- * <important>
8550
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
8551
- * </important>
8552
- * @public
8553
- */
8554
- SpotPrice?: string | undefined;
8555
- /**
8556
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
8557
- * request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html">Ensuring idempotency in
8558
- * Amazon EC2 API requests</a> in the <i>Amazon EC2 User Guide</i>.</p>
8559
- * @public
8560
- */
8561
- ClientToken?: string | undefined;
8562
- /**
8563
- * <p>The maximum number of Spot Instances to launch.</p>
8564
- * <p>Default: 1</p>
8565
- * @public
8566
- */
8567
- InstanceCount?: number | undefined;
8568
- /**
8569
- * <p>The Spot Instance request type.</p>
8570
- * <p>Default: <code>one-time</code>
8571
- * </p>
8572
- * @public
8573
- */
8574
- Type?: SpotInstanceType | undefined;
8575
- /**
8576
- * <p>The start date of the request. If this is a one-time request, the request becomes
8577
- * active at this date and time and remains active until all instances launch, the request
8578
- * expires, or the request is canceled. If the request is persistent, the request becomes
8579
- * active at this date and time and remains active until it expires or is canceled.</p>
8580
- * <p>The specified start date and time cannot be equal to the current date and time. You
8581
- * must specify a start date and time that occurs after the current date and time.</p>
8582
- * @public
8583
- */
8584
- ValidFrom?: Date | undefined;
8585
- /**
8586
- * <p>The end date of the request, in UTC format
8587
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
8588
- * <ul>
8589
- * <li>
8590
- * <p>For a persistent request, the request remains active until the
8591
- * <code>ValidUntil</code> date and time is reached. Otherwise, the request
8592
- * remains active until you cancel it. </p>
8593
- * </li>
8594
- * <li>
8595
- * <p>For a one-time request, the request remains active until all instances launch,
8596
- * the request is canceled, or the <code>ValidUntil</code> date and time is
8597
- * reached. By default, the request is valid for 7 days from the date the request
8598
- * was created.</p>
8599
- * </li>
8600
- * </ul>
8601
- * @public
8602
- */
8603
- ValidUntil?: Date | undefined;
8604
- /**
8605
- * <p>The instance launch group. Launch groups are Spot Instances that launch together and
8606
- * terminate together.</p>
8607
- * <p>Default: Instances are launched and terminated individually</p>
8608
- * @public
8609
- */
8610
- LaunchGroup?: string | undefined;
8611
- /**
8612
- * <p>The user-specified name for a logical grouping of requests.</p>
8613
- * <p>When you specify an Availability Zone group in a Spot Instance request, all Spot
8614
- * Instances in the request are launched in the same Availability Zone. Instance proximity
8615
- * is maintained with this parameter, but the choice of Availability Zone is not. The group
8616
- * applies only to requests for Spot Instances of the same instance type. Any additional
8617
- * Spot Instance requests that are specified with the same Availability Zone group name are
8618
- * launched in that same Availability Zone, as long as at least one instance from the group
8619
- * is still active.</p>
8620
- * <p>If there is no active instance running in the Availability Zone group that you specify
8621
- * for a new Spot Instance request (all instances are terminated, the request is expired,
8622
- * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches
8623
- * the instance in any Availability Zone where the constraint can be met. Consequently, the
8624
- * subsequent set of Spot Instances could be placed in a different zone from the original
8625
- * request, even if you specified the same Availability Zone group.</p>
8626
- * <p>Default: Instances are launched in any available Availability Zone.</p>
8627
- * @public
8628
- */
8629
- AvailabilityZoneGroup?: string | undefined;
8630
- /**
8631
- * <p>Deprecated.</p>
8632
- * @public
8633
- */
8634
- BlockDurationMinutes?: number | undefined;
8635
- }
8636
- /**
8637
- * <p>Contains the output of RequestSpotInstances.</p>
8638
- * @public
8639
- */
8640
- export interface RequestSpotInstancesResult {
8641
- /**
8642
- * <p>The Spot Instance requests.</p>
8643
- * @public
8644
- */
8645
- SpotInstanceRequests?: SpotInstanceRequest[] | undefined;
8646
- }
@@ -4,9 +4,263 @@ import type { BlockDeviceMapping, CreditSpecificationRequest, ElasticGpuSpecific
4
4
  import type { TransitGatewayRoute } from "./models_2";
5
5
  import type { ClientVpnConnectionStatus, Filter } from "./models_3";
6
6
  import type { InstanceState, NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis } from "./models_4";
7
- import type { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled } from "./models_5";
7
+ import type { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled, SpotFleetRequestConfigData, SpotInstanceRequest, SpotPlacement } from "./models_5";
8
8
  import type { CapacityManagerMonitoredTagKey } from "./models_6";
9
9
  import type { CapacityReservationSpecification, EnclaveOptionsRequest, InstanceMonitoring } from "./models_7";
10
+ /**
11
+ * <p>Contains the parameters for RequestSpotFleet.</p>
12
+ * @public
13
+ */
14
+ export interface RequestSpotFleetRequest {
15
+ /**
16
+ * <p>Checks whether you have the required permissions for the action, without actually
17
+ * making the request, and provides an error response. If you have the required
18
+ * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
19
+ * <code>UnauthorizedOperation</code>.</p>
20
+ * @public
21
+ */
22
+ DryRun?: boolean | undefined;
23
+ /**
24
+ * <p>The configuration for the Spot Fleet request.</p>
25
+ * @public
26
+ */
27
+ SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined;
28
+ }
29
+ /**
30
+ * <p>Contains the output of RequestSpotFleet.</p>
31
+ * @public
32
+ */
33
+ export interface RequestSpotFleetResponse {
34
+ /**
35
+ * <p>The ID of the Spot Fleet request.</p>
36
+ * @public
37
+ */
38
+ SpotFleetRequestId?: string | undefined;
39
+ }
40
+ /**
41
+ * <p>Describes the launch specification for an instance.</p>
42
+ * @public
43
+ */
44
+ export interface RequestSpotLaunchSpecification {
45
+ /**
46
+ * <p>The IDs of the security groups.</p>
47
+ * @public
48
+ */
49
+ SecurityGroupIds?: string[] | undefined;
50
+ /**
51
+ * <p>Not supported.</p>
52
+ * @public
53
+ */
54
+ SecurityGroups?: string[] | undefined;
55
+ /**
56
+ * <p>Deprecated.</p>
57
+ * @public
58
+ */
59
+ AddressingType?: string | undefined;
60
+ /**
61
+ * <p>The block device mapping entries. You can't specify both a snapshot ID and an encryption value.
62
+ * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume,
63
+ * it is not blank and its encryption status is used for the volume encryption status.</p>
64
+ * @public
65
+ */
66
+ BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
67
+ /**
68
+ * <p>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.</p>
69
+ * <p>Default: <code>false</code>
70
+ * </p>
71
+ * @public
72
+ */
73
+ EbsOptimized?: boolean | undefined;
74
+ /**
75
+ * <p>The IAM instance profile.</p>
76
+ * @public
77
+ */
78
+ IamInstanceProfile?: IamInstanceProfileSpecification | undefined;
79
+ /**
80
+ * <p>The ID of the AMI.</p>
81
+ * @public
82
+ */
83
+ ImageId?: string | undefined;
84
+ /**
85
+ * <p>The instance type. Only one instance type can be specified.</p>
86
+ * @public
87
+ */
88
+ InstanceType?: _InstanceType | undefined;
89
+ /**
90
+ * <p>The ID of the kernel.</p>
91
+ * @public
92
+ */
93
+ KernelId?: string | undefined;
94
+ /**
95
+ * <p>The name of the key pair.</p>
96
+ * @public
97
+ */
98
+ KeyName?: string | undefined;
99
+ /**
100
+ * <p>Indicates whether basic or detailed monitoring is enabled for the instance.</p>
101
+ * <p>Default: Disabled</p>
102
+ * @public
103
+ */
104
+ Monitoring?: RunInstancesMonitoringEnabled | undefined;
105
+ /**
106
+ * <p>The network interfaces. If you specify a network interface, you must specify
107
+ * subnet IDs and security group IDs using the network interface.</p>
108
+ * @public
109
+ */
110
+ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined;
111
+ /**
112
+ * <p>The placement information for the instance.</p>
113
+ * @public
114
+ */
115
+ Placement?: SpotPlacement | undefined;
116
+ /**
117
+ * <p>The ID of the RAM disk.</p>
118
+ * @public
119
+ */
120
+ RamdiskId?: string | undefined;
121
+ /**
122
+ * <p>The ID of the subnet in which to launch the instance.</p>
123
+ * @public
124
+ */
125
+ SubnetId?: string | undefined;
126
+ /**
127
+ * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
128
+ * @public
129
+ */
130
+ UserData?: string | undefined;
131
+ }
132
+ /**
133
+ * <p>Contains the parameters for RequestSpotInstances.</p>
134
+ * @public
135
+ */
136
+ export interface RequestSpotInstancesRequest {
137
+ /**
138
+ * <p>The launch specification.</p>
139
+ * @public
140
+ */
141
+ LaunchSpecification?: RequestSpotLaunchSpecification | undefined;
142
+ /**
143
+ * <p>The key-value pair for tagging the Spot Instance request on creation. The value for
144
+ * <code>ResourceType</code> must be <code>spot-instances-request</code>, otherwise the
145
+ * Spot Instance request fails. To tag the Spot Instance request after it has been created,
146
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>. </p>
147
+ * @public
148
+ */
149
+ TagSpecifications?: TagSpecification[] | undefined;
150
+ /**
151
+ * <p>The behavior when a Spot Instance is interrupted. The default is <code>terminate</code>.</p>
152
+ * @public
153
+ */
154
+ InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined;
155
+ /**
156
+ * <p>Checks whether you have the required permissions for the action, without actually
157
+ * making the request, and provides an error response. If you have the required
158
+ * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
159
+ * <code>UnauthorizedOperation</code>.</p>
160
+ * @public
161
+ */
162
+ DryRun?: boolean | undefined;
163
+ /**
164
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
165
+ * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
166
+ * <important>
167
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
168
+ * </important>
169
+ * @public
170
+ */
171
+ SpotPrice?: string | undefined;
172
+ /**
173
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
174
+ * request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html">Ensuring idempotency in
175
+ * Amazon EC2 API requests</a> in the <i>Amazon EC2 User Guide</i>.</p>
176
+ * @public
177
+ */
178
+ ClientToken?: string | undefined;
179
+ /**
180
+ * <p>The maximum number of Spot Instances to launch.</p>
181
+ * <p>Default: 1</p>
182
+ * @public
183
+ */
184
+ InstanceCount?: number | undefined;
185
+ /**
186
+ * <p>The Spot Instance request type.</p>
187
+ * <p>Default: <code>one-time</code>
188
+ * </p>
189
+ * @public
190
+ */
191
+ Type?: SpotInstanceType | undefined;
192
+ /**
193
+ * <p>The start date of the request. If this is a one-time request, the request becomes
194
+ * active at this date and time and remains active until all instances launch, the request
195
+ * expires, or the request is canceled. If the request is persistent, the request becomes
196
+ * active at this date and time and remains active until it expires or is canceled.</p>
197
+ * <p>The specified start date and time cannot be equal to the current date and time. You
198
+ * must specify a start date and time that occurs after the current date and time.</p>
199
+ * @public
200
+ */
201
+ ValidFrom?: Date | undefined;
202
+ /**
203
+ * <p>The end date of the request, in UTC format
204
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
205
+ * <ul>
206
+ * <li>
207
+ * <p>For a persistent request, the request remains active until the
208
+ * <code>ValidUntil</code> date and time is reached. Otherwise, the request
209
+ * remains active until you cancel it. </p>
210
+ * </li>
211
+ * <li>
212
+ * <p>For a one-time request, the request remains active until all instances launch,
213
+ * the request is canceled, or the <code>ValidUntil</code> date and time is
214
+ * reached. By default, the request is valid for 7 days from the date the request
215
+ * was created.</p>
216
+ * </li>
217
+ * </ul>
218
+ * @public
219
+ */
220
+ ValidUntil?: Date | undefined;
221
+ /**
222
+ * <p>The instance launch group. Launch groups are Spot Instances that launch together and
223
+ * terminate together.</p>
224
+ * <p>Default: Instances are launched and terminated individually</p>
225
+ * @public
226
+ */
227
+ LaunchGroup?: string | undefined;
228
+ /**
229
+ * <p>The user-specified name for a logical grouping of requests.</p>
230
+ * <p>When you specify an Availability Zone group in a Spot Instance request, all Spot
231
+ * Instances in the request are launched in the same Availability Zone. Instance proximity
232
+ * is maintained with this parameter, but the choice of Availability Zone is not. The group
233
+ * applies only to requests for Spot Instances of the same instance type. Any additional
234
+ * Spot Instance requests that are specified with the same Availability Zone group name are
235
+ * launched in that same Availability Zone, as long as at least one instance from the group
236
+ * is still active.</p>
237
+ * <p>If there is no active instance running in the Availability Zone group that you specify
238
+ * for a new Spot Instance request (all instances are terminated, the request is expired,
239
+ * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches
240
+ * the instance in any Availability Zone where the constraint can be met. Consequently, the
241
+ * subsequent set of Spot Instances could be placed in a different zone from the original
242
+ * request, even if you specified the same Availability Zone group.</p>
243
+ * <p>Default: Instances are launched in any available Availability Zone.</p>
244
+ * @public
245
+ */
246
+ AvailabilityZoneGroup?: string | undefined;
247
+ /**
248
+ * <p>Deprecated.</p>
249
+ * @public
250
+ */
251
+ BlockDurationMinutes?: number | undefined;
252
+ }
253
+ /**
254
+ * <p>Contains the output of RequestSpotInstances.</p>
255
+ * @public
256
+ */
257
+ export interface RequestSpotInstancesResult {
258
+ /**
259
+ * <p>The Spot Instance requests.</p>
260
+ * @public
261
+ */
262
+ SpotInstanceRequests?: SpotInstanceRequest[] | undefined;
263
+ }
10
264
  /**
11
265
  * @public
12
266
  */