@aws-sdk/client-ec2 3.86.0 → 3.89.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 (82) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist-cjs/EC2.js +15 -0
  3. package/dist-cjs/commands/DescribeClientVpnRoutesCommand.js +2 -1
  4. package/dist-cjs/commands/DescribeClientVpnTargetNetworksCommand.js +3 -3
  5. package/dist-cjs/commands/DescribePublicIpv4PoolsCommand.js +3 -3
  6. package/dist-cjs/commands/DescribeRegionsCommand.js +1 -2
  7. package/dist-cjs/commands/GetEbsEncryptionByDefaultCommand.js +3 -3
  8. package/dist-cjs/commands/GetFlowLogsIntegrationTemplateCommand.js +1 -2
  9. package/dist-cjs/commands/GetInstanceUefiDataCommand.js +36 -0
  10. package/dist-cjs/commands/ReplaceTransitGatewayRouteCommand.js +2 -1
  11. package/dist-cjs/commands/ReportInstanceStatusCommand.js +2 -2
  12. package/dist-cjs/commands/RequestSpotFleetCommand.js +3 -3
  13. package/dist-cjs/commands/RequestSpotInstancesCommand.js +1 -2
  14. package/dist-cjs/commands/index.js +1 -0
  15. package/dist-cjs/models/models_2.js +36 -36
  16. package/dist-cjs/models/models_3.js +40 -42
  17. package/dist-cjs/models/models_4.js +42 -43
  18. package/dist-cjs/models/models_5.js +55 -42
  19. package/dist-cjs/models/models_6.js +38 -2
  20. package/dist-cjs/protocols/Aws_ec2.js +205 -21
  21. package/dist-es/EC2.js +15 -0
  22. package/dist-es/commands/DescribeClientVpnRoutesCommand.js +2 -1
  23. package/dist-es/commands/DescribeClientVpnTargetNetworksCommand.js +1 -1
  24. package/dist-es/commands/DescribePublicIpv4PoolsCommand.js +1 -1
  25. package/dist-es/commands/DescribeRegionsCommand.js +1 -2
  26. package/dist-es/commands/GetEbsEncryptionByDefaultCommand.js +1 -1
  27. package/dist-es/commands/GetFlowLogsIntegrationTemplateCommand.js +1 -2
  28. package/dist-es/commands/GetInstanceUefiDataCommand.js +39 -0
  29. package/dist-es/commands/ReplaceTransitGatewayRouteCommand.js +2 -1
  30. package/dist-es/commands/ReportInstanceStatusCommand.js +1 -1
  31. package/dist-es/commands/RequestSpotFleetCommand.js +1 -1
  32. package/dist-es/commands/RequestSpotInstancesCommand.js +1 -2
  33. package/dist-es/commands/index.js +1 -0
  34. package/dist-es/models/models_2.js +26 -20
  35. package/dist-es/models/models_3.js +24 -24
  36. package/dist-es/models/models_4.js +24 -27
  37. package/dist-es/models/models_5.js +35 -24
  38. package/dist-es/models/models_6.js +24 -0
  39. package/dist-es/protocols/Aws_ec2.js +206 -8
  40. package/dist-types/EC2.d.ts +16 -0
  41. package/dist-types/EC2Client.d.ts +3 -2
  42. package/dist-types/commands/DescribeClientVpnRoutesCommand.d.ts +2 -1
  43. package/dist-types/commands/DescribeClientVpnTargetNetworksCommand.d.ts +1 -1
  44. package/dist-types/commands/DescribePublicIpv4PoolsCommand.d.ts +1 -1
  45. package/dist-types/commands/DescribeRegionsCommand.d.ts +1 -2
  46. package/dist-types/commands/GetEbsEncryptionByDefaultCommand.d.ts +1 -1
  47. package/dist-types/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -2
  48. package/dist-types/commands/GetInstanceUefiDataCommand.d.ts +44 -0
  49. package/dist-types/commands/ReplaceTransitGatewayRouteCommand.d.ts +2 -1
  50. package/dist-types/commands/ReportInstanceStatusCommand.d.ts +1 -1
  51. package/dist-types/commands/RequestSpotFleetCommand.d.ts +1 -1
  52. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +1 -2
  53. package/dist-types/commands/index.d.ts +1 -0
  54. package/dist-types/models/models_1.d.ts +4 -4
  55. package/dist-types/models/models_2.d.ts +78 -164
  56. package/dist-types/models/models_3.d.ts +184 -187
  57. package/dist-types/models/models_4.d.ts +211 -102
  58. package/dist-types/models/models_5.d.ts +167 -328
  59. package/dist-types/models/models_6.d.ts +325 -1
  60. package/dist-types/protocols/Aws_ec2.d.ts +3 -0
  61. package/dist-types/ts3.4/EC2.d.ts +5 -0
  62. package/dist-types/ts3.4/EC2Client.d.ts +3 -2
  63. package/dist-types/ts3.4/commands/DescribeClientVpnRoutesCommand.d.ts +2 -1
  64. package/dist-types/ts3.4/commands/DescribeClientVpnTargetNetworksCommand.d.ts +1 -1
  65. package/dist-types/ts3.4/commands/DescribePublicIpv4PoolsCommand.d.ts +1 -1
  66. package/dist-types/ts3.4/commands/DescribeRegionsCommand.d.ts +1 -2
  67. package/dist-types/ts3.4/commands/GetEbsEncryptionByDefaultCommand.d.ts +1 -1
  68. package/dist-types/ts3.4/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -2
  69. package/dist-types/ts3.4/commands/GetInstanceUefiDataCommand.d.ts +17 -0
  70. package/dist-types/ts3.4/commands/ReplaceTransitGatewayRouteCommand.d.ts +2 -1
  71. package/dist-types/ts3.4/commands/ReportInstanceStatusCommand.d.ts +1 -1
  72. package/dist-types/ts3.4/commands/RequestSpotFleetCommand.d.ts +1 -1
  73. package/dist-types/ts3.4/commands/RequestSpotInstancesCommand.d.ts +1 -2
  74. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  75. package/dist-types/ts3.4/models/models_1.d.ts +2 -2
  76. package/dist-types/ts3.4/models/models_2.d.ts +46 -79
  77. package/dist-types/ts3.4/models/models_3.d.ts +91 -89
  78. package/dist-types/ts3.4/models/models_4.d.ts +93 -62
  79. package/dist-types/ts3.4/models/models_5.d.ts +96 -126
  80. package/dist-types/ts3.4/models/models_6.d.ts +123 -1
  81. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +3 -0
  82. package/package.json +3 -3
