@aws-sdk/client-ec2 3.451.0 → 3.452.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 (87) hide show
  1. package/README.md +24 -0
  2. package/dist-cjs/EC2.js +6 -0
  3. package/dist-cjs/commands/DescribeLockedSnapshotsCommand.js +51 -0
  4. package/dist-cjs/commands/LockSnapshotCommand.js +51 -0
  5. package/dist-cjs/commands/RequestSpotInstancesCommand.js +3 -3
  6. package/dist-cjs/commands/UnlockSnapshotCommand.js +51 -0
  7. package/dist-cjs/commands/index.js +3 -0
  8. package/dist-cjs/models/models_0.js +1 -0
  9. package/dist-cjs/models/models_4.js +8 -2
  10. package/dist-cjs/models/models_6.js +5 -18
  11. package/dist-cjs/models/models_7.js +20 -1
  12. package/dist-cjs/protocols/Aws_ec2.js +285 -20
  13. package/dist-es/EC2.js +6 -0
  14. package/dist-es/commands/DescribeLockedSnapshotsCommand.js +47 -0
  15. package/dist-es/commands/LockSnapshotCommand.js +47 -0
  16. package/dist-es/commands/RequestSpotInstancesCommand.js +1 -1
  17. package/dist-es/commands/UnlockSnapshotCommand.js +47 -0
  18. package/dist-es/commands/index.js +3 -0
  19. package/dist-es/models/models_0.js +1 -0
  20. package/dist-es/models/models_4.js +6 -0
  21. package/dist-es/models/models_6.js +5 -16
  22. package/dist-es/models/models_7.js +17 -0
  23. package/dist-es/protocols/Aws_ec2.js +259 -0
  24. package/dist-types/EC2.d.ts +21 -0
  25. package/dist-types/EC2Client.d.ts +5 -2
  26. package/dist-types/commands/CreateCapacityReservationFleetCommand.d.ts +2 -2
  27. package/dist-types/commands/CreateFleetCommand.d.ts +4 -4
  28. package/dist-types/commands/CreateLaunchTemplateCommand.d.ts +1 -1
  29. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +2 -2
  30. package/dist-types/commands/DescribeCapacityReservationFleetsCommand.d.ts +1 -1
  31. package/dist-types/commands/DescribeFleetsCommand.d.ts +4 -4
  32. package/dist-types/commands/DescribeInstanceTypeOfferingsCommand.d.ts +1 -1
  33. package/dist-types/commands/DescribeInstanceTypesCommand.d.ts +2 -2
  34. package/dist-types/commands/DescribeInstancesCommand.d.ts +1 -1
  35. package/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +1 -1
  36. package/dist-types/commands/DescribeLockedSnapshotsCommand.d.ts +99 -0
  37. package/dist-types/commands/DescribeReservedInstancesCommand.d.ts +1 -1
  38. package/dist-types/commands/DescribeReservedInstancesModificationsCommand.d.ts +1 -1
  39. package/dist-types/commands/DescribeReservedInstancesOfferingsCommand.d.ts +2 -2
  40. package/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +2 -2
  41. package/dist-types/commands/DescribeSpotInstanceRequestsCommand.d.ts +1 -1
  42. package/dist-types/commands/DescribeSpotPriceHistoryCommand.d.ts +2 -2
  43. package/dist-types/commands/DescribeTransitGatewayMulticastDomainsCommand.d.ts +2 -1
  44. package/dist-types/commands/DescribeTransitGatewayPeeringAttachmentsCommand.d.ts +1 -1
  45. package/dist-types/commands/DescribeTransitGatewayPolicyTablesCommand.d.ts +1 -2
  46. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +1 -1
  47. package/dist-types/commands/GetSnapshotBlockPublicAccessStateCommand.d.ts +1 -1
  48. package/dist-types/commands/GetSpotPlacementScoresCommand.d.ts +1 -2
  49. package/dist-types/commands/ImportInstanceCommand.d.ts +1 -1
  50. package/dist-types/commands/LockSnapshotCommand.d.ts +103 -0
  51. package/dist-types/commands/ModifyFleetCommand.d.ts +1 -1
  52. package/dist-types/commands/ModifyReservedInstancesCommand.d.ts +1 -1
  53. package/dist-types/commands/ModifySpotFleetRequestCommand.d.ts +1 -1
  54. package/dist-types/commands/RequestSpotFleetCommand.d.ts +2 -2
  55. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +3 -3
  56. package/dist-types/commands/ResetAddressAttributeCommand.d.ts +1 -1
  57. package/dist-types/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +1 -1
  58. package/dist-types/commands/RunInstancesCommand.d.ts +2 -2
  59. package/dist-types/commands/UnlockSnapshotCommand.d.ts +76 -0
  60. package/dist-types/commands/index.d.ts +3 -0
  61. package/dist-types/models/models_0.d.ts +1 -0
  62. package/dist-types/models/models_4.d.ts +154 -129
  63. package/dist-types/models/models_5.d.ts +130 -137
  64. package/dist-types/models/models_6.d.ts +309 -210
  65. package/dist-types/models/models_7.d.ts +235 -3
  66. package/dist-types/protocols/Aws_ec2.d.ts +27 -0
  67. package/dist-types/ts3.4/EC2.d.ts +51 -0
  68. package/dist-types/ts3.4/EC2Client.d.ts +18 -0
  69. package/dist-types/ts3.4/commands/DescribeLockedSnapshotsCommand.d.ts +42 -0
  70. package/dist-types/ts3.4/commands/DescribeTransitGatewayMulticastDomainsCommand.d.ts +2 -4
  71. package/dist-types/ts3.4/commands/DescribeTransitGatewayPeeringAttachmentsCommand.d.ts +1 -1
  72. package/dist-types/ts3.4/commands/DescribeTransitGatewayPolicyTablesCommand.d.ts +4 -2
  73. package/dist-types/ts3.4/commands/GetSnapshotBlockPublicAccessStateCommand.d.ts +1 -1
  74. package/dist-types/ts3.4/commands/GetSpotPlacementScoresCommand.d.ts +4 -2
  75. package/dist-types/ts3.4/commands/LockSnapshotCommand.d.ts +35 -0
  76. package/dist-types/ts3.4/commands/RequestSpotInstancesCommand.d.ts +1 -1
  77. package/dist-types/ts3.4/commands/ResetAddressAttributeCommand.d.ts +1 -1
  78. package/dist-types/ts3.4/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +1 -1
  79. package/dist-types/ts3.4/commands/UnlockSnapshotCommand.d.ts +38 -0
  80. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  81. package/dist-types/ts3.4/models/models_0.d.ts +1 -0
  82. package/dist-types/ts3.4/models/models_4.d.ts +29 -24
  83. package/dist-types/ts3.4/models/models_5.d.ts +24 -23
  84. package/dist-types/ts3.4/models/models_6.d.ts +51 -47
  85. package/dist-types/ts3.4/models/models_7.d.ts +54 -1
  86. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +36 -0
  87. package/package.json +1 -1
