@aws-sdk/client-ec2 3.1097.0 → 3.1098.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/README.md +21 -0
  2. package/dist-cjs/index.js +113 -11
  3. package/dist-es/EC2.js +8 -0
  4. package/dist-es/commands/CreateTransitGatewayPolicyTableEntryCommand.js +4 -0
  5. package/dist-es/commands/DeleteTransitGatewayPolicyTableEntryCommand.js +4 -0
  6. package/dist-es/commands/ModifyTransitGatewayPolicyTableEntryCommand.js +4 -0
  7. package/dist-es/commands/index.js +3 -0
  8. package/dist-es/models/enums.js +4 -0
  9. package/dist-es/pagination/GetTransitGatewayPolicyTableEntriesPaginator.js +4 -0
  10. package/dist-es/pagination/index.js +1 -0
  11. package/dist-es/schemas/schemas_0.js +77 -10
  12. package/dist-types/EC2.d.ts +28 -0
  13. package/dist-types/EC2Client.d.ts +5 -2
  14. package/dist-types/commands/CreateTransitGatewayPolicyTableEntryCommand.d.ts +100 -0
  15. package/dist-types/commands/DeleteRouteCommand.d.ts +1 -1
  16. package/dist-types/commands/DeleteRouteServerCommand.d.ts +1 -1
  17. package/dist-types/commands/DeleteRouteServerEndpointCommand.d.ts +1 -1
  18. package/dist-types/commands/DeleteRouteServerPeerCommand.d.ts +1 -1
  19. package/dist-types/commands/DeleteTransitGatewayPolicyTableEntryCommand.d.ts +88 -0
  20. package/dist-types/commands/DescribeImageUsageReportEntriesCommand.d.ts +1 -1
  21. package/dist-types/commands/DescribeImageUsageReportsCommand.d.ts +1 -2
  22. package/dist-types/commands/DescribeImagesCommand.d.ts +1 -1
  23. package/dist-types/commands/DescribeTransitGatewayAttachmentsCommand.d.ts +1 -0
  24. package/dist-types/commands/GetActiveVpnTunnelStatusCommand.d.ts +1 -1
  25. package/dist-types/commands/GetAllowedImagesSettingsCommand.d.ts +1 -1
  26. package/dist-types/commands/GetAssociatedEnclaveCertificateIamRolesCommand.d.ts +1 -2
  27. package/dist-types/commands/GetTransitGatewayPolicyTableEntriesCommand.d.ts +2 -0
  28. package/dist-types/commands/ModifyIpamCommand.d.ts +2 -1
  29. package/dist-types/commands/ModifyIpamPolicyAllocationRulesCommand.d.ts +1 -1
  30. package/dist-types/commands/ModifyIpamPoolCommand.d.ts +1 -1
  31. package/dist-types/commands/ModifyTransitGatewayPolicyTableEntryCommand.d.ts +100 -0
  32. package/dist-types/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +1 -1
  33. package/dist-types/commands/UnlockSnapshotCommand.d.ts +1 -1
  34. package/dist-types/commands/UnmonitorInstancesCommand.d.ts +1 -1
  35. package/dist-types/commands/UpdateCapacityManagerMonitoredTagKeysCommand.d.ts +1 -1
  36. package/dist-types/commands/index.d.ts +3 -0
  37. package/dist-types/models/enums.d.ts +12 -0
  38. package/dist-types/models/models_2.d.ts +175 -116
  39. package/dist-types/models/models_3.d.ts +148 -802
  40. package/dist-types/models/models_4.d.ts +803 -350
  41. package/dist-types/models/models_5.d.ts +355 -262
  42. package/dist-types/models/models_6.d.ts +305 -227
  43. package/dist-types/models/models_7.d.ts +200 -150
  44. package/dist-types/models/models_8.d.ts +145 -1
  45. package/dist-types/pagination/GetTransitGatewayPolicyTableEntriesPaginator.d.ts +7 -0
  46. package/dist-types/pagination/index.d.ts +1 -0
  47. package/dist-types/schemas/schemas_0.d.ts +11 -0
  48. package/dist-types/ts3.4/EC2.d.ts +58 -0
  49. package/dist-types/ts3.4/EC2Client.d.ts +18 -0
  50. package/dist-types/ts3.4/commands/CreateTransitGatewayPolicyTableEntryCommand.d.ts +42 -0
  51. package/dist-types/ts3.4/commands/DeleteRouteCommand.d.ts +1 -1
  52. package/dist-types/ts3.4/commands/DeleteRouteServerCommand.d.ts +1 -1
  53. package/dist-types/ts3.4/commands/DeleteRouteServerEndpointCommand.d.ts +1 -1
  54. package/dist-types/ts3.4/commands/DeleteRouteServerPeerCommand.d.ts +1 -1
  55. package/dist-types/ts3.4/commands/DeleteTransitGatewayPolicyTableEntryCommand.d.ts +42 -0
  56. package/dist-types/ts3.4/commands/DescribeImageUsageReportEntriesCommand.d.ts +1 -1
  57. package/dist-types/ts3.4/commands/DescribeImageUsageReportsCommand.d.ts +4 -2
  58. package/dist-types/ts3.4/commands/DescribeImagesCommand.d.ts +1 -1
  59. package/dist-types/ts3.4/commands/GetActiveVpnTunnelStatusCommand.d.ts +1 -1
  60. package/dist-types/ts3.4/commands/GetAllowedImagesSettingsCommand.d.ts +1 -1
  61. package/dist-types/ts3.4/commands/GetAssociatedEnclaveCertificateIamRolesCommand.d.ts +4 -2
  62. package/dist-types/ts3.4/commands/ModifyIpamCommand.d.ts +2 -1
  63. package/dist-types/ts3.4/commands/ModifyIpamPolicyAllocationRulesCommand.d.ts +1 -1
  64. package/dist-types/ts3.4/commands/ModifyIpamPoolCommand.d.ts +1 -1
  65. package/dist-types/ts3.4/commands/ModifyTransitGatewayPolicyTableEntryCommand.d.ts +42 -0
  66. package/dist-types/ts3.4/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +1 -1
  67. package/dist-types/ts3.4/commands/UnlockSnapshotCommand.d.ts +1 -1
  68. package/dist-types/ts3.4/commands/UnmonitorInstancesCommand.d.ts +1 -1
  69. package/dist-types/ts3.4/commands/UpdateCapacityManagerMonitoredTagKeysCommand.d.ts +1 -1
  70. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  71. package/dist-types/ts3.4/models/enums.d.ts +6 -0
  72. package/dist-types/ts3.4/models/models_2.d.ts +41 -30
  73. package/dist-types/ts3.4/models/models_3.d.ts +40 -105
  74. package/dist-types/ts3.4/models/models_4.d.ts +98 -61
  75. package/dist-types/ts3.4/models/models_5.d.ts +68 -46
  76. package/dist-types/ts3.4/models/models_6.d.ts +43 -50
  77. package/dist-types/ts3.4/models/models_7.d.ts +49 -36
  78. package/dist-types/ts3.4/models/models_8.d.ts +36 -1
  79. package/dist-types/ts3.4/pagination/GetTransitGatewayPolicyTableEntriesPaginator.d.ts +11 -0
  80. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  81. package/dist-types/ts3.4/schemas/schemas_0.d.ts +11 -0
  82. package/package.json +8 -8
