@aws-sdk/client-ec2 3.87.0 → 3.88.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 (48) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist-cjs/EC2.js +15 -0
  3. package/dist-cjs/commands/GetFlowLogsIntegrationTemplateCommand.js +1 -2
  4. package/dist-cjs/commands/GetInstanceUefiDataCommand.js +36 -0
  5. package/dist-cjs/commands/RequestSpotFleetCommand.js +2 -1
  6. package/dist-cjs/commands/RequestSpotInstancesCommand.js +1 -2
  7. package/dist-cjs/commands/index.js +1 -0
  8. package/dist-cjs/models/models_3.js +9 -11
  9. package/dist-cjs/models/models_4.js +12 -12
  10. package/dist-cjs/models/models_5.js +24 -24
  11. package/dist-cjs/models/models_6.js +20 -2
  12. package/dist-cjs/protocols/Aws_ec2.js +105 -14
  13. package/dist-es/EC2.js +15 -0
  14. package/dist-es/commands/GetFlowLogsIntegrationTemplateCommand.js +1 -2
  15. package/dist-es/commands/GetInstanceUefiDataCommand.js +39 -0
  16. package/dist-es/commands/RequestSpotFleetCommand.js +2 -1
  17. package/dist-es/commands/RequestSpotInstancesCommand.js +1 -2
  18. package/dist-es/commands/index.js +1 -0
  19. package/dist-es/models/models_3.js +4 -4
  20. package/dist-es/models/models_4.js +4 -4
  21. package/dist-es/models/models_5.js +12 -12
  22. package/dist-es/models/models_6.js +12 -0
  23. package/dist-es/protocols/Aws_ec2.js +100 -0
  24. package/dist-types/EC2.d.ts +16 -0
  25. package/dist-types/EC2Client.d.ts +3 -2
  26. package/dist-types/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -2
  27. package/dist-types/commands/GetInstanceUefiDataCommand.d.ts +44 -0
  28. package/dist-types/commands/RequestSpotFleetCommand.d.ts +2 -1
  29. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +1 -2
  30. package/dist-types/commands/index.d.ts +1 -0
  31. package/dist-types/models/models_3.d.ts +28 -25
  32. package/dist-types/models/models_4.d.ts +25 -27
  33. package/dist-types/models/models_5.d.ts +76 -209
  34. package/dist-types/models/models_6.d.ts +207 -1
  35. package/dist-types/protocols/Aws_ec2.d.ts +3 -0
  36. package/dist-types/ts3.4/EC2.d.ts +5 -0
  37. package/dist-types/ts3.4/EC2Client.d.ts +3 -2
  38. package/dist-types/ts3.4/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -2
  39. package/dist-types/ts3.4/commands/GetInstanceUefiDataCommand.d.ts +17 -0
  40. package/dist-types/ts3.4/commands/RequestSpotFleetCommand.d.ts +2 -1
  41. package/dist-types/ts3.4/commands/RequestSpotInstancesCommand.d.ts +1 -2
  42. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  43. package/dist-types/ts3.4/models/models_3.d.ts +12 -14
  44. package/dist-types/ts3.4/models/models_4.d.ts +14 -15
  45. package/dist-types/ts3.4/models/models_5.d.ts +41 -84
  46. package/dist-types/ts3.4/models/models_6.d.ts +82 -1
  47. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +3 -0
  48. package/package.json +1 -1
@@ -1,7 +1,31 @@
1
1
  import { _InstanceType, ActiveInstance, ActivityStatus, AllocationStrategy, AllowedPrincipal, AssociationStatus, BatchState, CapacityReservationState, CurrencyCodeValues, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpPermission, ReservedInstancesListing, ResourceType, SecurityGroupRule, Subnet, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, Tenancy, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, TrunkInterfaceAssociation, UserIdGroupPair, Vpc, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, VpcPeeringConnection } from "./models_0";
2
2
  import { BlockDeviceMapping, DiskImageFormat, FleetLaunchTemplateSpecification, FleetType, GroupIdentifier, InstanceInterruptionBehavior, InstanceIpv6Address, InstanceRequirements, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, PrivateIpAddressSpecification, ReplaceRootVolumeTask, RouteTable, Snapshot, SnapshotState, SpotDatafeedSubscription, SpotInstanceStateFault, SpotInstanceType, StorageTier, TargetCapacityUnitType, TrafficMirrorFilter, TrafficMirrorSession, TrafficMirrorTarget, TransitGateway, VolumeType } from "./models_1";
3
3
  import { ConnectionNotification, DnsEntry, DnsNameState, Filter, PayerResponsibility, ServiceConfiguration, ServiceTypeDetail, State, TransitGatewayConnect, TransitGatewayConnectPeer, TransitGatewayMulticastDomain, TransitGatewayRouteTable, Volume, VpcEndpoint, VpnConnection, VpnGateway } from "./models_2";
