@aws-sdk/client-pcs 3.641.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 (171) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +366 -0
  3. package/dist-cjs/PCS.js +47 -0
  4. package/dist-cjs/PCSClient.js +50 -0
  5. package/dist-cjs/auth/httpAuthExtensionConfiguration.js +43 -0
  6. package/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  7. package/dist-cjs/commands/CreateClusterCommand.js +28 -0
  8. package/dist-cjs/commands/CreateComputeNodeGroupCommand.js +28 -0
  9. package/dist-cjs/commands/CreateQueueCommand.js +28 -0
  10. package/dist-cjs/commands/DeleteClusterCommand.js +28 -0
  11. package/dist-cjs/commands/DeleteComputeNodeGroupCommand.js +28 -0
  12. package/dist-cjs/commands/DeleteQueueCommand.js +28 -0
  13. package/dist-cjs/commands/GetClusterCommand.js +28 -0
  14. package/dist-cjs/commands/GetComputeNodeGroupCommand.js +28 -0
  15. package/dist-cjs/commands/GetQueueCommand.js +28 -0
  16. package/dist-cjs/commands/ListClustersCommand.js +28 -0
  17. package/dist-cjs/commands/ListComputeNodeGroupsCommand.js +28 -0
  18. package/dist-cjs/commands/ListQueuesCommand.js +28 -0
  19. package/dist-cjs/commands/ListTagsForResourceCommand.js +28 -0
  20. package/dist-cjs/commands/RegisterComputeNodeGroupInstanceCommand.js +29 -0
  21. package/dist-cjs/commands/TagResourceCommand.js +28 -0
  22. package/dist-cjs/commands/UntagResourceCommand.js +28 -0
  23. package/dist-cjs/commands/UpdateComputeNodeGroupCommand.js +28 -0
  24. package/dist-cjs/commands/UpdateQueueCommand.js +28 -0
  25. package/dist-cjs/commands/index.js +21 -0
  26. package/dist-cjs/endpoint/EndpointParameters.js +18 -0
  27. package/dist-cjs/endpoint/endpointResolver.js +14 -0
  28. package/dist-cjs/endpoint/ruleset.js +7 -0
  29. package/dist-cjs/extensionConfiguration.js +2 -0
  30. package/dist-cjs/index.js +11 -0
  31. package/dist-cjs/models/PCSServiceException.js +12 -0
  32. package/dist-cjs/models/index.js +4 -0
  33. package/dist-cjs/models/models_0.js +169 -0
  34. package/dist-cjs/pagination/Interfaces.js +2 -0
  35. package/dist-cjs/pagination/ListClustersPaginator.js +7 -0
  36. package/dist-cjs/pagination/ListComputeNodeGroupsPaginator.js +7 -0
  37. package/dist-cjs/pagination/ListQueuesPaginator.js +7 -0
  38. package/dist-cjs/pagination/index.js +7 -0
  39. package/dist-cjs/protocols/Aws_json1_0.js +757 -0
  40. package/dist-cjs/runtimeConfig.browser.js +39 -0
  41. package/dist-cjs/runtimeConfig.js +49 -0
  42. package/dist-cjs/runtimeConfig.native.js +15 -0
  43. package/dist-cjs/runtimeConfig.shared.js +34 -0
  44. package/dist-cjs/runtimeExtensions.js +25 -0
  45. package/dist-es/PCS.js +43 -0
  46. package/dist-es/PCSClient.js +46 -0
  47. package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  48. package/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  49. package/dist-es/commands/CreateClusterCommand.js +24 -0
  50. package/dist-es/commands/CreateComputeNodeGroupCommand.js +24 -0
  51. package/dist-es/commands/CreateQueueCommand.js +24 -0
  52. package/dist-es/commands/DeleteClusterCommand.js +24 -0
  53. package/dist-es/commands/DeleteComputeNodeGroupCommand.js +24 -0
  54. package/dist-es/commands/DeleteQueueCommand.js +24 -0
  55. package/dist-es/commands/GetClusterCommand.js +24 -0
  56. package/dist-es/commands/GetComputeNodeGroupCommand.js +24 -0
  57. package/dist-es/commands/GetQueueCommand.js +24 -0
  58. package/dist-es/commands/ListClustersCommand.js +24 -0
  59. package/dist-es/commands/ListComputeNodeGroupsCommand.js +24 -0
  60. package/dist-es/commands/ListQueuesCommand.js +24 -0
  61. package/dist-es/commands/ListTagsForResourceCommand.js +24 -0
  62. package/dist-es/commands/RegisterComputeNodeGroupInstanceCommand.js +25 -0
  63. package/dist-es/commands/TagResourceCommand.js +24 -0
  64. package/dist-es/commands/UntagResourceCommand.js +24 -0
  65. package/dist-es/commands/UpdateComputeNodeGroupCommand.js +24 -0
  66. package/dist-es/commands/UpdateQueueCommand.js +24 -0
  67. package/dist-es/commands/index.js +18 -0
  68. package/dist-es/endpoint/EndpointParameters.js +14 -0
  69. package/dist-es/endpoint/endpointResolver.js +10 -0
  70. package/dist-es/endpoint/ruleset.js +4 -0
  71. package/dist-es/extensionConfiguration.js +1 -0
  72. package/dist-es/index.js +6 -0
  73. package/dist-es/models/PCSServiceException.js +8 -0
  74. package/dist-es/models/index.js +1 -0
  75. package/dist-es/models/models_0.js +158 -0
  76. package/dist-es/pagination/Interfaces.js +1 -0
  77. package/dist-es/pagination/ListClustersPaginator.js +4 -0
  78. package/dist-es/pagination/ListComputeNodeGroupsPaginator.js +4 -0
  79. package/dist-es/pagination/ListQueuesPaginator.js +4 -0
  80. package/dist-es/pagination/index.js +4 -0
  81. package/dist-es/protocols/Aws_json1_0.js +718 -0
  82. package/dist-es/runtimeConfig.browser.js +34 -0
  83. package/dist-es/runtimeConfig.js +44 -0
  84. package/dist-es/runtimeConfig.native.js +11 -0
  85. package/dist-es/runtimeConfig.shared.js +30 -0
  86. package/dist-es/runtimeExtensions.js +21 -0
  87. package/dist-types/PCS.d.ts +154 -0
  88. package/dist-types/PCSClient.d.ts +204 -0
  89. package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  90. package/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  91. package/dist-types/commands/CreateClusterCommand.d.ts +237 -0
  92. package/dist-types/commands/CreateComputeNodeGroupCommand.d.ts +247 -0
  93. package/dist-types/commands/CreateQueueCommand.d.ts +190 -0
  94. package/dist-types/commands/DeleteClusterCommand.d.ts +137 -0
  95. package/dist-types/commands/DeleteComputeNodeGroupCommand.d.ts +138 -0
  96. package/dist-types/commands/DeleteQueueCommand.d.ts +139 -0
  97. package/dist-types/commands/GetClusterCommand.d.ts +186 -0
  98. package/dist-types/commands/GetComputeNodeGroupCommand.d.ts +184 -0
  99. package/dist-types/commands/GetQueueCommand.d.ts +158 -0
  100. package/dist-types/commands/ListClustersCommand.d.ts +148 -0
  101. package/dist-types/commands/ListComputeNodeGroupsCommand.d.ts +150 -0
  102. package/dist-types/commands/ListQueuesCommand.d.ts +150 -0
  103. package/dist-types/commands/ListTagsForResourceCommand.d.ts +69 -0
  104. package/dist-types/commands/RegisterComputeNodeGroupInstanceCommand.d.ts +97 -0
  105. package/dist-types/commands/TagResourceCommand.d.ts +71 -0
  106. package/dist-types/commands/UntagResourceCommand.d.ts +69 -0
  107. package/dist-types/commands/UpdateComputeNodeGroupCommand.d.ts +233 -0
  108. package/dist-types/commands/UpdateQueueCommand.d.ts +187 -0
  109. package/dist-types/commands/index.d.ts +18 -0
  110. package/dist-types/endpoint/EndpointParameters.d.ts +40 -0
  111. package/dist-types/endpoint/endpointResolver.d.ts +5 -0
  112. package/dist-types/endpoint/ruleset.d.ts +2 -0
  113. package/dist-types/extensionConfiguration.d.ts +9 -0
  114. package/dist-types/index.d.ts +31 -0
  115. package/dist-types/models/PCSServiceException.d.ts +14 -0
  116. package/dist-types/models/index.d.ts +1 -0
  117. package/dist-types/models/models_0.d.ts +1871 -0
  118. package/dist-types/pagination/Interfaces.d.ts +8 -0
  119. package/dist-types/pagination/ListClustersPaginator.d.ts +7 -0
  120. package/dist-types/pagination/ListComputeNodeGroupsPaginator.d.ts +7 -0
  121. package/dist-types/pagination/ListQueuesPaginator.d.ts +7 -0
  122. package/dist-types/pagination/index.d.ts +4 -0
  123. package/dist-types/protocols/Aws_json1_0.d.ts +164 -0
  124. package/dist-types/runtimeConfig.browser.d.ts +45 -0
  125. package/dist-types/runtimeConfig.d.ts +45 -0
  126. package/dist-types/runtimeConfig.native.d.ts +44 -0
  127. package/dist-types/runtimeConfig.shared.d.ts +21 -0
  128. package/dist-types/runtimeExtensions.d.ts +17 -0
  129. package/dist-types/ts3.4/PCS.d.ts +312 -0
  130. package/dist-types/ts3.4/PCSClient.d.ts +223 -0
  131. package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  132. package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
  133. package/dist-types/ts3.4/commands/CreateClusterCommand.d.ts +39 -0
  134. package/dist-types/ts3.4/commands/CreateComputeNodeGroupCommand.d.ts +40 -0
  135. package/dist-types/ts3.4/commands/CreateQueueCommand.d.ts +36 -0
  136. package/dist-types/ts3.4/commands/DeleteClusterCommand.d.ts +39 -0
  137. package/dist-types/ts3.4/commands/DeleteComputeNodeGroupCommand.d.ts +40 -0
  138. package/dist-types/ts3.4/commands/DeleteQueueCommand.d.ts +36 -0
  139. package/dist-types/ts3.4/commands/GetClusterCommand.d.ts +36 -0
  140. package/dist-types/ts3.4/commands/GetComputeNodeGroupCommand.d.ts +40 -0
  141. package/dist-types/ts3.4/commands/GetQueueCommand.d.ts +36 -0
  142. package/dist-types/ts3.4/commands/ListClustersCommand.d.ts +36 -0
  143. package/dist-types/ts3.4/commands/ListComputeNodeGroupsCommand.d.ts +40 -0
  144. package/dist-types/ts3.4/commands/ListQueuesCommand.d.ts +36 -0
  145. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +40 -0
  146. package/dist-types/ts3.4/commands/RegisterComputeNodeGroupInstanceCommand.d.ts +40 -0
  147. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +34 -0
  148. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +34 -0
  149. package/dist-types/ts3.4/commands/UpdateComputeNodeGroupCommand.d.ts +40 -0
  150. package/dist-types/ts3.4/commands/UpdateQueueCommand.d.ts +36 -0
  151. package/dist-types/ts3.4/commands/index.d.ts +18 -0
  152. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +51 -0
  153. package/dist-types/ts3.4/endpoint/endpointResolver.d.ts +8 -0
  154. package/dist-types/ts3.4/endpoint/ruleset.d.ts +2 -0
  155. package/dist-types/ts3.4/extensionConfiguration.d.ts +9 -0
  156. package/dist-types/ts3.4/index.d.ts +9 -0
  157. package/dist-types/ts3.4/models/PCSServiceException.d.ts +9 -0
  158. package/dist-types/ts3.4/models/index.d.ts +1 -0
  159. package/dist-types/ts3.4/models/models_0.d.ts +431 -0
  160. package/dist-types/ts3.4/pagination/Interfaces.d.ts +5 -0
  161. package/dist-types/ts3.4/pagination/ListClustersPaginator.d.ts +11 -0
  162. package/dist-types/ts3.4/pagination/ListComputeNodeGroupsPaginator.d.ts +11 -0
  163. package/dist-types/ts3.4/pagination/ListQueuesPaginator.d.ts +11 -0
  164. package/dist-types/ts3.4/pagination/index.d.ts +4 -0
  165. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +221 -0
  166. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +85 -0
  167. package/dist-types/ts3.4/runtimeConfig.d.ts +89 -0
  168. package/dist-types/ts3.4/runtimeConfig.native.d.ts +79 -0
  169. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +21 -0
  170. package/dist-types/ts3.4/runtimeExtensions.d.ts +11 -0
  171. package/package.json +103 -0