@@ -1,9 +1,143 @@
1
- import { _InstanceType, AddedPrincipal, AddIpamOperatingRegion, AddPrefixListEntry, AddressAttribute, AddressAttributeName, Affinity, ApplianceModeSupportValue, AutoPlacement, ByoipCidr, CapacityReservation, CapacityReservationInstancePlatform, CurrencyCodeValues, DnsSupportValue, EnaSrdSpecification, EndDateType, HostMaintenance, HostRecovery, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, Ipv6SupportValue, PortRange, RouteTableAssociationState, SubnetAssociation, Tag, TagSpecification, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, UnsuccessfulItem, VerifiedAccessInstance, VerifiedAccessSseSpecificationResponse, VerifiedAccessTrustProvider } from "./models_0";
2
- import { AttributeValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTarget, ClientConnectOptions, ClientLoginBannerOptions, ConnectionLogOptions, DiskImageFormat, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateConfigRequest, HostnameType, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, InstanceInterruptionBehavior, Ipam, IpamPool, IpamResourceDiscovery, IpamScope, LaunchTemplate, LocalGatewayRoute, ManagedPrefixList, Placement, PlatformValues, RequestIpamResourceTag, RuleAction, SelfServicePortal, ShutdownBehavior, SpotInstanceType, TargetCapacitySpecificationRequest, VolumeType } from "./models_1";
1
+ import { _InstanceType, AddedPrincipal, AddIpamOperatingRegion, AddPrefixListEntry, AddressAttribute, Affinity, ApplianceModeSupportValue, AutoPlacement, ByoipCidr, CapacityReservation, CapacityReservationInstancePlatform, CurrencyCodeValues, DnsSupportValue, EnaSrdSpecification, EndDateType, HostMaintenance, HostRecovery, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, Ipv6SupportValue, PortRange, RouteTableAssociationState, SubnetAssociation, Tag, TagSpecification, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, UnsuccessfulItem, VerifiedAccessInstance, VerifiedAccessSseSpecificationResponse, VerifiedAccessTrustProvider } from "./models_0";
2
+ import { AttributeValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTarget, ClientConnectOptions, ClientLoginBannerOptions, ConnectionLogOptions, DiskImageFormat, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateConfigRequest, HostnameType, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, InstanceRequirementsRequest, Ipam, IpamPool, IpamResourceDiscovery, IpamScope, LaunchTemplate, LocalGatewayRoute, ManagedPrefixList, Placement, PlatformValues, RequestIpamResourceTag, RuleAction, SelfServicePortal, ShutdownBehavior, TargetCapacitySpecificationRequest, TargetCapacityUnitType, VolumeType } from "./models_1";
3
3
  import { AutoAcceptSharedAttachmentsValue, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, DnsOptionsSpecification, IKEVersionsRequestListValue, IpAddressType, PayerResponsibility, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsRequestListValue, Phase1IntegrityAlgorithmsRequestListValue, Phase2DHGroupNumbersRequestListValue, Phase2EncryptionAlgorithmsRequestListValue, Phase2IntegrityAlgorithmsRequestListValue, SubnetCidrReservation, SubnetConfiguration, TrafficDirection, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorNetworkService, TrafficMirrorPortRangeRequest, TrafficMirrorRuleAction, TrafficMirrorSession, TransitGateway, TransitGatewayPrefixListReference, TransitGatewayRoute, VerifiedAccessEndpoint, VerifiedAccessEndpointProtocol, VerifiedAccessGroup, VerifiedAccessSseSpecificationRequest, VpnConnection, VpnEcmpSupportValue, VpnTunnelLogOptionsSpecification } from "./models_2";