4
- import { AttributeBooleanValue, EventInformation, ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, FastLaunchSnapshotConfigurationResponse, FastLaunchStateCode, FastSnapshotRestoreStateCode, PermissionGroup, ProductCode, Region } from "./models_3";
4
+ import { AttributeBooleanValue, EventInformation, ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, FastLaunchSnapshotConfigurationResponse, FastLaunchStateCode, FastSnapshotRestoreStateCode, PermissionGroup, ProductCode } from "./models_3";
5
+ /**
6
+ * <p>Describes a Region.</p>
7
+ */
8
+ export interface Region {
9
+ /**
10
+ * <p>The Region service endpoint.</p>
11
+ */
12
+ Endpoint?: string;
13
+ /**
14
+ * <p>The name of the Region.</p>
15
+ */
16
+ RegionName?: string;
17
+ /**
18
+ * <p>The Region opt-in status. The possible values are <code>opt-in-not-required</code>, <code>opted-in</code>, and
19
+ * <code>not-opted-in</code>.</p>
20
+ */
21
+ OptInStatus?: string;
22
+ }
23
+ export declare namespace Region {
24
+ /**
25
+ * @internal
26
+ */
27
+ const filterSensitiveLog: (obj: Region) => any;
28
+ }
5
29
  export interface DescribeRegionsResult {
6
30
  /**
7
31
  * <p>Information about the Regions.</p>
@@ -9291,29 +9315,3 @@ export declare namespace IntegrateServices {
9291
9315
  */
9292
9316
  const filterSensitiveLog: (obj: IntegrateServices) => any;
9293
9317
  }
9294
- export interface GetFlowLogsIntegrationTemplateRequest {
9295
- /**
9296
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
9297
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
9298
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
9299
- */
9300
- DryRun?: boolean;
9301
- /**
9302
- * <p>The ID of the flow log.</p>
9303
- */
9304
- FlowLogId: string | undefined;
9305
- /**
9306
- * <p>To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.</p>
9307
- */
9308
- ConfigDeliveryS3DestinationArn: string | undefined;
9309
- /**
9310
- * <p>Information about the service integration.</p>
9311
- */
9312
- IntegrateServices: IntegrateServices | undefined;
9313
- }
9314
- export declare namespace GetFlowLogsIntegrationTemplateRequest {
9315
- /**
9316
- * @internal
9317
- */
9318
- const filterSensitiveLog: (obj: GetFlowLogsIntegrationTemplateRequest) => any;
9319
- }
@@ -1,8 +1,34 @@
1
1
  import { _InstanceType, AccessScopeAnalysisFinding, AddIpamOperatingRegion, AddPrefixListEntry, AddressAttribute, Affinity, ApplianceModeSupportValue, AttributeValue, AutoPlacement, ByoipCidr, ClientConnectOptions, ClientLoginBannerOptions, ConnectionLogOptions, CurrencyCodeValues, DnsSupportValue, EndDateType, FleetExcessCapacityTerminationPolicy, HostnameType, HostRecovery, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpamPoolAllocation, Ipv6SupportValue, PortRange, RouteTableAssociationState, SelfServicePortal, SubnetAssociation, Tag, TagSpecification, TargetConfigurationRequest, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem } from "./models_0";
2
- import { AutoAcceptSharedAttachmentsValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTarget, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, DiskImageFormat, FleetLaunchTemplateConfigRequest, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, InstanceInterruptionBehavior, InstanceRequirementsRequest, Ipam, IpamPool, IpamResourceTag, IpamScope, LaunchTemplate, ManagedPrefixList, NetworkInsightsAccessScopeContent, Placement, PlatformValues, RequestIpamResourceTag, ResponseLaunchTemplateData, RuleAction, ShutdownBehavior, SpotInstanceType, SubnetCidrReservation, TargetCapacitySpecificationRequest, TargetCapacityUnitType, TrafficDirection, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorNetworkService, TrafficMirrorPortRangeRequest, TrafficMirrorRuleAction, TrafficMirrorSession, TransitGateway, VolumeType, VpnEcmpSupportValue } from "./models_1";
2
+ import { AutoAcceptSharedAttachmentsValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTarget, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, DiskImageFormat, FleetLaunchTemplateConfigRequest, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, InstanceRequirementsRequest, Ipam, IpamPool, IpamResourceTag, IpamScope, LaunchTemplate, ManagedPrefixList, NetworkInsightsAccessScopeContent, Placement, PlatformValues, RequestIpamResourceTag, ResponseLaunchTemplateData, RuleAction, ShutdownBehavior, SubnetCidrReservation, TargetCapacitySpecificationRequest, TargetCapacityUnitType, TrafficDirection, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorNetworkService, TrafficMirrorPortRangeRequest, TrafficMirrorRuleAction, TrafficMirrorSession, TransitGateway, VolumeType, VpnEcmpSupportValue } from "./models_1";
3
3
  import { Filter, IKEVersionsRequestListValue, InstanceTagNotificationAttribute, IpamPoolCidr, PayerResponsibility, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsRequestListValue, Phase1IntegrityAlgorithmsRequestListValue, Phase2DHGroupNumbersRequestListValue, Phase2EncryptionAlgorithmsRequestListValue, Phase2IntegrityAlgorithmsRequestListValue, TransitGatewayPrefixListReference, TransitGatewayRoute, VpnConnection } from "./models_2";