@@ -1,8 +1,807 @@
1
- import type { _InstanceType, AmdSevSnpSpecification, AnalysisStatus, ArchitectureType, ArchitectureValues, AttachmentLimitType, AttachmentStatus, BandwidthWeightingType, BootModeType, BootModeValues, CapacityReservationPreference, CurrencyCodeValues, DeviceType, DiskType, EbsEncryptionSupport, EbsNvmeSupport, EbsOptimizedSupport, EnaSupport, EphemeralNvmeSupport, EventCode, EventType, FindingsFound, FlexibleEnaQueuesSupport, HaStatus, HostnameType, HttpTokensState, HypervisorType, ImageState, InstanceAttributeName, InstanceAutoRecoveryState, InstanceBandwidthWeighting, InstanceBootModeValues, InstanceLifecycleType, InstanceMetadataEndpointState, InstanceMetadataOptionsState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceRebootMigrationState, InstanceStateName, InstanceStorageEncryptionSupport, InstanceTypeHypervisor, KeyType, LocationType, LockState, MonitoringState, MoveStatus, NestedVirtualizationSpecification, NetworkInterfaceAttribute, NetworkInterfaceStatus, NitroEnclavesSupport, NitroTpmSupport, OfferingClassType, OfferingTypeValues, PermissionGroup, PhcSupport, PlacementGroupStrategy, PlatformValues, RebootMigrationSupport, RecurringChargeFrequency, ReplacementStrategy, ReservedInstanceState, ResourceType, RIProductDescription, RootDeviceType, Scope, SecondaryInterfaceStatus, SecondaryInterfaceType, SecondaryNetworkType, SecurityGroupVpcAssociationState, ServiceLinkVirtualInterfaceConfigurationState, SnapshotAttributeName, SnapshotState, SqlServerLicenseUsage, StatusName, StatusType, StorageTier, SummaryStatus, SupportedAdditionalProcessorFeature, Tenancy, TieringOperationStatus, UsageClassType, VirtualizationType } from "./enums";
2
- import type { ActiveInstance, AlternatePathHint, Explanation, IamInstanceProfile, IamInstanceProfileSpecification, InstanceEventWindow, IpamPoolAllocation, IpamResourceDiscoveryAssociation, IpPermission, OperatorResponse, PathComponent, ReservedInstancesListing, SecurityGroupRule, Tag } from "./models_0";
3
- import type { AttributeValue, BlockDeviceMapping, CapacityReservationTargetResponse, ConnectionTrackingSpecificationRequest, Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, GroupIdentifier, InstanceIpv6Address, InstanceRequirements, InternetGateway, Ipam, IpamExternalResourceVerificationToken, IpamPolicy, IpamPool, IpamPrefixListResolver, IpamPrefixListResolverTarget, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, LocalGatewayVirtualInterface, LocalGatewayVirtualInterfaceGroup, MacModificationTask, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, Placement, PlacementGroup, PrivateIpAddressSpecification, ReplaceRootVolumeTask, RouteServer, RouteServerEndpoint, StateReason } from "./models_1";
1
+ import type { _InstanceType, AmdSevSnpSpecification, AnalysisStatus, ArchitectureType, ArchitectureValues, AttachmentLimitType, AttachmentStatus, BandwidthWeightingType, BootModeType, BootModeValues, CapacityReservationPreference, CurrencyCodeValues, DeviceType, DiskType, EbsEncryptionSupport, EbsNvmeSupport, EbsOptimizedSupport, EnaSupport, EphemeralNvmeSupport, EventCode, EventType, FindingsFound, FlexibleEnaQueuesSupport, HaStatus, HostnameType, HttpTokensState, HypervisorType, ImageState, ImageTypeValues, ImdsSupportValues, InstanceAttributeName, InstanceAutoRecoveryState, InstanceBandwidthWeighting, InstanceBootModeValues, InstanceLifecycleType, InstanceMetadataEndpointState, InstanceMetadataOptionsState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceRebootMigrationState, InstanceStateName, InstanceStorageEncryptionSupport, InstanceTypeHypervisor, KeyType, LocationType, LockState, MonitoringState, MoveStatus, NestedVirtualizationSpecification, NetworkInterfaceAttribute, NetworkInterfaceStatus, NitroEnclavesSupport, NitroTpmSupport, OfferingClassType, OfferingTypeValues, PermissionGroup, PhcSupport, PlacementGroupStrategy, PlatformValues, RebootMigrationSupport, RecurringChargeFrequency, ReservedInstanceState, ResourceType, RIProductDescription, RootDeviceType, Scope, SecondaryInterfaceStatus, SecondaryInterfaceType, SecondaryNetworkType, SecurityGroupVpcAssociationState, ServiceLinkVirtualInterfaceConfigurationState, SnapshotAttributeName, SnapshotState, SqlServerLicenseUsage, StatusName, StatusType, StorageTier, SummaryStatus, SupportedAdditionalProcessorFeature, Tenancy, TieringOperationStatus, TpmSupportValues, UsageClassType, VirtualizationType } from "./enums";
2
+ import type { ActiveInstance, AlternatePathHint, Explanation, IamInstanceProfile, InstanceEventWindow, IpamPoolAllocation, IpamResourceDiscoveryAssociation, IpPermission, OperatorResponse, PathComponent, ReservedInstancesListing, SecurityGroupRule, Tag } from "./models_0";
3
+ import type { AttributeValue, BlockDeviceMapping, CapacityReservationTargetResponse, ConnectionTrackingSpecificationRequest, Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, GroupIdentifier, InstanceIpv6Address, InternetGateway, Ipam, IpamExternalResourceVerificationToken, IpamPolicy, IpamPool, IpamPrefixListResolver, IpamPrefixListResolverTarget, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, LocalGatewayVirtualInterface, LocalGatewayVirtualInterfaceGroup, MacModificationTask, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, Placement, PlacementGroup, PrivateIpAddressSpecification, ReplaceRootVolumeTask, RouteServer, RouteServerEndpoint, StateReason } from "./models_1";
4
4
  import type { RouteServerPeer, RouteTable, SecondaryNetwork, SecondarySubnet, Snapshot, SpotDatafeedSubscription } from "./models_2";