4
- import { ArchitectureValues, AttributeBooleanValue, BootModeValues, ConversionTask, Filter, FpgaImageAttribute, FpgaImageAttributeName, ImdsSupportValues, ImportImageLicenseConfigurationResponse, InstanceAttributeName, InstanceTagNotificationAttribute, IpamPoolCidr, LaunchPermission, PermissionGroup, SnapshotDetail, SnapshotTaskDetail, TpmSupportValues } from "./models_3";
5
- import { CreateVolumePermission, ExcessCapacityTerminationPolicy, HttpTokensState, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataOptionsResponse, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceNetworkInterfaceSpecification, InstanceStatusEvent, LaunchTemplateConfig, Monitoring, PublicIpv4PoolRange, ReservedInstancesConfiguration, RunInstancesMonitoringEnabled, ScheduledInstance, SnapshotAttributeName, SpotFleetRequestConfigData, SpotInstanceRequest, SpotPlacement } from "./models_4";
6
- import { InstanceFamilyCreditSpecification, IpamResourceCidr, Purchase, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, VerifiedAccessInstanceLoggingConfiguration, VolumeModification } from "./models_5";
4
+ import { ArchitectureValues, AttributeBooleanValue, BootModeValues, ConversionTask, Filter, FpgaImageAttribute, FpgaImageAttributeName, ImdsSupportValues, ImportImageLicenseConfigurationResponse, InstanceAttributeName, InstanceTagNotificationAttribute, IpamPoolCidr, LaunchPermission, PermissionGroup, SnapshotDetail, SnapshotTaskDetail, TpmSupportValues, VirtualizationType } from "./models_3";
5
+ import { ArchitectureType, CreateVolumePermission, ExcessCapacityTerminationPolicy, HttpTokensState, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataOptionsResponse, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceNetworkInterfaceSpecification, InstanceStatusEvent, LaunchTemplateConfig, LockState, Monitoring, PublicIpv4PoolRange, ReservedInstancesConfiguration, RunInstancesMonitoringEnabled, ScheduledInstance, SnapshotAttributeName, SpotFleetRequestConfigData, SpotPlacement } from "./models_4";
6
+ import { InstanceFamilyCreditSpecification, IpamResourceCidr, Purchase, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, VerifiedAccessInstanceLoggingConfiguration, VolumeModification } from "./models_5";
7
+ /**
8
+ * @public
9
+ */
10
+ export interface GetSnapshotBlockPublicAccessStateRequest {
11
+ /**
12
+ * @public
13
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
14
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
15
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
16
+ */
17
+ DryRun?: boolean;
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ export interface GetSnapshotBlockPublicAccessStateResult {
23
+ /**
24
+ * @public
25
+ * <p>The current state of block public access for snapshots. Possible values include:</p>
26
+ * <ul>
27
+ * <li>
28
+ * <p>
29
+ * <code>block-all-sharing</code> - All public sharing of snapshots is blocked. Users in
30
+ * the account can't request new public sharing. Additionally, snapshots that were already
31
+ * publicly shared are treated as private and are not publicly available.</p>
32
+ * </li>
33
+ * <li>
34
+ * <p>
35
+ * <code>block-new-sharing</code> - Only new public sharing of snapshots is blocked.
36
+ * Users in the account can't request new public sharing. However, snapshots that were
37
+ * already publicly shared, remain publicly available.</p>
38
+ * </li>
39
+ * <li>
40
+ * <p>
41
+ * <code>unblocked</code> - Public sharing is not blocked. Users can publicly share
42
+ * snapshots.</p>
43
+ * </li>
44
+ * </ul>
45
+ */
46
+ State?: SnapshotBlockPublicAccessState;
47
+ }
48
+ /**
49
+ * @public
50
+ * <p>The architecture type, virtualization type, and other attributes for the instance types.
51
+ * When you specify instance attributes, Amazon EC2 will identify instance types with those
52
+ * attributes.</p>
53
+ * <p>If you specify <code>InstanceRequirementsWithMetadataRequest</code>, you can't specify
54
+ * <code>InstanceTypes</code>.</p>
55
+ */
56
+ export interface InstanceRequirementsWithMetadataRequest {
57
+ /**
58
+ * @public
59
+ * <p>The architecture type.</p>
60
+ */
61
+ ArchitectureTypes?: ArchitectureType[];
62
+ /**
63
+ * @public
64
+ * <p>The virtualization type.</p>
65
+ */
66
+ VirtualizationTypes?: VirtualizationType[];
67
+ /**
68
+ * @public
69
+ * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
70
+ * identify instance types with those attributes.</p>
71
+ */
72
+ InstanceRequirements?: InstanceRequirementsRequest;
73
+ }
74
+ /**
75
+ * @public
76
+ */
77
+ export interface GetSpotPlacementScoresRequest {
78
+ /**
79
+ * @public
80
+ * <p>The instance types. We recommend that you specify at least three instance types. If you
81
+ * specify one or two instance types, or specify variations of a single instance type (for
82
+ * example, an <code>m3.xlarge</code> with and without instance storage), the returned
83
+ * placement score will always be low. </p>
84
+ * <p>If you specify <code>InstanceTypes</code>, you can't specify
85
+ * <code>InstanceRequirementsWithMetadata</code>.</p>
86
+ */
87
+ InstanceTypes?: string[];
88
+ /**
89
+ * @public
90
+ * <p>The target capacity.</p>
91
+ */
92
+ TargetCapacity: number | undefined;
93
+ /**
94
+ * @public
95
+ * <p>The unit for the target capacity.</p>
96
+ * <p>Default: <code>units</code> (translates to number of instances)</p>
97
+ */
98
+ TargetCapacityUnitType?: TargetCapacityUnitType;
99
+ /**
100
+ * @public
101
+ * <p>Specify <code>true</code> so that the response returns a list of scored Availability Zones.
102
+ * Otherwise, the response returns a list of scored Regions.</p>
103
+ * <p>A list of scored Availability Zones is useful if you want to launch all of your Spot
104
+ * capacity into a single Availability Zone.</p>
105
+ */
106
+ SingleAvailabilityZone?: boolean;
107
+ /**
108
+ * @public
109
+ * <p>The Regions used to narrow down the list of Regions to be scored. Enter the Region code,
110
+ * for example, <code>us-east-1</code>.</p>
111
+ */
112
+ RegionNames?: string[];
113
+ /**
114
+ * @public
115
+ * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
116
+ * identify instance types with those attributes.</p>
117
+ * <p>If you specify <code>InstanceRequirementsWithMetadata</code>, you can't specify
118
+ * <code>InstanceTypes</code>.</p>
119
+ */
120
+ InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest;
121
+ /**
122
+ * @public
123
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
124
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
125
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
126
+ */
127
+ DryRun?: boolean;
128
+ /**
129
+ * @public
130
+ * <p>The maximum number of items to return for this request.
131
+ * To get the next page of items, make another request with the token returned in the output.
132
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
133
+ */
134
+ MaxResults?: number;
135
+ /**
136
+ * @public
137
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
138
+ */
139
+ NextToken?: string;
140
+ }
7
141
  /**
8
142
  * @public
9
143
  * <p>The Spot placement score for this Region or Availability Zone. The score is calculated
@@ -1903,6 +2037,176 @@ export interface ListSnapshotsInRecycleBinResult {
1903
2037
  */
1904
2038
  NextToken?: string;
1905
2039
  }