@@ -0,0 +1,1871 @@
1
+ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
+ import { PCSServiceException as __BaseException } from "./PCSServiceException";
3
+ /**
4
+ * <p>You don't have permission to perform the action.</p>
5
+ * <p>
6
+ * <u>Examples</u>
7
+ * </p>
8
+ * <ul>
9
+ * <li>
10
+ * <p>The launch template instance profile doesn't pass <code>iam:PassRole</code>
11
+ * verification.</p>
12
+ * </li>
13
+ * <li>
14
+ * <p>There is a mismatch between the account ID and cluster ID.</p>
15
+ * </li>
16
+ * <li>
17
+ * <p>The cluster ID doesn't exist.</p>
18
+ * </li>
19
+ * <li>
20
+ * <p>The EC2 instance isn't present.</p>
21
+ * </li>
22
+ * </ul>
23
+ * @public
24
+ */
25
+ export declare class AccessDeniedException extends __BaseException {
26
+ readonly name: "AccessDeniedException";
27
+ readonly $fault: "client";
28
+ /**
29
+ * @internal
30
+ */
31
+ constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>);
32
+ }
33
+ /**
34
+ * <p>Your request has conflicting operations. This can occur if you're trying to perform more
35
+ * than 1 operation on the same resource at the same time.</p>
36
+ * <p>
37
+ * <u>Examples</u>
38
+ * </p>
39
+ * <ul>
40
+ * <li>
41
+ * <p>A cluster with the same name already exists.</p>
42
+ * </li>
43
+ * <li>
44
+ * <p>A cluster isn't in <code>ACTIVE</code> status.</p>
45
+ * </li>
46
+ * <li>
47
+ * <p>A cluster to delete is in an unstable state. For example, because it still has
48
+ * <code>ACTIVE</code> node groups or queues.</p>
49
+ * </li>
50
+ * <li>
51
+ * <p>A queue already exists in a cluster.</p>
52
+ * </li>
53
+ * </ul>
54
+ * @public
55
+ */
56
+ export declare class ConflictException extends __BaseException {
57
+ readonly name: "ConflictException";
58
+ readonly $fault: "client";
59
+ /**
60
+ * <p>
61
+ * The unique identifier of the resource that caused the conflict exception.
62
+ * </p>
63
+ * @public
64
+ */
65
+ resourceId: string | undefined;
66
+ /**
67
+ * <p>
68
+ * The type or category of the resource that caused the conflict exception."
69
+ * </p>
70
+ * @public
71
+ */
72
+ resourceType: string | undefined;
73
+ /**
74
+ * @internal
75
+ */
76
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
77
+ }
78
+ /**
79
+ * <p>An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.</p>
80
+ * @public
81
+ */
82
+ export interface CustomLaunchTemplate {
83
+ /**
84
+ * <p>The ID of the EC2 launch template to use to provision instances.</p>
85
+ * <p> Example: <code>lt-xxxx</code>
86
+ * </p>
87
+ * @public
88
+ */
89
+ id: string | undefined;
90
+ /**
91
+ * <p>The version of the EC2 launch template to use to provision instances.</p>
92
+ * @public
93
+ */
94
+ version: string | undefined;
95
+ }
96
+ /**
97
+ * <p>An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes.</p>
98
+ * @public
99
+ */
100
+ export interface InstanceConfig {
101
+ /**
102
+ * <p>The EC2 instance type that Amazon Web Services PCS can provision in the compute node group.</p>
103
+ * <p> Example: <code>t2.xlarge</code>
104
+ * </p>
105
+ * @public
106
+ */
107
+ instanceType?: string;
108
+ }
109
+ /**
110
+ * @public
111
+ * @enum
112
+ */
113
+ export declare const PurchaseOption: {
114
+ readonly ONDEMAND: "ONDEMAND";
115
+ readonly SPOT: "SPOT";
116
+ };
117
+ /**
118
+ * @public
119
+ */
120
+ export type PurchaseOption = (typeof PurchaseOption)[keyof typeof PurchaseOption];
121
+ /**
122
+ * <p>Specifies the boundaries of the compute node group auto scaling.</p>
123
+ * @public
124
+ */
125
+ export interface ScalingConfigurationRequest {
126
+ /**
127
+ * <p>The lower bound of the number of instances allowed in the compute fleet.</p>
128
+ * @public
129
+ */
130
+ minInstanceCount: number | undefined;
131
+ /**
132
+ * <p>The upper bound of the number of instances allowed in the compute fleet.</p>
133
+ * @public
134
+ */
135
+ maxInstanceCount: number | undefined;
136
+ }
137
+ /**
138
+ * <p>Additional settings that directly map to Slurm settings.</p>
139
+ * @public
140
+ */
141
+ export interface SlurmCustomSetting {
142
+ /**
143
+ * <p>Amazon Web Services PCS supports configuration of the following Slurm parameters: <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1">
144
+ * <code>Prolog</code>
145
+ * </a>, <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1">
146
+ * <code>Epilog</code>
147
+ * </a>, and <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters">
148
+ * <code>SelectTypeParameters</code>
149
+ * </a>.</p>
150
+ * @public
151
+ */
152
+ parameterName: string | undefined;
153
+ /**
154
+ * <p>The values for the configured Slurm settings.</p>
155
+ * @public
156
+ */
157
+ parameterValue: string | undefined;
158
+ }
159
+ /**
160
+ * <p>Additional options related to the Slurm scheduler.</p>
161
+ * @public
162
+ */
163
+ export interface ComputeNodeGroupSlurmConfigurationRequest {
164
+ /**
165
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
166
+ * @public
167
+ */
168
+ slurmCustomSettings?: SlurmCustomSetting[];
169
+ }
170
+ /**
171
+ * @public
172
+ * @enum
173
+ */
174
+ export declare const SpotAllocationStrategy: {
175
+ readonly CAPACITY_OPTIMIZED: "capacity-optimized";
176
+ readonly LOWEST_PRICE: "lowest-price";
177
+ readonly PRICE_CAPACITY_OPTIMIZED: "price-capacity-optimized";
178
+ };
179
+ /**
180
+ * @public
181
+ */
182
+ export type SpotAllocationStrategy = (typeof SpotAllocationStrategy)[keyof typeof SpotAllocationStrategy];
183
+ /**
184
+ * <p>Additional configuration when you specify <code>SPOT</code> as the
185
+ * <code>purchaseOption</code> for the <code>CreateComputeNodeGroup</code> API action.</p>
186
+ * @public
187
+ */
188
+ export interface SpotOptions {
189
+ /**
190
+ * <p>The Amazon EC2 allocation strategy Amazon Web Services PCS uses to provision EC2 instances.
191
+ * Amazon Web Services PCS supports <b>lowest price</b>,
192
+ * <b>capacity optimized</b>, and
193
+ * <b>price capacity optimized</b>.
194
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html">Use
195
+ * allocation strategies to determine how EC2 Fleet or Spot Fleet fulfills Spot and On-Demand
196
+ * capacity</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. If you don't provide this option,
197
+ * it defaults to <b>price capacity optimized</b>.</p>
198
+ * @public
199
+ */
200
+ allocationStrategy?: SpotAllocationStrategy;
201
+ }
202
+ /**
203
+ * @public
204
+ */
205
+ export interface CreateComputeNodeGroupRequest {
206
+ /**
207
+ * <p>The name or ID of the cluster to create a compute node group in.</p>
208
+ * @public
209
+ */
210
+ clusterIdentifier: string | undefined;
211
+ /**
212
+ * <p>A name to identify the cluster. Example: <code>MyCluster</code>
213
+ * </p>
214
+ * @public
215
+ */
216
+ computeNodeGroupName: string | undefined;
217
+ /**
218
+ * <p> The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch compute nodes
219
+ * (Amazon EC2 instances). If you don't provide this value, Amazon Web Services PCS uses the AMI ID specified
220
+ * in the custom launch template.</p>
221
+ * @public
222
+ */
223
+ amiId?: string;
224
+ /**
225
+ * <p>The list of subnet IDs where the compute node group launches instances.
226
+ * Subnets must be in the same VPC as the cluster.</p>
227
+ * @public
228
+ */
229
+ subnetIds: string[] | undefined;
230
+ /**
231
+ * <p>Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand
232
+ * and Spot instances. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html">Instance
233
+ * purchasing options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. If you don't provide this
234
+ * option, it defaults to On-Demand.</p>
235
+ * @public
236
+ */
237
+ purchaseOption?: PurchaseOption;
238
+ /**
239
+ * <p>An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.</p>
240
+ * @public
241
+ */
242
+ customLaunchTemplate: CustomLaunchTemplate | undefined;
243
+ /**
244
+ * <p>The Amazon Resource Name (ARN) of the
245
+ * IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have
246
+ * <code>pcs:RegisterComputeNodeGroupInstance</code> permissions attached in order to
247
+ * provision instances correctly. The resource identifier of the ARN must start with
248
+ * <code>AWSPCS</code>. For example, <code>arn:aws:iam:123456789012:instance-profile/AWSPCSMyComputeNodeInstanceProfile</code>.
249
+ * </p>
250
+ * @public
251
+ */
252
+ iamInstanceProfileArn: string | undefined;
253
+ /**
254
+ * <p>Specifies the boundaries of the compute node group auto scaling.</p>
255
+ * @public
256
+ */
257
+ scalingConfiguration: ScalingConfigurationRequest | undefined;
258
+ /**
259
+ * <p>A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.</p>
260
+ * @public
261
+ */
262
+ instanceConfigs: InstanceConfig[] | undefined;
263
+ /**
264
+ * <p>Additional configuration when you specify <code>SPOT</code> as the
265
+ * <code>purchaseOption</code> for the <code>CreateComputeNodeGroup</code> API action.</p>
266
+ * @public
267
+ */
268
+ spotOptions?: SpotOptions;
269
+ /**
270
+ * <p>Additional options related to the Slurm scheduler.</p>
271
+ * @public
272
+ */
273
+ slurmConfiguration?: ComputeNodeGroupSlurmConfigurationRequest;
274
+ /**
275
+ * <p>A unique, case-sensitive identifier that you provide to
276
+ * ensure the idempotency of the request. Idempotency ensures that an API
277
+ * request completes only once. With an idempotent request, if the original
278
+ * request completes successfully, the subsequent retries with the same
279
+ * client token return the result from the original successful request and
280
+ * they have no additional effect. If you don't specify a client token, the
281
+ * CLI and SDK automatically generate 1 for you.</p>
282
+ * @public
283
+ */
284
+ clientToken?: string;
285
+ /**
286
+ * <p>1 or more tags added to the resource. Each tag consists of a
287
+ * tag key and tag value. The tag value is optional and can be an empty
288
+ * string.</p>
289
+ * @public
290
+ */
291
+ tags?: Record<string, string>;
292
+ }
293
+ /**
294
+ * <p>An error that occurred during resource creation.</p>
295
+ * @public
296
+ */
297
+ export interface ErrorInfo {
298
+ /**
299
+ * <p>The short-form error code.</p>
300
+ * @public
301
+ */
302
+ code?: string;
303
+ /**
304
+ * <p>The detailed error information.</p>
305
+ * @public
306
+ */
307
+ message?: string;
308
+ }
309
+ /**
310
+ * <p>Specifies the boundaries of the compute node group auto scaling.</p>
311
+ * @public
312
+ */
313
+ export interface ScalingConfiguration {
314
+ /**
315
+ * <p>The lower bound of the number of instances allowed in the compute fleet.</p>
316
+ * @public
317
+ */
318
+ minInstanceCount: number | undefined;
319
+ /**
320
+ * <p>The upper bound of the number of instances allowed in the compute fleet.</p>
321
+ * @public
322
+ */
323
+ maxInstanceCount: number | undefined;
324
+ }
325
+ /**
326
+ * <p>Additional options related to the Slurm scheduler.</p>
327
+ * @public
328
+ */
329
+ export interface ComputeNodeGroupSlurmConfiguration {
330
+ /**
331
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
332
+ * @public
333
+ */
334
+ slurmCustomSettings?: SlurmCustomSetting[];
335
+ }
336
+ /**
337
+ * @public
338
+ * @enum
339
+ */
340
+ export declare const ComputeNodeGroupStatus: {
341
+ readonly ACTIVE: "ACTIVE";
342
+ readonly CREATE_FAILED: "CREATE_FAILED";
343
+ readonly CREATING: "CREATING";
344
+ readonly DELETED: "DELETED";
345
+ readonly DELETE_FAILED: "DELETE_FAILED";
346
+ readonly DELETING: "DELETING";
347
+ readonly UPDATE_FAILED: "UPDATE_FAILED";
348
+ readonly UPDATING: "UPDATING";
349
+ };
350
+ /**
351
+ * @public
352
+ */
353
+ export type ComputeNodeGroupStatus = (typeof ComputeNodeGroupStatus)[keyof typeof ComputeNodeGroupStatus];
354
+ /**
355
+ * <p>A compute node group associated with a cluster.</p>
356
+ * @public
357
+ */
358
+ export interface ComputeNodeGroup {
359
+ /**
360
+ * <p>The name that identifies the compute node group.</p>
361
+ * @public
362
+ */
363
+ name: string | undefined;
364
+ /**
365
+ * <p>The generated unique ID of the compute node group.</p>
366
+ * @public
367
+ */
368
+ id: string | undefined;
369
+ /**
370
+ * <p>The unique Amazon Resource Name (ARN) of the compute node group.</p>
371
+ * @public
372
+ */
373
+ arn: string | undefined;
374
+ /**
375
+ * <p>The ID of the cluster of the compute node group.</p>
376
+ * @public
377
+ */
378
+ clusterId: string | undefined;
379
+ /**
380
+ * <p>The date and time the resource was created.</p>
381
+ * @public
382
+ */
383
+ createdAt: Date | undefined;
384
+ /**
385
+ * <p>The date and time the resource was modified.</p>
386
+ * @public
387
+ */
388
+ modifiedAt: Date | undefined;
389
+ /**
390
+ * <p>The provisioning status of the compute node group.</p>
391
+ * <note>
392
+ * <p>The provisioning status doesn't indicate the overall health of the compute node
393
+ * group.</p>
394
+ * </note>
395
+ * @public
396
+ */
397
+ status: ComputeNodeGroupStatus | undefined;
398
+ /**
399
+ * <p>The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances.
400
+ * If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.</p>
401
+ * @public
402
+ */
403
+ amiId?: string;
404
+ /**
405
+ * <p>The list of subnet IDs where instances are provisioned by the compute node group.
406
+ * The subnets must be in the same VPC as the cluster.</p>
407
+ * @public
408
+ */
409
+ subnetIds: string[] | undefined;
410
+ /**
411
+ * <p>Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand
412
+ * and Spot instances. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html">Instance
413
+ * purchasing options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. If you don't provide this
414
+ * option, it defaults to On-Demand.</p>
415
+ * @public
416
+ */
417
+ purchaseOption?: PurchaseOption;
418
+ /**
419
+ * <p>An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.</p>
420
+ * @public
421
+ */
422
+ customLaunchTemplate: CustomLaunchTemplate | undefined;
423
+ /**
424
+ * <p>The Amazon Resource Name (ARN) of the
425
+ * IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have
426
+ * <code>pcs:RegisterComputeNodeGroupInstance</code> permissions attached to provision instances
427
+ * correctly.</p>
428
+ * @public
429
+ */
430
+ iamInstanceProfileArn: string | undefined;
431
+ /**
432
+ * <p>Specifies the boundaries of the compute node group auto scaling.</p>
433
+ * @public
434
+ */
435
+ scalingConfiguration: ScalingConfiguration | undefined;
436
+ /**
437
+ * <p>A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.</p>
438
+ * @public
439
+ */
440
+ instanceConfigs: InstanceConfig[] | undefined;
441
+ /**
442
+ * <p>Additional configuration when you specify <code>SPOT</code> as the
443
+ * <code>purchaseOption</code> for the <code>CreateComputeNodeGroup</code> API action.</p>
444
+ * @public
445
+ */
446
+ spotOptions?: SpotOptions;
447
+ /**
448
+ * <p>Additional options related to the Slurm scheduler.</p>
449
+ * @public
450
+ */
451
+ slurmConfiguration?: ComputeNodeGroupSlurmConfiguration;
452
+ /**
453
+ * <p>The list of errors that occurred during compute node group provisioning.</p>
454
+ * @public
455
+ */
456
+ errorInfo?: ErrorInfo[];
457
+ }
458
+ /**
459
+ * @public
460
+ */
461
+ export interface CreateComputeNodeGroupResponse {
462
+ /**
463
+ * <p>A compute node group associated with a cluster.</p>
464
+ * @public
465
+ */
466
+ computeNodeGroup?: ComputeNodeGroup;
467
+ }
468
+ /**
469
+ * <p>Amazon Web Services PCS can't process your request right now. Try again later.</p>
470
+ * @public
471
+ */
472
+ export declare class InternalServerException extends __BaseException {
473
+ readonly name: "InternalServerException";
474
+ readonly $fault: "server";
475
+ $retryable: {};
476
+ /**
477
+ * @internal
478
+ */
479
+ constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>);
480
+ }
481
+ /**
482
+ * <p>The requested resource can't be found. The cluster, node group, or queue you're
483
+ * attempting to get, update, list, or delete doesn't exist.</p>
484
+ * <p>
485
+ * <u>Examples</u>
486
+ * </p>
487
+ * @public
488
+ */
489
+ export declare class ResourceNotFoundException extends __BaseException {
490
+ readonly name: "ResourceNotFoundException";
491
+ readonly $fault: "client";
492
+ /**
493
+ * <p>
494
+ * The unique identifier of the resource that was not found.
495
+ * </p>
496
+ * @public
497
+ */
498
+ resourceId: string | undefined;
499
+ /**
500
+ * <p>
501
+ * The type or category of the resource that was not found.
502
+ * </p>
503
+ * @public
504
+ */
505
+ resourceType: string | undefined;
506
+ /**
507
+ * @internal
508
+ */
509
+ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
510
+ }
511
+ /**
512
+ * <p>You exceeded your service quota. Service quotas, also referred to as limits, are the
513
+ * maximum number of service resources or operations for your Amazon Web Services account. To learn how to
514
+ * increase your service quota, see <a href="https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html">Requesting a quota
515
+ * increase</a> in the <i>Service Quotas User Guide</i>
516
+ * </p>
517
+ * <p>
518
+ * <u>Examples</u>
519
+ * </p>
520
+ * <ul>
521
+ * <li>
522
+ * <p>The max number of clusters or queues has been reached for the account.</p>
523
+ * </li>
524
+ * <li>
525
+ * <p>The max number of compute node groups has been reached for the associated
526
+ * cluster.</p>
527
+ * </li>
528
+ * <li>
529
+ * <p>The total of <code>maxInstances</code> across all compute node groups has been
530
+ * reached for associated cluster.</p>
531
+ * </li>
532
+ * </ul>
533
+ * @public
534
+ */
535
+ export declare class ServiceQuotaExceededException extends __BaseException {
536
+ readonly name: "ServiceQuotaExceededException";
537
+ readonly $fault: "client";
538
+ /**
539
+ * <p>
540
+ * The service code associated with the quota that was exceeded.
541
+ * </p>
542
+ * @public
543
+ */
544
+ serviceCode: string | undefined;
545
+ /**
546
+ * <p>
547
+ * The unique identifier of the resource that caused the quota to be exceeded.
548
+ * </p>
549
+ * @public
550
+ */
551
+ resourceId?: string;
552
+ /**
553
+ * <p>
554
+ * The type or category of the resource that caused the quota to be exceeded.
555
+ * </p>
556
+ * @public
557
+ */
558
+ resourceType?: string;
559
+ /**
560
+ * <p>
561
+ * The <b>quota code</b> of the service quota that was exceeded.
562
+ * </p>
563
+ * @public
564
+ */
565
+ quotaCode?: string;
566
+ /**
567
+ * @internal
568
+ */
569
+ constructor(opts: __ExceptionOptionType<ServiceQuotaExceededException, __BaseException>);
570
+ }
571
+ /**
572
+ * <p>Your request exceeded a request rate quota. Check the resource's request rate quota and try again.</p>
573
+ * @public
574
+ */
575
+ export declare class ThrottlingException extends __BaseException {
576
+ readonly name: "ThrottlingException";
577
+ readonly $fault: "client";
578
+ $retryable: {};
579
+ /**
580
+ * <p>
581
+ * The number of seconds to wait before retrying the request.
582
+ * </p>
583
+ * @public
584
+ */
585
+ retryAfterSeconds?: number;
586
+ /**
587
+ * @internal
588
+ */
589
+ constructor(opts: __ExceptionOptionType<ThrottlingException, __BaseException>);
590
+ }
591
+ /**
592
+ * <p>Stores information about a field in a request that caused an exception.</p>
593
+ * @public
594
+ */
595
+ export interface ValidationExceptionField {
596
+ /**
597
+ * <p>The name of the exception.</p>
598
+ * @public
599
+ */
600
+ name: string | undefined;
601
+ /**
602
+ * <p>The message body of the exception.</p>
603
+ * @public
604
+ */
605
+ message: string | undefined;
606
+ }
607
+ /**
608
+ * @public
609
+ * @enum
610
+ */
611
+ export declare const ValidationExceptionReason: {
612
+ readonly CANNOT_PARSE: "cannotParse";
613
+ readonly FIELD_VALIDATION_FAILED: "fieldValidationFailed";
614
+ readonly OTHER: "other";
615
+ readonly UNKNOWN_OPERATION: "unknownOperation";
616
+ };
617
+ /**
618
+ * @public
619
+ */
620
+ export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason];
621
+ /**
622
+ * <p>The request isn't valid.</p>
623
+ * <p>
624
+ * <u>Examples</u>
625
+ * </p>
626
+ * <ul>
627
+ * <li>
628
+ * <p>Your request contains malformed JSON or unsupported characters.</p>
629
+ * </li>
630
+ * <li>
631
+ * <p>The scheduler version isn't supported.</p>
632
+ * </li>
633
+ * <li>
634
+ * <p>There are networking related errors, such as network validation failure.</p>
635
+ * </li>
636
+ * <li>
637
+ * <p>AMI type is <code>CUSTOM</code> and the launch template doesn't define the AMI ID,
638
+ * or the AMI type is AL2 and the launch template defines the AMI.</p>
639
+ * </li>
640
+ * </ul>
641
+ * @public
642
+ */
643
+ export declare class ValidationException extends __BaseException {
644
+ readonly name: "ValidationException";
645
+ readonly $fault: "client";
646
+ /**
647
+ * <p>
648
+ * The specific reason or cause of the validation error.
649
+ * </p>
650
+ * @public
651
+ */
652
+ reason: ValidationExceptionReason | undefined;
653
+ /**
654
+ * <p>
655
+ * A list of fields or properties that failed validation.
656
+ * </p>
657
+ * @public
658
+ */
659
+ fieldList?: ValidationExceptionField[];
660
+ /**
661
+ * @internal
662
+ */
663
+ constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
664
+ }
665
+ /**
666
+ * @public
667
+ */
668
+ export interface DeleteComputeNodeGroupRequest {
669
+ /**
670
+ * <p>The name or ID of the cluster of the compute node group.</p>
671
+ * @public
672
+ */
673
+ clusterIdentifier: string | undefined;
674
+ /**
675
+ * <p>The name or ID of the compute node group to delete.</p>
676
+ * @public
677
+ */
678
+ computeNodeGroupIdentifier: string | undefined;
679
+ /**
680
+ * <p>A unique, case-sensitive identifier that you provide to
681
+ * ensure the idempotency of the request. Idempotency ensures that an API
682
+ * request completes only once. With an idempotent request, if the original
683
+ * request completes successfully, the subsequent retries with the same
684
+ * client token return the result from the original successful request and
685
+ * they have no additional effect. If you don't specify a client token, the
686
+ * CLI and SDK automatically generate 1 for you.</p>
687
+ * @public
688
+ */
689
+ clientToken?: string;
690
+ }
691
+ /**
692
+ * @public
693
+ */
694
+ export interface DeleteComputeNodeGroupResponse {
695
+ }
696
+ /**
697
+ * @public
698
+ */
699
+ export interface GetComputeNodeGroupRequest {
700
+ /**
701
+ * <p>The name or ID of the cluster.</p>
702
+ * @public
703
+ */
704
+ clusterIdentifier: string | undefined;
705
+ /**
706
+ * <p>The name or ID of the compute node group.</p>
707
+ * @public
708
+ */
709
+ computeNodeGroupIdentifier: string | undefined;
710
+ }
711
+ /**
712
+ * @public
713
+ */
714
+ export interface GetComputeNodeGroupResponse {
715
+ /**
716
+ * <p>A compute node group associated with a cluster.</p>
717
+ * @public
718
+ */
719
+ computeNodeGroup?: ComputeNodeGroup;
720
+ }
721
+ /**
722
+ * @public
723
+ */
724
+ export interface ListComputeNodeGroupsRequest {
725
+ /**
726
+ * <p>The name or ID of the cluster to list compute node groups for.</p>
727
+ * @public
728
+ */
729
+ clusterIdentifier: string | undefined;
730
+ /**
731
+ * <p>The value of <code>nextToken</code> is a unique pagination token
732
+ * for each page of results returned. If <code>nextToken</code> is returned, there are more
733
+ * results available. Make the call again using the returned token to retrieve the next page.
734
+ * Keep all other arguments unchanged. Each pagination token expires after 24 hours.
735
+ * Using an expired pagination token returns an <code>HTTP 400 InvalidToken</code>
736
+ * error.</p>
737
+ * @public
738
+ */
739
+ nextToken?: string;
740
+ /**
741
+ * <p>The maximum number of results that are returned per call.
742
+ * You can use <code>nextToken</code> to obtain further pages of results. The default
743
+ * is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses
744
+ * the default.</p>
745
+ * @public
746
+ */
747
+ maxResults?: number;
748
+ }
749
+ /**
750
+ * <p>The object returned by the <code>ListComputeNodeGroups</code> API action.</p>
751
+ * @public
752
+ */
753
+ export interface ComputeNodeGroupSummary {
754
+ /**
755
+ * <p>The name that identifies the compute node group.</p>
756
+ * @public
757
+ */
758
+ name: string | undefined;
759
+ /**
760
+ * <p>The generated unique ID of the compute node group.</p>
761
+ * @public
762
+ */
763
+ id: string | undefined;
764
+ /**
765
+ * <p>The unique Amazon Resource Name (ARN) of the compute node group.</p>
766
+ * @public
767
+ */
768
+ arn: string | undefined;
769
+ /**
770
+ * <p>The ID of the cluster of the compute node group.</p>
771
+ * @public
772
+ */
773
+ clusterId: string | undefined;
774
+ /**
775
+ * <p>The date and time the resource was created.</p>
776
+ * @public
777
+ */
778
+ createdAt: Date | undefined;
779
+ /**
780
+ * <p>The date and time the resource was modified.</p>
781
+ * @public
782
+ */
783
+ modifiedAt: Date | undefined;
784
+ /**
785
+ * <p>The provisioning status of the compute node group.</p>
786
+ * <note>
787
+ * <p>The provisioning status doesn't indicate the overall health of the compute node
788
+ * group.</p>
789
+ * </note>
790
+ * @public
791
+ */
792
+ status: ComputeNodeGroupStatus | undefined;
793
+ }
794
+ /**
795
+ * @public
796
+ */
797
+ export interface ListComputeNodeGroupsResponse {
798
+ /**
799
+ * <p>The list of compute node groups for the cluster.</p>
800
+ * @public
801
+ */
802
+ computeNodeGroups: ComputeNodeGroupSummary[] | undefined;
803
+ /**
804
+ * <p>The value of <code>nextToken</code> is a unique pagination token
805
+ * for each page of results returned. If <code>nextToken</code> is returned, there are more
806
+ * results available. Make the call again using the returned token to retrieve the next page.
807
+ * Keep all other arguments unchanged. Each pagination token expires after 24 hours.
808
+ * Using an expired pagination token returns an <code>HTTP 400 InvalidToken</code>
809
+ * error.</p>
810
+ * @public
811
+ */
812
+ nextToken?: string;
813
+ }
814
+ /**
815
+ * <p>Additional options related to the Slurm scheduler.</p>
816
+ * @public
817
+ */
818
+ export interface UpdateComputeNodeGroupSlurmConfigurationRequest {
819
+ /**
820
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
821
+ * @public
822
+ */
823
+ slurmCustomSettings?: SlurmCustomSetting[];
824
+ }
825
+ /**
826
+ * @public
827
+ */
828
+ export interface UpdateComputeNodeGroupRequest {
829
+ /**
830
+ * <p>The name or ID of the cluster of the compute node group.</p>
831
+ * @public
832
+ */
833
+ clusterIdentifier: string | undefined;
834
+ /**
835
+ * <p>The name or ID of the compute node group.</p>
836
+ * @public
837
+ */
838
+ computeNodeGroupIdentifier: string | undefined;
839
+ /**
840
+ * <p>The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances.
841
+ * If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch
842
+ * template.</p>
843
+ * @public
844
+ */
845
+ amiId?: string;
846
+ /**
847
+ * <p>The list of subnet IDs where the compute node group provisions instances.
848
+ * The subnets must be in the same VPC as the cluster.</p>
849
+ * @public
850
+ */
851
+ subnetIds?: string[];
852
+ /**
853
+ * <p>An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.</p>
854
+ * @public
855
+ */
856
+ customLaunchTemplate?: CustomLaunchTemplate;
857
+ /**
858
+ * <p>Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand
859
+ * and Spot instances. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html">Instance
860
+ * purchasing options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. If you don't provide this
861
+ * option, it defaults to On-Demand.</p>
862
+ * @public
863
+ */
864
+ purchaseOption?: PurchaseOption;
865
+ /**
866
+ * <p>Additional configuration when you specify <code>SPOT</code> as the
867
+ * <code>purchaseOption</code> for the <code>CreateComputeNodeGroup</code> API action.</p>
868
+ * @public
869
+ */
870
+ spotOptions?: SpotOptions;
871
+ /**
872
+ * <p>Specifies the boundaries of the compute node group auto scaling.</p>
873
+ * @public
874
+ */
875
+ scalingConfiguration?: ScalingConfigurationRequest;
876
+ /**
877
+ * <p>The Amazon Resource Name (ARN) of the
878
+ * IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have
879
+ * <code>pcs:RegisterComputeNodeGroupInstance</code> permissions attached to provision instances
880
+ * correctly.</p>
881
+ * @public
882
+ */
883
+ iamInstanceProfileArn?: string;
884
+ /**
885
+ * <p>Additional options related to the Slurm scheduler.</p>
886
+ * @public
887
+ */
888
+ slurmConfiguration?: UpdateComputeNodeGroupSlurmConfigurationRequest;
889
+ /**
890
+ * <p>A unique, case-sensitive identifier that you provide to
891
+ * ensure the idempotency of the request. Idempotency ensures that an API
892
+ * request completes only once. With an idempotent request, if the original
893
+ * request completes successfully, the subsequent retries with the same
894
+ * client token return the result from the original successful request and
895
+ * they have no additional effect. If you don't specify a client token, the
896
+ * CLI and SDK automatically generate 1 for you.</p>
897
+ * @public
898
+ */
899
+ clientToken?: string;
900
+ }
901
+ /**
902
+ * @public
903
+ */
904
+ export interface UpdateComputeNodeGroupResponse {
905
+ /**
906
+ * <p>A compute node group associated with a cluster.</p>
907
+ * @public
908
+ */
909
+ computeNodeGroup?: ComputeNodeGroup;
910
+ }
911
+ /**
912
+ * <p>The networking configuration for the cluster's control plane.</p>
913
+ * @public
914
+ */
915
+ export interface NetworkingRequest {
916
+ /**
917
+ * <p>The list of subnet IDs where Amazon Web Services PCS creates an
918
+ * Elastic Network Interface (ENI) to enable communication between managed controllers
919
+ * and Amazon Web Services PCS resources. Subnet IDs have the form <code>subnet-0123456789abcdef0</code>.</p>
920
+ * <p>Subnets can't be in Outposts, Wavelength or an Amazon Web Services Local Zone.</p>
921
+ * <note>
922
+ * <p>Amazon Web Services PCS currently supports only 1 subnet in this list.</p>
923
+ * </note>
924
+ * @public
925
+ */
926
+ subnetIds?: string[];
927
+ /**
928
+ * <p>A list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.</p>
929
+ * @public
930
+ */
931
+ securityGroupIds?: string[];
932
+ }
933
+ /**
934
+ * @public
935
+ * @enum
936
+ */
937
+ export declare const SchedulerType: {
938
+ readonly SLURM: "SLURM";
939
+ };
940
+ /**
941
+ * @public
942
+ */
943
+ export type SchedulerType = (typeof SchedulerType)[keyof typeof SchedulerType];
944
+ /**
945
+ * <p>The cluster management and job scheduling software associated with the cluster.</p>
946
+ * @public
947
+ */
948
+ export interface SchedulerRequest {
949
+ /**
950
+ * <p>The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling.</p>
951
+ * @public
952
+ */
953
+ type: SchedulerType | undefined;
954
+ /**
955
+ * <p>The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling.</p>
956
+ * @public
957
+ */
958
+ version: string | undefined;
959
+ }
960
+ /**
961
+ * @public
962
+ * @enum
963
+ */
964
+ export declare const Size: {
965
+ readonly LARGE: "LARGE";
966
+ readonly MEDIUM: "MEDIUM";
967
+ readonly SMALL: "SMALL";
968
+ };
969
+ /**
970
+ * @public
971
+ */
972
+ export type Size = (typeof Size)[keyof typeof Size];
973
+ /**
974
+ * <p>Additional options related to the Slurm scheduler.</p>
975
+ * @public
976
+ */
977
+ export interface ClusterSlurmConfigurationRequest {
978
+ /**
979
+ * <p>The time before an idle node is scaled down.</p>
980
+ * @public
981
+ */
982
+ scaleDownIdleTimeInSeconds?: number;
983
+ /**
984
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
985
+ * @public
986
+ */
987
+ slurmCustomSettings?: SlurmCustomSetting[];
988
+ }
989
+ /**
990
+ * @public
991
+ */
992
+ export interface CreateClusterRequest {
993
+ /**
994
+ * <p>A name to identify the cluster. Example: <code>MyCluster</code>
995
+ * </p>
996
+ * @public
997
+ */
998
+ clusterName: string | undefined;
999
+ /**
1000
+ * <p>The cluster management and job scheduling software associated with the cluster.</p>
1001
+ * @public
1002
+ */
1003
+ scheduler: SchedulerRequest | undefined;
1004
+ /**
1005
+ * <p>A value that determines the maximum number of compute nodes in the cluster and the
1006
+ * maximum number of jobs (active and queued).</p>
1007
+ * <ul>
1008
+ * <li>
1009
+ * <p>
1010
+ * <code>SMALL</code>: 32 compute nodes and 256 jobs</p>
1011
+ * </li>
1012
+ * <li>
1013
+ * <p>
1014
+ * <code>MEDIUM</code>: 512 compute nodes and 8192 jobs</p>
1015
+ * </li>
1016
+ * <li>
1017
+ * <p>
1018
+ * <code>LARGE</code>: 2048 compute nodes and 16,384 jobs</p>
1019
+ * </li>
1020
+ * </ul>
1021
+ * @public
1022
+ */
1023
+ size: Size | undefined;
1024
+ /**
1025
+ * <p>The networking configuration used to set up the cluster's control plane.</p>
1026
+ * @public
1027
+ */
1028
+ networking: NetworkingRequest | undefined;
1029
+ /**
1030
+ * <p>Additional options related to the Slurm scheduler.</p>
1031
+ * @public
1032
+ */
1033
+ slurmConfiguration?: ClusterSlurmConfigurationRequest;
1034
+ /**
1035
+ * <p>A unique, case-sensitive identifier that you provide to
1036
+ * ensure the idempotency of the request. Idempotency ensures that an API
1037
+ * request completes only once. With an idempotent request, if the original
1038
+ * request completes successfully, the subsequent retries with the same
1039
+ * client token return the result from the original successful request and
1040
+ * they have no additional effect. If you don't specify a client token, the
1041
+ * CLI and SDK automatically generate 1 for you.</p>
1042
+ * @public
1043
+ */
1044
+ clientToken?: string;
1045
+ /**
1046
+ * <p>1 or more tags added to the resource. Each tag consists of a
1047
+ * tag key and tag value. The tag value is optional and can be an empty
1048
+ * string.</p>
1049
+ * @public
1050
+ */
1051
+ tags?: Record<string, string>;
1052
+ }
1053
+ /**
1054
+ * @public
1055
+ * @enum
1056
+ */
1057
+ export declare const EndpointType: {
1058
+ readonly SLURMCTLD: "SLURMCTLD";
1059
+ readonly SLURMDBD: "SLURMDBD";
1060
+ };
1061
+ /**
1062
+ * @public
1063
+ */
1064
+ export type EndpointType = (typeof EndpointType)[keyof typeof EndpointType];
1065
+ /**
1066
+ * <p>An endpoint available for interaction with the scheduler.</p>
1067
+ * @public
1068
+ */
1069
+ export interface Endpoint {
1070
+ /**
1071
+ * <p>Indicates the type of endpoint running at the specific IP address.</p>
1072
+ * @public
1073
+ */
1074
+ type: EndpointType | undefined;
1075
+ /**
1076
+ * <p>The endpoint's private IP address.</p>
1077
+ * <p>Example: <code>2.2.2.2</code>
1078
+ * </p>
1079
+ * @public
1080
+ */
1081
+ privateIpAddress: string | undefined;
1082
+ /**
1083
+ * <p>The endpoint's public IP address.</p>
1084
+ * <p>Example: <code>1.1.1.1</code>
1085
+ * </p>
1086
+ * @public
1087
+ */
1088
+ publicIpAddress?: string;
1089
+ /**
1090
+ * <p>The endpoint's connection port number.</p>
1091
+ * <p> Example: <code>1234</code>
1092
+ * </p>
1093
+ * @public
1094
+ */
1095
+ port: string | undefined;
1096
+ }
1097
+ /**
1098
+ * <p>The networking configuration for the cluster's control plane.</p>
1099
+ * @public
1100
+ */
1101
+ export interface Networking {
1102
+ /**
1103
+ * <p>The ID of the subnet where Amazon Web Services PCS creates an Elastic Network Interface (ENI) to
1104
+ * enable communication between managed controllers and Amazon Web Services PCS resources. The subnet must
1105
+ * have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS
1106
+ * Local Zone.</p>
1107
+ * <p> Example: <code>subnet-abcd1234</code>
1108
+ * </p>
1109
+ * @public
1110
+ */
1111
+ subnetIds?: string[];
1112
+ /**
1113
+ * <p>The list of security group IDs associated
1114
+ * with the Elastic Network Interface (ENI) created in subnets.</p>
1115
+ * <p>The following rules are required:</p>
1116
+ * <ul>
1117
+ * <li>
1118
+ * <p>Inbound rule 1</p>
1119
+ * <ul>
1120
+ * <li>
1121
+ * <p>Protocol: All</p>
1122
+ * </li>
1123
+ * <li>
1124
+ * <p>Ports: All</p>
1125
+ * </li>
1126
+ * <li>
1127
+ * <p>Source: Self</p>
1128
+ * </li>
1129
+ * </ul>
1130
+ * </li>
1131
+ * <li>
1132
+ * <p>Outbound rule 1</p>
1133
+ * <ul>
1134
+ * <li>
1135
+ * <p>Protocol: All</p>
1136
+ * </li>
1137
+ * <li>
1138
+ * <p>Ports: All</p>
1139
+ * </li>
1140
+ * <li>
1141
+ * <p>Destination: 0.0.0.0/0 (IPv4)</p>
1142
+ * </li>
1143
+ * </ul>
1144
+ * </li>
1145
+ * <li>
1146
+ * <p>Outbound rule 2</p>
1147
+ * <ul>
1148
+ * <li>
1149
+ * <p>Protocol: All</p>
1150
+ * </li>
1151
+ * <li>
1152
+ * <p>Ports: All</p>
1153
+ * </li>
1154
+ * <li>
1155
+ * <p>Destination: Self</p>
1156
+ * </li>
1157
+ * </ul>
1158
+ * </li>
1159
+ * </ul>
1160
+ * @public
1161
+ */
1162
+ securityGroupIds?: string[];
1163
+ }
1164
+ /**
1165
+ * <p>The cluster management and job scheduling software associated with the cluster.</p>
1166
+ * @public
1167
+ */
1168
+ export interface Scheduler {
1169
+ /**
1170
+ * <p>The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling.</p>
1171
+ * @public
1172
+ */
1173
+ type: SchedulerType | undefined;
1174
+ /**
1175
+ * <p>The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling.</p>
1176
+ * @public
1177
+ */
1178
+ version: string | undefined;
1179
+ }
1180
+ /**
1181
+ * <p>The shared Slurm key for authentication, also known as the <b>cluster secret</b>.</p>
1182
+ * @public
1183
+ */
1184
+ export interface SlurmAuthKey {
1185
+ /**
1186
+ * <p>The Amazon Resource Name (ARN) of the the shared Slurm key.</p>
1187
+ * @public
1188
+ */
1189
+ secretArn: string | undefined;
1190
+ /**
1191
+ * <p>The version of the shared Slurm key.</p>
1192
+ * @public
1193
+ */
1194
+ secretVersion: string | undefined;
1195
+ }
1196
+ /**
1197
+ * <p>Additional options related to the Slurm scheduler.</p>
1198
+ * @public
1199
+ */
1200
+ export interface ClusterSlurmConfiguration {
1201
+ /**
1202
+ * <p>The time before an idle node is scaled down.</p>
1203
+ * @public
1204
+ */
1205
+ scaleDownIdleTimeInSeconds?: number;
1206
+ /**
1207
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
1208
+ * @public
1209
+ */
1210
+ slurmCustomSettings?: SlurmCustomSetting[];
1211
+ /**
1212
+ * <p>The shared Slurm key for authentication, also known as the <b>cluster secret</b>.</p>
1213
+ * @public
1214
+ */
1215
+ authKey?: SlurmAuthKey;
1216
+ }
1217
+ /**
1218
+ * @public
1219
+ * @enum
1220
+ */
1221
+ export declare const ClusterStatus: {
1222
+ readonly ACTIVE: "ACTIVE";
1223
+ readonly CREATE_FAILED: "CREATE_FAILED";
1224
+ readonly CREATING: "CREATING";
1225
+ readonly DELETE_FAILED: "DELETE_FAILED";
1226
+ readonly DELETING: "DELETING";
1227
+ readonly UPDATE_FAILED: "UPDATE_FAILED";
1228
+ readonly UPDATING: "UPDATING";
1229
+ };
1230
+ /**
1231
+ * @public
1232
+ */
1233
+ export type ClusterStatus = (typeof ClusterStatus)[keyof typeof ClusterStatus];
1234
+ /**
1235
+ * <p>The cluster resource and configuration.</p>
1236
+ * @public
1237
+ */
1238
+ export interface Cluster {
1239
+ /**
1240
+ * <p>The name that identifies the cluster.</p>
1241
+ * @public
1242
+ */
1243
+ name: string | undefined;
1244
+ /**
1245
+ * <p>The generated unique ID of the cluster.</p>
1246
+ * @public
1247
+ */
1248
+ id: string | undefined;
1249
+ /**
1250
+ * <p>The unique Amazon Resource Name (ARN) of the cluster.</p>
1251
+ * @public
1252
+ */
1253
+ arn: string | undefined;
1254
+ /**
1255
+ * <p>The provisioning status of the cluster.</p>
1256
+ * <note>
1257
+ * <p>The provisioning status doesn't indicate the overall health of the cluster.</p>
1258
+ * </note>
1259
+ * @public
1260
+ */
1261
+ status: ClusterStatus | undefined;
1262
+ /**
1263
+ * <p>The date and time the resource was created.</p>
1264
+ * @public
1265
+ */
1266
+ createdAt: Date | undefined;
1267
+ /**
1268
+ * <p>The date and time the resource was modified.</p>
1269
+ * @public
1270
+ */
1271
+ modifiedAt: Date | undefined;
1272
+ /**
1273
+ * <p>The cluster management and job scheduling software associated with the cluster.</p>
1274
+ * @public
1275
+ */
1276
+ scheduler: Scheduler | undefined;
1277
+ /**
1278
+ * <p>The size of the cluster.</p>
1279
+ * <ul>
1280
+ * <li>
1281
+ * <p>
1282
+ * <code>SMALL</code>: 32 compute nodes and 256 jobs</p>
1283
+ * </li>
1284
+ * <li>
1285
+ * <p>
1286
+ * <code>MEDIUM</code>: 512 compute nodes and 8192 jobs</p>
1287
+ * </li>
1288
+ * <li>
1289
+ * <p>
1290
+ * <code>LARGE</code>: 2048 compute nodes and 16,384 jobs</p>
1291
+ * </li>
1292
+ * </ul>
1293
+ * @public
1294
+ */
1295
+ size: Size | undefined;
1296
+ /**
1297
+ * <p>Additional options related to the Slurm scheduler.</p>
1298
+ * @public
1299
+ */
1300
+ slurmConfiguration?: ClusterSlurmConfiguration;
1301
+ /**
1302
+ * <p>The networking configuration for the cluster's control plane.</p>
1303
+ * @public
1304
+ */
1305
+ networking: Networking | undefined;
1306
+ /**
1307
+ * <p>The list of endpoints available for interaction with the scheduler.</p>
1308
+ * @public
1309
+ */
1310
+ endpoints?: Endpoint[];
1311
+ /**
1312
+ * <p>The list of errors that occurred during cluster provisioning.</p>
1313
+ * @public
1314
+ */
1315
+ errorInfo?: ErrorInfo[];
1316
+ }
1317
+ /**
1318
+ * @public
1319
+ */
1320
+ export interface CreateClusterResponse {
1321
+ /**
1322
+ * <p>The cluster resource.</p>
1323
+ * @public
1324
+ */
1325
+ cluster?: Cluster;
1326
+ }
1327
+ /**
1328
+ * @public
1329
+ */
1330
+ export interface DeleteClusterRequest {
1331
+ /**
1332
+ * <p>The name or ID of the cluster to delete.</p>
1333
+ * @public
1334
+ */
1335
+ clusterIdentifier: string | undefined;
1336
+ /**
1337
+ * <p>A unique, case-sensitive identifier that you provide to
1338
+ * ensure the idempotency of the request. Idempotency ensures that an API
1339
+ * request completes only once. With an idempotent request, if the original
1340
+ * request completes successfully, the subsequent retries with the same
1341
+ * client token return the result from the original successful request and
1342
+ * they have no additional effect. If you don't specify a client token, the
1343
+ * CLI and SDK automatically generate 1 for you.</p>
1344
+ * @public
1345
+ */
1346
+ clientToken?: string;
1347
+ }
1348
+ /**
1349
+ * @public
1350
+ */
1351
+ export interface DeleteClusterResponse {
1352
+ }
1353
+ /**
1354
+ * @public
1355
+ */
1356
+ export interface GetClusterRequest {
1357
+ /**
1358
+ * <p>The name or ID of the cluster of the queue.</p>
1359
+ * @public
1360
+ */
1361
+ clusterIdentifier: string | undefined;
1362
+ }
1363
+ /**
1364
+ * @public
1365
+ */
1366
+ export interface GetClusterResponse {
1367
+ /**
1368
+ * <p>The cluster resource.</p>
1369
+ * @public
1370
+ */
1371
+ cluster?: Cluster;
1372
+ }
1373
+ /**
1374
+ * @public
1375
+ */
1376
+ export interface ListClustersRequest {
1377
+ /**
1378
+ * <p>The value of <code>nextToken</code> is a unique pagination token
1379
+ * for each page of results returned. If <code>nextToken</code> is returned, there are more
1380
+ * results available. Make the call again using the returned token to retrieve the next page.
1381
+ * Keep all other arguments unchanged. Each pagination token expires after 24 hours.
1382
+ * Using an expired pagination token returns an <code>HTTP 400 InvalidToken</code>
1383
+ * error.</p>
1384
+ * @public
1385
+ */
1386
+ nextToken?: string;
1387
+ /**
1388
+ * <p>The maximum number of results that are returned per call.
1389
+ * You can use <code>nextToken</code> to obtain further pages of results. The default
1390
+ * is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses
1391
+ * the default.</p>
1392
+ * @public
1393
+ */
1394
+ maxResults?: number;
1395
+ }
1396
+ /**
1397
+ * <p>The object returned by the <code>ListClusters</code> API action.</p>
1398
+ * @public
1399
+ */
1400
+ export interface ClusterSummary {
1401
+ /**
1402
+ * <p>The name that identifies the cluster.</p>
1403
+ * @public
1404
+ */
1405
+ name: string | undefined;
1406
+ /**
1407
+ * <p>The generated unique ID of the cluster.</p>
1408
+ * @public
1409
+ */
1410
+ id: string | undefined;
1411
+ /**
1412
+ * <p>The unique Amazon Resource Name (ARN) of the cluster.</p>
1413
+ * @public
1414
+ */
1415
+ arn: string | undefined;
1416
+ /**
1417
+ * <p>The date and time the resource was created.</p>
1418
+ * @public
1419
+ */
1420
+ createdAt: Date | undefined;
1421
+ /**
1422
+ * <p>The date and time the resource was modified.</p>
1423
+ * @public
1424
+ */
1425
+ modifiedAt: Date | undefined;
1426
+ /**
1427
+ * <p>The provisioning status of the cluster.</p>
1428
+ * <note>
1429
+ * <p>The provisioning status doesn't indicate the overall health of the cluster.</p>
1430
+ * </note>
1431
+ * @public
1432
+ */
1433
+ status: ClusterStatus | undefined;
1434
+ }
1435
+ /**
1436
+ * @public
1437
+ */
1438
+ export interface ListClustersResponse {
1439
+ /**
1440
+ * <p>The list of clusters.</p>
1441
+ * @public
1442
+ */
1443
+ clusters: ClusterSummary[] | undefined;
1444
+ /**
1445
+ * <p>The value of <code>nextToken</code> is a unique pagination token
1446
+ * for each page of results returned. If <code>nextToken</code> is returned, there are more
1447
+ * results available. Make the call again using the returned token to retrieve the next page.
1448
+ * Keep all other arguments unchanged. Each pagination token expires after 24 hours.
1449
+ * Using an expired pagination token returns an <code>HTTP 400 InvalidToken</code>
1450
+ * error.</p>
1451
+ * @public
1452
+ */
1453
+ nextToken?: string;
1454
+ }
1455
+ /**
1456
+ * <p>The compute node group configuration for a queue.</p>
1457
+ * @public
1458
+ */
1459
+ export interface ComputeNodeGroupConfiguration {
1460
+ /**
1461
+ * <p>The compute node group ID for the compute node group configuration.</p>
1462
+ * @public
1463
+ */
1464
+ computeNodeGroupId?: string;
1465
+ }
1466
+ /**
1467
+ * @public
1468
+ */
1469
+ export interface CreateQueueRequest {
1470
+ /**
1471
+ * <p>The name or ID of the cluster for which to create a queue.</p>
1472
+ * @public
1473
+ */
1474
+ clusterIdentifier: string | undefined;
1475
+ /**
1476
+ * <p>A name to identify the queue.</p>
1477
+ * @public
1478
+ */
1479
+ queueName: string | undefined;
1480
+ /**
1481
+ * <p>The list of compute node group configurations to associate with the queue. Queues
1482
+ * assign jobs to associated compute node groups.</p>
1483
+ * @public
1484
+ */
1485
+ computeNodeGroupConfigurations?: ComputeNodeGroupConfiguration[];
1486
+ /**
1487
+ * <p>A unique, case-sensitive identifier that you provide to
1488
+ * ensure the idempotency of the request. Idempotency ensures that an API
1489
+ * request completes only once. With an idempotent request, if the original
1490
+ * request completes successfully, the subsequent retries with the same
1491
+ * client token return the result from the original successful request and
1492
+ * they have no additional effect. If you don't specify a client token, the
1493
+ * CLI and SDK automatically generate 1 for you.</p>
1494
+ * @public
1495
+ */
1496
+ clientToken?: string;
1497
+ /**
1498
+ * <p>1 or more tags added to the resource. Each tag consists of a
1499
+ * tag key and tag value. The tag value is optional and can be an empty
1500
+ * string.</p>
1501
+ * @public
1502
+ */
1503
+ tags?: Record<string, string>;
1504
+ }
1505
+ /**
1506
+ * @public
1507
+ * @enum
1508
+ */
1509
+ export declare const QueueStatus: {
1510
+ readonly ACTIVE: "ACTIVE";
1511
+ readonly CREATE_FAILED: "CREATE_FAILED";
1512
+ readonly CREATING: "CREATING";
1513
+ readonly DELETE_FAILED: "DELETE_FAILED";
1514
+ readonly DELETING: "DELETING";
1515
+ readonly UPDATE_FAILED: "UPDATE_FAILED";
1516
+ readonly UPDATING: "UPDATING";
1517
+ };
1518
+ /**
1519
+ * @public
1520
+ */
1521
+ export type QueueStatus = (typeof QueueStatus)[keyof typeof QueueStatus];
1522
+ /**
1523
+ * <p>A queue resource.</p>
1524
+ * @public
1525
+ */
1526
+ export interface Queue {
1527
+ /**
1528
+ * <p>The name that identifies the queue.</p>
1529
+ * @public
1530
+ */
1531
+ name: string | undefined;
1532
+ /**
1533
+ * <p>The generated unique ID of the queue.</p>
1534
+ * @public
1535
+ */
1536
+ id: string | undefined;
1537
+ /**
1538
+ * <p>The unique Amazon Resource Name (ARN) of the queue.</p>
1539
+ * @public
1540
+ */
1541
+ arn: string | undefined;
1542
+ /**
1543
+ * <p>The ID of the cluster of the queue.</p>
1544
+ * @public
1545
+ */
1546
+ clusterId: string | undefined;
1547
+ /**
1548
+ * <p>The date and time the resource was created.</p>
1549
+ * @public
1550
+ */
1551
+ createdAt: Date | undefined;
1552
+ /**
1553
+ * <p>The date and time the resource was modified.</p>
1554
+ * @public
1555
+ */
1556
+ modifiedAt: Date | undefined;
1557
+ /**
1558
+ * <p>The provisioning status of the queue.</p>
1559
+ * <note>
1560
+ * <p>The provisioning status doesn't indicate the overall health of the queue.</p>
1561
+ * </note>
1562
+ * @public
1563
+ */
1564
+ status: QueueStatus | undefined;
1565
+ /**
1566
+ * <p>The list of compute node group configurations associated with the queue. Queues
1567
+ * assign jobs to associated compute node groups.</p>
1568
+ * @public
1569
+ */
1570
+ computeNodeGroupConfigurations: ComputeNodeGroupConfiguration[] | undefined;
1571
+ /**
1572
+ * <p>The list of errors that occurred during queue provisioning.</p>
1573
+ * @public
1574
+ */
1575
+ errorInfo?: ErrorInfo[];
1576
+ }
1577
+ /**
1578
+ * @public
1579
+ */
1580
+ export interface CreateQueueResponse {
1581
+ /**
1582
+ * <p>A queue resource.</p>
1583
+ * @public
1584
+ */
1585
+ queue?: Queue;
1586
+ }
1587
+ /**
1588
+ * @public
1589
+ */
1590
+ export interface DeleteQueueRequest {
1591
+ /**
1592
+ * <p>The name or ID of the cluster of the queue.</p>
1593
+ * @public
1594
+ */
1595
+ clusterIdentifier: string | undefined;
1596
+ /**
1597
+ * <p>The name or ID of the queue to delete.</p>
1598
+ * @public
1599
+ */
1600
+ queueIdentifier: string | undefined;
1601
+ /**
1602
+ * <p>A unique, case-sensitive identifier that you provide to
1603
+ * ensure the idempotency of the request. Idempotency ensures that an API
1604
+ * request completes only once. With an idempotent request, if the original
1605
+ * request completes successfully, the subsequent retries with the same
1606
+ * client token return the result from the original successful request and
1607
+ * they have no additional effect. If you don't specify a client token, the
1608
+ * CLI and SDK automatically generate 1 for you.</p>
1609
+ * @public
1610
+ */
1611
+ clientToken?: string;
1612
+ }
1613
+ /**
1614
+ * @public
1615
+ */
1616
+ export interface DeleteQueueResponse {
1617
+ }
1618
+ /**
1619
+ * @public
1620
+ */
1621
+ export interface GetQueueRequest {
1622
+ /**
1623
+ * <p>The name or ID of the cluster of the queue.</p>
1624
+ * @public
1625
+ */
1626
+ clusterIdentifier: string | undefined;
1627
+ /**
1628
+ * <p>The name or ID of the queue.</p>
1629
+ * @public
1630
+ */
1631
+ queueIdentifier: string | undefined;
1632
+ }
1633
+ /**
1634
+ * @public
1635
+ */
1636
+ export interface GetQueueResponse {
1637
+ /**
1638
+ * <p>A queue resource.</p>
1639
+ * @public
1640
+ */
1641
+ queue?: Queue;
1642
+ }
1643
+ /**
1644
+ * @public
1645
+ */
1646
+ export interface ListQueuesRequest {
1647
+ /**
1648
+ * <p>The name or ID of the cluster to list queues for.</p>
1649
+ * @public
1650
+ */
1651
+ clusterIdentifier: string | undefined;
1652
+ /**
1653
+ * <p>The value of <code>nextToken</code> is a unique pagination token
1654
+ * for each page of results returned. If <code>nextToken</code> is returned, there are more
1655
+ * results available. Make the call again using the returned token to retrieve the next page.
1656
+ * Keep all other arguments unchanged. Each pagination token expires after 24 hours.
1657
+ * Using an expired pagination token returns an <code>HTTP 400 InvalidToken</code>
1658
+ * error.</p>
1659
+ * @public
1660
+ */
1661
+ nextToken?: string;
1662
+ /**
1663
+ * <p>The maximum number of results that are returned per call.
1664
+ * You can use <code>nextToken</code> to obtain further pages of results. The default
1665
+ * is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses
1666
+ * the default.</p>
1667
+ * @public
1668
+ */
1669
+ maxResults?: number;
1670
+ }
1671
+ /**
1672
+ * <p>The object returned by the <code>ListQueues</code> API action.</p>
1673
+ * @public
1674
+ */
1675
+ export interface QueueSummary {
1676
+ /**
1677
+ * <p>The name that identifies the queue.</p>
1678
+ * @public
1679
+ */
1680
+ name: string | undefined;
1681
+ /**
1682
+ * <p>The generated unique ID of the queue.</p>
1683
+ * @public
1684
+ */
1685
+ id: string | undefined;
1686
+ /**
1687
+ * <p>The unique Amazon Resource Name (ARN) of the queue.</p>
1688
+ * @public
1689
+ */
1690
+ arn: string | undefined;
1691
+ /**
1692
+ * <p>The ID of the cluster of the queue.</p>
1693
+ * @public
1694
+ */
1695
+ clusterId: string | undefined;
1696
+ /**
1697
+ * <p>The date and time the resource was created.</p>
1698
+ * @public
1699
+ */
1700
+ createdAt: Date | undefined;
1701
+ /**
1702
+ * <p>The date and time the resource was modified.</p>
1703
+ * @public
1704
+ */
1705
+ modifiedAt: Date | undefined;
1706
+ /**
1707
+ * <p>The provisioning status of the queue.</p>
1708
+ * <note>
1709
+ * <p> The provisioning status doesn't indicate the overall health of the queue.</p>
1710
+ * </note>
1711
+ * @public
1712
+ */
1713
+ status: QueueStatus | undefined;
1714
+ }
1715
+ /**
1716
+ * @public
1717
+ */
1718
+ export interface ListQueuesResponse {
1719
+ /**
1720
+ * <p>The list of queues associated with the cluster.</p>
1721
+ * @public
1722
+ */
1723
+ queues: QueueSummary[] | undefined;
1724
+ /**
1725
+ * <p>The value of <code>nextToken</code> is a unique pagination token
1726
+ * for each page of results returned. If <code>nextToken</code> is returned, there are more
1727
+ * results available. Make the call again using the returned token to retrieve the next page.
1728
+ * Keep all other arguments unchanged. Each pagination token expires after 24 hours.
1729
+ * Using an expired pagination token returns an <code>HTTP 400 InvalidToken</code>
1730
+ * error.</p>
1731
+ * @public
1732
+ */
1733
+ nextToken?: string;
1734
+ }
1735
+ /**
1736
+ * @public
1737
+ */
1738
+ export interface UpdateQueueRequest {
1739
+ /**
1740
+ * <p>The name or ID of the cluster of the queue.</p>
1741
+ * @public
1742
+ */
1743
+ clusterIdentifier: string | undefined;
1744
+ /**
1745
+ * <p>The name or ID of the queue.</p>
1746
+ * @public
1747
+ */
1748
+ queueIdentifier: string | undefined;
1749
+ /**
1750
+ * <p>The list of compute node group configurations to associate with the queue. Queues
1751
+ * assign jobs to associated compute node groups.</p>
1752
+ * @public
1753
+ */
1754
+ computeNodeGroupConfigurations?: ComputeNodeGroupConfiguration[];
1755
+ /**
1756
+ * <p>A unique, case-sensitive identifier that you provide to
1757
+ * ensure the idempotency of the request. Idempotency ensures that an API
1758
+ * request completes only once. With an idempotent request, if the original
1759
+ * request completes successfully, the subsequent retries with the same
1760
+ * client token return the result from the original successful request and
1761
+ * they have no additional effect. If you don't specify a client token, the
1762
+ * CLI and SDK automatically generate 1 for you.</p>
1763
+ * @public
1764
+ */
1765
+ clientToken?: string;
1766
+ }
1767
+ /**
1768
+ * @public
1769
+ */
1770
+ export interface UpdateQueueResponse {
1771
+ /**
1772
+ * <p>A queue resource.</p>
1773
+ * @public
1774
+ */
1775
+ queue?: Queue;
1776
+ }
1777
+ /**
1778
+ * @public
1779
+ */
1780
+ export interface RegisterComputeNodeGroupInstanceRequest {
1781
+ /**
1782
+ * <p>The name or ID of the cluster to register the compute node group instance in.</p>
1783
+ * @public
1784
+ */
1785
+ clusterIdentifier: string | undefined;
1786
+ /**
1787
+ * <p>The client-generated token to allow for retries.</p>
1788
+ * @public
1789
+ */
1790
+ bootstrapId: string | undefined;
1791
+ }
1792
+ /**
1793
+ * @public
1794
+ */
1795
+ export interface RegisterComputeNodeGroupInstanceResponse {
1796
+ /**
1797
+ * <p>The scheduler node ID for this instance.</p>
1798
+ * @public
1799
+ */
1800
+ nodeID: string | undefined;
1801
+ /**
1802
+ * <p>For the Slurm scheduler, this is the shared Munge key the scheduler uses to
1803
+ * authenticate compute node group instances.</p>
1804
+ * @public
1805
+ */
1806
+ sharedSecret: string | undefined;
1807
+ /**
1808
+ * <p>The list of endpoints available for interaction with the scheduler.</p>
1809
+ * @public
1810
+ */
1811
+ endpoints: Endpoint[] | undefined;
1812
+ }
1813
+ /**
1814
+ * @public
1815
+ */
1816
+ export interface ListTagsForResourceRequest {
1817
+ /**
1818
+ * <p>The Amazon Resource Name (ARN) of the resource for which to list tags.</p>
1819
+ * @public
1820
+ */
1821
+ resourceArn: string | undefined;
1822
+ }
1823
+ /**
1824
+ * @public
1825
+ */
1826
+ export interface ListTagsForResourceResponse {
1827
+ /**
1828
+ * <p>1 or more tags added to the resource. Each tag consists of a
1829
+ * tag key and tag value. The tag value is optional and can be an empty
1830
+ * string.</p>
1831
+ * @public
1832
+ */
1833
+ tags?: Record<string, string>;
1834
+ }
1835
+ /**
1836
+ * @public
1837
+ */
1838
+ export interface TagResourceRequest {
1839
+ /**
1840
+ * <p>The Amazon Resource Name (ARN) of the resource.</p>
1841
+ * @public
1842
+ */
1843
+ resourceArn: string | undefined;
1844
+ /**
1845
+ * <p>1 or more tags added to the resource. Each tag consists of a
1846
+ * tag key and tag value. The tag value is optional and can be an empty
1847
+ * string.</p>
1848
+ * @public
1849
+ */
1850
+ tags: Record<string, string> | undefined;
1851
+ }
1852
+ /**
1853
+ * @public
1854
+ */
1855
+ export interface UntagResourceRequest {
1856
+ /**
1857
+ * <p>The Amazon Resource Name (ARN) of the resource.</p>
1858
+ * @public
1859
+ */
1860
+ resourceArn: string | undefined;
1861
+ /**
1862
+ * <p>1 or more tag keys to remove from the resource. Specify only tag keys and not tag
1863
+ * values.</p>
1864
+ * @public
1865
+ */
1866
+ tagKeys: string[] | undefined;
1867
+ }
1868
+ /**
1869
+ * @internal
1870
+ */
1871
+ export declare const RegisterComputeNodeGroupInstanceResponseFilterSensitiveLog: (obj: RegisterComputeNodeGroupInstanceResponse) => any;