@aws-sdk/client-ec2 3.668.0 → 3.669.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 (102) hide show
  1. package/README.md +40 -0
  2. package/dist-cjs/index.js +1375 -975
  3. package/dist-es/EC2.js +10 -0
  4. package/dist-es/commands/AcceptCapacityReservationBillingOwnershipCommand.js +22 -0
  5. package/dist-es/commands/AssociateCapacityReservationBillingOwnerCommand.js +22 -0
  6. package/dist-es/commands/DescribeCapacityReservationBillingRequestsCommand.js +22 -0
  7. package/dist-es/commands/DisassociateCapacityReservationBillingOwnerCommand.js +22 -0
  8. package/dist-es/commands/ModifyVpnConnectionCommand.js +1 -1
  9. package/dist-es/commands/RejectCapacityReservationBillingOwnershipCommand.js +22 -0
  10. package/dist-es/commands/index.js +5 -0
  11. package/dist-es/models/models_0.js +0 -833
  12. package/dist-es/models/models_1.js +833 -0
  13. package/dist-es/models/models_2.js +0 -8
  14. package/dist-es/models/models_3.js +20 -28
  15. package/dist-es/models/models_4.js +28 -4
  16. package/dist-es/models/models_5.js +4 -1
  17. package/dist-es/models/models_6.js +0 -3
  18. package/dist-es/models/models_7.js +3 -0
  19. package/dist-es/pagination/DescribeCapacityReservationBillingRequestsPaginator.js +4 -0
  20. package/dist-es/pagination/index.js +2 -1
  21. package/dist-es/protocols/Aws_ec2.js +324 -28
  22. package/dist-types/EC2.d.ts +35 -0
  23. package/dist-types/EC2Client.d.ts +7 -2
  24. package/dist-types/commands/AcceptCapacityReservationBillingOwnershipCommand.d.ts +74 -0
  25. package/dist-types/commands/AssignPrivateNatGatewayAddressCommand.d.ts +1 -1
  26. package/dist-types/commands/AssociateCapacityReservationBillingOwnerCommand.d.ts +76 -0
  27. package/dist-types/commands/AssociateNatGatewayAddressCommand.d.ts +2 -6
  28. package/dist-types/commands/CreateCapacityReservationBySplittingCommand.d.ts +4 -1
  29. package/dist-types/commands/CreateCapacityReservationCommand.d.ts +1 -0
  30. package/dist-types/commands/CreateDefaultSubnetCommand.d.ts +1 -1
  31. package/dist-types/commands/CreateFlowLogsCommand.d.ts +1 -1
  32. package/dist-types/commands/CreateNatGatewayCommand.d.ts +1 -7
  33. package/dist-types/commands/CreateNetworkInsightsPathCommand.d.ts +2 -1
  34. package/dist-types/commands/CreateSubnetCidrReservationCommand.d.ts +2 -2
  35. package/dist-types/commands/CreateVpcCommand.d.ts +1 -1
  36. package/dist-types/commands/DeleteVpcCommand.d.ts +1 -7
  37. package/dist-types/commands/DescribeCapacityReservationBillingRequestsCommand.d.ts +102 -0
  38. package/dist-types/commands/DescribeCapacityReservationsCommand.d.ts +1 -0
  39. package/dist-types/commands/DescribeElasticGpusCommand.d.ts +1 -2
  40. package/dist-types/commands/DescribeImageAttributeCommand.d.ts +1 -1
  41. package/dist-types/commands/DescribeImagesCommand.d.ts +1 -2
  42. package/dist-types/commands/DisassociateCapacityReservationBillingOwnerCommand.d.ts +76 -0
  43. package/dist-types/commands/DisassociateNatGatewayAddressCommand.d.ts +1 -1
  44. package/dist-types/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -1
  45. package/dist-types/commands/GetGroupsForCapacityReservationCommand.d.ts +1 -1
  46. package/dist-types/commands/GetHostReservationPurchasePreviewCommand.d.ts +1 -1
  47. package/dist-types/commands/GetImageBlockPublicAccessStateCommand.d.ts +1 -1
  48. package/dist-types/commands/ModifyInstanceCpuOptionsCommand.d.ts +1 -1
  49. package/dist-types/commands/ModifyVpcEndpointServicePayerResponsibilityCommand.d.ts +1 -1
  50. package/dist-types/commands/ModifyVpcEndpointServicePermissionsCommand.d.ts +1 -1
  51. package/dist-types/commands/ModifyVpcPeeringConnectionOptionsCommand.d.ts +1 -1
  52. package/dist-types/commands/ModifyVpcTenancyCommand.d.ts +1 -1
  53. package/dist-types/commands/ModifyVpnConnectionCommand.d.ts +1 -2
  54. package/dist-types/commands/MoveCapacityReservationInstancesCommand.d.ts +2 -0
  55. package/dist-types/commands/PurchaseCapacityBlockCommand.d.ts +1 -0
  56. package/dist-types/commands/RejectCapacityReservationBillingOwnershipCommand.d.ts +74 -0
  57. package/dist-types/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +1 -3
  58. package/dist-types/commands/index.d.ts +5 -0
  59. package/dist-types/models/models_0.d.ts +61 -930
  60. package/dist-types/models/models_1.d.ts +955 -184
  61. package/dist-types/models/models_2.d.ts +131 -82
  62. package/dist-types/models/models_3.d.ts +259 -468
  63. package/dist-types/models/models_4.d.ts +1303 -1319
  64. package/dist-types/models/models_5.d.ts +516 -262
  65. package/dist-types/models/models_6.d.ts +269 -253
  66. package/dist-types/models/models_7.d.ts +280 -10
  67. package/dist-types/pagination/DescribeCapacityReservationBillingRequestsPaginator.d.ts +7 -0
  68. package/dist-types/pagination/index.d.ts +2 -1
  69. package/dist-types/protocols/Aws_ec2.d.ts +45 -0
  70. package/dist-types/ts3.4/EC2.d.ts +115 -0
  71. package/dist-types/ts3.4/EC2Client.d.ts +30 -0
  72. package/dist-types/ts3.4/commands/AcceptCapacityReservationBillingOwnershipCommand.d.ts +51 -0
  73. package/dist-types/ts3.4/commands/AssociateCapacityReservationBillingOwnerCommand.d.ts +51 -0
  74. package/dist-types/ts3.4/commands/CreateCapacityReservationBySplittingCommand.d.ts +2 -4
  75. package/dist-types/ts3.4/commands/CreateNetworkInsightsPathCommand.d.ts +2 -4
  76. package/dist-types/ts3.4/commands/DescribeCapacityReservationBillingRequestsCommand.d.ts +51 -0
  77. package/dist-types/ts3.4/commands/DescribeImageAttributeCommand.d.ts +1 -1
  78. package/dist-types/ts3.4/commands/DescribeImagesCommand.d.ts +4 -2
  79. package/dist-types/ts3.4/commands/DisassociateCapacityReservationBillingOwnerCommand.d.ts +51 -0
  80. package/dist-types/ts3.4/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +1 -1
  81. package/dist-types/ts3.4/commands/GetGroupsForCapacityReservationCommand.d.ts +1 -1
  82. package/dist-types/ts3.4/commands/GetHostReservationPurchasePreviewCommand.d.ts +1 -1
  83. package/dist-types/ts3.4/commands/GetImageBlockPublicAccessStateCommand.d.ts +1 -1
  84. package/dist-types/ts3.4/commands/ModifyVpcEndpointServicePayerResponsibilityCommand.d.ts +1 -1
  85. package/dist-types/ts3.4/commands/ModifyVpcEndpointServicePermissionsCommand.d.ts +1 -1
  86. package/dist-types/ts3.4/commands/ModifyVpcPeeringConnectionOptionsCommand.d.ts +1 -1
  87. package/dist-types/ts3.4/commands/ModifyVpcTenancyCommand.d.ts +1 -1
  88. package/dist-types/ts3.4/commands/ModifyVpnConnectionCommand.d.ts +4 -2
  89. package/dist-types/ts3.4/commands/RejectCapacityReservationBillingOwnershipCommand.d.ts +51 -0
  90. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  91. package/dist-types/ts3.4/models/models_0.d.ts +16 -850
  92. package/dist-types/ts3.4/models/models_1.d.ts +851 -32
  93. package/dist-types/ts3.4/models/models_2.d.ts +30 -25
  94. package/dist-types/ts3.4/models/models_3.d.ts +68 -83
  95. package/dist-types/ts3.4/models/models_4.d.ts +80 -99
  96. package/dist-types/ts3.4/models/models_5.d.ts +101 -67
  97. package/dist-types/ts3.4/models/models_6.d.ts +66 -64
  98. package/dist-types/ts3.4/models/models_7.d.ts +73 -8
  99. package/dist-types/ts3.4/pagination/DescribeCapacityReservationBillingRequestsPaginator.d.ts +11 -0
  100. package/dist-types/ts3.4/pagination/index.d.ts +2 -1
  101. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +60 -0
  102. package/package.json +6 -6