@@ -1,8 +1,108 @@
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";
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";
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
+ import { DnsOptionsSpecification, Filter, IKEVersionsRequestListValue, InstanceTagNotificationAttribute, IpAddressType, IpamPoolCidr, PayerResponsibility, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsRequestListValue, Phase1IntegrityAlgorithmsRequestListValue, Phase2DHGroupNumbersRequestListValue, Phase2EncryptionAlgorithmsRequestListValue, Phase2IntegrityAlgorithmsRequestListValue, TransitGatewayPrefixListReference, 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, SnapshotDetail, SnapshotTaskDetail, TpmSupportValues, VirtualizationType } from "./models_3";
5
+ import { CreateVolumePermission, ExcessCapacityTerminationPolicy, InstanceFamilyCreditSpecification, LaunchTemplateConfig, PublicIpv4PoolRange, ReservedInstancesConfiguration, ScheduledInstance, SnapshotAttributeName, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, VolumeModification } from "./models_4";
6
+ export interface GetEbsEncryptionByDefaultRequest {
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
+ export declare namespace GetEbsEncryptionByDefaultRequest {
15
+ /**
16
+ * @internal
17
+ */
18
+ const filterSensitiveLog: (obj: GetEbsEncryptionByDefaultRequest) => any;
19
+ }
20
+ export interface GetEbsEncryptionByDefaultResult {
21
+ /**
22
+ * <p>Indicates whether encryption by default is enabled.</p>
23
+ */
24
+ EbsEncryptionByDefault?: boolean;
25
+ }
26
+ export declare namespace GetEbsEncryptionByDefaultResult {
27
+ /**
28
+ * @internal
29
+ */
30
+ const filterSensitiveLog: (obj: GetEbsEncryptionByDefaultResult) => any;
31
+ }
32
+ export declare enum PartitionLoadFrequency {
33
+ DAILY = "daily",
34
+ MONTHLY = "monthly",
35
+ NONE = "none",
36
+ WEEKLY = "weekly"
37
+ }
38
+ /**
39
+ * <p>Describes integration options for Amazon Athena.</p>
40
+ */
41
+ export interface AthenaIntegration {
42
+ /**
43
+ * <p>The location in Amazon S3 to store the generated CloudFormation template.</p>
44
+ */
45
+ IntegrationResultS3DestinationArn: string | undefined;
46
+ /**
47
+ * <p>The schedule for adding new partitions to the table.</p>
48
+ */
49
+ PartitionLoadFrequency: PartitionLoadFrequency | string | undefined;
50
+ /**
51
+ * <p>The start date for the partition.</p>
52
+ */
53
+ PartitionStartDate?: Date;
54
+ /**
55
+ * <p>The end date for the partition.</p>
56
+ */
57
+ PartitionEndDate?: Date;
58
+ }
59
+ export declare namespace AthenaIntegration {
60
+ /**
61
+ * @internal
62
+ */
63
+ const filterSensitiveLog: (obj: AthenaIntegration) => any;
64
+ }
65
+ /**
66
+ * <p>Describes service integrations with VPC Flow logs.</p>
67
+ */
68
+ export interface IntegrateServices {
69
+ /**
70
+ * <p>Information about the integration with Amazon Athena.</p>
71
+ */
72
+ AthenaIntegrations?: AthenaIntegration[];
73
+ }
74
+ export declare namespace IntegrateServices {
75
+ /**
76
+ * @internal
77
+ */
78
+ const filterSensitiveLog: (obj: IntegrateServices) => any;
79
+ }
80
+ export interface GetFlowLogsIntegrationTemplateRequest {
81
+ /**
82
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
83
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
84
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
85
+ */
86
+ DryRun?: boolean;
87
+ /**
88
+ * <p>The ID of the flow log.</p>
89
+ */
90
+ FlowLogId: string | undefined;
91
+ /**
92
+ * <p>To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.</p>
93
+ */
94
+ ConfigDeliveryS3DestinationArn: string | undefined;
95
+ /**
96
+ * <p>Information about the service integration.</p>
97
+ */
98
+ IntegrateServices: IntegrateServices | undefined;
99
+ }
100
+ export declare namespace GetFlowLogsIntegrationTemplateRequest {
101
+ /**
102
+ * @internal
103
+ */
104
+ const filterSensitiveLog: (obj: GetFlowLogsIntegrationTemplateRequest) => any;
105
+ }
6
106
  export interface GetFlowLogsIntegrationTemplateResult {
7
107
  /**
8
108
  * <p>The generated CloudFormation template.</p>
@@ -230,6 +330,40 @@ export declare namespace GetInstanceTypesFromInstanceRequirementsResult {
230
330
  */
231
331
  const filterSensitiveLog: (obj: GetInstanceTypesFromInstanceRequirementsResult) => any;
232
332
  }
333
+ export interface GetInstanceUefiDataRequest {
334
+ /**
335
+ * <p>The ID of the instance from which to retrieve the UEFI data.</p>
336
+ */
337
+ InstanceId: string | undefined;
338
+ /**
339
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
340
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
341
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
342
+ */
343
+ DryRun?: boolean;
344
+ }
345
+ export declare namespace GetInstanceUefiDataRequest {
346
+ /**
347
+ * @internal
348
+ */
349
+ const filterSensitiveLog: (obj: GetInstanceUefiDataRequest) => any;
350
+ }
351
+ export interface GetInstanceUefiDataResult {
352
+ /**
353
+ * <p>The ID of the instance from which to retrieve the UEFI data.</p>
354
+ */
355
+ InstanceId?: string;
356
+ /**
357
+ * <p>Base64 representation of the non-volatile UEFI variable store.</p>
358
+ */
359
+ UefiData?: string;
360
+ }
361
+ export declare namespace GetInstanceUefiDataResult {
362
+ /**
363
+ * @internal
364
+ */
365
+ const filterSensitiveLog: (obj: GetInstanceUefiDataResult) => any;
366
+ }
233
367
  export interface GetIpamAddressHistoryRequest {
234
368
  /**
235
369
  * <p>A check for whether you have the required permissions for the action without actually making the request
@@ -5524,6 +5658,14 @@ export interface ModifyVpcEndpointRequest {
5524
5658
  * <p>(Interface endpoint) One or more security group IDs to disassociate from the network interface.</p>
5525
5659
  */
5526
5660
  RemoveSecurityGroupIds?: string[];
5661
+ /**
5662
+ * <p>The IP address type for the endpoint.</p>
5663
+ */
5664
+ IpAddressType?: IpAddressType | string;
5665
+ /**
5666
+ * <p>The DNS options for the endpoint.</p>
5667
+ */
5668
+ DnsOptions?: DnsOptionsSpecification;
5527
5669
  /**
5528
5670
  * <p>(Interface endpoint) Indicates whether a private hosted zone is associated with the
5529
5671
  * VPC.</p>
@@ -5630,6 +5772,14 @@ export interface ModifyVpcEndpointServiceConfigurationRequest {
5630
5772
  * configuration.</p>
5631
5773
  */
5632
5774
  RemoveGatewayLoadBalancerArns?: string[];
5775
+ /**
5776
+ * <p>The IP address types to add to your service configuration.</p>
5777
+ */
5778
+ AddSupportedIpAddressTypes?: string[];
5779
+ /**
5780
+ * <p>The IP address types to remove from your service configuration.</p>
5781
+ */
5782
+ RemoveSupportedIpAddressTypes?: string[];
5633
5783
  }
5634
5784
  export declare namespace ModifyVpcEndpointServiceConfigurationRequest {
5635
5785
  /**
@@ -6816,6 +6966,19 @@ export interface RegisterImageRequest {
6816
6966
  * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
6817
6967
  */
6818
6968
  BootMode?: BootModeValues | string;
6969
+ /**
6970
+ * <p>Set to <code>v2.0</code> to enable Trusted Platform Module (TPM) support. For more
6971
+ * 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>
6972
+ */
6973
+ TpmSupport?: TpmSupportValues | string;
6974
+ /**
6975
+ * <p>Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,
6976
+ * 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
6977
+ * <a href="https://github.com/awslabs/python-uefivars">python-uefivars tool</a> on
6978
+ * 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
6979
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
6980
+ */
6981
+ UefiData?: string;
6819
6982
  }
6820
6983
  export declare namespace RegisterImageRequest {
6821
6984
  /**
@@ -7541,327 +7704,3 @@ export declare namespace ReplaceTransitGatewayRouteRequest {
7541
7704
  */
7542
7705
  const filterSensitiveLog: (obj: ReplaceTransitGatewayRouteRequest) => any;
7543
7706
  }
7544
- export interface ReplaceTransitGatewayRouteResult {
7545
- /**
7546
- * <p>Information about the modified route.</p>
7547
- */
7548
- Route?: TransitGatewayRoute;
7549
- }
7550
- export declare namespace ReplaceTransitGatewayRouteResult {
7551
- /**
7552
- * @internal
7553
- */
7554
- const filterSensitiveLog: (obj: ReplaceTransitGatewayRouteResult) => any;
7555
- }
7556
- export declare type ReportInstanceReasonCodes = "instance-stuck-in-state" | "not-accepting-credentials" | "other" | "password-not-available" | "performance-ebs-volume" | "performance-instance-store" | "performance-network" | "performance-other" | "unresponsive";
7557
- export declare type ReportStatusType = "impaired" | "ok";
7558
- export interface ReportInstanceStatusRequest {
7559
- /**
7560
- * <p>Descriptive text about the health state of your instance.</p>
7561
- */
7562
- Description?: string;
7563
- /**
7564
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
7565
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
7566
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
7567
- */
7568
- DryRun?: boolean;
7569
- /**
7570
- * <p>The time at which the reported instance health state ended.</p>
7571
- */
7572
- EndTime?: Date;
7573
- /**
7574
- * <p>The instances.</p>
7575
- */
7576
- Instances: string[] | undefined;
7577
- /**
7578
- * <p>The reason codes that describe the health state of your instance.</p>
7579
- * <ul>
7580
- * <li>
7581
- * <p>
7582
- * <code>instance-stuck-in-state</code>: My instance is stuck in a state.</p>
7583
- * </li>
7584
- * <li>
7585
- * <p>
7586
- * <code>unresponsive</code>: My instance is unresponsive.</p>
7587
- * </li>
7588
- * <li>
7589
- * <p>
7590
- * <code>not-accepting-credentials</code>: My instance is not accepting my
7591
- * credentials.</p>
7592
- * </li>
7593
- * <li>
7594
- * <p>
7595
- * <code>password-not-available</code>: A password is not available for my
7596
- * instance.</p>
7597
- * </li>
7598
- * <li>
7599
- * <p>
7600
- * <code>performance-network</code>: My instance is experiencing performance
7601
- * problems that I believe are network related.</p>
7602
- * </li>
7603
- * <li>
7604
- * <p>
7605
- * <code>performance-instance-store</code>: My instance is experiencing performance
7606
- * problems that I believe are related to the instance stores.</p>
7607
- * </li>
7608
- * <li>
7609
- * <p>
7610
- * <code>performance-ebs-volume</code>: My instance is experiencing performance
7611
- * problems that I believe are related to an EBS volume.</p>
7612
- * </li>
7613
- * <li>
7614
- * <p>
7615
- * <code>performance-other</code>: My instance is experiencing performance
7616
- * problems.</p>
7617
- * </li>
7618
- * <li>
7619
- * <p>
7620
- * <code>other</code>: [explain using the description parameter]</p>
7621
- * </li>
7622
- * </ul>
7623
- */
7624
- ReasonCodes: (ReportInstanceReasonCodes | string)[] | undefined;
7625
- /**
7626
- * <p>The time at which the reported instance health state began.</p>
7627
- */
7628
- StartTime?: Date;
7629
- /**
7630
- * <p>The status of all instances listed.</p>
7631
- */
7632
- Status: ReportStatusType | string | undefined;
7633
- }
7634
- export declare namespace ReportInstanceStatusRequest {
7635
- /**
7636
- * @internal
7637
- */
7638
- const filterSensitiveLog: (obj: ReportInstanceStatusRequest) => any;
7639
- }
7640
- /**
7641
- * <p>Contains the parameters for RequestSpotFleet.</p>
7642
- */
7643
- export interface RequestSpotFleetRequest {
7644
- /**
7645
- * <p>Checks whether you have the required permissions for the action, without actually
7646
- * making the request, and provides an error response. If you have the required
7647
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
7648
- * <code>UnauthorizedOperation</code>.</p>
7649
- */
7650
- DryRun?: boolean;
7651
- /**
7652
- * <p>The configuration for the Spot Fleet request.</p>
7653
- */
7654
- SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined;
7655
- }
7656
- export declare namespace RequestSpotFleetRequest {
7657
- /**
7658
- * @internal
7659
- */
7660
- const filterSensitiveLog: (obj: RequestSpotFleetRequest) => any;
7661
- }
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
- }