4
- import { AnalysisStatus, ArchitectureType, ArchitectureValues, AttributeBooleanValue, BootModeValues, ConversionTask, FpgaImageAttribute, FpgaImageAttributeName, HttpTokensState, ImportImageLicenseConfigurationResponse, InstanceAttributeName, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataOptionsResponse, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceStatusEvent, LaunchPermission, Monitoring, PaymentOption, PermissionGroup, PublicIpv4PoolRange, SnapshotDetail, SnapshotTaskDetail, VirtualizationType } from "./models_3";
5
- import { CreateVolumePermission, ExcessCapacityTerminationPolicy, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, LaunchTemplateConfig, ReservedInstancesConfiguration, RunInstancesMonitoringEnabled, ScheduledInstance, SnapshotAttributeName, SpotFleetRequestConfigData, SpotPlacement, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, VolumeModification } from "./models_4";
4
+ import { AnalysisStatus, ArchitectureType, ArchitectureValues, AttributeBooleanValue, BootModeValues, ConversionTask, FpgaImageAttribute, FpgaImageAttributeName, HttpTokensState, ImportImageLicenseConfigurationResponse, InstanceAttributeName, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataOptionsResponse, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceStatusEvent, LaunchPermission, Monitoring, PaymentOption, PermissionGroup, PublicIpv4PoolRange, SnapshotDetail, SnapshotTaskDetail, TpmSupportValues, VirtualizationType } from "./models_3";
5
+ import { CreateVolumePermission, ExcessCapacityTerminationPolicy, InstanceFamilyCreditSpecification, IntegrateServices, LaunchTemplateConfig, ReservedInstancesConfiguration, ScheduledInstance, SnapshotAttributeName, SpotFleetRequestConfigData, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, VolumeModification } from "./models_4";
6
+ export interface GetFlowLogsIntegrationTemplateRequest {
7
+ /**
8
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
9
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
10
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11
+ */
12
+ DryRun?: boolean;
13
+ /**
14
+ * <p>The ID of the flow log.</p>
15
+ */
16
+ FlowLogId: string | undefined;
17
+ /**
18
+ * <p>To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.</p>
19
+ */
20
+ ConfigDeliveryS3DestinationArn: string | undefined;
21
+ /**
22
+ * <p>Information about the service integration.</p>
23
+ */
24
+ IntegrateServices: IntegrateServices | undefined;
25
+ }
26
+ export declare namespace GetFlowLogsIntegrationTemplateRequest {
27
+ /**
28
+ * @internal
29
+ */
30
+ const filterSensitiveLog: (obj: GetFlowLogsIntegrationTemplateRequest) => any;
31
+ }
6
32
  export interface GetFlowLogsIntegrationTemplateResult {
7
33
  /**
8
34
  * <p>The generated CloudFormation template.</p>
@@ -230,6 +256,40 @@ export declare namespace GetInstanceTypesFromInstanceRequirementsResult {
230
256
  */
231
257
  const filterSensitiveLog: (obj: GetInstanceTypesFromInstanceRequirementsResult) => any;
232
258
  }
259
+ export interface GetInstanceUefiDataRequest {
260
+ /**
261
+ * <p>The ID of the instance from which to retrieve the UEFI data.</p>
262
+ */
263
+ InstanceId: string | undefined;
264
+ /**
265
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
266
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
267
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
268
+ */
269
+ DryRun?: boolean;
270
+ }
271
+ export declare namespace GetInstanceUefiDataRequest {
272
+ /**
273
+ * @internal
274
+ */
275
+ const filterSensitiveLog: (obj: GetInstanceUefiDataRequest) => any;
276
+ }
277
+ export interface GetInstanceUefiDataResult {
278
+ /**
279
+ * <p>The ID of the instance from which to retrieve the UEFI data.</p>
280
+ */
281
+ InstanceId?: string;
282
+ /**
283
+ * <p>Base64 representation of the non-volatile UEFI variable store.</p>
284
+ */
285
+ UefiData?: string;
286
+ }
287
+ export declare namespace GetInstanceUefiDataResult {
288
+ /**
289
+ * @internal
290
+ */
291
+ const filterSensitiveLog: (obj: GetInstanceUefiDataResult) => any;
292
+ }
233
293
  export interface GetIpamAddressHistoryRequest {
234
294
  /**
235
295
  * <p>A check for whether you have the required permissions for the action without actually making the request
@@ -6816,6 +6876,19 @@ export interface RegisterImageRequest {
6816
6876
  * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
6817
6877
  */
6818
6878
  BootMode?: BootModeValues | string;
6879
+ /**
6880
+ * <p>Set to <code>v2.0</code> to enable Trusted Platform Module (TPM) support. For more
6881
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html">NitroTPM</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
6882
+ */
6883
+ TpmSupport?: TpmSupportValues | string;
6884
+ /**
6885
+ * <p>Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,
6886
+ * use the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceUefiData">GetInstanceUefiData</a> command. You can inspect and modify the UEFI data by using the
6887
+ * <a href="https://github.com/awslabs/python-uefivars">python-uefivars tool</a> on
6888
+ * GitHub. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html">UEFI Secure Boot</a> in the
6889
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
6890
+ */
6891
+ UefiData?: string;
6819
6892
  }