@@ -1,8 +1,488 @@
1
- import { _InstanceType, ActivityStatus, AddressTransfer, AllocationStrategy, AllowedPrincipal, AsnAssociation, AssociationStatus, BatchState, CapacityReservationState, CurrencyCodeValues, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, NatGatewayAddress, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, TrunkInterfaceAssociation, UserIdGroupPair, VerifiedAccessInstance, VerifiedAccessTrustProvider, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, VpcPeeringConnection } from "./models_0";
2
- import { BlockDeviceMapping, DiskImageFormat, FleetType, InstanceInterruptionBehavior, SpotInstanceType, Subnet, TargetCapacityUnitType, VolumeType, Vpc } from "./models_1";
1
+ import { ActivityStatus, AddressTransfer, AllocationStrategy, AllowedPrincipal, AsnAssociation, AssociationStatus, BatchState, CapacityReservationState, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, NatGatewayAddress, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, TrunkInterfaceAssociation, UserIdGroupPair, VerifiedAccessInstance, VerifiedAccessTrustProvider, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, VpcPeeringConnection } from "./models_0";
2
+ import { _InstanceType, BlockDeviceMapping, ConnectionTrackingSpecificationRequest, DiskImageFormat, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, FleetType, InstanceInterruptionBehavior, InstanceIpv6Address, InstanceRequirements, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, PrivateIpAddressSpecification, SpotInstanceType, Subnet, TargetCapacityUnitType, Tenancy, VolumeType, Vpc } from "./models_1";
3
3
  import { ConnectionNotification, DnsEntry, DnsNameState, GroupIdentifier, IpAddressType, PayerResponsibility, ServiceConfiguration, ServiceConnectivityType, ServiceTypeDetail, SpotInstanceStateFault, SSEType, State, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorSession, TrafficMirrorTarget, TransitGateway, TransitGatewayConnect, TransitGatewayConnectPeer, TransitGatewayMulticastDomain, TransitGatewayPolicyTable, TransitGatewayRouteTable, TransitGatewayRouteTableAnnouncement, VerifiedAccessEndpoint, VerifiedAccessGroup, Volume, VpcEndpoint, VpnConnection, VpnGateway } from "./models_2";