5
- import type { Byoasn, EventInformation, Filter, IdFormat, ImageUsageResourceTypeOption, ImageWatermark, InstanceTagNotificationAttribute, ProductCode } from "./models_3";
5
+ import type { Byoasn, EventInformation, Filter, IdFormat, InstanceTagNotificationAttribute, ProductCode } from "./models_3";
6
+ /**
7
+ * @public
8
+ */
9
+ export interface DescribeImagesRequest {
10
+ /**
11
+ * <p>Scopes the images by users with explicit launch permissions. Specify an Amazon Web Services account ID, <code>self</code> (the sender of the request), or <code>all</code>
12
+ * (public AMIs).</p>
13
+ * <ul>
14
+ * <li>
15
+ * <p>If you specify an Amazon Web Services account ID that is not your own, only AMIs shared
16
+ * with that specific Amazon Web Services account ID are returned. However, AMIs that are
17
+ * shared with the account’s organization or organizational unit (OU) are not
18
+ * returned.</p>
19
+ * </li>
20
+ * <li>
21
+ * <p>If you specify <code>self</code> or your own Amazon Web Services account ID, AMIs
22
+ * shared with your account are returned. In addition, AMIs that are shared with the
23
+ * organization or OU of which you are member are also returned. </p>
24
+ * </li>
25
+ * <li>
26
+ * <p>If you specify <code>all</code>, all public AMIs are returned.</p>
27
+ * </li>
28
+ * </ul>
29
+ * @public
30
+ */
31
+ ExecutableUsers?: string[] | undefined;
32
+ /**
33
+ * <p>The image IDs.</p>
34
+ * <p>Default: Describes all images available to you.</p>
35
+ * @public
36
+ */
37
+ ImageIds?: string[] | undefined;
38
+ /**
39
+ * <p>Scopes the results to images with the specified owners. You can specify a combination of
40
+ * Amazon Web Services account IDs, <code>self</code>, <code>amazon</code>,
41
+ * <code>aws-backup-vault</code>, and <code>aws-marketplace</code>. If you omit this parameter,
42
+ * the results include all images for which you have launch permissions, regardless of
43
+ * ownership.</p>
44
+ * @public
45
+ */
46
+ Owners?: string[] | undefined;
47
+ /**
48
+ * <p>Specifies whether to include deprecated AMIs.</p>
49
+ * <p>Default: No deprecated AMIs are included in the response.</p>
50
+ * <note>
51
+ * <p>If you are the AMI owner, all deprecated AMIs appear in the response regardless of what
52
+ * you specify for this parameter.</p>
53
+ * </note>
54
+ * @public
55
+ */
56
+ IncludeDeprecated?: boolean | undefined;
57
+ /**
58
+ * <p>Specifies whether to include disabled AMIs.</p>
59
+ * <p>Default: No disabled AMIs are included in the response.</p>
60
+ * @public
61
+ */
62
+ IncludeDisabled?: boolean | undefined;
63
+ /**
64
+ * <p>The maximum number of items to return for this request.
65
+ * To get the next page of items, make another request with the token returned in the output.
66
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
67
+ * @public
68
+ */
69
+ MaxResults?: number | undefined;
70
+ /**
71
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
72
+ * @public
73
+ */
74
+ NextToken?: string | undefined;
75
+ /**
76
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
77
+ * and provides an error response. If you have the required permissions, the error response is
78
+ * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
79
+ * @public
80
+ */
81
+ DryRun?: boolean | undefined;
82
+ /**
83
+ * <p>The filters.</p>
84
+ * <ul>
85
+ * <li>
86
+ * <p>
87
+ * <code>architecture</code> - The image architecture (<code>i386</code> |
88
+ * <code>x86_64</code> | <code>arm64</code> | <code>x86_64_mac</code> |
89
+ * <code>arm64_mac</code>).</p>
90
+ * </li>
91
+ * <li>
92
+ * <p>
93
+ * <code>block-device-mapping.delete-on-termination</code> - A Boolean value that indicates
94
+ * whether the Amazon EBS volume is deleted on instance termination.</p>
95
+ * </li>
96
+ * <li>
97
+ * <p>
98
+ * <code>block-device-mapping.device-name</code> - The device name specified in the block
99
+ * device mapping (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
100
+ * </li>
101
+ * <li>
102
+ * <p>
103
+ * <code>block-device-mapping.snapshot-id</code> - The ID of the snapshot used for the Amazon EBS
104
+ * volume.</p>
105
+ * </li>
106
+ * <li>
107
+ * <p>
108
+ * <code>block-device-mapping.volume-size</code> - The volume size of the Amazon EBS volume, in
109
+ * GiB.</p>
110
+ * </li>
111
+ * <li>
112
+ * <p>
113
+ * <code>block-device-mapping.volume-type</code> - The volume type of the Amazon EBS volume
114
+ * (<code>io1</code> | <code>io2</code> | <code>gp2</code> | <code>gp3</code> | <code>sc1
115
+ * </code>| <code>st1</code> | <code>standard</code>).</p>
116
+ * </li>
117
+ * <li>
118
+ * <p>
119
+ * <code>block-device-mapping.encrypted</code> - A Boolean that indicates whether the Amazon EBS
120
+ * volume is encrypted.</p>
121
+ * </li>
122
+ * <li>
123
+ * <p>
124
+ * <code>creation-date</code> - The time when the image was created, in the ISO 8601
125
+ * format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,
126
+ * <code>2021-09-29T11:04:43.305Z</code>. You can use a wildcard (<code>*</code>), for
127
+ * example, <code>2021-09-29T*</code>, which matches an entire day.</p>
128
+ * </li>
129
+ * <li>
130
+ * <p>
131
+ * <code>description</code> - The description of the image (provided during image
132
+ * creation).</p>
133
+ * </li>
134
+ * <li>
135
+ * <p>
136
+ * <code>ena-support</code> - A Boolean that indicates whether enhanced networking with
137
+ * ENA is enabled.</p>
138
+ * </li>
139
+ * <li>
140
+ * <p>
141
+ * <code>free-tier-eligible</code> - A Boolean that indicates whether this image can be
142
+ * used under the Amazon Web Services Free Tier (<code>true</code> | <code>false</code>).</p>
143
+ * </li>
144
+ * <li>
145
+ * <p>
146
+ * <code>hypervisor</code> - The hypervisor type (<code>ovm</code> |
147
+ * <code>xen</code>).</p>
148
+ * </li>
149
+ * <li>
150
+ * <p>
151
+ * <code>image-allowed</code> - A Boolean that indicates whether the image meets the
152
+ * criteria specified for Allowed AMIs.</p>
153
+ * </li>
154
+ * <li>
155
+ * <p>
156
+ * <code>image-id</code> - The ID of the image.</p>
157
+ * </li>
158
+ * <li>
159
+ * <p>
160
+ * <code>image-watermark.source-image-creation-time</code> - The creation date of the
161
+ * source AMI, in the ISO 8601 format in the UTC time zone
162
+ * (<code>
163
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>.<i>ssssss</i>+<i>HH</i>:<i>MM</i>
164
+ * </code>).
165
+ * You can use a wildcard (<code>*</code>), for example, <code>2021-09-29T*</code>, which
166
+ * matches an entire day.</p>
167
+ * </li>
168
+ * <li>
169
+ * <p>
170
+ * <code>image-watermark.source-image-id</code> - The ID of the AMI to which the
171
+ * watermark was originally attached.</p>
172
+ * </li>
173
+ * <li>
174
+ * <p>
175
+ * <code>image-watermark.source-image-region</code> - The Region where the watermark
176
+ * was originally attached.</p>
177
+ * </li>
178
+ * <li>
179
+ * <p>
180
+ * <code>image-watermark.watermark-creation-time</code> - The date and time the
181
+ * watermark was attached to the AMI, in the ISO 8601 format in the UTC time zone
182
+ * (<code>
183
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>.<i>ssssss</i>+<i>HH</i>:<i>MM</i>
184
+ * </code>).
185
+ * You can use a wildcard (<code>*</code>), for example, <code>2021-09-29T*</code>, which
186
+ * matches an entire day.</p>
187
+ * </li>
188
+ * <li>
189
+ * <p>
190
+ * <code>image-watermark.watermark-key</code> - The watermark identifier, in
191
+ * <code>accountId:watermarkName</code> format (for example,
192
+ * <code>123456789012:approvedAmi</code>).</p>
193
+ * </li>
194
+ * <li>
195
+ * <p>
196
+ * <code>image-type</code> - The image type (<code>machine</code> | <code>kernel</code> |
197
+ * <code>ramdisk</code>).</p>
198
+ * </li>
199
+ * <li>
200
+ * <p>
201
+ * <code>is-public</code> - A Boolean that indicates whether the image is public.</p>
202
+ * </li>
203
+ * <li>
204
+ * <p>
205
+ * <code>kernel-id</code> - The kernel ID.</p>
206
+ * </li>
207
+ * <li>
208
+ * <p>
209
+ * <code>manifest-location</code> - The location of the image manifest.</p>
210
+ * </li>
211
+ * <li>
212
+ * <p>
213
+ * <code>name</code> - The name of the AMI (provided during image creation).</p>
214
+ * </li>
215
+ * <li>
216
+ * <p>
217
+ * <code>owner-alias</code> - The owner alias (<code>amazon</code> |
218
+ * <code>aws-backup-vault</code> | <code>aws-marketplace</code>). The valid aliases are
219
+ * defined in an Amazon-maintained list. This is not the Amazon Web Services account alias
220
+ * that can be set using the IAM console. We recommend that you use the <b>Owner</b> request parameter instead of this filter.</p>
221
+ * </li>
222
+ * <li>
223
+ * <p>
224
+ * <code>owner-id</code> - The Amazon Web Services account ID of the owner. We recommend
225
+ * that you use the <b>Owner</b> request parameter instead of this
226
+ * filter.</p>
227
+ * </li>
228
+ * <li>
229
+ * <p>
230
+ * <code>platform</code> - The platform. The only supported value is
231
+ * <code>windows</code>.</p>
232
+ * </li>
233
+ * <li>
234
+ * <p>
235
+ * <code>product-code</code> - The product code.</p>
236
+ * </li>
237
+ * <li>
238
+ * <p>
239
+ * <code>product-code.type</code> - The type of the product code
240
+ * (<code>marketplace</code>).</p>
241
+ * </li>
242
+ * <li>
243
+ * <p>
244
+ * <code>public-ssm-parameter-name</code> - The name of a public Systems Manager
245
+ * parameter associated with the AMI. The parameter must be in a trusted Amazon Web Services namespace
246
+ * under <code>aws/service/</code>. Returns all AMIs that have ever been associated with
247
+ * the parameter, including previous versions.</p>
248
+ * </li>
249
+ * <li>
250
+ * <p>
251
+ * <code>ramdisk-id</code> - The RAM disk ID.</p>
252
+ * </li>
253
+ * <li>
254
+ * <p>
255
+ * <code>root-device-name</code> - The device name of the root device volume (for example,
256
+ * <code>/dev/sda1</code>).</p>
257
+ * </li>
258
+ * <li>
259
+ * <p>
260
+ * <code>root-device-type</code> - The type of the root device volume (<code>ebs</code> |
261
+ * <code>instance-store</code>).</p>
262
+ * </li>
263
+ * <li>
264
+ * <p>
265
+ * <code>source-image-id</code> - The ID of the source AMI from which the AMI was
266
+ * created.</p>
267
+ * </li>
268
+ * <li>
269
+ * <p>
270
+ * <code>source-image-region</code> - The Region of the source AMI.</p>
271
+ * </li>
272
+ * <li>
273
+ * <p>
274
+ * <code>source-instance-id</code> - The ID of the instance that the AMI was created from
275
+ * if the AMI was created using CreateImage. This filter is applicable only if the AMI was
276
+ * created using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html">CreateImage</a>.</p>
277
+ * </li>
278
+ * <li>
279
+ * <p>
280
+ * <code>state</code> - The state of the image (<code>available</code> | <code>pending</code>
281
+ * | <code>failed</code>).</p>
282
+ * </li>
283
+ * <li>
284
+ * <p>
285
+ * <code>state-reason-code</code> - The reason code for the state change.</p>
286
+ * </li>
287
+ * <li>
288
+ * <p>
289
+ * <code>state-reason-message</code> - The message for the state change.</p>
290
+ * </li>
291
+ * <li>
292
+ * <p>
293
+ * <code>sriov-net-support</code> - A value of <code>simple</code> indicates that
294
+ * enhanced networking with the Intel 82599 VF interface is enabled.</p>
295
+ * </li>
296
+ * <li>
297
+ * <p>
298
+ * <code>tag:<key></code> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
299
+ * For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
300
+ * </li>
301
+ * <li>
302
+ * <p>
303
+ * <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p>
304
+ * </li>
305
+ * <li>
306
+ * <p>
307
+ * <code>virtualization-type</code> - The virtualization type (<code>paravirtual</code> |
308
+ * <code>hvm</code>).</p>
309
+ * </li>
310
+ * </ul>
311
+ * @public
312
+ */
313
+ Filters?: Filter[] | undefined;
314
+ }
315
+ /**
316
+ * <p>Describes a watermark attached to an AMI.</p>
317
+ * @public
318
+ */
319
+ export interface ImageWatermark {
320
+ /**
321
+ * <p>The watermark identifier, in <code>accountId:watermarkName</code> format (for example,
322
+ * <code>123456789012:approvedAmi</code>). The <code>accountId</code> portion is the Amazon Web Services account
323
+ * ID of the watermark creator. The <code>watermarkName</code> portion is customer-provided.</p>
324
+ * @public
325
+ */
326
+ WatermarkKey?: string | undefined;
327
+ /**
328
+ * <p>The Region where the watermark was originally attached.</p>
329
+ * @public
330
+ */
331
+ SourceImageRegion?: string | undefined;
332
+ /**
333
+ * <p>The ID of the AMI to which the watermark was originally attached.</p>
334
+ * @public
335
+ */
336
+ SourceImageId?: string | undefined;
337
+ /**
338
+ * <p>The creation date of the source AMI, in the
339
+ * following format:
340
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>.<i>ssssss</i>+<i>HH</i>:<i>MM</i>.</p>
341
+ * @public
342
+ */
343
+ SourceImageCreationTime?: Date | undefined;
344
+ /**
345
+ * <p>The date and time the watermark was attached to the AMI, in the following format:
346
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>.<i>ssssss</i>+<i>HH</i>:<i>MM</i>.</p>
347
+ * @public
348
+ */
349
+ WatermarkCreationTime?: Date | undefined;
350
+ }
351
+ /**
352
+ * <p>Describes an image.</p>
353
+ * @public
354
+ */
355
+ export interface Image {
356
+ /**
357
+ * <p>The platform details associated with the billing code of the AMI. For more information,
358
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html">Understand
359
+ * AMI billing information</a> in the <i>Amazon EC2 User Guide</i>.</p>
360
+ * @public
361
+ */
362
+ PlatformDetails?: string | undefined;
363
+ /**
364
+ * <p>The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
365
+ * <code>usageOperation</code> corresponds to the <a href="https://docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html#Lineitem-details-O-Operation">lineitem/Operation</a> column on your Amazon Web Services Cost and Usage Report and in the <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html">Amazon Web Services Price
366
+ * List API</a>. You can view these fields on the <b>Instances</b> or <b>AMIs</b> pages in the Amazon EC2 console,
367
+ * or in the responses that are returned by the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html">DescribeImages</a> command in
368
+ * the Amazon EC2 API, or the <a href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html">describe-images</a> command in the
369
+ * CLI.</p>
370
+ * @public
371
+ */
372
+ UsageOperation?: string | undefined;
373
+ /**
374
+ * <p>Any block device mapping entries.</p>
375
+ * @public
376
+ */
377
+ BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
378
+ /**
379
+ * <p>The description of the AMI that was provided during image creation.</p>
380
+ * @public
381
+ */
382
+ Description?: string | undefined;
383
+ /**
384
+ * <p>Specifies whether enhanced networking with ENA is enabled.</p>
385
+ * @public
386
+ */
387
+ EnaSupport?: boolean | undefined;
388
+ /**
389
+ * <p>The hypervisor type of the image. Only <code>xen</code> is supported. <code>ovm</code> is
390
+ * not supported.</p>
391
+ * @public
392
+ */
393
+ Hypervisor?: HypervisorType | undefined;
394
+ /**
395
+ * <p>The owner alias (<code>amazon</code> | <code>aws-backup-vault</code> |
396
+ * <code>aws-marketplace</code>).</p>
397
+ * @public
398
+ */
399
+ ImageOwnerAlias?: string | undefined;
400
+ /**
401
+ * <p>The name of the AMI that was provided during image creation.</p>
402
+ * @public
403
+ */
404
+ Name?: string | undefined;
405
+ /**
406
+ * <p>The device name of the root device volume (for example, <code>/dev/sda1</code>).</p>
407
+ * @public
408
+ */
409
+ RootDeviceName?: string | undefined;
410
+ /**
411
+ * <p>The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance
412
+ * store volume.</p>
413
+ * @public
414
+ */
415
+ RootDeviceType?: DeviceType | undefined;
416
+ /**
417
+ * <p>Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is
418
+ * enabled.</p>
419
+ * @public
420
+ */
421
+ SriovNetSupport?: string | undefined;
422
+ /**
423
+ * <p>The reason for the state change.</p>
424
+ * @public
425
+ */
426
+ StateReason?: StateReason | undefined;
427
+ /**
428
+ * <p>Any tags assigned to the image.</p>
429
+ * @public
430
+ */
431
+ Tags?: Tag[] | undefined;
432
+ /**
433
+ * <p>The type of virtualization of the AMI.</p>
434
+ * @public
435
+ */
436
+ VirtualizationType?: VirtualizationType | undefined;
437
+ /**
438
+ * <p>The boot mode of the image. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html">Instance launch behavior with Amazon EC2
439
+ * boot modes</a> in the <i>Amazon EC2 User Guide</i>.</p>
440
+ * @public
441
+ */
442
+ BootMode?: BootModeValues | undefined;
443
+ /**
444
+ * <p>If the image is configured for NitroTPM support, the value is <code>v2.0</code>. For more
445
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html">NitroTPM</a> in the <i>Amazon EC2 User Guide</i>.</p>
446
+ * @public
447
+ */
448
+ TpmSupport?: TpmSupportValues | undefined;
449
+ /**
450
+ * <p>The date and time to deprecate the AMI, in UTC, in the following format:
451
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z.
452
+ * If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.</p>
453
+ * @public
454
+ */
455
+ DeprecationTime?: string | undefined;
456
+ /**
457
+ * <p>If <code>v2.0</code>, it indicates that IMDSv2 is specified in the AMI. Instances launched
458
+ * from this AMI will have <code>HttpTokens</code> automatically set to <code>required</code> so
459
+ * that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.
460
+ * In addition, <code>HttpPutResponseHopLimit</code> is set to <code>2</code>. For more
461
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration">Configure the AMI</a> in the <i>Amazon EC2 User Guide</i>.</p>
462
+ * @public
463
+ */
464
+ ImdsSupport?: ImdsSupportValues | undefined;
465
+ /**
466
+ * <p>The ID of the instance that the AMI was created from if the AMI was created using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html">CreateImage</a>. This field only appears if the AMI was created using
467
+ * CreateImage.</p>
468
+ * @public
469
+ */
470
+ SourceInstanceId?: string | undefined;
471
+ /**
472
+ * <p>Indicates whether deregistration protection is enabled for the AMI.</p>
473
+ * @public
474
+ */
475
+ DeregistrationProtection?: string | undefined;
476
+ /**
477
+ * <p>The date and time, in <a href="http://www.iso.org/iso/iso8601">ISO 8601 date-time
478
+ * format</a>, when the AMI was last used to launch an EC2 instance. When the AMI is used
479
+ * to launch an instance, there is a 24-hour delay before that usage is reported.</p>
480
+ * <note>
481
+ * <p>
482
+ * <code>lastLaunchedTime</code> data is available starting April 2017.</p>
483
+ * </note>
484
+ * @public
485
+ */
486
+ LastLaunchedTime?: string | undefined;
487
+ /**
488
+ * <p>If <code>true</code>, the AMI satisfies the criteria for Allowed AMIs and can be
489
+ * discovered and used in the account. If <code>false</code> and Allowed AMIs is set to
490
+ * <code>enabled</code>, the AMI can't be discovered or used in the account. If
491
+ * <code>false</code> and Allowed AMIs is set to <code>audit-mode</code>, the AMI can be
492
+ * discovered and used in the account.</p>
493
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html">Control the discovery and use of AMIs in
494
+ * Amazon EC2 with Allowed AMIs</a> in
495
+ * <i>Amazon EC2 User Guide</i>.</p>
496
+ * @public
497
+ */
498
+ ImageAllowed?: boolean | undefined;
499
+ /**
500
+ * <p>The ID of the source AMI from which the AMI was created.</p>
501
+ * @public
502
+ */
503
+ SourceImageId?: string | undefined;
504
+ /**
505
+ * <p>The Region of the source AMI.</p>
506
+ * @public
507
+ */
508
+ SourceImageRegion?: string | undefined;
509
+ /**
510
+ * <p>Indicates whether the image is eligible for Amazon Web Services Free Tier.</p>
511
+ * <ul>
512
+ * <li>
513
+ * <p>If <code>true</code>, the AMI is eligible for Free Tier and can be used to launch
514
+ * instances under the Free Tier limits.</p>
515
+ * </li>
516
+ * <li>
517
+ * <p>If <code>false</code>, the AMI is not eligible for Free Tier.</p>
518
+ * </li>
519
+ * </ul>
520
+ * @public
521
+ */
522
+ FreeTierEligible?: boolean | undefined;
523
+ /**
524
+ * <p>The name of the public Systems Manager parameter that resolves to this AMI, under the
525
+ * <code>aws/service/</code> namespace.</p>
526
+ * @public
527
+ */
528
+ PublicSsmParameterName?: string | undefined;
529
+ /**
530
+ * <p>The watermarks attached to the AMI.</p>
531
+ * @public
532
+ */
533
+ ImageWatermarks?: ImageWatermark[] | undefined;
534
+ /**
535
+ * <p>The ID of the AMI.</p>
536
+ * @public
537
+ */
538
+ ImageId?: string | undefined;
539
+ /**
540
+ * <p>The location of the AMI.</p>
541
+ * @public
542
+ */
543
+ ImageLocation?: string | undefined;
544
+ /**
545
+ * <p>The current state of the AMI. If the state is <code>available</code>, the image is
546
+ * successfully registered and can be used to launch an instance.</p>
547
+ * @public
548
+ */
549
+ State?: ImageState | undefined;
550
+ /**
551
+ * <p>The ID of the Amazon Web Services account that owns the image.</p>
552
+ * @public
553
+ */
554
+ OwnerId?: string | undefined;
555
+ /**
556
+ * <p>The date and time the image was created.</p>
557
+ * @public
558
+ */
559
+ CreationDate?: string | undefined;
560
+ /**
561
+ * <p>Indicates whether the image has public launch permissions. The value is <code>true</code>
562
+ * if this image has public launch permissions or <code>false</code> if it has only implicit and
563
+ * explicit launch permissions.</p>
564
+ * @public
565
+ */
566
+ Public?: boolean | undefined;
567
+ /**
568
+ * <p>Any product codes associated with the AMI.</p>
569
+ * @public
570
+ */
571
+ ProductCodes?: ProductCode[] | undefined;
572
+ /**
573
+ * <p>The architecture of the image.</p>
574
+ * @public
575
+ */
576
+ Architecture?: ArchitectureValues | undefined;
577
+ /**
578
+ * <p>The type of image.</p>
579
+ * @public
580
+ */
581
+ ImageType?: ImageTypeValues | undefined;
582
+ /**
583
+ * <p>The kernel associated with the image, if any. Only applicable for machine images.</p>
584
+ * @public
585
+ */
586
+ KernelId?: string | undefined;
587
+ /**
588
+ * <p>The RAM disk associated with the image, if any. Only applicable for machine images.</p>
589
+ * @public
590
+ */
591
+ RamdiskId?: string | undefined;
592
+ /**
593
+ * <p>This value is set to <code>windows</code> for Windows AMIs; otherwise, it is blank.</p>
594
+ * @public
595
+ */
596
+ Platform?: PlatformValues | undefined;
597
+ }
598
+ /**
599
+ * @public
600
+ */
601
+ export interface DescribeImagesResult {
602
+ /**
603
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
604
+ * are no more items to return.</p>
605
+ * @public
606
+ */
607
+ NextToken?: string | undefined;
608
+ /**
609
+ * <p>Information about the images.</p>
610
+ * @public
611
+ */
612
+ Images?: Image[] | undefined;
613
+ }
614
+ /**
615
+ * @public
616
+ */
617
+ export interface DescribeImageUsageReportEntriesRequest {
618
+ /**
619
+ * <p>The IDs of the images for filtering the report entries. If specified, only report entries
620
+ * containing these images are returned.</p>
621
+ * @public
622
+ */
623
+ ImageIds?: string[] | undefined;
624
+ /**
625
+ * <p>The IDs of the usage reports.</p>
626
+ * @public
627
+ */
628
+ ReportIds?: string[] | undefined;
629
+ /**
630
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
631
+ * @public
632
+ */
633
+ NextToken?: string | undefined;
634
+ /**
635
+ * <p>The filters.</p>
636
+ * <ul>
637
+ * <li>
638
+ * <p>
639
+ * <code>account-id</code> - A 12-digit Amazon Web Services account ID.</p>
640
+ * </li>
641
+ * <li>
642
+ * <p>
643
+ * <code>creation-time</code> - The time when the report was created, in the ISO 8601
644
+ * format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,
645
+ * <code>2025-11-29T11:04:43.305Z</code>. You can use a wildcard (<code>*</code>), for
646
+ * example, <code>2025-11-29T*</code>, which matches an entire day.</p>
647
+ * </li>
648
+ * <li>
649
+ * <p>
650
+ * <code>resource-type</code> - The resource type (<code>ec2:Instance</code> |
651
+ * <code>ec2:LaunchTemplate</code>).</p>
652
+ * </li>
653
+ * </ul>
654
+ * @public
655
+ */
656
+ Filters?: Filter[] | undefined;
657
+ /**
658
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
659
+ * and provides an error response. If you have the required permissions, the error response is
660
+ * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
661
+ * @public
662
+ */
663
+ DryRun?: boolean | undefined;
664
+ /**
665
+ * <p>The maximum number of items to return for this request.
666
+ * To get the next page of items, make another request with the token returned in the output.
667
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
668
+ * @public
669
+ */
670
+ MaxResults?: number | undefined;
671
+ }
672
+ /**
673
+ * <p>A single entry in an image usage report, detailing how an image is being used by a
674
+ * specific Amazon Web Services account and resource type.</p>
675
+ * @public
676
+ */
677
+ export interface ImageUsageReportEntry {
678
+ /**
679
+ * <p>The type of resource (<code>ec2:Instance</code> or
680
+ * <code>ec2:LaunchTemplate</code>).</p>
681
+ * @public
682
+ */
683
+ ResourceType?: string | undefined;
684
+ /**
685
+ * <p>The ID of the report.</p>
686
+ * @public
687
+ */
688
+ ReportId?: string | undefined;
689
+ /**
690
+ * <p>The number of times resources of this type reference this image in the account.</p>
691
+ * @public
692
+ */
693
+ UsageCount?: number | undefined;
694
+ /**
695
+ * <p>The ID of the account that uses the image.</p>
696
+ * @public
697
+ */
698
+ AccountId?: string | undefined;
699
+ /**
700
+ * <p>The ID of the image.</p>
701
+ * @public
702
+ */
703
+ ImageId?: string | undefined;
704
+ /**
705
+ * <p>The date and time the report creation was initiated.</p>
706
+ * @public
707
+ */
708
+ ReportCreationTime?: Date | undefined;
709
+ }
710
+ /**
711
+ * @public
712
+ */
713
+ export interface DescribeImageUsageReportEntriesResult {
714
+ /**
715
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
716
+ * are no more items to return.</p>
717
+ * @public
718
+ */
719
+ NextToken?: string | undefined;
720
+ /**
721
+ * <p>The content of the usage reports.</p>
722
+ * @public
723
+ */
724
+ ImageUsageReportEntries?: ImageUsageReportEntry[] | undefined;
725
+ }
726
+ /**
727
+ * @public
728
+ */
729
+ export interface DescribeImageUsageReportsRequest {
730
+ /**
731
+ * <p>The IDs of the images for filtering the reports. If specified, only reports containing
732
+ * these images are returned.</p>
733
+ * @public
734
+ */
735
+ ImageIds?: string[] | undefined;
736
+ /**
737
+ * <p>The IDs of the image usage reports.</p>
738
+ * @public
739
+ */
740
+ ReportIds?: string[] | undefined;
741
+ /**
742
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
743
+ * @public
744
+ */
745
+ NextToken?: string | undefined;
746
+ /**
747
+ * <p>The filters.</p>
748
+ * <ul>
749
+ * <li>
750
+ * <p>
751
+ * <code>creation-time</code> - The time when the report was created, in the ISO 8601
752
+ * format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,
753
+ * <code>2025-11-29T11:04:43.305Z</code>. You can use a wildcard (<code>*</code>), for
754
+ * example, <code>2025-11-29T*</code>, which matches an entire day.</p>
755
+ * </li>
756
+ * <li>
757
+ * <p>
758
+ * <code>state</code> - The state of the report (<code>available</code> |
759
+ * <code>pending</code> | <code>error</code>).</p>
760
+ * </li>
761
+ * <li>
762
+ * <p>
763
+ * <code>tag:<key></code> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
764
+ * For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
765
+ * </li>
766
+ * <li>
767
+ * <p>
768
+ * <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p>
769
+ * </li>
770
+ * </ul>
771
+ * @public
772
+ */
773
+ Filters?: Filter[] | undefined;
774
+ /**
775
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
776
+ * and provides an error response. If you have the required permissions, the error response is
777
+ * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
778
+ * @public
779
+ */
780
+ DryRun?: boolean | undefined;
781
+ /**
782
+ * <p>The maximum number of items to return for this request.
783
+ * To get the next page of items, make another request with the token returned in the output.
784
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
785
+ * @public
786
+ */
787
+ MaxResults?: number | undefined;
788
+ }
789
+ /**
790
+ * <p>The options that affect the scope of the report.</p>
791
+ * @public
792
+ */
793
+ export interface ImageUsageResourceTypeOption {
794
+ /**
795
+ * <p>The name of the option.</p>
796
+ * @public
797
+ */
798
+ OptionName?: string | undefined;
799
+ /**
800
+ * <p>The number of launch template versions to check.</p>
801
+ * @public
802
+ */
803
+ OptionValues?: string[] | undefined;
804
+ }
6
805
  /**
7
806
  * <p>A resource type to include in the report. Associated options can also be specified if the
8
807
  * resource type is a launch template.</p>
@@ -12291,349 +13090,3 @@ export interface SpotFleetTagSpecification {
12291
13090
  */