6820
6893
  export declare namespace RegisterImageRequest {
6821
6894
  /**
@@ -7659,209 +7732,3 @@ export declare namespace RequestSpotFleetRequest {
7659
7732
  */
7660
7733
  const filterSensitiveLog: (obj: RequestSpotFleetRequest) => any;
7661
7734
  }
7662
- /**
7663
- * <p>Contains the output of RequestSpotFleet.</p>
7664
- */
7665
- export interface RequestSpotFleetResponse {
7666
- /**
7667
- * <p>The ID of the Spot Fleet request.</p>
7668
- */
7669
- SpotFleetRequestId?: string;
7670
- }
7671
- export declare namespace RequestSpotFleetResponse {
7672
- /**
7673
- * @internal
7674
- */
7675
- const filterSensitiveLog: (obj: RequestSpotFleetResponse) => any;
7676
- }
7677
- /**
7678
- * <p>Describes the launch specification for an instance.</p>
7679
- */
7680
- export interface RequestSpotLaunchSpecification {
7681
- /**
7682
- * <p>One or more security group IDs.</p>
7683
- */
7684
- SecurityGroupIds?: string[];
7685
- /**
7686
- * <p>One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.</p>
7687
- */
7688
- SecurityGroups?: string[];
7689
- /**
7690
- * <p>Deprecated.</p>
7691
- */
7692
- AddressingType?: string;
7693
- /**
7694
- * <p>One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value.
7695
- * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume,
7696
- * it is not blank and its encryption status is used for the volume encryption status.</p>
7697
- */
7698
- BlockDeviceMappings?: BlockDeviceMapping[];
7699
- /**
7700
- * <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>
7701
- * <p>Default: <code>false</code>
7702
- * </p>
7703
- */
7704
- EbsOptimized?: boolean;
7705
- /**
7706
- * <p>The IAM instance profile.</p>
7707
- */
7708
- IamInstanceProfile?: IamInstanceProfileSpecification;
7709
- /**
7710
- * <p>The ID of the AMI.</p>
7711
- */
7712
- ImageId?: string;
7713
- /**
7714
- * <p>The instance type. Only one instance type can be specified.</p>
7715
- */
7716
- InstanceType?: _InstanceType | string;
7717
- /**
7718
- * <p>The ID of the kernel.</p>
7719
- */
7720
- KernelId?: string;
7721
- /**
7722
- * <p>The name of the key pair.</p>
7723
- */
7724
- KeyName?: string;
7725
- /**
7726
- * <p>Indicates whether basic or detailed monitoring is enabled for the instance.</p>
7727
- * <p>Default: Disabled</p>
7728
- */
7729
- Monitoring?: RunInstancesMonitoringEnabled;
7730
- /**
7731
- * <p>One or more network interfaces. If you specify a network interface, you must specify
7732
- * subnet IDs and security group IDs using the network interface.</p>
7733
- */
7734
- NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
7735
- /**
7736
- * <p>The placement information for the instance.</p>
7737
- */
7738
- Placement?: SpotPlacement;
7739
- /**
7740
- * <p>The ID of the RAM disk.</p>
7741
- */
7742
- RamdiskId?: string;
7743
- /**
7744
- * <p>The ID of the subnet in which to launch the instance.</p>
7745
- */
7746
- SubnetId?: string;
7747
- /**
7748
- * <p>The Base64-encoded user data for the instance. User data is limited to 16 KB.</p>
7749
- */
7750
- UserData?: string;
7751
- }
7752
- export declare namespace RequestSpotLaunchSpecification {
7753
- /**
7754
- * @internal
7755
- */
7756
- const filterSensitiveLog: (obj: RequestSpotLaunchSpecification) => any;
7757
- }
7758
- /**
7759
- * <p>Contains the parameters for RequestSpotInstances.</p>
7760
- */
7761
- export interface RequestSpotInstancesRequest {
7762
- /**
7763
- * <p>The user-specified name for a logical grouping of requests.</p>
7764
- * <p>When you specify an Availability Zone group in a Spot Instance request, all Spot
7765
- * Instances in the request are launched in the same Availability Zone. Instance proximity
7766
- * is maintained with this parameter, but the choice of Availability Zone is not. The group
7767
- * applies only to requests for Spot Instances of the same instance type. Any additional
7768
- * Spot Instance requests that are specified with the same Availability Zone group name are
7769
- * launched in that same Availability Zone, as long as at least one instance from the group
7770
- * is still active.</p>
7771
- * <p>If there is no active instance running in the Availability Zone group that you specify
7772
- * for a new Spot Instance request (all instances are terminated, the request is expired,
7773
- * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches
7774
- * the instance in any Availability Zone where the constraint can be met. Consequently, the
7775
- * subsequent set of Spot Instances could be placed in a different zone from the original
7776
- * request, even if you specified the same Availability Zone group.</p>
7777
- * <p>Default: Instances are launched in any available Availability Zone.</p>
7778
- */
7779
- AvailabilityZoneGroup?: string;
7780
- /**
7781
- * <p>Deprecated.</p>
7782
- */
7783
- BlockDurationMinutes?: number;
7784
- /**
7785
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
7786
- * request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html">How to Ensure
7787
- * Idempotency</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
7788
- */
7789
- ClientToken?: string;
7790
- /**
7791
- * <p>Checks whether you have the required permissions for the action, without actually
7792
- * making the request, and provides an error response. If you have the required
7793
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
7794
- * <code>UnauthorizedOperation</code>.</p>
7795
- */
7796
- DryRun?: boolean;
7797
- /**
7798
- * <p>The maximum number of Spot Instances to launch.</p>
7799
- * <p>Default: 1</p>
7800
- */
7801
- InstanceCount?: number;
7802
- /**
7803
- * <p>The instance launch group. Launch groups are Spot Instances that launch together and
7804
- * terminate together.</p>
7805
- * <p>Default: Instances are launched and terminated individually</p>
7806
- */
7807
- LaunchGroup?: string;
7808
- /**
7809
- * <p>The launch specification.</p>
7810
- */
7811
- LaunchSpecification?: RequestSpotLaunchSpecification;
7812
- /**
7813
- * <p>The maximum price per hour that you are willing to pay for a Spot Instance. The
7814
- * default is the On-Demand price.</p>
7815
- */
7816
- SpotPrice?: string;
7817
- /**
7818
- * <p>The Spot Instance request type.</p>
7819
- * <p>Default: <code>one-time</code>
7820
- * </p>
7821
- */
7822
- Type?: SpotInstanceType | string;
7823
- /**
7824
- * <p>The start date of the request. If this is a one-time request, the request becomes
7825
- * active at this date and time and remains active until all instances launch, the request
7826
- * expires, or the request is canceled. If the request is persistent, the request becomes
7827
- * active at this date and time and remains active until it expires or is canceled.</p>
7828
- * <p>The specified start date and time cannot be equal to the current date and time. You
7829
- * must specify a start date and time that occurs after the current date and time.</p>
7830
- */
7831
- ValidFrom?: Date;
7832
- /**
7833
- * <p>The end date of the request, in UTC format
7834
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
7835
- * <ul>
7836
- * <li>
7837
- * <p>For a persistent request, the request remains active until the
7838
- * <code>ValidUntil</code> date and time is reached. Otherwise, the request
7839
- * remains active until you cancel it. </p>
7840
- * </li>
7841
- * <li>
7842
- * <p>For a one-time request, the request remains active until all instances launch,
7843
- * the request is canceled, or the <code>ValidUntil</code> date and time is
7844
- * reached. By default, the request is valid for 7 days from the date the request
7845
- * was created.</p>
7846
- * </li>
7847
- * </ul>
7848
- */
7849
- ValidUntil?: Date;
7850
- /**
7851
- * <p>The key-value pair for tagging the Spot Instance request on creation. The value for
7852
- * <code>ResourceType</code> must be <code>spot-instances-request</code>, otherwise the
7853
- * Spot Instance request fails. To tag the Spot Instance request after it has been created,
7854
- * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>. </p>
7855
- */
7856
- TagSpecifications?: TagSpecification[];
7857
- /**
7858
- * <p>The behavior when a Spot Instance is interrupted. The default is <code>terminate</code>.</p>
7859
- */
7860
- InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string;
7861
- }
7862
- export declare namespace RequestSpotInstancesRequest {
7863
- /**
7864
- * @internal
7865
- */
7866
- const filterSensitiveLog: (obj: RequestSpotInstancesRequest) => any;
7867
- }
@@ -2,8 +2,214 @@ import { _InstanceType, AddressAttribute, AddressAttributeName, ByoipCidr, Clien
2
2
  import { BlockDeviceMapping, CreditSpecificationRequest, ElasticGpuSpecification, InstanceInterruptionBehavior, InstanceIpv6Address, LocalGatewayRoute, ManagedPrefixList, MarketType, Placement, ShutdownBehavior, SnapshotState, SpotInstanceType } from "./models_1";
3
3
  import { ClientVpnConnectionStatus, Filter, TransitGatewayRoute } from "./models_2";
4
4
  import { HttpTokensState, InstanceAttributeName, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceState, NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis } from "./models_3";
5
- import { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled, SnapshotAttributeName, SpotInstanceRequest } from "./models_4";
5
+ import { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled, SnapshotAttributeName, SpotInstanceRequest, SpotPlacement } from "./models_4";
6
6
  import { CapacityReservationSpecification, InstanceMonitoring, Status } from "./models_5";
7
+ /**
8
+ * <p>Contains the output of RequestSpotFleet.</p>
9
+ */
10
+ export interface RequestSpotFleetResponse {
11
+ /**
12
+ * <p>The ID of the Spot Fleet request.</p>
13
+ */
14
+ SpotFleetRequestId?: string;
15
+ }
16
+ export declare namespace RequestSpotFleetResponse {
17
+ /**
18
+ * @internal
19
+ */
20
+ const filterSensitiveLog: (obj: RequestSpotFleetResponse) => any;
21
+ }
22
+ /**
23
+ * <p>Describes the launch specification for an instance.</p>
24
+ */
25
+ export interface RequestSpotLaunchSpecification {
26
+ /**
27
+ * <p>One or more security group IDs.</p>
28
+ */
29
+ SecurityGroupIds?: string[];
30
+ /**
31
+ * <p>One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.</p>
32
+ */
33
+ SecurityGroups?: string[];
34
+ /**
35
+ * <p>Deprecated.</p>
36
+ */
37
+ AddressingType?: string;
38
+ /**
39
+ * <p>One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value.
40
+ * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume,
41
+ * it is not blank and its encryption status is used for the volume encryption status.</p>
42
+ */
43
+ BlockDeviceMappings?: BlockDeviceMapping[];
44
+ /**
45
+ * <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>
46
+ * <p>Default: <code>false</code>
47
+ * </p>
48
+ */
49
+ EbsOptimized?: boolean;
50
+ /**
51
+ * <p>The IAM instance profile.</p>
52
+ */
53
+ IamInstanceProfile?: IamInstanceProfileSpecification;
54
+ /**
55
+ * <p>The ID of the AMI.</p>
56
+ */
57
+ ImageId?: string;
58
+ /**
59
+ * <p>The instance type. Only one instance type can be specified.</p>
60
+ */
61
+ InstanceType?: _InstanceType | string;
62
+ /**
63
+ * <p>The ID of the kernel.</p>
64
+ */
65
+ KernelId?: string;
66
+ /**
67
+ * <p>The name of the key pair.</p>
68
+ */
69
+ KeyName?: string;
70
+ /**
71
+ * <p>Indicates whether basic or detailed monitoring is enabled for the instance.</p>
72
+ * <p>Default: Disabled</p>
73
+ */
74
+ Monitoring?: RunInstancesMonitoringEnabled;
75
+ /**
76
+ * <p>One or more network interfaces. If you specify a network interface, you must specify
77
+ * subnet IDs and security group IDs using the network interface.</p>
78
+ */
79
+ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
80
+ /**
81
+ * <p>The placement information for the instance.</p>
82
+ */
83
+ Placement?: SpotPlacement;
84
+ /**
85
+ * <p>The ID of the RAM disk.</p>
86
+ */
87
+ RamdiskId?: string;
88
+ /**
89
+ * <p>The ID of the subnet in which to launch the instance.</p>
90
+ */
91
+ SubnetId?: string;
92
+ /**
93
+ * <p>The Base64-encoded user data for the instance. User data is limited to 16 KB.</p>
94
+ */
95
+ UserData?: string;
96
+ }
97
+ export declare namespace RequestSpotLaunchSpecification {
98
+ /**
99
+ * @internal
100
+ */
101
+ const filterSensitiveLog: (obj: RequestSpotLaunchSpecification) => any;
102
+ }
103
+ /**
104
+ * <p>Contains the parameters for RequestSpotInstances.</p>
105
+ */
106
+ export interface RequestSpotInstancesRequest {
107
+ /**
108
+ * <p>The user-specified name for a logical grouping of requests.</p>
109
+ * <p>When you specify an Availability Zone group in a Spot Instance request, all Spot
110
+ * Instances in the request are launched in the same Availability Zone. Instance proximity
111
+ * is maintained with this parameter, but the choice of Availability Zone is not. The group
112
+ * applies only to requests for Spot Instances of the same instance type. Any additional
113
+ * Spot Instance requests that are specified with the same Availability Zone group name are
114
+ * launched in that same Availability Zone, as long as at least one instance from the group
115
+ * is still active.</p>
116
+ * <p>If there is no active instance running in the Availability Zone group that you specify
117
+ * for a new Spot Instance request (all instances are terminated, the request is expired,
118
+ * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches
119
+ * the instance in any Availability Zone where the constraint can be met. Consequently, the
120
+ * subsequent set of Spot Instances could be placed in a different zone from the original
121
+ * request, even if you specified the same Availability Zone group.</p>
122
+ * <p>Default: Instances are launched in any available Availability Zone.</p>
123
+ */
124
+ AvailabilityZoneGroup?: string;
125
+ /**
126
+ * <p>Deprecated.</p>
127
+ */
128
+ BlockDurationMinutes?: number;
129
+ /**
130
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
131
+ * request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html">How to Ensure
132
+ * Idempotency</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
133
+ */
134
+ ClientToken?: string;
135
+ /**
136
+ * <p>Checks whether you have the required permissions for the action, without actually
137
+ * making the request, and provides an error response. If you have the required
138
+ * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
139
+ * <code>UnauthorizedOperation</code>.</p>
140
+ */
141
+ DryRun?: boolean;
142
+ /**
143
+ * <p>The maximum number of Spot Instances to launch.</p>
144
+ * <p>Default: 1</p>
145
+ */
146
+ InstanceCount?: number;
147
+ /**
148
+ * <p>The instance launch group. Launch groups are Spot Instances that launch together and
149
+ * terminate together.</p>
150
+ * <p>Default: Instances are launched and terminated individually</p>
151
+ */
152
+ LaunchGroup?: string;
153
+ /**
154
+ * <p>The launch specification.</p>
155
+ */
156
+ LaunchSpecification?: RequestSpotLaunchSpecification;
157
+ /**
158
+ * <p>The maximum price per hour that you are willing to pay for a Spot Instance. The
159
+ * default is the On-Demand price.</p>
160
+ */
161
+ SpotPrice?: string;
162
+ /**
163
+ * <p>The Spot Instance request type.</p>
164
+ * <p>Default: <code>one-time</code>
165
+ * </p>
166
+ */
167
+ Type?: SpotInstanceType | string;
168
+ /**
169
+ * <p>The start date of the request. If this is a one-time request, the request becomes
170
+ * active at this date and time and remains active until all instances launch, the request
171
+ * expires, or the request is canceled. If the request is persistent, the request becomes
172
+ * active at this date and time and remains active until it expires or is canceled.</p>
173
+ * <p>The specified start date and time cannot be equal to the current date and time. You
174
+ * must specify a start date and time that occurs after the current date and time.</p>
175
+ */
176
+ ValidFrom?: Date;
177
+ /**
178
+ * <p>The end date of the request, in UTC format
179
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
180
+ * <ul>
181
+ * <li>
182
+ * <p>For a persistent request, the request remains active until the
183
+ * <code>ValidUntil</code> date and time is reached. Otherwise, the request
184
+ * remains active until you cancel it. </p>
185
+ * </li>
186
+ * <li>
187
+ * <p>For a one-time request, the request remains active until all instances launch,
188
+ * the request is canceled, or the <code>ValidUntil</code> date and time is
189
+ * reached. By default, the request is valid for 7 days from the date the request
190
+ * was created.</p>
191
+ * </li>
192
+ * </ul>
193
+ */
194
+ ValidUntil?: Date;
195
+ /**
196
+ * <p>The key-value pair for tagging the Spot Instance request on creation. The value for
197
+ * <code>ResourceType</code> must be <code>spot-instances-request</code>, otherwise the
198
+ * Spot Instance request fails. To tag the Spot Instance request after it has been created,
199
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>. </p>
200
+ */
201
+ TagSpecifications?: TagSpecification[];
202
+ /**
203
+ * <p>The behavior when a Spot Instance is interrupted. The default is <code>terminate</code>.</p>
204
+ */
205
+ InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string;
206
+ }
207
+ export declare namespace RequestSpotInstancesRequest {
208
+ /**
209
+ * @internal
210
+ */
211
+ const filterSensitiveLog: (obj: RequestSpotInstancesRequest) => any;
212
+ }
7
213
  /**
8
214
  * <p>Contains the output of RequestSpotInstances.</p>
9
215
  */
@@ -373,6 +373,7 @@ import { GetFlowLogsIntegrationTemplateCommandInput, GetFlowLogsIntegrationTempl
373
373
  import { GetGroupsForCapacityReservationCommandInput, GetGroupsForCapacityReservationCommandOutput } from "../commands/GetGroupsForCapacityReservationCommand";
374
374
  import { GetHostReservationPurchasePreviewCommandInput, GetHostReservationPurchasePreviewCommandOutput } from "../commands/GetHostReservationPurchasePreviewCommand";
375
375
  import { GetInstanceTypesFromInstanceRequirementsCommandInput, GetInstanceTypesFromInstanceRequirementsCommandOutput } from "../commands/GetInstanceTypesFromInstanceRequirementsCommand";
376
+ import { GetInstanceUefiDataCommandInput, GetInstanceUefiDataCommandOutput } from "../commands/GetInstanceUefiDataCommand";
376
377
  import { GetIpamAddressHistoryCommandInput, GetIpamAddressHistoryCommandOutput } from "../commands/GetIpamAddressHistoryCommand";
377
378
  import { GetIpamPoolAllocationsCommandInput, GetIpamPoolAllocationsCommandOutput } from "../commands/GetIpamPoolAllocationsCommand";
378
379
  import { GetIpamPoolCidrsCommandInput, GetIpamPoolCidrsCommandOutput } from "../commands/GetIpamPoolCidrsCommand";
@@ -895,6 +896,7 @@ export declare const serializeAws_ec2GetFlowLogsIntegrationTemplateCommand: (inp
895
896
  export declare const serializeAws_ec2GetGroupsForCapacityReservationCommand: (input: GetGroupsForCapacityReservationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
896
897
  export declare const serializeAws_ec2GetHostReservationPurchasePreviewCommand: (input: GetHostReservationPurchasePreviewCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
897
898
  export declare const serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand: (input: GetInstanceTypesFromInstanceRequirementsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
899
+ export declare const serializeAws_ec2GetInstanceUefiDataCommand: (input: GetInstanceUefiDataCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
898
900
  export declare const serializeAws_ec2GetIpamAddressHistoryCommand: (input: GetIpamAddressHistoryCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
899
901
  export declare const serializeAws_ec2GetIpamPoolAllocationsCommand: (input: GetIpamPoolAllocationsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
900
902
  export declare const serializeAws_ec2GetIpamPoolCidrsCommand: (input: GetIpamPoolCidrsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
@@ -1417,6 +1419,7 @@ export declare const deserializeAws_ec2GetFlowLogsIntegrationTemplateCommand: (o
1417
1419
  export declare const deserializeAws_ec2GetGroupsForCapacityReservationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetGroupsForCapacityReservationCommandOutput>;
1418
1420
  export declare const deserializeAws_ec2GetHostReservationPurchasePreviewCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetHostReservationPurchasePreviewCommandOutput>;
1419
1421
  export declare const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetInstanceTypesFromInstanceRequirementsCommandOutput>;
1422
+ export declare const deserializeAws_ec2GetInstanceUefiDataCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetInstanceUefiDataCommandOutput>;
1420
1423
  export declare const deserializeAws_ec2GetIpamAddressHistoryCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetIpamAddressHistoryCommandOutput>;
1421
1424
  export declare const deserializeAws_ec2GetIpamPoolAllocationsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetIpamPoolAllocationsCommandOutput>;
1422
1425
  export declare const deserializeAws_ec2GetIpamPoolCidrsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetIpamPoolCidrsCommandOutput>;
@@ -372,6 +372,7 @@ import { GetFlowLogsIntegrationTemplateCommandInput, GetFlowLogsIntegrationTempl
372
372
  import { GetGroupsForCapacityReservationCommandInput, GetGroupsForCapacityReservationCommandOutput } from "./commands/GetGroupsForCapacityReservationCommand";
373
373
  import { GetHostReservationPurchasePreviewCommandInput, GetHostReservationPurchasePreviewCommandOutput } from "./commands/GetHostReservationPurchasePreviewCommand";
374
374
  import { GetInstanceTypesFromInstanceRequirementsCommandInput, GetInstanceTypesFromInstanceRequirementsCommandOutput } from "./commands/GetInstanceTypesFromInstanceRequirementsCommand";
375
+ import { GetInstanceUefiDataCommandInput, GetInstanceUefiDataCommandOutput } from "./commands/GetInstanceUefiDataCommand";
375
376
  import { GetIpamAddressHistoryCommandInput, GetIpamAddressHistoryCommandOutput } from "./commands/GetIpamAddressHistoryCommand";
376
377
  import { GetIpamPoolAllocationsCommandInput, GetIpamPoolAllocationsCommandOutput } from "./commands/GetIpamPoolAllocationsCommand";
377
378
  import { GetIpamPoolCidrsCommandInput, GetIpamPoolCidrsCommandOutput } from "./commands/GetIpamPoolCidrsCommand";
@@ -2017,6 +2018,10 @@ export declare class EC2 extends EC2Client {
2017
2018
  getInstanceTypesFromInstanceRequirements(args: GetInstanceTypesFromInstanceRequirementsCommandInput, cb: (err: any, data?: GetInstanceTypesFromInstanceRequirementsCommandOutput) => void): void;
2018
2019
  getInstanceTypesFromInstanceRequirements(args: GetInstanceTypesFromInstanceRequirementsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetInstanceTypesFromInstanceRequirementsCommandOutput) => void): void;
2019
2020
 
2021
+ getInstanceUefiData(args: GetInstanceUefiDataCommandInput, options?: __HttpHandlerOptions): Promise<GetInstanceUefiDataCommandOutput>;
2022
+ getInstanceUefiData(args: GetInstanceUefiDataCommandInput, cb: (err: any, data?: GetInstanceUefiDataCommandOutput) => void): void;
2023
+ getInstanceUefiData(args: GetInstanceUefiDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetInstanceUefiDataCommandOutput) => void): void;
2024
+
2020
2025
  getIpamAddressHistory(args: GetIpamAddressHistoryCommandInput, options?: __HttpHandlerOptions): Promise<GetIpamAddressHistoryCommandOutput>;
2021
2026
  getIpamAddressHistory(args: GetIpamAddressHistoryCommandInput, cb: (err: any, data?: GetIpamAddressHistoryCommandOutput) => void): void;
2022
2027
  getIpamAddressHistory(args: GetIpamAddressHistoryCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetIpamAddressHistoryCommandOutput) => void): void;