4
- import { ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, FastLaunchSnapshotConfigurationResponse, FastLaunchStateCode, FastSnapshotRestoreStateCode, Filter, MetricType, PaymentOption, PeriodType, ProductCode, StatisticType } from "./models_3";
5
- import { AttributeBooleanValue, ClassicLoadBalancersConfig, ExcessCapacityTerminationPolicy, InstanceNetworkInterfaceSpecification, LaunchTemplateConfig, RIProductDescription, SpotFleetLaunchSpecification, SpotPlacement, TargetGroupsConfig } from "./models_4";
4
+ import { ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, FastLaunchSnapshotConfigurationResponse, FastLaunchStateCode, FastSnapshotRestoreStateCode, Filter, MetricType, PeriodType, ProductCode, StatisticType } from "./models_3";
5
+ import { AttributeBooleanValue, ExcessCapacityTerminationPolicy, RIProductDescription, SpotFleetMonitoring } from "./models_4";
6
+ /**
7
+ * <p>Describes a network interface.</p>
8
+ * @public
9
+ */
10
+ export interface InstanceNetworkInterfaceSpecification {
11
+ /**
12
+ * <p>Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The
13
+ * public IP address can only be assigned to a network interface for eth0, and can only be
14
+ * assigned to a new network interface, not an existing one. You cannot specify more than one
15
+ * network interface in the request. If launching into a default subnet, the default value is
16
+ * <code>true</code>.</p>
17
+ * <p>Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses
18
+ * associated with running instances and Elastic IP addresses. For more information, see the <i>Public IPv4 Address</i> tab on the <a href="http://aws.amazon.com/vpc/pricing/">Amazon VPC pricing page</a>.</p>
19
+ * @public
20
+ */
21
+ AssociatePublicIpAddress?: boolean;
22
+ /**
23
+ * <p>If set to <code>true</code>, the interface is deleted when the instance is terminated. You can
24
+ * specify <code>true</code> only if creating a new network interface when launching an
25
+ * instance.</p>
26
+ * @public
27
+ */
28
+ DeleteOnTermination?: boolean;
29
+ /**
30
+ * <p>The description of the network interface. Applies only if creating a network interface when launching an instance.</p>
31
+ * @public
32
+ */
33
+ Description?: string;
34
+ /**
35
+ * <p>The position of the network interface in the attachment order.
36
+ * A primary network interface has a device index of 0.</p>
37
+ * <p>If you specify a network interface when launching an instance,
38
+ * you must specify the device index.</p>
39
+ * @public
40
+ */
41
+ DeviceIndex?: number;
42
+ /**
43
+ * <p>The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.</p>
44
+ * @public
45
+ */
46
+ Groups?: string[];
47
+ /**
48
+ * <p>A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses
49
+ * the IPv6 addresses from the range of the subnet. You cannot specify this option and the
50
+ * option to assign specific IPv6 addresses in the same request. You can specify this
51
+ * option if you've specified a minimum number of instances to launch.</p>
52
+ * @public
53
+ */
54
+ Ipv6AddressCount?: number;
55
+ /**
56
+ * <p>The IPv6 addresses to assign to the network interface. You cannot specify
57
+ * this option and the option to assign a number of IPv6 addresses in the same request. You
58
+ * cannot specify this option if you've specified a minimum number of instances to
59
+ * launch.</p>
60
+ * @public
61
+ */
62
+ Ipv6Addresses?: InstanceIpv6Address[];
63
+ /**
64
+ * <p>The ID of the network interface.</p>
65
+ * <p>If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.</p>
66
+ * @public
67
+ */
68
+ NetworkInterfaceId?: string;
69
+ /**
70
+ * <p>The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching
71
+ * more than one instance in a <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a> request.</p>
72
+ * @public
73
+ */
74
+ PrivateIpAddress?: string;
75
+ /**
76
+ * <p>The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're
77
+ * launching more than one instance in a <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a> request.</p>
78
+ * @public
79
+ */
80
+ PrivateIpAddresses?: PrivateIpAddressSpecification[];
81
+ /**
82
+ * <p>The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're
83
+ * launching more than one instance in a <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a> request.</p>
84
+ * @public
85
+ */
86
+ SecondaryPrivateIpAddressCount?: number;
87
+ /**
88
+ * <p>The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.</p>
89
+ * @public
90
+ */
91
+ SubnetId?: string;
92
+ /**
93
+ * <p>Indicates whether to assign a carrier IP address to the network interface.</p>
94
+ * <p>You can only assign a carrier IP address to a network interface that is in a subnet in
95
+ * a Wavelength Zone. For more information about carrier IP addresses, see <a href="https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip">Carrier IP address</a> in the <i>Amazon Web Services Wavelength Developer
96
+ * Guide</i>.</p>
97
+ * @public
98
+ */
99
+ AssociateCarrierIpAddress?: boolean;
100
+ /**
101
+ * <p>The type of network interface.</p>
102
+ * <p>Valid values: <code>interface</code> | <code>efa</code>
103
+ * </p>
104
+ * @public
105
+ */
106
+ InterfaceType?: string;
107
+ /**
108
+ * <p>The index of the network card. Some instance types support multiple network cards.
109
+ * The primary network interface must be assigned to network card index 0.
110
+ * The default is network card index 0.</p>
111
+ * <p>If you are using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html">RequestSpotInstances</a> to create Spot Instances, omit this parameter because
112
+ * you can’t specify the network card index when using this API. To specify the network
113
+ * card index, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a>.</p>
114
+ * @public
115
+ */
116
+ NetworkCardIndex?: number;
117
+ /**
118
+ * <p>The IPv4 delegated prefixes to be assigned to the network interface. You cannot
119
+ * use this option if you use the <code>Ipv4PrefixCount</code> option.</p>
120
+ * @public
121
+ */
122
+ Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[];
123
+ /**
124
+ * <p>The number of IPv4 delegated prefixes to be automatically assigned to the network interface.
125
+ * You cannot use this option if you use the <code>Ipv4Prefix</code> option.</p>
126
+ * @public
127
+ */
128
+ Ipv4PrefixCount?: number;
129
+ /**
130
+ * <p>The IPv6 delegated prefixes to be assigned to the network interface. You cannot
131
+ * use this option if you use the <code>Ipv6PrefixCount</code> option.</p>
132
+ * @public
133
+ */
134
+ Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[];
135
+ /**
136
+ * <p>The number of IPv6 delegated prefixes to be automatically assigned to the network interface.
137
+ * You cannot use this option if you use the <code>Ipv6Prefix</code> option.</p>
138
+ * @public
139
+ */
140
+ Ipv6PrefixCount?: number;
141
+ /**
142
+ * <p>The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a>.</p>
143
+ * @public
144
+ */
145
+ PrimaryIpv6?: boolean;
146
+ /**
147
+ * <p>Specifies the ENA Express settings for the network interface that's attached to
148
+ * the instance.</p>
149
+ * @public
150
+ */
151
+ EnaSrdSpecification?: EnaSrdSpecificationRequest;
152
+ /**
153
+ * <p>A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Connection tracking timeouts</a> in the <i>Amazon EC2 User Guide</i>.</p>
154
+ * @public
155
+ */
156
+ ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest;
157
+ }
158
+ /**
159
+ * <p>Describes Spot Instance placement.</p>
160
+ * @public
161
+ */
162
+ export interface SpotPlacement {
163
+ /**
164
+ * <p>The Availability Zone.</p>
165
+ * <p>[Spot Fleet only] To specify multiple Availability Zones, separate them using commas;
166
+ * for example, "us-west-2a, us-west-2b".</p>
167
+ * @public
168
+ */
169
+ AvailabilityZone?: string;
170
+ /**
171
+ * <p>The name of the placement group.</p>
172
+ * @public
173
+ */
174
+ GroupName?: string;
175
+ /**
176
+ * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a
177
+ * tenancy of <code>dedicated</code> runs on single-tenant hardware. The <code>host</code>
178
+ * tenancy is not supported for Spot Instances.</p>
179
+ * @public
180
+ */
181
+ Tenancy?: Tenancy;
182
+ }
183
+ /**
184
+ * <p>The tags for a Spot Fleet resource.</p>
185
+ * @public
186
+ */
187
+ export interface SpotFleetTagSpecification {
188
+ /**
189
+ * <p>The type of resource. Currently, the only resource type that is supported is
190
+ * <code>instance</code>. To tag the Spot Fleet request on creation, use the
191
+ * <code>TagSpecifications</code> parameter in <code>
192
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html">SpotFleetRequestConfigData</a>
193
+ * </code>.</p>
194
+ * @public
195
+ */
196
+ ResourceType?: ResourceType;
197
+ /**
198
+ * <p>The tags.</p>
199
+ * @public
200
+ */
201
+ Tags?: Tag[];
202
+ }
203
+ /**
204
+ * <p>Describes the launch specification for one or more Spot Instances. If you include
205
+ * On-Demand capacity in your fleet request or want to specify an EFA network device, you
206
+ * can't use <code>SpotFleetLaunchSpecification</code>; you must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a>.</p>
207
+ * @public
208
+ */
209
+ export interface SpotFleetLaunchSpecification {
210
+ /**
211
+ * <p>Deprecated.</p>
212
+ * @public
213
+ */
214
+ AddressingType?: string;
215
+ /**
216
+ * <p>One or more block devices that are mapped to the Spot Instances. You can't specify both
217
+ * a snapshot ID and an encryption value. This is because only blank volumes can be
218
+ * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its
219
+ * encryption status is used for the volume encryption status.</p>
220
+ * @public
221
+ */
222
+ BlockDeviceMappings?: BlockDeviceMapping[];
223
+ /**
224
+ * <p>Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.</p>
225
+ * <p>Default: <code>false</code>
226
+ * </p>
227
+ * @public
228
+ */
229
+ EbsOptimized?: boolean;
230
+ /**
231
+ * <p>The IAM instance profile.</p>
232
+ * @public
233
+ */
234
+ IamInstanceProfile?: IamInstanceProfileSpecification;
235
+ /**
236
+ * <p>The ID of the AMI.</p>
237
+ * @public
238
+ */
239
+ ImageId?: string;
240
+ /**
241
+ * <p>The instance type.</p>
242
+ * @public
243
+ */
244
+ InstanceType?: _InstanceType;
245
+ /**
246
+ * <p>The ID of the kernel.</p>
247
+ * @public
248
+ */
249
+ KernelId?: string;
250
+ /**
251
+ * <p>The name of the key pair.</p>
252
+ * @public
253
+ */
254
+ KeyName?: string;
255
+ /**
256
+ * <p>Enable or disable monitoring for the instances.</p>
257
+ * @public
258
+ */
259
+ Monitoring?: SpotFleetMonitoring;
260
+ /**
261
+ * <p>The network interfaces.</p>
262
+ * <note>
263
+ * <p>
264
+ * <code>SpotFleetLaunchSpecification</code> does not support Elastic Fabric Adapter (EFA).
265
+ * You must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a> instead.</p>
266
+ * </note>
267
+ * @public
268
+ */
269
+ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
270
+ /**
271
+ * <p>The placement information.</p>
272
+ * @public
273
+ */
274
+ Placement?: SpotPlacement;
275
+ /**
276
+ * <p>The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel
277
+ * requirements for information about whether you need to specify a RAM disk. To find kernel
278
+ * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.</p>
279
+ * @public
280
+ */
281
+ RamdiskId?: string;
282
+ /**
283
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to
284
+ * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
285
+ * <important>
286
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
287
+ * </important>
288
+ * @public
289
+ */
290
+ SpotPrice?: string;
291
+ /**
292
+ * <p>The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate
293
+ * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".</p>
294
+ * <p>If you specify a network interface, you must specify any subnets as part of the
295
+ * network interface instead of using this parameter.</p>
296
+ * @public
297
+ */
298
+ SubnetId?: string;
299
+ /**
300
+ * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
301
+ * @public
302
+ */
303
+ UserData?: string;
304
+ /**
305
+ * <p>The number of units provided by the specified instance type. These are the same units
306
+ * that you chose to set the target capacity in terms of instances, or a performance
307
+ * characteristic such as vCPUs, memory, or I/O.</p>
308
+ * <p>If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the
309
+ * number of instances to the next whole number. If this value is not specified, the default
310
+ * is 1.</p>
311
+ * <note>
312
+ * <p>When specifying weights, the price used in the <code>lowestPrice</code> and
313
+ * <code>priceCapacityOptimized</code> allocation strategies is per
314
+ * <i>unit</i> hour (where the instance price is divided by the specified
315
+ * weight). However, if all the specified weights are above the requested
316
+ * <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
317
+ * used is per <i>instance</i> hour.</p>
318
+ * </note>
319
+ * @public
320
+ */
321
+ WeightedCapacity?: number;
322
+ /**
323
+ * <p>The tags to apply during creation.</p>
324
+ * @public
325
+ */
326
+ TagSpecifications?: SpotFleetTagSpecification[];
327
+ /**
328
+ * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
329
+ * identify instance types with those attributes.</p>
330
+ * <note>
331
+ * <p>If you specify <code>InstanceRequirements</code>, you can't specify
332
+ * <code>InstanceType</code>.</p>
333
+ * </note>
334
+ * @public
335
+ */
336
+ InstanceRequirements?: InstanceRequirements;
337
+ /**
338
+ * <p>The security groups.</p>
339
+ * <p>If you specify a network interface, you must specify any security groups as part of
340
+ * the network interface instead of using this parameter.</p>
341
+ * @public
342
+ */
343
+ SecurityGroups?: GroupIdentifier[];
344
+ }
345
+ /**
346
+ * <p>Describes overrides for a launch template.</p>
347
+ * @public
348
+ */
349
+ export interface LaunchTemplateOverrides {
350
+ /**
351
+ * <p>The instance type.</p>
352
+ * @public
353
+ */
354
+ InstanceType?: _InstanceType;
355
+ /**
356
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to
357
+ * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
358
+ * <important>
359
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
360
+ * </important>
361
+ * @public
362
+ */
363
+ SpotPrice?: string;
364
+ /**
365
+ * <p>The ID of the subnet in which to launch the instances.</p>
366
+ * @public
367
+ */
368
+ SubnetId?: string;
369
+ /**
370
+ * <p>The Availability Zone in which to launch the instances.</p>
371
+ * @public
372
+ */
373
+ AvailabilityZone?: string;
374
+ /**
375
+ * <p>The number of units provided by the specified instance type. These are the same units
376
+ * that you chose to set the target capacity in terms of instances, or a performance
377
+ * characteristic such as vCPUs, memory, or I/O.</p>
378
+ * <p>If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the
379
+ * number of instances to the next whole number. If this value is not specified, the default
380
+ * is 1.</p>
381
+ * <note>
382
+ * <p>When specifying weights, the price used in the <code>lowestPrice</code> and
383
+ * <code>priceCapacityOptimized</code> allocation strategies is per
384
+ * <i>unit</i> hour (where the instance price is divided by the specified
385
+ * weight). However, if all the specified weights are above the requested
386
+ * <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
387
+ * used is per <i>instance</i> hour.</p>
388
+ * </note>
389
+ * @public
390
+ */
391
+ WeightedCapacity?: number;
392
+ /**
393
+ * <p>The priority for the launch template override. The highest priority is launched
394
+ * first.</p>
395
+ * <p>If <code>OnDemandAllocationStrategy</code> is set to <code>prioritized</code>, Spot Fleet
396
+ * uses priority to determine which launch template override to use first in fulfilling
397
+ * On-Demand capacity.</p>
398
+ * <p>If the Spot <code>AllocationStrategy</code> is set to
399
+ * <code>capacityOptimizedPrioritized</code>, Spot Fleet uses priority on a best-effort basis
400
+ * to determine which launch template override to use in fulfilling Spot capacity, but
401
+ * optimizes for capacity first.</p>
402
+ * <p>Valid values are whole numbers starting at <code>0</code>. The lower the number, the
403
+ * higher the priority. If no number is set, the launch template override has the lowest
404
+ * priority. You can set the same priority for different launch template overrides.</p>
405
+ * @public
406
+ */
407
+ Priority?: number;
408
+ /**
409
+ * <p>The instance requirements. When you specify instance requirements, Amazon EC2 will identify
410
+ * instance types with the provided requirements, and then use your On-Demand and Spot
411
+ * allocation strategies to launch instances from these instance types, in the same way as
412
+ * when you specify a list of instance types.</p>
413
+ * <note>
414
+ * <p>If you specify <code>InstanceRequirements</code>, you can't specify
415
+ * <code>InstanceType</code>.</p>
416
+ * </note>
417
+ * @public
418
+ */
419
+ InstanceRequirements?: InstanceRequirements;
420
+ }
421
+ /**
422
+ * <p>Describes a launch template and overrides.</p>
423
+ * @public
424
+ */
425
+ export interface LaunchTemplateConfig {
426
+ /**
427
+ * <p>The launch template to use. Make sure that the launch template does not contain the
428
+ * <code>NetworkInterfaceId</code> parameter because you can't specify a network interface
429
+ * ID in a Spot Fleet.</p>
430
+ * @public
431
+ */
432
+ LaunchTemplateSpecification?: FleetLaunchTemplateSpecification;
433
+ /**
434
+ * <p>Any parameters that you specify override the same parameters in the launch
435
+ * template.</p>
436
+ * @public
437
+ */
438
+ Overrides?: LaunchTemplateOverrides[];
439
+ }
440
+ /**
441
+ * <p>Describes a Classic Load Balancer.</p>
442
+ * @public
443
+ */
444
+ export interface ClassicLoadBalancer {
445
+ /**
446
+ * <p>The name of the load balancer.</p>
447
+ * @public
448
+ */
449
+ Name?: string;
450
+ }
451
+ /**
452
+ * <p>Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers
453
+ * the running Spot Instances with these Classic Load Balancers.</p>
454
+ * @public
455
+ */
456
+ export interface ClassicLoadBalancersConfig {
457
+ /**
458
+ * <p>One or more Classic Load Balancers.</p>
459
+ * @public
460
+ */
461
+ ClassicLoadBalancers?: ClassicLoadBalancer[];
462
+ }
463
+ /**
464
+ * <p>Describes a load balancer target group.</p>
465
+ * @public
466
+ */
467
+ export interface TargetGroup {
468
+ /**
469
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
470
+ * @public
471
+ */
472
+ Arn?: string;
473
+ }
474
+ /**
475
+ * <p>Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the
476
+ * running Spot Instances with these target groups.</p>
477
+ * @public
478
+ */
479
+ export interface TargetGroupsConfig {
480
+ /**
481
+ * <p>One or more target groups.</p>
482
+ * @public
483
+ */
484
+ TargetGroups?: TargetGroup[];
485
+ }
6
486
  /**
7
487
  * <p>Describes the Classic Load Balancers and target groups to attach to a Spot Fleet
8
488
  * request.</p>
@@ -5953,6 +6433,36 @@ export interface DisassociateAddressRequest {
5953
6433
  */
