@aws-sdk/client-ec2 3.85.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 (54) hide show
  1. package/CHANGELOG.md +30 -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/endpoints.js +15 -15
  9. package/dist-cjs/models/models_1.js +9 -0
  10. package/dist-cjs/models/models_3.js +9 -11
  11. package/dist-cjs/models/models_4.js +12 -12
  12. package/dist-cjs/models/models_5.js +24 -24
  13. package/dist-cjs/models/models_6.js +20 -2
  14. package/dist-cjs/protocols/Aws_ec2.js +105 -14
  15. package/dist-es/EC2.js +15 -0
  16. package/dist-es/commands/GetFlowLogsIntegrationTemplateCommand.js +1 -2
  17. package/dist-es/commands/GetInstanceUefiDataCommand.js +39 -0
  18. package/dist-es/commands/RequestSpotFleetCommand.js +2 -1
  19. package/dist-es/commands/RequestSpotInstancesCommand.js +1 -2
  20. package/dist-es/commands/index.js +1 -0
  21. package/dist-es/endpoints.js +15 -15
  22. package/dist-es/models/models_1.js +9 -0
  23. package/dist-es/models/models_3.js +4 -4
  24. package/dist-es/models/models_4.js +4 -4
  25. package/dist-es/models/models_5.js +12 -12
  26. package/dist-es/models/models_6.js +12 -0
  27. package/dist-es/protocols/Aws_ec2.js +100 -0
  28. package/dist-types/EC2.d.ts +16 -0
  29. package/dist-types/EC2Client.d.ts +3 -2
  30. package/dist-types/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -2
  31. package/dist-types/commands/GetInstanceUefiDataCommand.d.ts +44 -0
  32. package/dist-types/commands/RequestSpotFleetCommand.d.ts +2 -1
  33. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +1 -2
  34. package/dist-types/commands/index.d.ts +1 -0
  35. package/dist-types/models/models_1.d.ts +12 -3
  36. package/dist-types/models/models_3.d.ts +28 -25
  37. package/dist-types/models/models_4.d.ts +25 -27
  38. package/dist-types/models/models_5.d.ts +76 -209
  39. package/dist-types/models/models_6.d.ts +207 -1
  40. package/dist-types/protocols/Aws_ec2.d.ts +3 -0
  41. package/dist-types/ts3.4/EC2.d.ts +5 -0
  42. package/dist-types/ts3.4/EC2Client.d.ts +3 -2
  43. package/dist-types/ts3.4/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -2
  44. package/dist-types/ts3.4/commands/GetInstanceUefiDataCommand.d.ts +17 -0
  45. package/dist-types/ts3.4/commands/RequestSpotFleetCommand.d.ts +2 -1
  46. package/dist-types/ts3.4/commands/RequestSpotInstancesCommand.d.ts +1 -2
  47. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  48. package/dist-types/ts3.4/models/models_1.d.ts +12 -3
  49. package/dist-types/ts3.4/models/models_3.d.ts +12 -14
  50. package/dist-types/ts3.4/models/models_4.d.ts +14 -15
  51. package/dist-types/ts3.4/models/models_5.d.ts +41 -84
  52. package/dist-types/ts3.4/models/models_6.d.ts +82 -1
  53. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +3 -0
  54. package/package.json +3 -3
@@ -2418,9 +2418,12 @@ export declare enum IpamState {
2418
2418
  delete_complete = "delete-complete",
2419
2419
  delete_failed = "delete-failed",
2420
2420
  delete_in_progress = "delete-in-progress",
2421
+ isolate_complete = "isolate-complete",
2422
+ isolate_in_progress = "isolate-in-progress",
2421
2423
  modify_complete = "modify-complete",
2422
2424
  modify_failed = "modify-failed",
2423
- modify_in_progress = "modify-in-progress"
2425
+ modify_in_progress = "modify-in-progress",
2426
+ restore_in_progress = "restore-in-progress"
2424
2427
  }
2425
2428
  /**
2426
2429
  * <p>IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see <a href="/vpc/latest/ipam/what-is-it-ipam.html">What is IPAM?</a> in the <i>Amazon VPC IPAM User Guide</i>.</p>
@@ -2628,9 +2631,12 @@ export declare enum IpamPoolState {
2628
2631
  delete_complete = "delete-complete",
2629
2632
  delete_failed = "delete-failed",
2630
2633
  delete_in_progress = "delete-in-progress",
2634
+ isolate_complete = "isolate-complete",
2635
+ isolate_in_progress = "isolate-in-progress",
2631
2636
  modify_complete = "modify-complete",
2632
2637
  modify_failed = "modify-failed",
2633
- modify_in_progress = "modify-in-progress"
2638
+ modify_in_progress = "modify-in-progress",
2639
+ restore_in_progress = "restore-in-progress"
2634
2640
  }
2635
2641
  /**
2636
2642
  * <p>In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.</p>
@@ -2791,9 +2797,12 @@ export declare enum IpamScopeState {
2791
2797
  delete_complete = "delete-complete",
2792
2798
  delete_failed = "delete-failed",
2793
2799
  delete_in_progress = "delete-in-progress",
2800
+ isolate_complete = "isolate-complete",
2801
+ isolate_in_progress = "isolate-in-progress",
2794
2802
  modify_complete = "modify-complete",
2795
2803
  modify_failed = "modify-failed",
2796
- modify_in_progress = "modify-in-progress"
2804
+ modify_in_progress = "modify-in-progress",
2805
+ restore_in_progress = "restore-in-progress"
2797
2806
  }
2798
2807
  /**
2799
2808
  * <p>In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.</p>
@@ -3176,7 +3176,7 @@ export declare namespace DescribeIdFormatResult {
3176
3176
  */