2040
+ /**
2041
+ * @public
2042
+ * @enum
2043
+ */
2044
+ export declare const LockMode: {
2045
+ readonly compliance: "compliance";
2046
+ readonly governance: "governance";
2047
+ };
2048
+ /**
2049
+ * @public
2050
+ */
2051
+ export type LockMode = (typeof LockMode)[keyof typeof LockMode];
2052
+ /**
2053
+ * @public
2054
+ */
2055
+ export interface LockSnapshotRequest {
2056
+ /**
2057
+ * @public
2058
+ * <p>The ID of the snapshot to lock.</p>
2059
+ */
2060
+ SnapshotId: string | undefined;
2061
+ /**
2062
+ * @public
2063
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
2064
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
2065
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
2066
+ */
2067
+ DryRun?: boolean;
2068
+ /**
2069
+ * @public
2070
+ * <p>The mode in which to lock the snapshot. Specify one of the following:</p>
2071
+ * <ul>
2072
+ * <li>
2073
+ * <p>
2074
+ * <code>governance</code> - Locks the snapshot in governance mode. Snapshots locked in governance
2075
+ * mode can't be deleted until one of the following conditions are met:</p>
2076
+ * <ul>
2077
+ * <li>
2078
+ * <p>The lock duration expires.</p>
2079
+ * </li>
2080
+ * <li>
2081
+ * <p>The snapshot is unlocked by a user with the appropriate permissions.</p>
2082
+ * </li>
2083
+ * </ul>
2084
+ * <p>Users with the appropriate IAM permissions can unlock the snapshot, increase or decrease the lock
2085
+ * duration, and change the lock mode to <code>compliance</code> at any time.</p>
2086
+ * <p>If you lock a snapshot in <code>governance</code> mode, omit <b>
2087
+ * CoolOffPeriod</b>.</p>
2088
+ * </li>
2089
+ * <li>
2090
+ * <p>
2091
+ * <code>compliance</code> - Locks the snapshot in compliance mode. Snapshots locked in compliance
2092
+ * mode can't be unlocked by any user. They can be deleted only after the lock duration expires. Users
2093
+ * can't decrease the lock duration or change the lock mode to <code>governance</code>. However, users
2094
+ * with appropriate IAM permissions can increase the lock duration at any time.</p>
2095
+ * <p>If you lock a snapshot in <code>compliance</code> mode, you can optionally specify
2096
+ * <b>CoolOffPeriod</b>.</p>
2097
+ * </li>
2098
+ * </ul>
2099
+ */
2100
+ LockMode: LockMode | undefined;
2101
+ /**
2102
+ * @public
2103
+ * <p>The cooling-off period during which you can unlock the snapshot or modify the lock settings after
2104
+ * locking the snapshot in compliance mode, in hours. After the cooling-off period expires, you can't
2105
+ * unlock or delete the snapshot, decrease the lock duration, or change the lock mode. You can increase
2106
+ * the lock duration after the cooling-off period expires.</p>
2107
+ * <p>The cooling-off period is optional when locking a snapshot in compliance mode. If you are locking
2108
+ * the snapshot in governance mode, omit this parameter.</p>
2109
+ * <p>To lock the snapshot in compliance mode immediately without a cooling-off period, omit this
2110
+ * parameter.</p>
2111
+ * <p>If you are extending the lock duration for a snapshot that is locked in compliance mode after
2112
+ * the cooling-off period has expired, omit this parameter. If you specify a cooling-period in a such
2113
+ * a request, the request fails.</p>
2114
+ * <p>Allowed values: Min 1, max 72.</p>
2115
+ */
2116
+ CoolOffPeriod?: number;
2117
+ /**
2118
+ * @public
2119
+ * <p>The period of time for which to lock the snapshot, in days. The snapshot lock will automatically
2120
+ * expire after this period lapses.</p>
2121
+ * <p>You must specify either this parameter or <b>ExpirationDate</b>, but
2122
+ * not both.</p>
2123
+ * <p>Allowed values: Min: 1, max 36500</p>
2124
+ */
2125
+ LockDuration?: number;
2126
+ /**
2127
+ * @public
2128
+ * <p>The date and time at which the snapshot lock is to automatically expire, in the UTC time zone
2129
+ * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
2130
+ * <p>You must specify either this parameter or <b>LockDuration</b>, but
2131
+ * not both.</p>
2132
+ */
2133
+ ExpirationDate?: Date;
2134
+ }
2135
+ /**
2136
+ * @public
2137
+ */
2138
+ export interface LockSnapshotResult {
2139
+ /**
2140
+ * @public
2141
+ * <p>The ID of the snapshot</p>
2142
+ */
2143
+ SnapshotId?: string;
2144
+ /**
2145
+ * @public
2146
+ * <p>The state of the snapshot lock. Valid states include:</p>
2147
+ * <ul>
2148
+ * <li>
2149
+ * <p>
2150
+ * <code>compliance-cooloff</code> - The snapshot has been locked in
2151
+ * compliance mode but it is still within the cooling-off period. The snapshot can't be
2152
+ * deleted, but it can be unlocked and the lock settings can be modified by users with
2153
+ * appropriate permissions.</p>
2154
+ * </li>
2155
+ * <li>
2156
+ * <p>
2157
+ * <code>governance</code> - The snapshot is locked in governance mode. The
2158
+ * snapshot can't be deleted, but it can be unlocked and the lock settings can be
2159
+ * modified by users with appropriate permissions.</p>
2160
+ * </li>
2161
+ * <li>
2162
+ * <p>
2163
+ * <code>compliance</code> - The snapshot is locked in compliance mode and the
2164
+ * cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock
2165
+ * duration can only be increased by users with appropriate permissions.</p>
2166
+ * </li>
2167
+ * <li>
2168
+ * <p>
2169
+ * <code>expired</code> - The snapshot was locked in compliance or governance
2170
+ * mode but the lock duration has expired. The snapshot is not locked and can be deleted.</p>
2171
+ * </li>
2172
+ * </ul>
2173
+ */
2174
+ LockState?: LockState;
2175
+ /**
2176
+ * @public
2177
+ * <p>The period of time for which the snapshot is locked, in days.</p>
2178
+ */
2179
+ LockDuration?: number;
2180
+ /**
2181
+ * @public
2182
+ * <p>The compliance mode cooling-off period, in hours.</p>
2183
+ */
2184
+ CoolOffPeriod?: number;
2185
+ /**
2186
+ * @public
2187
+ * <p>The date and time at which the compliance mode cooling-off period expires, in the UTC time zone
2188
+ * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
2189
+ */
2190
+ CoolOffPeriodExpiresOn?: Date;
2191
+ /**
2192
+ * @public
2193
+ * <p>The date and time at which the snapshot was locked, in the UTC time zone
2194
+ * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
2195
+ */
2196
+ LockCreatedOn?: Date;
2197
+ /**
2198
+ * @public
2199
+ * <p>The date and time at which the lock will expire, in the UTC time zone
2200
+ * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
2201
+ */
2202
+ LockExpiresOn?: Date;
2203
+ /**
2204
+ * @public
2205
+ * <p>The date and time at which the lock duration started, in the UTC time zone
2206
+ * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
2207
+ */
2208
+ LockDurationStartTime?: Date;
2209
+ }
1906
2210
  /**
1907
2211
  * @public
1908
2212
  */