5954
6434
  DryRun?: boolean;
5955
6435
  }
6436
+ /**
6437
+ * @public
6438
+ */
6439
+ export interface DisassociateCapacityReservationBillingOwnerRequest {
6440
+ /**
6441
+ * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
6442
+ * @public
6443
+ */
6444
+ DryRun?: boolean;
6445
+ /**
6446
+ * <p>The ID of the Capacity Reservation.</p>
6447
+ * @public
6448
+ */
6449
+ CapacityReservationId: string | undefined;
6450
+ /**
6451
+ * <p>The ID of the consumer account to which the request was sent.</p>
6452
+ * @public
6453
+ */
6454
+ UnusedReservationBillingOwnerId: string | undefined;
6455
+ }
6456
+ /**
6457
+ * @public
6458
+ */
6459
+ export interface DisassociateCapacityReservationBillingOwnerResult {
6460
+ /**
6461
+ * <p>Returns <code>true</code> if the request succeeds; otherwise, it returns an error.</p>
6462
+ * @public
6463
+ */
6464
+ Return?: boolean;
6465
+ }
5956
6466
  /**
5957
6467
  * @public
5958
6468
  */
@@ -8148,265 +8658,9 @@ export declare const PartitionLoadFrequency: {
8148
8658
  */
8149
8659
  export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency];