12292
13091
  Tags?: Tag[] | undefined;
12293
13092
  }
12294
- /**
12295
- * <p>Describes the launch specification for one or more Spot Instances. If you include
12296
- * On-Demand capacity in your fleet request or want to specify an EFA network device, you
12297
- * 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>
12298
- * @public
12299
- */
12300
- export interface SpotFleetLaunchSpecification {
12301
- /**
12302
- * <p>Deprecated.</p>
12303
- * @public
12304
- */
12305
- AddressingType?: string | undefined;
12306
- /**
12307
- * <p>One or more block devices that are mapped to the Spot Instances. You can't specify both
12308
- * a snapshot ID and an encryption value. This is because only blank volumes can be
12309
- * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its
12310
- * encryption status is used for the volume encryption status.</p>
12311
- * @public
12312
- */
12313
- BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
12314
- /**
12315
- * <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>
12316
- * <p>Default: <code>false</code>
12317
- * </p>
12318
- * @public
12319
- */
12320
- EbsOptimized?: boolean | undefined;
12321
- /**
12322
- * <p>The IAM instance profile.</p>
12323
- * @public
12324
- */
12325
- IamInstanceProfile?: IamInstanceProfileSpecification | undefined;
12326
- /**
12327
- * <p>The ID of the AMI.</p>
12328
- * @public
12329
- */
12330
- ImageId?: string | undefined;
12331
- /**
12332
- * <p>The instance type.</p>
12333
- * @public
12334
- */
12335
- InstanceType?: _InstanceType | undefined;
12336
- /**
12337
- * <p>The ID of the kernel.</p>
12338
- * @public
12339
- */
12340
- KernelId?: string | undefined;
12341
- /**
12342
- * <p>The name of the key pair.</p>
12343
- * @public
12344
- */
12345
- KeyName?: string | undefined;
12346
- /**
12347
- * <p>Enable or disable monitoring for the instances.</p>
12348
- * @public
12349
- */
12350
- Monitoring?: SpotFleetMonitoring | undefined;
12351
- /**
12352
- * <p>The network interfaces.</p>
12353
- * <note>
12354
- * <p>
12355
- * <code>SpotFleetLaunchSpecification</code> does not support Elastic Fabric Adapter (EFA).
12356
- * You must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a> instead.</p>
12357
- * </note>
12358
- * @public
12359
- */
12360
- NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined;
12361
- /**
12362
- * <p>The placement information.</p>
12363
- * @public
12364
- */
12365
- Placement?: SpotPlacement | undefined;
12366
- /**
12367
- * <p>The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel
12368
- * requirements for information about whether you need to specify a RAM disk. To find kernel
12369
- * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.</p>
12370
- * @public
12371
- */
12372
- RamdiskId?: string | undefined;
12373
- /**
12374
- * <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
12375
- * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
12376
- * <important>
12377
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
12378
- * </important>
12379
- * @public
12380
- */
12381
- SpotPrice?: string | undefined;
12382
- /**
12383
- * <p>The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate
12384
- * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".</p>
12385
- * <p>If you specify a network interface, you must specify any subnets as part of the
12386
- * network interface instead of using this parameter.</p>
12387
- * @public
12388
- */
12389
- SubnetId?: string | undefined;
12390
- /**
12391
- * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
12392
- * @public
12393
- */
12394
- UserData?: string | undefined;
12395
- /**
12396
- * <p>The number of units provided by the specified instance type. These are the same units
12397
- * that you chose to set the target capacity in terms of instances, or a performance
12398
- * characteristic such as vCPUs, memory, or I/O.</p>
12399
- * <p>If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the
12400
- * number of instances to the next whole number. If this value is not specified, the default
12401
- * is 1.</p>
12402
- * <note>
12403
- * <p>When specifying weights, the price used in the <code>lowestPrice</code> and
12404
- * <code>priceCapacityOptimized</code> allocation strategies is per
12405
- * <i>unit</i> hour (where the instance price is divided by the specified
12406
- * weight). However, if all the specified weights are above the requested
12407
- * <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
12408
- * used is per <i>instance</i> hour.</p>
12409
- * </note>
12410
- * @public
12411
- */
12412
- WeightedCapacity?: number | undefined;
12413
- /**
12414
- * <p>The tags to apply during creation.</p>
12415
- * @public
12416
- */
12417
- TagSpecifications?: SpotFleetTagSpecification[] | undefined;
12418
- /**
12419
- * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
12420
- * identify instance types with those attributes.</p>
12421
- * <note>
12422
- * <p>If you specify <code>InstanceRequirements</code>, you can't specify
12423
- * <code>InstanceType</code>.</p>
12424
- * </note>
12425
- * @public
12426
- */
12427
- InstanceRequirements?: InstanceRequirements | undefined;
12428
- /**
12429
- * <p>The security groups.</p>
12430
- * <p>If you specify a network interface, you must specify any security groups as part of
12431
- * the network interface instead of using this parameter.</p>
12432
- * @public
12433
- */
12434
- SecurityGroups?: GroupIdentifier[] | undefined;
12435
- }
12436
- /**
12437
- * <p>Describes overrides for a launch template.</p>
12438
- * @public
12439
- */
12440
- export interface LaunchTemplateOverrides {
12441
- /**
12442
- * <p>The instance type.</p>
12443
- * @public
12444
- */
12445
- InstanceType?: _InstanceType | undefined;
12446
- /**
12447
- * <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
12448
- * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
12449
- * <important>
12450
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
12451
- * </important>
12452
- * @public
12453
- */
12454
- SpotPrice?: string | undefined;
12455
- /**
12456
- * <p>The ID of the subnet in which to launch the instances.</p>
12457
- * @public
12458
- */
12459
- SubnetId?: string | undefined;
12460
- /**
12461
- * <p>The Availability Zone in which to launch the instances. For example,
12462
- * <code>us-east-2a</code>.</p>
12463
- * <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be
12464
- * specified in the request, but not both.</p>
12465
- * @public
12466
- */
12467
- AvailabilityZone?: string | undefined;
12468
- /**
12469
- * <p>The number of units provided by the specified instance type. These are the same units
12470
- * that you chose to set the target capacity in terms of instances, or a performance
12471
- * characteristic such as vCPUs, memory, or I/O.</p>
12472
- * <p>If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the
12473
- * number of instances to the next whole number. If this value is not specified, the default
12474
- * is 1.</p>
12475
- * <note>
12476
- * <p>When specifying weights, the price used in the <code>lowestPrice</code> and
12477
- * <code>priceCapacityOptimized</code> allocation strategies is per
12478
- * <i>unit</i> hour (where the instance price is divided by the specified
12479
- * weight). However, if all the specified weights are above the requested
12480
- * <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
12481
- * used is per <i>instance</i> hour.</p>
12482
- * </note>
12483
- * @public
12484
- */
12485
- WeightedCapacity?: number | undefined;
12486
- /**
12487
- * <p>The priority for the launch template override. The highest priority is launched
12488
- * first.</p>
12489
- * <p>If <code>OnDemandAllocationStrategy</code> is set to <code>prioritized</code>, Spot Fleet
12490
- * uses priority to determine which launch template override to use first in fulfilling
12491
- * On-Demand capacity.</p>
12492
- * <p>If the Spot <code>AllocationStrategy</code> is set to
12493
- * <code>capacityOptimizedPrioritized</code>, Spot Fleet uses priority on a best-effort basis
12494
- * to determine which launch template override to use in fulfilling Spot capacity, but
12495
- * optimizes for capacity first.</p>
12496
- * <p>Valid values are whole numbers starting at <code>0</code>. The lower the number, the
12497
- * higher the priority. If no number is set, the launch template override has the lowest
12498
- * priority. You can set the same priority for different launch template overrides.</p>
12499
- * @public
12500
- */
12501
- Priority?: number | undefined;
12502
- /**
12503
- * <p>The instance requirements. When you specify instance requirements, Amazon EC2 will identify
12504
- * instance types with the provided requirements, and then use your On-Demand and Spot
12505
- * allocation strategies to launch instances from these instance types, in the same way as
12506
- * when you specify a list of instance types.</p>
12507
- * <note>
12508
- * <p>If you specify <code>InstanceRequirements</code>, you can't specify
12509
- * <code>InstanceType</code>.</p>
12510
- * </note>
12511
- * @public
12512
- */
12513
- InstanceRequirements?: InstanceRequirements | undefined;
12514
- /**
12515
- * <p>The ID of the Availability Zone in which to launch the instances. For example,
12516
- * <code>use2-az1</code>.</p>
12517
- * <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be
12518
- * specified in the request, but not both.</p>
12519
- * @public
12520
- */
12521
- AvailabilityZoneId?: string | undefined;
12522
- }
12523
- /**
12524
- * <p>Describes a launch template and overrides.</p>
12525
- * @public
12526
- */
12527
- export interface LaunchTemplateConfig {
12528
- /**
12529
- * <p>The launch template to use. Make sure that the launch template does not contain the
12530
- * <code>NetworkInterfaceId</code> parameter because you can't specify a network interface
12531
- * ID in a Spot Fleet.</p>
12532
- * @public
12533
- */
12534
- LaunchTemplateSpecification?: FleetLaunchTemplateSpecification | undefined;
12535
- /**
12536
- * <p>Any parameters that you specify override the same parameters in the launch
12537
- * template.</p>
12538
- * @public
12539
- */
12540
- Overrides?: LaunchTemplateOverrides[] | undefined;
12541
- }
12542
- /**
12543
- * <p>Describes a Classic Load Balancer.</p>
12544
- * @public
12545
- */
12546
- export interface ClassicLoadBalancer {
12547
- /**
12548
- * <p>The name of the load balancer.</p>
12549
- * @public
12550
- */
12551
- Name?: string | undefined;
12552
- }
12553
- /**
12554
- * <p>Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers
12555
- * the running Spot Instances with these Classic Load Balancers.</p>
12556
- * @public
12557
- */
12558
- export interface ClassicLoadBalancersConfig {
12559
- /**
12560
- * <p>One or more Classic Load Balancers.</p>
12561
- * @public
12562
- */
12563
- ClassicLoadBalancers?: ClassicLoadBalancer[] | undefined;
12564
- }
12565
- /**
12566
- * <p>Describes a load balancer target group.</p>
12567
- * @public
12568
- */
12569
- export interface TargetGroup {
12570
- /**
12571
- * <p>The Amazon Resource Name (ARN) of the target group.</p>
12572
- * @public
12573
- */
12574
- Arn?: string | undefined;
12575
- }
12576
- /**
12577
- * <p>Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the
12578
- * running Spot Instances with these target groups.</p>
12579
- * @public
12580
- */
12581
- export interface TargetGroupsConfig {
12582
- /**
12583
- * <p>One or more target groups.</p>
12584
- * @public
12585
- */
12586
- TargetGroups?: TargetGroup[] | undefined;
12587
- }
12588
- /**
12589
- * <p>Describes the Classic Load Balancers and target groups to attach to a Spot Fleet
12590
- * request.</p>
12591
- * @public
12592
- */
12593
- export interface LoadBalancersConfig {
12594
- /**
12595
- * <p>The Classic Load Balancers.</p>
12596
- * @public
12597
- */
12598
- ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig | undefined;
12599
- /**
12600
- * <p>The target groups.</p>
12601
- * @public
12602
- */
12603
- TargetGroupsConfig?: TargetGroupsConfig | undefined;
12604
- }
12605
- /**
12606
- * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
12607
- * Spot Instance is at an elevated risk of being interrupted. For more information, see
12608
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity
12609
- * rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
12610
- * @public
12611
- */
12612
- export interface SpotCapacityRebalance {
12613
- /**
12614
- * <p>The replacement strategy to use. Only available for fleets of type
12615
- * <code>maintain</code>.</p>
12616
- * <p>
12617
- * <code>launch</code> - Spot Fleet launches a new replacement Spot Instance when a
12618
- * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet
12619
- * does not terminate the instances that receive a rebalance notification. You can
12620
- * terminate the old instances, or you can leave them running. You are charged for all
12621
- * instances while they are running. </p>
12622
- * <p>
12623
- * <code>launch-before-terminate</code> - Spot Fleet launches a new replacement Spot
12624
- * Instance when a rebalance notification is emitted for an existing Spot Instance in the
12625
- * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
12626
- * terminates the instances that received a rebalance notification.</p>
12627
- * @public
12628
- */
12629
- ReplacementStrategy?: ReplacementStrategy | undefined;
12630
- /**
12631
- * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
12632
- * Instance after launching a new replacement Spot Instance.</p>
12633
- * <p>Required when <code>ReplacementStrategy</code> is set to <code>launch-before-terminate</code>.</p>
12634
- * <p>Not valid when <code>ReplacementStrategy</code> is set to <code>launch</code>.</p>
12635
- * <p>Valid values: Minimum value of <code>120</code> seconds. Maximum value of <code>7200</code> seconds.</p>
12636
- * @public
12637
- */
12638
- TerminationDelay?: number | undefined;
12639
- }