@@ -7893,203 +8197,6 @@ export interface RequestSpotLaunchSpecification {
7893
8197
  */
7894
8198
  UserData?: string;
7895
8199
  }
7896
- /**
7897
- * @public
7898
- * <p>Contains the parameters for RequestSpotInstances.</p>
7899
- */
7900
- export interface RequestSpotInstancesRequest {
7901
- /**
7902
- * @public
7903
- * <p>The user-specified name for a logical grouping of requests.</p>
7904
- * <p>When you specify an Availability Zone group in a Spot Instance request, all Spot
7905
- * Instances in the request are launched in the same Availability Zone. Instance proximity
7906
- * is maintained with this parameter, but the choice of Availability Zone is not. The group
7907
- * applies only to requests for Spot Instances of the same instance type. Any additional
7908
- * Spot Instance requests that are specified with the same Availability Zone group name are
7909
- * launched in that same Availability Zone, as long as at least one instance from the group
7910
- * is still active.</p>
7911
- * <p>If there is no active instance running in the Availability Zone group that you specify
7912
- * for a new Spot Instance request (all instances are terminated, the request is expired,
7913
- * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches
7914
- * the instance in any Availability Zone where the constraint can be met. Consequently, the
7915
- * subsequent set of Spot Instances could be placed in a different zone from the original
7916
- * request, even if you specified the same Availability Zone group.</p>
7917
- * <p>Default: Instances are launched in any available Availability Zone.</p>
7918
- */
7919
- AvailabilityZoneGroup?: string;
7920
- /**
7921
- * @public
7922
- * <p>Deprecated.</p>
7923
- */
7924
- BlockDurationMinutes?: number;
7925
- /**
7926
- * @public
7927
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
7928
- * request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html">How to Ensure
7929
- * Idempotency</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
7930
- */
7931
- ClientToken?: string;
7932
- /**
7933
- * @public
7934
- * <p>Checks whether you have the required permissions for the action, without actually
7935
- * making the request, and provides an error response. If you have the required
7936
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
7937
- * <code>UnauthorizedOperation</code>.</p>
7938
- */
7939
- DryRun?: boolean;
7940
- /**
7941
- * @public
7942
- * <p>The maximum number of Spot Instances to launch.</p>
7943
- * <p>Default: 1</p>
7944
- */
7945
- InstanceCount?: number;
7946
- /**
7947
- * @public
7948
- * <p>The instance launch group. Launch groups are Spot Instances that launch together and
7949
- * terminate together.</p>
7950
- * <p>Default: Instances are launched and terminated individually</p>
7951
- */
7952
- LaunchGroup?: string;
7953
- /**
7954
- * @public
7955
- * <p>The launch specification.</p>
7956
- */
7957
- LaunchSpecification?: RequestSpotLaunchSpecification;
7958
- /**
7959
- * @public
7960
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
7961
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
7962
- * <important>
7963
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
7964
- * </important>
7965
- */
7966
- SpotPrice?: string;
7967
- /**
7968
- * @public
7969
- * <p>The Spot Instance request type.</p>
7970
- * <p>Default: <code>one-time</code>
7971
- * </p>
7972
- */
7973
- Type?: SpotInstanceType;
7974
- /**
7975
- * @public
7976
- * <p>The start date of the request. If this is a one-time request, the request becomes
7977
- * active at this date and time and remains active until all instances launch, the request
7978
- * expires, or the request is canceled. If the request is persistent, the request becomes
7979
- * active at this date and time and remains active until it expires or is canceled.</p>
7980
- * <p>The specified start date and time cannot be equal to the current date and time. You
7981
- * must specify a start date and time that occurs after the current date and time.</p>
7982
- */
7983
- ValidFrom?: Date;
7984
- /**
7985
- * @public
7986
- * <p>The end date of the request, in UTC format
7987
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
7988
- * <ul>
7989
- * <li>
7990
- * <p>For a persistent request, the request remains active until the
7991
- * <code>ValidUntil</code> date and time is reached. Otherwise, the request
7992
- * remains active until you cancel it. </p>
7993
- * </li>
7994
- * <li>
7995
- * <p>For a one-time request, the request remains active until all instances launch,
7996
- * the request is canceled, or the <code>ValidUntil</code> date and time is
7997
- * reached. By default, the request is valid for 7 days from the date the request
7998
- * was created.</p>
7999
- * </li>
8000
- * </ul>
8001
- */
8002
- ValidUntil?: Date;
8003
- /**
8004
- * @public
8005
- * <p>The key-value pair for tagging the Spot Instance request on creation. The value for
8006
- * <code>ResourceType</code> must be <code>spot-instances-request</code>, otherwise the
8007
- * Spot Instance request fails. To tag the Spot Instance request after it has been created,
8008
- * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>. </p>
8009
- */
8010
- TagSpecifications?: TagSpecification[];
8011
- /**
8012
- * @public
8013
- * <p>The behavior when a Spot Instance is interrupted. The default is <code>terminate</code>.</p>
8014
- */
8015
- InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
8016
- }
8017
- /**
8018
- * @public
8019
- * <p>Contains the output of RequestSpotInstances.</p>
8020
- */
8021
- export interface RequestSpotInstancesResult {
8022
- /**
8023
- * @public
8024
- * <p>The Spot Instance requests.</p>
8025
- */
8026
- SpotInstanceRequests?: SpotInstanceRequest[];
8027
- }
8028
- /**
8029
- * @public
8030
- */
8031
- export interface ResetAddressAttributeRequest {
8032
- /**
8033
- * @public
8034
- * <p>[EC2-VPC] The allocation ID.</p>
8035
- */
8036
- AllocationId: string | undefined;
8037
- /**
8038
- * @public
8039
- * <p>The attribute of the IP address.</p>
8040
- */
8041
- Attribute: AddressAttributeName | undefined;
8042
- /**
8043
- * @public
8044
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
8045
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
8046
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8047
- */
8048
- DryRun?: boolean;
8049
- }
8050
- /**
8051
- * @public
8052
- */
8053
- export interface ResetAddressAttributeResult {
8054
- /**
8055
- * @public
8056
- * <p>Information about the IP address.</p>
8057
- */
8058
- Address?: AddressAttribute;
8059
- }
8060
- /**
8061
- * @public
8062
- */
8063
- export interface ResetEbsDefaultKmsKeyIdRequest {
8064
- /**
8065
- * @public
8066
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
8067
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
8068
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8069
- */
8070
- DryRun?: boolean;
8071
- }
8072
- /**
8073
- * @public
8074
- */
8075
- export interface ResetEbsDefaultKmsKeyIdResult {
8076
- /**
8077
- * @public
8078
- * <p>The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.</p>
8079
- */
8080
- KmsKeyId?: string;
8081
- }
8082
- /**
8083
- * @public
8084
- * @enum
8085
- */
8086
- export declare const ResetFpgaImageAttributeName: {
8087
- readonly loadPermission: "loadPermission";
8088
- };
8089
- /**
8090
- * @public
8091
- */
8092
- export type ResetFpgaImageAttributeName = (typeof ResetFpgaImageAttributeName)[keyof typeof ResetFpgaImageAttributeName];
8093
8200
  /**
8094
8201
  * @internal
8095
8202
  */
@@ -8194,11 +8301,3 @@ export declare const RequestSpotFleetRequestFilterSensitiveLog: (obj: RequestSpo
8194
8301
  * @internal
8195
8302
  */
8196
8303
  export declare const RequestSpotLaunchSpecificationFilterSensitiveLog: (obj: RequestSpotLaunchSpecification) => any;
8197
- /**
8198
- * @internal
8199
- */
8200
- export declare const RequestSpotInstancesRequestFilterSensitiveLog: (obj: RequestSpotInstancesRequest) => any;
8201
- /**
8202
- * @internal
8203
- */
8204
- export declare const RequestSpotInstancesResultFilterSensitiveLog: (obj: RequestSpotInstancesResult) => any;