8150
8660
  /**
8151
- * <p>Describes integration options for Amazon Athena.</p>
8152
- * @public
8153
- */
8154
- export interface AthenaIntegration {
8155
- /**
8156
- * <p>The location in Amazon S3 to store the generated CloudFormation template.</p>
8157
- * @public
8158
- */
8159
- IntegrationResultS3DestinationArn: string | undefined;
8160
- /**
8161
- * <p>The schedule for adding new partitions to the table.</p>
8162
- * @public
8163
- */
8164
- PartitionLoadFrequency: PartitionLoadFrequency | undefined;
8165
- /**
8166
- * <p>The start date for the partition.</p>
8167
- * @public
8168
- */
8169
- PartitionStartDate?: Date;
8170
- /**
8171
- * <p>The end date for the partition.</p>
8172
- * @public
8173
- */
8174
- PartitionEndDate?: Date;
8175
- }
8176
- /**
8177
- * <p>Describes service integrations with VPC Flow logs.</p>
8178
- * @public
8179
- */
8180
- export interface IntegrateServices {
8181
- /**
8182
- * <p>Information about the integration with Amazon Athena.</p>
8183
- * @public
8184
- */
8185
- AthenaIntegrations?: AthenaIntegration[];
8186
- }
8187
- /**
8188
- * @public
8189
- */
8190
- export interface GetFlowLogsIntegrationTemplateRequest {
8191
- /**
8192
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
8193
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
8194
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8195
- * @public
8196
- */
8197
- DryRun?: boolean;
8198
- /**
8199
- * <p>The ID of the flow log.</p>
8200
- * @public
8201
- */
8202
- FlowLogId: string | undefined;
8203
- /**
8204
- * <p>To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.</p>
8205
- * @public
8206
- */
8207
- ConfigDeliveryS3DestinationArn: string | undefined;
8208
- /**
8209
- * <p>Information about the service integration.</p>
8210
- * @public
8211
- */
8212
- IntegrateServices: IntegrateServices | undefined;
8213
- }
8214
- /**
8215
- * @public
8216
- */
8217
- export interface GetFlowLogsIntegrationTemplateResult {
8218
- /**
8219
- * <p>The generated CloudFormation template.</p>
8220
- * @public
8221
- */
8222
- Result?: string;
8223
- }
8224
- /**
8225
- * @public
8226
- */
8227
- export interface GetGroupsForCapacityReservationRequest {
8228
- /**
8229
- * <p>The ID of the Capacity Reservation. If you specify a Capacity Reservation that is shared
8230
- * with you, the operation returns only Capacity Reservation groups that you own.</p>
8231
- * @public
8232
- */
8233
- CapacityReservationId: string | undefined;
8234
- /**
8235
- * <p>The token to use to retrieve the next page of results.</p>
8236
- * @public
8237
- */
8238
- NextToken?: string;
8239
- /**
8240
- * <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information,
8241
- * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
8242
- * @public
8243
- */
8244
- MaxResults?: number;
8245
- /**
8246
- * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8247
- * @public
8248
- */
8249
- DryRun?: boolean;
8250
- }
8251
- /**
8252
- * <p>Describes a resource group to which a Capacity Reservation has been added.</p>
8253
- * @public
8254
- */
8255
- export interface CapacityReservationGroup {
8256
- /**
8257
- * <p>The ARN of the resource group.</p>
8258
- * @public
8259
- */
8260
- GroupArn?: string;
8261
- /**
8262
- * <p>The ID of the Amazon Web Services account that owns the resource group.</p>
8263
- * @public
8264
- */
8265
- OwnerId?: string;
8266
- }
8267
- /**
8268
- * @public
8269
- */
8270
- export interface GetGroupsForCapacityReservationResult {
8271
- /**
8272
- * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>
8273
- * @public
8274
- */
8275
- NextToken?: string;
8276
- /**
8277
- * <p>Information about the resource groups to which the Capacity Reservation has been added.</p>
8278
- * @public
8279
- */
8280
- CapacityReservationGroups?: CapacityReservationGroup[];
8281
- }
8282
- /**
8283
- * @public
8284
- */
8285
- export interface GetHostReservationPurchasePreviewRequest {
8286
- /**
8287
- * <p>The IDs of the Dedicated Hosts with which the reservation is associated.</p>
8288
- * @public
8289
- */
8290
- HostIdSet: string[] | undefined;
8291
- /**
8292
- * <p>The offering ID of the reservation.</p>
8293
- * @public
8294
- */
8295
- OfferingId: string | undefined;
8296
- }
8297
- /**
8298
- * <p>Describes the result of the purchase.</p>
8299
- * @public
8300
- */
8301
- export interface Purchase {
8302
- /**
8303
- * <p>The currency in which the <code>UpfrontPrice</code> and <code>HourlyPrice</code>
8304
- * amounts are specified. At this time, the only supported currency is
8305
- * <code>USD</code>.</p>
8306
- * @public
8307
- */
8308
- CurrencyCode?: CurrencyCodeValues;
8309
- /**
8310
- * <p>The duration of the reservation's term in seconds.</p>
8311
- * @public
8312
- */
8313
- Duration?: number;
8314
- /**
8315
- * <p>The IDs of the Dedicated Hosts associated with the reservation.</p>
8316
- * @public
8317
- */
8318
- HostIdSet?: string[];
8319
- /**
8320
- * <p>The ID of the reservation.</p>
8321
- * @public
8322
- */
8323
- HostReservationId?: string;
8324
- /**
8325
- * <p>The hourly price of the reservation per hour.</p>
8326
- * @public
8327
- */
8328
- HourlyPrice?: string;
8329
- /**
8330
- * <p>The instance family on the Dedicated Host that the reservation can be associated
8331
- * with.</p>
8332
- * @public
8333
- */
8334
- InstanceFamily?: string;
8335
- /**
8336
- * <p>The payment option for the reservation.</p>
8337
- * @public
8338
- */
8339
- PaymentOption?: PaymentOption;
8340
- /**
8341
- * <p>The upfront price of the reservation.</p>
8342
- * @public
8343
- */
8344
- UpfrontPrice?: string;
8345
- }
8346
- /**
8347
- * @public
8348
- */
8349
- export interface GetHostReservationPurchasePreviewResult {
8350
- /**
8351
- * <p>The currency in which the <code>totalUpfrontPrice</code> and
8352
- * <code>totalHourlyPrice</code> amounts are specified. At this time, the only
8353
- * supported currency is <code>USD</code>.</p>
8354
- * @public
8355
- */
8356
- CurrencyCode?: CurrencyCodeValues;
8357
- /**
8358
- * <p>The purchase information of the Dedicated Host reservation and the Dedicated Hosts
8359
- * associated with it.</p>
8360
- * @public
8361
- */
8362
- Purchase?: Purchase[];
8363
- /**
8364
- * <p>The potential total hourly price of the reservation per hour.</p>
8365
- * @public
8366
- */
8367
- TotalHourlyPrice?: string;
8368
- /**
8369
- * <p>The potential total upfront price. This is billed immediately.</p>
8370
- * @public
8371
- */
8372
- TotalUpfrontPrice?: string;
8373
- }
8374
- /**
8375
- * @public
8376
- */
8377
- export interface GetImageBlockPublicAccessStateRequest {
8378
- /**
8379
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
8380
- * and provides an error response. If you have the required permissions, the error response is
8381
- * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8382
- * @public
8383
- */
8384
- DryRun?: boolean;
8385
- }
8386
- /**
8387
- * @public
8661
+ * @internal
8388
8662
  */
8389
- export interface GetImageBlockPublicAccessStateResult {
8390
- /**
8391
- * <p>The current state of block public access for AMIs at the account level in the specified
8392
- * Amazon Web Services Region.</p>
8393
- * <p>Possible values:</p>
8394
- * <ul>
8395
- * <li>
8396
- * <p>
8397
- * <code>block-new-sharing</code> - Any attempt to publicly share your AMIs in the
8398
- * specified Region is blocked.</p>
8399
- * </li>
8400
- * <li>
8401
- * <p>
8402
- * <code>unblocked</code> - Your AMIs in the specified Region can be publicly
8403
- * shared.</p>
8404
- * </li>
8405
- * </ul>
8406
- * @public
8407
- */
8408
- ImageBlockPublicAccessState?: string;
8409
- }
8663
+ export declare const SpotFleetLaunchSpecificationFilterSensitiveLog: (obj: SpotFleetLaunchSpecification) => any;
8410
8664
  /**
8411
8665
  * @internal
8412
8666
  */