3177
3177
  const filterSensitiveLog: (obj: DescribeIdFormatResult) => any;
3178
3178
  }
3179
- export declare type ImageAttributeName = "blockDeviceMapping" | "bootMode" | "description" | "kernel" | "lastLaunchedTime" | "launchPermission" | "productCodes" | "ramdisk" | "sriovNetSupport";
3179
+ export declare type ImageAttributeName = "blockDeviceMapping" | "bootMode" | "description" | "kernel" | "lastLaunchedTime" | "launchPermission" | "productCodes" | "ramdisk" | "sriovNetSupport" | "tpmSupport" | "uefiData";
3180
3180
  /**
3181
3181
  * <p>Contains the parameters for DescribeImageAttribute.</p>
3182
3182
  */
@@ -3274,6 +3274,18 @@ export interface ImageAttribute {
3274
3274
  * <p>The boot mode.</p>
3275
3275
  */
3276
3276
  BootMode?: AttributeValue;
3277
+ /**
3278
+ * <p>If the image is configured for NitroTPM support, the value is <code>v2.0</code>.</p>
3279
+ */
3280
+ TpmSupport?: AttributeValue;
3281
+ /**
3282
+ * <p>Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,
3283
+ * 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
3284
+ * <a href="https://github.com/awslabs/python-uefivars">python-uefivars tool</a> on
3285
+ * 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
3286
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3287
+ */
3288
+ UefiData?: AttributeValue;
3277
3289
  /**
3278
3290
  * <p>The date and time, in <a href="http://www.iso.org/iso/iso8601">ISO 8601 date-time
3279
3291
  * format</a>, when the AMI was last used to launch an EC2 instance. When the AMI is used,
@@ -3597,6 +3609,9 @@ export declare namespace StateReason {
3597
3609
  */
3598
3610
  const filterSensitiveLog: (obj: StateReason) => any;
3599
3611
  }
3612
+ export declare enum TpmSupportValues {
3613
+ v2_0 = "v2.0"
3614
+ }
3600
3615
  export declare type VirtualizationType = "hvm" | "paravirtual";
3601
3616
  /**
3602
3617
  * <p>Describes an image.</p>
@@ -3722,6 +3737,12 @@ export interface Image {
3722
3737
  * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3723
3738
  */
3724
3739
  BootMode?: BootModeValues | string;
3740
+ /**
3741
+ * <p>If the image is configured for NitroTPM support, the value is <code>v2.0</code>.
3742
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html">NitroTPM</a> in the
3743
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3744
+ */
3745
+ TpmSupport?: TpmSupportValues | string;
3725
3746
  /**
3726
3747
  * <p>The date and time to deprecate the AMI, in UTC, in the following format:
3727
3748
  * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z.
@@ -5802,6 +5823,12 @@ export interface Instance {
5802
5823
  * <p>The IPv6 address assigned to the instance.</p>
5803
5824
  */
5804
5825
  Ipv6Address?: string;
5826
+ /**
5827
+ * <p>If the instance is configured for NitroTPM support, the value is <code>v2.0</code>.
5828
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html">NitroTPM</a> in the
5829
+ * <i>Amazon EC2 User Guide</i>.</p>
5830
+ */
5831
+ TpmSupport?: string;
5805
5832
  /**
5806
5833
  * <p>Provides information on the recovery and maintenance options of your instance.</p>
5807
5834
  */
@@ -10068,27 +10095,3 @@ export declare namespace DescribeRegionsRequest {
10068
10095
  */
10069
10096
  const filterSensitiveLog: (obj: DescribeRegionsRequest) => any;
10070
10097
  }
10071
- /**
10072
- * <p>Describes a Region.</p>
10073
- */
10074
- export interface Region {
10075
- /**
10076
- * <p>The Region service endpoint.</p>
10077
- */
10078
- Endpoint?: string;
10079
- /**
10080
- * <p>The name of the Region.</p>
10081
- */
10082
- RegionName?: string;
10083
- /**
10084
- * <p>The Region opt-in status. The possible values are <code>opt-in-not-required</code>, <code>opted-in</code>, and
10085
- * <code>not-opted-in</code>.</p>
10086
- */
10087
- OptInStatus?: string;
10088
- }
10089
- export declare namespace Region {
10090
- /**
10091
- * @internal
10092
- */
10093
- const filterSensitiveLog: (obj: Region) => any;
10094
- }
@@ -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
- }