@aws-sdk/client-pcs 3.896.0 → 3.901.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.
package/README.md CHANGED
@@ -330,6 +330,14 @@ UntagResource
330
330
 
331
331
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/pcs/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-pcs/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-pcs/Interface/UntagResourceCommandOutput/)
332
332
 
333
+ </details>
334
+ <details>
335
+ <summary>
336
+ UpdateCluster
337
+ </summary>
338
+
339
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/pcs/command/UpdateClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-pcs/Interface/UpdateClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-pcs/Interface/UpdateClusterCommandOutput/)
340
+
333
341
  </details>
334
342
  <details>
335
343
  <summary>
package/dist-cjs/index.js CHANGED
@@ -57,6 +57,7 @@ __export(index_exports, {
57
57
  TagResourceCommand: () => TagResourceCommand,
58
58
  ThrottlingException: () => ThrottlingException,
59
59
  UntagResourceCommand: () => UntagResourceCommand,
60
+ UpdateClusterCommand: () => UpdateClusterCommand,
60
61
  UpdateComputeNodeGroupCommand: () => UpdateComputeNodeGroupCommand,
61
62
  UpdateQueueCommand: () => UpdateQueueCommand,
62
63
  ValidationException: () => ValidationException,
@@ -608,6 +609,12 @@ var se_UntagResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
608
609
  body = JSON.stringify((0, import_smithy_client._json)(input));
609
610
  return buildHttpRpcRequest(context, headers, "/", void 0, body);
610
611
  }, "se_UntagResourceCommand");
612
+ var se_UpdateClusterCommand = /* @__PURE__ */ __name(async (input, context) => {
613
+ const headers = sharedHeaders("UpdateCluster");
614
+ let body;
615
+ body = JSON.stringify(se_UpdateClusterRequest(input, context));
616
+ return buildHttpRpcRequest(context, headers, "/", void 0, body);
617
+ }, "se_UpdateClusterCommand");
611
618
  var se_UpdateComputeNodeGroupCommand = /* @__PURE__ */ __name(async (input, context) => {
612
619
  const headers = sharedHeaders("UpdateComputeNodeGroup");
613
620
  let body;
@@ -822,6 +829,19 @@ var de_UntagResourceCommand = /* @__PURE__ */ __name(async (output, context) =>
822
829
  };
823
830
  return response;
824
831
  }, "de_UntagResourceCommand");
832
+ var de_UpdateClusterCommand = /* @__PURE__ */ __name(async (output, context) => {
833
+ if (output.statusCode >= 300) {
834
+ return de_CommandError(output, context);
835
+ }
836
+ const data = await (0, import_core2.parseJsonBody)(output.body, context);
837
+ let contents = {};
838
+ contents = de_UpdateClusterResponse(data, context);
839
+ const response = {
840
+ $metadata: deserializeMetadata(output),
841
+ ...contents
842
+ };
843
+ return response;
844
+ }, "de_UpdateClusterCommand");
825
845
  var de_UpdateComputeNodeGroupCommand = /* @__PURE__ */ __name(async (output, context) => {
826
846
  if (output.statusCode >= 300) {
827
847
  return de_CommandError(output, context);
@@ -982,6 +1002,7 @@ var se_CreateQueueRequest = /* @__PURE__ */ __name((input, context) => {
982
1002
  clusterIdentifier: [],
983
1003
  computeNodeGroupConfigurations: import_smithy_client._json,
984
1004
  queueName: [],
1005
+ slurmConfiguration: import_smithy_client._json,
985
1006
  tags: import_smithy_client._json
986
1007
  });
987
1008
  }, "se_CreateQueueRequest");
@@ -1005,6 +1026,13 @@ var se_DeleteQueueRequest = /* @__PURE__ */ __name((input, context) => {
1005
1026
  queueIdentifier: []
1006
1027
  });
1007
1028
  }, "se_DeleteQueueRequest");
1029
+ var se_UpdateClusterRequest = /* @__PURE__ */ __name((input, context) => {
1030
+ return (0, import_smithy_client.take)(input, {
1031
+ clientToken: [true, (_) => _ ?? (0, import_uuid.v4)()],
1032
+ clusterIdentifier: [],
1033
+ slurmConfiguration: import_smithy_client._json
1034
+ });
1035
+ }, "se_UpdateClusterRequest");
1008
1036
  var se_UpdateComputeNodeGroupRequest = /* @__PURE__ */ __name((input, context) => {
1009
1037
  return (0, import_smithy_client.take)(input, {
1010
1038
  amiId: [],
@@ -1025,7 +1053,8 @@ var se_UpdateQueueRequest = /* @__PURE__ */ __name((input, context) => {
1025
1053
  clientToken: [true, (_) => _ ?? (0, import_uuid.v4)()],
1026
1054
  clusterIdentifier: [],
1027
1055
  computeNodeGroupConfigurations: import_smithy_client._json,
1028
- queueIdentifier: []
1056
+ queueIdentifier: [],
1057
+ slurmConfiguration: import_smithy_client._json
1029
1058
  });
1030
1059
  }, "se_UpdateQueueRequest");
1031
1060
  var de_Cluster = /* @__PURE__ */ __name((output, context) => {
@@ -1156,6 +1185,7 @@ var de_Queue = /* @__PURE__ */ __name((output, context) => {
1156
1185
  id: import_smithy_client.expectString,
1157
1186
  modifiedAt: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseRfc3339DateTimeWithOffset)(_)), "modifiedAt"),
1158
1187
  name: import_smithy_client.expectString,
1188
+ slurmConfiguration: import_smithy_client._json,
1159
1189
  status: import_smithy_client.expectString
1160
1190
  });
1161
1191
  }, "de_Queue");
@@ -1176,6 +1206,11 @@ var de_QueueSummary = /* @__PURE__ */ __name((output, context) => {
1176
1206
  status: import_smithy_client.expectString
1177
1207
  });
1178
1208
  }, "de_QueueSummary");
1209
+ var de_UpdateClusterResponse = /* @__PURE__ */ __name((output, context) => {
1210
+ return (0, import_smithy_client.take)(output, {
1211
+ cluster: /* @__PURE__ */ __name((_) => de_Cluster(_, context), "cluster")
1212
+ });
1213
+ }, "de_UpdateClusterResponse");
1179
1214
  var de_UpdateComputeNodeGroupResponse = /* @__PURE__ */ __name((output, context) => {
1180
1215
  return (0, import_smithy_client.take)(output, {
1181
1216
  computeNodeGroup: /* @__PURE__ */ __name((_) => de_ComputeNodeGroup(_, context), "computeNodeGroup")
@@ -1456,6 +1491,21 @@ var UntagResourceCommand = class extends import_smithy_client.Command.classBuild
1456
1491
  }
1457
1492
  };
1458
1493
 
1494
+ // src/commands/UpdateClusterCommand.ts
1495
+
1496
+
1497
+
1498
+ var UpdateClusterCommand = class extends import_smithy_client.Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
1499
+ return [
1500
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
1501
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
1502
+ ];
1503
+ }).s("AWSParallelComputingService", "UpdateCluster", {}).n("PCSClient", "UpdateClusterCommand").f(void 0, void 0).ser(se_UpdateClusterCommand).de(de_UpdateClusterCommand).build() {
1504
+ static {
1505
+ __name(this, "UpdateClusterCommand");
1506
+ }
1507
+ };
1508
+
1459
1509
  // src/commands/UpdateComputeNodeGroupCommand.ts
1460
1510
 
1461
1511
 
@@ -1504,6 +1554,7 @@ var commands = {
1504
1554
  RegisterComputeNodeGroupInstanceCommand,
1505
1555
  TagResourceCommand,
1506
1556
  UntagResourceCommand,
1557
+ UpdateClusterCommand,
1507
1558
  UpdateComputeNodeGroupCommand,
1508
1559
  UpdateQueueCommand
1509
1560
  };
@@ -1549,6 +1600,7 @@ var paginateListQueues = (0, import_core.createPaginator)(PCSClient, ListQueuesC
1549
1600
  RegisterComputeNodeGroupInstanceCommand,
1550
1601
  TagResourceCommand,
1551
1602
  UntagResourceCommand,
1603
+ UpdateClusterCommand,
1552
1604
  UpdateComputeNodeGroupCommand,
1553
1605
  UpdateQueueCommand,
1554
1606
  paginateListClusters,
package/dist-es/PCS.js CHANGED
@@ -15,6 +15,7 @@ import { ListTagsForResourceCommand, } from "./commands/ListTagsForResourceComma
15
15
  import { RegisterComputeNodeGroupInstanceCommand, } from "./commands/RegisterComputeNodeGroupInstanceCommand";
16
16
  import { TagResourceCommand } from "./commands/TagResourceCommand";
17
17
  import { UntagResourceCommand, } from "./commands/UntagResourceCommand";
18
+ import { UpdateClusterCommand, } from "./commands/UpdateClusterCommand";
18
19
  import { UpdateComputeNodeGroupCommand, } from "./commands/UpdateComputeNodeGroupCommand";
19
20
  import { UpdateQueueCommand } from "./commands/UpdateQueueCommand";
20
21
  import { PCSClient } from "./PCSClient";
@@ -35,6 +36,7 @@ const commands = {
35
36
  RegisterComputeNodeGroupInstanceCommand,
36
37
  TagResourceCommand,
37
38
  UntagResourceCommand,
39
+ UpdateClusterCommand,
38
40
  UpdateComputeNodeGroupCommand,
39
41
  UpdateQueueCommand,
40
42
  };
@@ -0,0 +1,22 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { commonParams } from "../endpoint/EndpointParameters";
5
+ import { de_UpdateClusterCommand, se_UpdateClusterCommand } from "../protocols/Aws_json1_0";
6
+ export { $Command };
7
+ export class UpdateClusterCommand extends $Command
8
+ .classBuilder()
9
+ .ep(commonParams)
10
+ .m(function (Command, cs, config, o) {
11
+ return [
12
+ getSerdePlugin(config, this.serialize, this.deserialize),
13
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
14
+ ];
15
+ })
16
+ .s("AWSParallelComputingService", "UpdateCluster", {})
17
+ .n("PCSClient", "UpdateClusterCommand")
18
+ .f(void 0, void 0)
19
+ .ser(se_UpdateClusterCommand)
20
+ .de(de_UpdateClusterCommand)
21
+ .build() {
22
+ }
@@ -14,5 +14,6 @@ export * from "./ListTagsForResourceCommand";
14
14
  export * from "./RegisterComputeNodeGroupInstanceCommand";
15
15
  export * from "./TagResourceCommand";
16
16
  export * from "./UntagResourceCommand";
17
+ export * from "./UpdateClusterCommand";
17
18
  export * from "./UpdateComputeNodeGroupCommand";
18
19
  export * from "./UpdateQueueCommand";
@@ -100,6 +100,12 @@ export const se_UntagResourceCommand = async (input, context) => {
100
100
  body = JSON.stringify(_json(input));
101
101
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
102
102
  };
103
+ export const se_UpdateClusterCommand = async (input, context) => {
104
+ const headers = sharedHeaders("UpdateCluster");
105
+ let body;
106
+ body = JSON.stringify(se_UpdateClusterRequest(input, context));
107
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
108
+ };
103
109
  export const se_UpdateComputeNodeGroupCommand = async (input, context) => {
104
110
  const headers = sharedHeaders("UpdateComputeNodeGroup");
105
111
  let body;
@@ -314,6 +320,19 @@ export const de_UntagResourceCommand = async (output, context) => {
314
320
  };
315
321
  return response;
316
322
  };
323
+ export const de_UpdateClusterCommand = async (output, context) => {
324
+ if (output.statusCode >= 300) {
325
+ return de_CommandError(output, context);
326
+ }
327
+ const data = await parseBody(output.body, context);
328
+ let contents = {};
329
+ contents = de_UpdateClusterResponse(data, context);
330
+ const response = {
331
+ $metadata: deserializeMetadata(output),
332
+ ...contents,
333
+ };
334
+ return response;
335
+ };
317
336
  export const de_UpdateComputeNodeGroupCommand = async (output, context) => {
318
337
  if (output.statusCode >= 300) {
319
338
  return de_CommandError(output, context);
@@ -474,6 +493,7 @@ const se_CreateQueueRequest = (input, context) => {
474
493
  clusterIdentifier: [],
475
494
  computeNodeGroupConfigurations: _json,
476
495
  queueName: [],
496
+ slurmConfiguration: _json,
477
497
  tags: _json,
478
498
  });
479
499
  };
@@ -497,6 +517,13 @@ const se_DeleteQueueRequest = (input, context) => {
497
517
  queueIdentifier: [],
498
518
  });
499
519
  };
520
+ const se_UpdateClusterRequest = (input, context) => {
521
+ return take(input, {
522
+ clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
523
+ clusterIdentifier: [],
524
+ slurmConfiguration: _json,
525
+ });
526
+ };
500
527
  const se_UpdateComputeNodeGroupRequest = (input, context) => {
501
528
  return take(input, {
502
529
  amiId: [],
@@ -518,6 +545,7 @@ const se_UpdateQueueRequest = (input, context) => {
518
545
  clusterIdentifier: [],
519
546
  computeNodeGroupConfigurations: _json,
520
547
  queueIdentifier: [],
548
+ slurmConfiguration: _json,
521
549
  });
522
550
  };
523
551
  const de_Cluster = (output, context) => {
@@ -652,6 +680,7 @@ const de_Queue = (output, context) => {
652
680
  id: __expectString,
653
681
  modifiedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
654
682
  name: __expectString,
683
+ slurmConfiguration: _json,
655
684
  status: __expectString,
656
685
  });
657
686
  };
@@ -674,6 +703,11 @@ const de_QueueSummary = (output, context) => {
674
703
  status: __expectString,
675
704
  });
676
705
  };
706
+ const de_UpdateClusterResponse = (output, context) => {
707
+ return take(output, {
708
+ cluster: (_) => de_Cluster(_, context),
709
+ });
710
+ };
677
711
  const de_UpdateComputeNodeGroupResponse = (output, context) => {
678
712
  return take(output, {
679
713
  computeNodeGroup: (_) => de_ComputeNodeGroup(_, context),
@@ -15,6 +15,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } fro
15
15
  import { RegisterComputeNodeGroupInstanceCommandInput, RegisterComputeNodeGroupInstanceCommandOutput } from "./commands/RegisterComputeNodeGroupInstanceCommand";
16
16
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
17
17
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
18
+ import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand";
18
19
  import { UpdateComputeNodeGroupCommandInput, UpdateComputeNodeGroupCommandOutput } from "./commands/UpdateComputeNodeGroupCommand";
19
20
  import { UpdateQueueCommandInput, UpdateQueueCommandOutput } from "./commands/UpdateQueueCommand";
20
21
  import { PCSClient } from "./PCSClient";
@@ -116,6 +117,12 @@ export interface PCS {
116
117
  untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise<UntagResourceCommandOutput>;
117
118
  untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
118
119
  untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
120
+ /**
121
+ * @see {@link UpdateClusterCommand}
122
+ */
123
+ updateCluster(args: UpdateClusterCommandInput, options?: __HttpHandlerOptions): Promise<UpdateClusterCommandOutput>;
124
+ updateCluster(args: UpdateClusterCommandInput, cb: (err: any, data?: UpdateClusterCommandOutput) => void): void;
125
+ updateCluster(args: UpdateClusterCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateClusterCommandOutput) => void): void;
119
126
  /**
120
127
  * @see {@link UpdateComputeNodeGroupCommand}
121
128
  */
@@ -23,6 +23,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } fro
23
23
  import { RegisterComputeNodeGroupInstanceCommandInput, RegisterComputeNodeGroupInstanceCommandOutput } from "./commands/RegisterComputeNodeGroupInstanceCommand";
24
24
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
25
25
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
26
+ import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand";
26
27
  import { UpdateComputeNodeGroupCommandInput, UpdateComputeNodeGroupCommandOutput } from "./commands/UpdateComputeNodeGroupCommand";
27
28
  import { UpdateQueueCommandInput, UpdateQueueCommandOutput } from "./commands/UpdateQueueCommand";
28
29
  import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters";
@@ -31,11 +32,11 @@ export { __Client };
31
32
  /**
32
33
  * @public
33
34
  */
34
- export type ServiceInputTypes = CreateClusterCommandInput | CreateComputeNodeGroupCommandInput | CreateQueueCommandInput | DeleteClusterCommandInput | DeleteComputeNodeGroupCommandInput | DeleteQueueCommandInput | GetClusterCommandInput | GetComputeNodeGroupCommandInput | GetQueueCommandInput | ListClustersCommandInput | ListComputeNodeGroupsCommandInput | ListQueuesCommandInput | ListTagsForResourceCommandInput | RegisterComputeNodeGroupInstanceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateComputeNodeGroupCommandInput | UpdateQueueCommandInput;
35
+ export type ServiceInputTypes = CreateClusterCommandInput | CreateComputeNodeGroupCommandInput | CreateQueueCommandInput | DeleteClusterCommandInput | DeleteComputeNodeGroupCommandInput | DeleteQueueCommandInput | GetClusterCommandInput | GetComputeNodeGroupCommandInput | GetQueueCommandInput | ListClustersCommandInput | ListComputeNodeGroupsCommandInput | ListQueuesCommandInput | ListTagsForResourceCommandInput | RegisterComputeNodeGroupInstanceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateClusterCommandInput | UpdateComputeNodeGroupCommandInput | UpdateQueueCommandInput;
35
36
  /**
36
37
  * @public
37
38
  */
38
- export type ServiceOutputTypes = CreateClusterCommandOutput | CreateComputeNodeGroupCommandOutput | CreateQueueCommandOutput | DeleteClusterCommandOutput | DeleteComputeNodeGroupCommandOutput | DeleteQueueCommandOutput | GetClusterCommandOutput | GetComputeNodeGroupCommandOutput | GetQueueCommandOutput | ListClustersCommandOutput | ListComputeNodeGroupsCommandOutput | ListQueuesCommandOutput | ListTagsForResourceCommandOutput | RegisterComputeNodeGroupInstanceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateComputeNodeGroupCommandOutput | UpdateQueueCommandOutput;
39
+ export type ServiceOutputTypes = CreateClusterCommandOutput | CreateComputeNodeGroupCommandOutput | CreateQueueCommandOutput | DeleteClusterCommandOutput | DeleteComputeNodeGroupCommandOutput | DeleteQueueCommandOutput | GetClusterCommandOutput | GetComputeNodeGroupCommandOutput | GetQueueCommandOutput | ListClustersCommandOutput | ListComputeNodeGroupsCommandOutput | ListQueuesCommandOutput | ListTagsForResourceCommandOutput | RegisterComputeNodeGroupInstanceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateClusterCommandOutput | UpdateComputeNodeGroupCommandOutput | UpdateQueueCommandOutput;
39
40
  /**
40
41
  * @public
41
42
  */
@@ -61,8 +61,8 @@ declare const CreateClusterCommand_base: {
61
61
  * },
62
62
  * ],
63
63
  * accounting: { // AccountingRequest
64
- * mode: "STANDARD" || "NONE", // required
65
64
  * defaultPurgeTimeInDays: Number("int"),
65
+ * mode: "STANDARD" || "NONE", // required
66
66
  * },
67
67
  * },
68
68
  * clientToken: "STRING_VALUE",
@@ -98,8 +98,8 @@ declare const CreateClusterCommand_base: {
98
98
  * // secretVersion: "STRING_VALUE", // required
99
99
  * // },
100
100
  * // accounting: { // Accounting
101
- * // mode: "STANDARD" || "NONE", // required
102
101
  * // defaultPurgeTimeInDays: Number("int"),
102
+ * // mode: "STANDARD" || "NONE", // required
103
103
  * // },
104
104
  * // },
105
105
  * // networking: { // Networking
@@ -44,6 +44,14 @@ declare const CreateQueueCommand_base: {
44
44
  * computeNodeGroupId: "STRING_VALUE",
45
45
  * },
46
46
  * ],
47
+ * slurmConfiguration: { // QueueSlurmConfigurationRequest
48
+ * slurmCustomSettings: [ // SlurmCustomSettings
49
+ * { // SlurmCustomSetting
50
+ * parameterName: "STRING_VALUE", // required
51
+ * parameterValue: "STRING_VALUE", // required
52
+ * },
53
+ * ],
54
+ * },
47
55
  * clientToken: "STRING_VALUE",
48
56
  * tags: { // RequestTagMap
49
57
  * "<keys>": "STRING_VALUE",
@@ -65,6 +73,14 @@ declare const CreateQueueCommand_base: {
65
73
  * // computeNodeGroupId: "STRING_VALUE",
66
74
  * // },
67
75
  * // ],
76
+ * // slurmConfiguration: { // QueueSlurmConfiguration
77
+ * // slurmCustomSettings: [ // SlurmCustomSettings
78
+ * // { // SlurmCustomSetting
79
+ * // parameterName: "STRING_VALUE", // required
80
+ * // parameterValue: "STRING_VALUE", // required
81
+ * // },
82
+ * // ],
83
+ * // },
68
84
  * // errorInfo: [ // ErrorInfoList
69
85
  * // { // ErrorInfo
70
86
  * // code: "STRING_VALUE",
@@ -67,8 +67,8 @@ declare const GetClusterCommand_base: {
67
67
  * // secretVersion: "STRING_VALUE", // required
68
68
  * // },
69
69
  * // accounting: { // Accounting
70
- * // mode: "STANDARD" || "NONE", // required
71
70
  * // defaultPurgeTimeInDays: Number("int"),
71
+ * // mode: "STANDARD" || "NONE", // required
72
72
  * // },
73
73
  * // },
74
74
  * // networking: { // Networking
@@ -56,6 +56,14 @@ declare const GetQueueCommand_base: {
56
56
  * // computeNodeGroupId: "STRING_VALUE",
57
57
  * // },
58
58
  * // ],
59
+ * // slurmConfiguration: { // QueueSlurmConfiguration
60
+ * // slurmCustomSettings: [ // SlurmCustomSettings
61
+ * // { // SlurmCustomSetting
62
+ * // parameterName: "STRING_VALUE", // required
63
+ * // parameterValue: "STRING_VALUE", // required
64
+ * // },
65
+ * // ],
66
+ * // },
59
67
  * // errorInfo: [ // ErrorInfoList
60
68
  * // { // ErrorInfo
61
69
  * // code: "STRING_VALUE",
@@ -0,0 +1,159 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { UpdateClusterRequest, UpdateClusterResponse } from "../models/models_0";
4
+ import { PCSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PCSClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link UpdateClusterCommand}.
14
+ */
15
+ export interface UpdateClusterCommandInput extends UpdateClusterRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link UpdateClusterCommand}.
21
+ */
22
+ export interface UpdateClusterCommandOutput extends UpdateClusterResponse, __MetadataBearer {
23
+ }
24
+ declare const UpdateClusterCommand_base: {
25
+ new (input: UpdateClusterCommandInput): import("@smithy/smithy-client").CommandImpl<UpdateClusterCommandInput, UpdateClusterCommandOutput, PCSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: UpdateClusterCommandInput): import("@smithy/smithy-client").CommandImpl<UpdateClusterCommandInput, UpdateClusterCommandOutput, PCSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Updates a cluster configuration. You can modify Slurm scheduler settings, accounting configuration, and security groups for an existing cluster. </p> <note> <p>You can only update clusters that are in <code>ACTIVE</code>, <code>UPDATE_FAILED</code>, or <code>SUSPENDED</code> state. All associated resources (queues and compute node groups) must be in <code>ACTIVE</code> state before you can update the cluster.</p> </note>
31
+ * @example
32
+ * Use a bare-bones client and the command you need to make an API call.
33
+ * ```javascript
34
+ * import { PCSClient, UpdateClusterCommand } from "@aws-sdk/client-pcs"; // ES Modules import
35
+ * // const { PCSClient, UpdateClusterCommand } = require("@aws-sdk/client-pcs"); // CommonJS import
36
+ * // import type { PCSClientConfig } from "@aws-sdk/client-pcs";
37
+ * const config = {}; // type is PCSClientConfig
38
+ * const client = new PCSClient(config);
39
+ * const input = { // UpdateClusterRequest
40
+ * clusterIdentifier: "STRING_VALUE", // required
41
+ * clientToken: "STRING_VALUE",
42
+ * slurmConfiguration: { // UpdateClusterSlurmConfigurationRequest
43
+ * scaleDownIdleTimeInSeconds: Number("int"),
44
+ * slurmCustomSettings: [ // SlurmCustomSettings
45
+ * { // SlurmCustomSetting
46
+ * parameterName: "STRING_VALUE", // required
47
+ * parameterValue: "STRING_VALUE", // required
48
+ * },
49
+ * ],
50
+ * accounting: { // UpdateAccountingRequest
51
+ * defaultPurgeTimeInDays: Number("int"),
52
+ * mode: "STANDARD" || "NONE",
53
+ * },
54
+ * },
55
+ * };
56
+ * const command = new UpdateClusterCommand(input);
57
+ * const response = await client.send(command);
58
+ * // { // UpdateClusterResponse
59
+ * // cluster: { // Cluster
60
+ * // name: "STRING_VALUE", // required
61
+ * // id: "STRING_VALUE", // required
62
+ * // arn: "STRING_VALUE", // required
63
+ * // status: "CREATING" || "ACTIVE" || "UPDATING" || "DELETING" || "CREATE_FAILED" || "DELETE_FAILED" || "UPDATE_FAILED" || "SUSPENDING" || "SUSPENDED", // required
64
+ * // createdAt: new Date("TIMESTAMP"), // required
65
+ * // modifiedAt: new Date("TIMESTAMP"), // required
66
+ * // scheduler: { // Scheduler
67
+ * // type: "SLURM", // required
68
+ * // version: "STRING_VALUE", // required
69
+ * // },
70
+ * // size: "SMALL" || "MEDIUM" || "LARGE", // required
71
+ * // slurmConfiguration: { // ClusterSlurmConfiguration
72
+ * // scaleDownIdleTimeInSeconds: Number("int"),
73
+ * // slurmCustomSettings: [ // SlurmCustomSettings
74
+ * // { // SlurmCustomSetting
75
+ * // parameterName: "STRING_VALUE", // required
76
+ * // parameterValue: "STRING_VALUE", // required
77
+ * // },
78
+ * // ],
79
+ * // authKey: { // SlurmAuthKey
80
+ * // secretArn: "STRING_VALUE", // required
81
+ * // secretVersion: "STRING_VALUE", // required
82
+ * // },
83
+ * // accounting: { // Accounting
84
+ * // defaultPurgeTimeInDays: Number("int"),
85
+ * // mode: "STANDARD" || "NONE", // required
86
+ * // },
87
+ * // },
88
+ * // networking: { // Networking
89
+ * // subnetIds: [ // SubnetIdList
90
+ * // "STRING_VALUE",
91
+ * // ],
92
+ * // securityGroupIds: [ // SecurityGroupIdList
93
+ * // "STRING_VALUE",
94
+ * // ],
95
+ * // networkType: "IPV4" || "IPV6",
96
+ * // },
97
+ * // endpoints: [ // Endpoints
98
+ * // { // Endpoint
99
+ * // type: "SLURMCTLD" || "SLURMDBD", // required
100
+ * // privateIpAddress: "STRING_VALUE", // required
101
+ * // publicIpAddress: "STRING_VALUE",
102
+ * // ipv6Address: "STRING_VALUE",
103
+ * // port: "STRING_VALUE", // required
104
+ * // },
105
+ * // ],
106
+ * // errorInfo: [ // ErrorInfoList
107
+ * // { // ErrorInfo
108
+ * // code: "STRING_VALUE",
109
+ * // message: "STRING_VALUE",
110
+ * // },
111
+ * // ],
112
+ * // },
113
+ * // };
114
+ *
115
+ * ```
116
+ *
117
+ * @param UpdateClusterCommandInput - {@link UpdateClusterCommandInput}
118
+ * @returns {@link UpdateClusterCommandOutput}
119
+ * @see {@link UpdateClusterCommandInput} for command's `input` shape.
120
+ * @see {@link UpdateClusterCommandOutput} for command's `response` shape.
121
+ * @see {@link PCSClientResolvedConfig | config} for PCSClient's `config` shape.
122
+ *
123
+ * @throws {@link AccessDeniedException} (client fault)
124
+ * <p>You don't have permission to perform the action.</p> <p> <u>Examples</u> </p> <ul> <li> <p>The launch template instance profile doesn't pass <code>iam:PassRole</code> verification.</p> </li> <li> <p>There is a mismatch between the account ID and cluster ID.</p> </li> <li> <p>The cluster ID doesn't exist.</p> </li> <li> <p>The EC2 instance isn't present.</p> </li> </ul>
125
+ *
126
+ * @throws {@link ConflictException} (client fault)
127
+ * <p>Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.</p> <p> <u>Examples</u> </p> <ul> <li> <p>A cluster with the same name already exists.</p> </li> <li> <p>A cluster isn't in <code>ACTIVE</code> status.</p> </li> <li> <p>A cluster to delete is in an unstable state. For example, because it still has <code>ACTIVE</code> node groups or queues.</p> </li> <li> <p>A queue already exists in a cluster.</p> </li> </ul>
128
+ *
129
+ * @throws {@link InternalServerException} (server fault)
130
+ * <p>PCS can't process your request right now. Try again later.</p>
131
+ *
132
+ * @throws {@link ResourceNotFoundException} (client fault)
133
+ * <p>The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.</p> <p> <u>Examples</u> </p>
134
+ *
135
+ * @throws {@link ThrottlingException} (client fault)
136
+ * <p>Your request exceeded a request rate quota. Check the resource's request rate quota and try again.</p>
137
+ *
138
+ * @throws {@link ValidationException} (client fault)
139
+ * <p>The request isn't valid.</p> <p> <u>Examples</u> </p> <ul> <li> <p>Your request contains malformed JSON or unsupported characters.</p> </li> <li> <p>The scheduler version isn't supported.</p> </li> <li> <p>There are networking related errors, such as network validation failure.</p> </li> <li> <p>AMI type is <code>CUSTOM</code> and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.</p> </li> </ul>
140
+ *
141
+ * @throws {@link PCSServiceException}
142
+ * <p>Base exception class for all service exceptions from PCS service.</p>
143
+ *
144
+ *
145
+ * @public
146
+ */
147
+ export declare class UpdateClusterCommand extends UpdateClusterCommand_base {
148
+ /** @internal type navigation helper, not in runtime. */
149
+ protected static __types: {
150
+ api: {
151
+ input: UpdateClusterRequest;
152
+ output: UpdateClusterResponse;
153
+ };
154
+ sdk: {
155
+ input: UpdateClusterCommandInput;
156
+ output: UpdateClusterCommandOutput;
157
+ };
158
+ };
159
+ }
@@ -44,6 +44,14 @@ declare const UpdateQueueCommand_base: {
44
44
  * computeNodeGroupId: "STRING_VALUE",
45
45
  * },
46
46
  * ],
47
+ * slurmConfiguration: { // UpdateQueueSlurmConfigurationRequest
48
+ * slurmCustomSettings: [ // SlurmCustomSettings
49
+ * { // SlurmCustomSetting
50
+ * parameterName: "STRING_VALUE", // required
51
+ * parameterValue: "STRING_VALUE", // required
52
+ * },
53
+ * ],
54
+ * },
47
55
  * clientToken: "STRING_VALUE",
48
56
  * };
49
57
  * const command = new UpdateQueueCommand(input);
@@ -62,6 +70,14 @@ declare const UpdateQueueCommand_base: {
62
70
  * // computeNodeGroupId: "STRING_VALUE",
63
71
  * // },
64
72
  * // ],
73
+ * // slurmConfiguration: { // QueueSlurmConfiguration
74
+ * // slurmCustomSettings: [ // SlurmCustomSettings
75
+ * // { // SlurmCustomSetting
76
+ * // parameterName: "STRING_VALUE", // required
77
+ * // parameterValue: "STRING_VALUE", // required
78
+ * // },
79
+ * // ],
80
+ * // },
65
81
  * // errorInfo: [ // ErrorInfoList
66
82
  * // { // ErrorInfo
67
83
  * // code: "STRING_VALUE",
@@ -14,5 +14,6 @@ export * from "./ListTagsForResourceCommand";
14
14
  export * from "./RegisterComputeNodeGroupInstanceCommand";
15
15
  export * from "./TagResourceCommand";
16
16
  export * from "./UntagResourceCommand";
17
+ export * from "./UpdateClusterCommand";
17
18
  export * from "./UpdateComputeNodeGroupCommand";
18
19
  export * from "./UpdateQueueCommand";
@@ -30,15 +30,15 @@ export type AccountingMode = (typeof AccountingMode)[keyof typeof AccountingMode
30
30
  */
31
31
  export interface Accounting {
32
32
  /**
33
- * <p>The default value for <code>mode</code> is <code>STANDARD</code>. A value of <code>STANDARD</code> means Slurm accounting is enabled.</p>
33
+ * <p>The default value for all purge settings for <code>slurmdbd.conf</code>. For more information, see the <a href="https://slurm.schedmd.com/slurmdbd.conf.html">slurmdbd.conf documentation at SchedMD</a>.</p> <p>The default value for <code>defaultPurgeTimeInDays</code> is <code>-1</code>.</p> <p>A value of <code>-1</code> means there is no purge time and records persist as long as the cluster exists.</p> <important> <p> <code>0</code> isn't a valid value.</p> </important>
34
34
  * @public
35
35
  */
36
- mode: AccountingMode | undefined;
36
+ defaultPurgeTimeInDays?: number | undefined;
37
37
  /**
38
- * <p>The default value for all purge settings for <code>slurmdbd.conf</code>. For more information, see the <a href="https://slurm.schedmd.com/slurmdbd.conf.html">slurmdbd.conf documentation at SchedMD</a>.</p> <p>The default value for <code>defaultPurgeTimeInDays</code> is <code>-1</code>.</p> <p>A value of <code>-1</code> means there is no purge time and records persist as long as the cluster exists.</p> <important> <p> <code>0</code> isn't a valid value.</p> </important>
38
+ * <p>The default value for <code>mode</code> is <code>STANDARD</code>. A value of <code>STANDARD</code> means Slurm accounting is enabled.</p>
39
39
  * @public
40
40
  */
41
- defaultPurgeTimeInDays?: number | undefined;
41
+ mode: AccountingMode | undefined;
42
42
  }
43
43
  /**
44
44
  * <p>The accounting configuration includes configurable settings for Slurm accounting. It's a property of the <b>ClusterSlurmConfiguration</b> object.</p>
@@ -46,15 +46,15 @@ export interface Accounting {
46
46
  */
47
47
  export interface AccountingRequest {
48
48
  /**
49
- * <p>The default value for <code>mode</code> is <code>STANDARD</code>. A value of <code>STANDARD</code> means Slurm accounting is enabled.</p>
49
+ * <p>The default value for all purge settings for <code>slurmdbd.conf</code>. For more information, see the <a href="https://slurm.schedmd.com/slurmdbd.conf.html">slurmdbd.conf documentation at SchedMD</a>.</p> <p>The default value for <code>defaultPurgeTimeInDays</code> is <code>-1</code>.</p> <p>A value of <code>-1</code> means there is no purge time and records persist as long as the cluster exists.</p> <important> <p> <code>0</code> isn't a valid value.</p> </important>
50
50
  * @public
51
51
  */
52
- mode: AccountingMode | undefined;
52
+ defaultPurgeTimeInDays?: number | undefined;
53
53
  /**
54
- * <p>The default value for all purge settings for <code>slurmdbd.conf</code>. For more information, see the <a href="https://slurm.schedmd.com/slurmdbd.conf.html">slurmdbd.conf documentation at SchedMD</a>.</p> <p>The default value for <code>defaultPurgeTimeInDays</code> is <code>-1</code>.</p> <p>A value of <code>-1</code> means there is no purge time and records persist as long as the cluster exists.</p> <important> <p> <code>0</code> isn't a valid value.</p> </important>
54
+ * <p>The default value for <code>mode</code> is <code>STANDARD</code>. A value of <code>STANDARD</code> means Slurm accounting is enabled.</p>
55
55
  * @public
56
56
  */
57
- defaultPurgeTimeInDays?: number | undefined;
57
+ mode: AccountingMode | undefined;
58
58
  }
59
59
  /**
60
60
  * <p>Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.</p> <p> <u>Examples</u> </p> <ul> <li> <p>A cluster with the same name already exists.</p> </li> <li> <p>A cluster isn't in <code>ACTIVE</code> status.</p> </li> <li> <p>A cluster to delete is in an unstable state. For example, because it still has <code>ACTIVE</code> node groups or queues.</p> </li> <li> <p>A queue already exists in a cluster.</p> </li> </ul>
@@ -135,12 +135,12 @@ export interface ScalingConfigurationRequest {
135
135
  maxInstanceCount: number | undefined;
136
136
  }
137
137
  /**
138
- * <p>Additional settings that directly map to Slurm settings.</p>
138
+ * <p>Additional settings that directly map to Slurm settings.</p> <important> <p>PCS supports a subset of Slurm settings. For more information, see <a href="https://docs.aws.amazon.com/pcs/latest/userguide/slurm-custom-settings.html">Configuring custom Slurm settings in PCS</a> in the <i>PCS User Guide</i>.</p> </important>
139
139
  * @public
140
140
  */
141
141
  export interface SlurmCustomSetting {
142
142
  /**
143
- * <p>PCS supports configuration of the following Slurm parameters:</p> <ul> <li> <p>For <b>clusters</b> </p> <ul> <li> <p> <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1"> <code>Prolog</code> </a> </p> </li> <li> <p> <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1"> <code>Epilog</code> </a> </p> </li> <li> <p> <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters"> <code>SelectTypeParameters</code> </a> </p> </li> <li> <p> <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce"> <code>AccountingStorageEnforce</code> </a> </p> <important> <p>PCS supports a subset of the options for <code>AccountingStorageEnforce</code>. For more information, see <a href="https://docs.aws.amazon.com/pcs/latest/userguide/slurm-accounting.html">Slurm accounting in PCS</a> in the <i>PCS User Guide</i>.</p> </important> </li> </ul> </li> <li> <p>For <b>compute node groups</b> </p> <ul> <li> <p> <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_Weight"> <code>Weight</code> </a> </p> </li> <li> <p> <a href="https://slurm.schedmd.com/slurm.conf.html#OPT_Weight"> <code>RealMemory</code> </a> </p> </li> </ul> </li> </ul>
143
+ * <p>PCS supports custom Slurm settings for clusters, compute node groups, and queues. For more information, see <a href="https://docs.aws.amazon.com/pcs/latest/userguide/slurm-custom-settings.html">Configuring custom Slurm settings in PCS</a> in the <i>PCS User Guide</i>.</p>
144
144
  * @public
145
145
  */
146
146
  parameterName: string | undefined;
@@ -1139,7 +1139,7 @@ export interface DeleteClusterResponse {
1139
1139
  */
1140
1140
  export interface GetClusterRequest {
1141
1141
  /**
1142
- * <p>The name or ID of the cluster of the queue.</p>
1142
+ * <p>The name or ID of the cluster.</p>
1143
1143
  * @public
1144
1144
  */
1145
1145
  clusterIdentifier: string | undefined;
@@ -1231,6 +1231,17 @@ export interface ComputeNodeGroupConfiguration {
1231
1231
  */
1232
1232
  computeNodeGroupId?: string | undefined;
1233
1233
  }
1234
+ /**
1235
+ * <p>Additional options related to the Slurm scheduler.</p>
1236
+ * @public
1237
+ */
1238
+ export interface QueueSlurmConfigurationRequest {
1239
+ /**
1240
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
1241
+ * @public
1242
+ */
1243
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
1244
+ }
1234
1245
  /**
1235
1246
  * @public
1236
1247
  */
@@ -1250,6 +1261,11 @@ export interface CreateQueueRequest {
1250
1261
  * @public
1251
1262
  */
1252
1263
  computeNodeGroupConfigurations?: ComputeNodeGroupConfiguration[] | undefined;
1264
+ /**
1265
+ * <p>Additional options related to the Slurm scheduler.</p>
1266
+ * @public
1267
+ */
1268
+ slurmConfiguration?: QueueSlurmConfigurationRequest | undefined;
1253
1269
  /**
1254
1270
  * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.</p>
1255
1271
  * @public
@@ -1261,6 +1277,17 @@ export interface CreateQueueRequest {
1261
1277
  */
1262
1278
  tags?: Record<string, string> | undefined;
1263
1279
  }
1280
+ /**
1281
+ * <p>Additional options related to the Slurm scheduler.</p>
1282
+ * @public
1283
+ */
1284
+ export interface QueueSlurmConfiguration {
1285
+ /**
1286
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
1287
+ * @public
1288
+ */
1289
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
1290
+ }
1264
1291
  /**
1265
1292
  * @public
1266
1293
  * @enum
@@ -1325,6 +1352,11 @@ export interface Queue {
1325
1352
  * @public
1326
1353
  */
1327
1354
  computeNodeGroupConfigurations: ComputeNodeGroupConfiguration[] | undefined;
1355
+ /**
1356
+ * <p>Additional options related to the Slurm scheduler.</p>
1357
+ * @public
1358
+ */
1359
+ slurmConfiguration?: QueueSlurmConfiguration | undefined;
1328
1360
  /**
1329
1361
  * <p>The list of errors that occurred during queue provisioning.</p>
1330
1362
  * @public
@@ -1467,6 +1499,17 @@ export interface ListQueuesResponse {
1467
1499
  */
1468
1500
  nextToken?: string | undefined;
1469
1501
  }
1502
+ /**
1503
+ * <p>Additional options related to the Slurm scheduler.</p>
1504
+ * @public
1505
+ */
1506
+ export interface UpdateQueueSlurmConfigurationRequest {
1507
+ /**
1508
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
1509
+ * @public
1510
+ */
1511
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
1512
+ }
1470
1513
  /**
1471
1514
  * @public
1472
1515
  */
@@ -1486,6 +1529,11 @@ export interface UpdateQueueRequest {
1486
1529
  * @public
1487
1530
  */
1488
1531
  computeNodeGroupConfigurations?: ComputeNodeGroupConfiguration[] | undefined;
1532
+ /**
1533
+ * <p>Additional options related to the Slurm scheduler.</p>
1534
+ * @public
1535
+ */
1536
+ slurmConfiguration?: UpdateQueueSlurmConfigurationRequest | undefined;
1489
1537
  /**
1490
1538
  * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.</p>
1491
1539
  * @public
@@ -1537,6 +1585,73 @@ export interface RegisterComputeNodeGroupInstanceResponse {
1537
1585
  */
1538
1586
  endpoints: Endpoint[] | undefined;
1539
1587
  }
1588
+ /**
1589
+ * <p>The accounting configuration includes configurable settings for Slurm accounting.</p>
1590
+ * @public
1591
+ */
1592
+ export interface UpdateAccountingRequest {
1593
+ /**
1594
+ * <p>The default value for all purge settings for <code>slurmdbd.conf</code>. For more information, see the <a href="https://slurm.schedmd.com/slurmdbd.conf.html">slurmdbd.conf documentation at SchedMD</a>.</p> <p>The default value for <code>defaultPurgeTimeInDays</code> is <code>-1</code>.</p> <p>A value of <code>-1</code> means there is no purge time and records persist as long as the cluster exists.</p> <important> <p> <code>0</code> isn't a valid value.</p> </important>
1595
+ * @public
1596
+ */
1597
+ defaultPurgeTimeInDays?: number | undefined;
1598
+ /**
1599
+ * <p>The default value for <code>mode</code> is <code>STANDARD</code>. A value of <code>STANDARD</code> means Slurm accounting is enabled.</p>
1600
+ * @public
1601
+ */
1602
+ mode?: AccountingMode | undefined;
1603
+ }
1604
+ /**
1605
+ * <p>Additional options related to the Slurm scheduler.</p>
1606
+ * @public
1607
+ */
1608
+ export interface UpdateClusterSlurmConfigurationRequest {
1609
+ /**
1610
+ * <p>The time (in seconds) before an idle node is scaled down.</p> <p>Default: <code>600</code> </p>
1611
+ * @public
1612
+ */
1613
+ scaleDownIdleTimeInSeconds?: number | undefined;
1614
+ /**
1615
+ * <p>Additional Slurm-specific configuration that directly maps to Slurm settings.</p>
1616
+ * @public
1617
+ */
1618
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
1619
+ /**
1620
+ * <p>The accounting configuration includes configurable settings for Slurm accounting.</p>
1621
+ * @public
1622
+ */
1623
+ accounting?: UpdateAccountingRequest | undefined;
1624
+ }
1625
+ /**
1626
+ * @public
1627
+ */
1628
+ export interface UpdateClusterRequest {
1629
+ /**
1630
+ * <p>The name or ID of the cluster to update.</p>
1631
+ * @public
1632
+ */
1633
+ clusterIdentifier: string | undefined;
1634
+ /**
1635
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.</p>
1636
+ * @public
1637
+ */
1638
+ clientToken?: string | undefined;
1639
+ /**
1640
+ * <p>Additional options related to the Slurm scheduler.</p>
1641
+ * @public
1642
+ */
1643
+ slurmConfiguration?: UpdateClusterSlurmConfigurationRequest | undefined;
1644
+ }
1645
+ /**
1646
+ * @public
1647
+ */
1648
+ export interface UpdateClusterResponse {
1649
+ /**
1650
+ * <p>The cluster resource and configuration.</p>
1651
+ * @public
1652
+ */
1653
+ cluster?: Cluster | undefined;
1654
+ }
1540
1655
  /**
1541
1656
  * @public
1542
1657
  */
@@ -16,6 +16,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } fro
16
16
  import { RegisterComputeNodeGroupInstanceCommandInput, RegisterComputeNodeGroupInstanceCommandOutput } from "../commands/RegisterComputeNodeGroupInstanceCommand";
17
17
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
18
18
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
19
+ import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "../commands/UpdateClusterCommand";
19
20
  import { UpdateComputeNodeGroupCommandInput, UpdateComputeNodeGroupCommandOutput } from "../commands/UpdateComputeNodeGroupCommand";
20
21
  import { UpdateQueueCommandInput, UpdateQueueCommandOutput } from "../commands/UpdateQueueCommand";
21
22
  /**
@@ -82,6 +83,10 @@ export declare const se_TagResourceCommand: (input: TagResourceCommandInput, con
82
83
  * serializeAws_json1_0UntagResourceCommand
83
84
  */
84
85
  export declare const se_UntagResourceCommand: (input: UntagResourceCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
86
+ /**
87
+ * serializeAws_json1_0UpdateClusterCommand
88
+ */
89
+ export declare const se_UpdateClusterCommand: (input: UpdateClusterCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
85
90
  /**
86
91
  * serializeAws_json1_0UpdateComputeNodeGroupCommand
87
92
  */
@@ -154,6 +159,10 @@ export declare const de_TagResourceCommand: (output: __HttpResponse, context: __
154
159
  * deserializeAws_json1_0UntagResourceCommand
155
160
  */
156
161
  export declare const de_UntagResourceCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UntagResourceCommandOutput>;
162
+ /**
163
+ * deserializeAws_json1_0UpdateClusterCommand
164
+ */
165
+ export declare const de_UpdateClusterCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UpdateClusterCommandOutput>;
157
166
  /**
158
167
  * deserializeAws_json1_0UpdateComputeNodeGroupCommand
159
168
  */
@@ -63,6 +63,10 @@ import {
63
63
  UntagResourceCommandInput,
64
64
  UntagResourceCommandOutput,
65
65
  } from "./commands/UntagResourceCommand";
66
+ import {
67
+ UpdateClusterCommandInput,
68
+ UpdateClusterCommandOutput,
69
+ } from "./commands/UpdateClusterCommand";
66
70
  import {
67
71
  UpdateComputeNodeGroupCommandInput,
68
72
  UpdateComputeNodeGroupCommandOutput,
@@ -282,6 +286,19 @@ export interface PCS {
282
286
  options: __HttpHandlerOptions,
283
287
  cb: (err: any, data?: UntagResourceCommandOutput) => void
284
288
  ): void;
289
+ updateCluster(
290
+ args: UpdateClusterCommandInput,
291
+ options?: __HttpHandlerOptions
292
+ ): Promise<UpdateClusterCommandOutput>;
293
+ updateCluster(
294
+ args: UpdateClusterCommandInput,
295
+ cb: (err: any, data?: UpdateClusterCommandOutput) => void
296
+ ): void;
297
+ updateCluster(
298
+ args: UpdateClusterCommandInput,
299
+ options: __HttpHandlerOptions,
300
+ cb: (err: any, data?: UpdateClusterCommandOutput) => void
301
+ ): void;
285
302
  updateComputeNodeGroup(
286
303
  args: UpdateComputeNodeGroupCommandInput,
287
304
  options?: __HttpHandlerOptions
@@ -109,6 +109,10 @@ import {
109
109
  UntagResourceCommandInput,
110
110
  UntagResourceCommandOutput,
111
111
  } from "./commands/UntagResourceCommand";
112
+ import {
113
+ UpdateClusterCommandInput,
114
+ UpdateClusterCommandOutput,
115
+ } from "./commands/UpdateClusterCommand";
112
116
  import {
113
117
  UpdateComputeNodeGroupCommandInput,
114
118
  UpdateComputeNodeGroupCommandOutput,
@@ -141,6 +145,7 @@ export type ServiceInputTypes =
141
145
  | RegisterComputeNodeGroupInstanceCommandInput
142
146
  | TagResourceCommandInput
143
147
  | UntagResourceCommandInput
148
+ | UpdateClusterCommandInput
144
149
  | UpdateComputeNodeGroupCommandInput
145
150
  | UpdateQueueCommandInput;
146
151
  export type ServiceOutputTypes =
@@ -160,6 +165,7 @@ export type ServiceOutputTypes =
160
165
  | RegisterComputeNodeGroupInstanceCommandOutput
161
166
  | TagResourceCommandOutput
162
167
  | UntagResourceCommandOutput
168
+ | UpdateClusterCommandOutput
163
169
  | UpdateComputeNodeGroupCommandOutput
164
170
  | UpdateQueueCommandOutput;
165
171
  export interface ClientDefaults
@@ -0,0 +1,50 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import {
4
+ UpdateClusterRequest,
5
+ UpdateClusterResponse,
6
+ } from "../models/models_0";
7
+ import {
8
+ PCSClientResolvedConfig,
9
+ ServiceInputTypes,
10
+ ServiceOutputTypes,
11
+ } from "../PCSClient";
12
+ export { __MetadataBearer };
13
+ export { $Command };
14
+ export interface UpdateClusterCommandInput extends UpdateClusterRequest {}
15
+ export interface UpdateClusterCommandOutput
16
+ extends UpdateClusterResponse,
17
+ __MetadataBearer {}
18
+ declare const UpdateClusterCommand_base: {
19
+ new (
20
+ input: UpdateClusterCommandInput
21
+ ): import("@smithy/smithy-client").CommandImpl<
22
+ UpdateClusterCommandInput,
23
+ UpdateClusterCommandOutput,
24
+ PCSClientResolvedConfig,
25
+ ServiceInputTypes,
26
+ ServiceOutputTypes
27
+ >;
28
+ new (
29
+ input: UpdateClusterCommandInput
30
+ ): import("@smithy/smithy-client").CommandImpl<
31
+ UpdateClusterCommandInput,
32
+ UpdateClusterCommandOutput,
33
+ PCSClientResolvedConfig,
34
+ ServiceInputTypes,
35
+ ServiceOutputTypes
36
+ >;
37
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
38
+ };
39
+ export declare class UpdateClusterCommand extends UpdateClusterCommand_base {
40
+ protected static __types: {
41
+ api: {
42
+ input: UpdateClusterRequest;
43
+ output: UpdateClusterResponse;
44
+ };
45
+ sdk: {
46
+ input: UpdateClusterCommandInput;
47
+ output: UpdateClusterCommandOutput;
48
+ };
49
+ };
50
+ }
@@ -14,5 +14,6 @@ export * from "./ListTagsForResourceCommand";
14
14
  export * from "./RegisterComputeNodeGroupInstanceCommand";
15
15
  export * from "./TagResourceCommand";
16
16
  export * from "./UntagResourceCommand";
17
+ export * from "./UpdateClusterCommand";
17
18
  export * from "./UpdateComputeNodeGroupCommand";
18
19
  export * from "./UpdateQueueCommand";
@@ -14,12 +14,12 @@ export declare const AccountingMode: {
14
14
  export type AccountingMode =
15
15
  (typeof AccountingMode)[keyof typeof AccountingMode];
16
16
  export interface Accounting {
17
- mode: AccountingMode | undefined;
18
17
  defaultPurgeTimeInDays?: number | undefined;
18
+ mode: AccountingMode | undefined;
19
19
  }
20
20
  export interface AccountingRequest {
21
- mode: AccountingMode | undefined;
22
21
  defaultPurgeTimeInDays?: number | undefined;
22
+ mode: AccountingMode | undefined;
23
23
  }
24
24
  export declare class ConflictException extends __BaseException {
25
25
  readonly name: "ConflictException";
@@ -363,13 +363,20 @@ export interface ListClustersResponse {
363
363
  export interface ComputeNodeGroupConfiguration {
364
364
  computeNodeGroupId?: string | undefined;
365
365
  }
366
+ export interface QueueSlurmConfigurationRequest {
367
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
368
+ }
366
369
  export interface CreateQueueRequest {
367
370
  clusterIdentifier: string | undefined;
368
371
  queueName: string | undefined;
369
372
  computeNodeGroupConfigurations?: ComputeNodeGroupConfiguration[] | undefined;
373
+ slurmConfiguration?: QueueSlurmConfigurationRequest | undefined;
370
374
  clientToken?: string | undefined;
371
375
  tags?: Record<string, string> | undefined;
372
376
  }
377
+ export interface QueueSlurmConfiguration {
378
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
379
+ }
373
380
  export declare const QueueStatus: {
374
381
  readonly ACTIVE: "ACTIVE";
375
382
  readonly CREATE_FAILED: "CREATE_FAILED";
@@ -391,6 +398,7 @@ export interface Queue {
391
398
  modifiedAt: Date | undefined;
392
399
  status: QueueStatus | undefined;
393
400
  computeNodeGroupConfigurations: ComputeNodeGroupConfiguration[] | undefined;
401
+ slurmConfiguration?: QueueSlurmConfiguration | undefined;
394
402
  errorInfo?: ErrorInfo[] | undefined;
395
403
  }
396
404
  export interface CreateQueueResponse {
@@ -427,10 +435,14 @@ export interface ListQueuesResponse {
427
435
  queues: QueueSummary[] | undefined;
428
436
  nextToken?: string | undefined;
429
437
  }
438
+ export interface UpdateQueueSlurmConfigurationRequest {
439
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
440
+ }
430
441
  export interface UpdateQueueRequest {
431
442
  clusterIdentifier: string | undefined;
432
443
  queueIdentifier: string | undefined;
433
444
  computeNodeGroupConfigurations?: ComputeNodeGroupConfiguration[] | undefined;
445
+ slurmConfiguration?: UpdateQueueSlurmConfigurationRequest | undefined;
434
446
  clientToken?: string | undefined;
435
447
  }
436
448
  export interface UpdateQueueResponse {
@@ -445,6 +457,23 @@ export interface RegisterComputeNodeGroupInstanceResponse {
445
457
  sharedSecret: string | undefined;
446
458
  endpoints: Endpoint[] | undefined;
447
459
  }
460
+ export interface UpdateAccountingRequest {
461
+ defaultPurgeTimeInDays?: number | undefined;
462
+ mode?: AccountingMode | undefined;
463
+ }
464
+ export interface UpdateClusterSlurmConfigurationRequest {
465
+ scaleDownIdleTimeInSeconds?: number | undefined;
466
+ slurmCustomSettings?: SlurmCustomSetting[] | undefined;
467
+ accounting?: UpdateAccountingRequest | undefined;
468
+ }
469
+ export interface UpdateClusterRequest {
470
+ clusterIdentifier: string | undefined;
471
+ clientToken?: string | undefined;
472
+ slurmConfiguration?: UpdateClusterSlurmConfigurationRequest | undefined;
473
+ }
474
+ export interface UpdateClusterResponse {
475
+ cluster?: Cluster | undefined;
476
+ }
448
477
  export interface ListTagsForResourceRequest {
449
478
  resourceArn: string | undefined;
450
479
  }
@@ -67,6 +67,10 @@ import {
67
67
  UntagResourceCommandInput,
68
68
  UntagResourceCommandOutput,
69
69
  } from "../commands/UntagResourceCommand";
70
+ import {
71
+ UpdateClusterCommandInput,
72
+ UpdateClusterCommandOutput,
73
+ } from "../commands/UpdateClusterCommand";
70
74
  import {
71
75
  UpdateComputeNodeGroupCommandInput,
72
76
  UpdateComputeNodeGroupCommandOutput,
@@ -139,6 +143,10 @@ export declare const se_UntagResourceCommand: (
139
143
  input: UntagResourceCommandInput,
140
144
  context: __SerdeContext
141
145
  ) => Promise<__HttpRequest>;
146
+ export declare const se_UpdateClusterCommand: (
147
+ input: UpdateClusterCommandInput,
148
+ context: __SerdeContext
149
+ ) => Promise<__HttpRequest>;
142
150
  export declare const se_UpdateComputeNodeGroupCommand: (
143
151
  input: UpdateComputeNodeGroupCommandInput,
144
152
  context: __SerdeContext
@@ -211,6 +219,10 @@ export declare const de_UntagResourceCommand: (
211
219
  output: __HttpResponse,
212
220
  context: __SerdeContext
213
221
  ) => Promise<UntagResourceCommandOutput>;
222
+ export declare const de_UpdateClusterCommand: (
223
+ output: __HttpResponse,
224
+ context: __SerdeContext
225
+ ) => Promise<UpdateClusterCommandOutput>;
214
226
  export declare const de_UpdateComputeNodeGroupCommand: (
215
227
  output: __HttpResponse,
216
228
  context: __SerdeContext
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-pcs",
3
3
  "description": "AWS SDK for JavaScript Pcs Client for Node.js, Browser and React Native",
4
- "version": "3.896.0",
4
+ "version": "3.901.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-pcs",
@@ -20,43 +20,43 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.896.0",
24
- "@aws-sdk/credential-provider-node": "3.896.0",
25
- "@aws-sdk/middleware-host-header": "3.893.0",
26
- "@aws-sdk/middleware-logger": "3.893.0",
27
- "@aws-sdk/middleware-recursion-detection": "3.893.0",
28
- "@aws-sdk/middleware-user-agent": "3.896.0",
29
- "@aws-sdk/region-config-resolver": "3.893.0",
30
- "@aws-sdk/types": "3.893.0",
31
- "@aws-sdk/util-endpoints": "3.895.0",
32
- "@aws-sdk/util-user-agent-browser": "3.893.0",
33
- "@aws-sdk/util-user-agent-node": "3.896.0",
34
- "@smithy/config-resolver": "^4.2.2",
35
- "@smithy/core": "^3.12.0",
36
- "@smithy/fetch-http-handler": "^5.2.1",
37
- "@smithy/hash-node": "^4.1.1",
38
- "@smithy/invalid-dependency": "^4.1.1",
39
- "@smithy/middleware-content-length": "^4.1.1",
40
- "@smithy/middleware-endpoint": "^4.2.4",
41
- "@smithy/middleware-retry": "^4.3.0",
42
- "@smithy/middleware-serde": "^4.1.1",
43
- "@smithy/middleware-stack": "^4.1.1",
44
- "@smithy/node-config-provider": "^4.2.2",
45
- "@smithy/node-http-handler": "^4.2.1",
46
- "@smithy/protocol-http": "^5.2.1",
47
- "@smithy/smithy-client": "^4.6.4",
48
- "@smithy/types": "^4.5.0",
49
- "@smithy/url-parser": "^4.1.1",
50
- "@smithy/util-base64": "^4.1.0",
51
- "@smithy/util-body-length-browser": "^4.1.0",
52
- "@smithy/util-body-length-node": "^4.1.0",
53
- "@smithy/util-defaults-mode-browser": "^4.1.4",
54
- "@smithy/util-defaults-mode-node": "^4.1.4",
55
- "@smithy/util-endpoints": "^3.1.2",
56
- "@smithy/util-middleware": "^4.1.1",
57
- "@smithy/util-retry": "^4.1.2",
58
- "@smithy/util-utf8": "^4.1.0",
59
- "@smithy/uuid": "^1.0.0",
23
+ "@aws-sdk/core": "3.901.0",
24
+ "@aws-sdk/credential-provider-node": "3.901.0",
25
+ "@aws-sdk/middleware-host-header": "3.901.0",
26
+ "@aws-sdk/middleware-logger": "3.901.0",
27
+ "@aws-sdk/middleware-recursion-detection": "3.901.0",
28
+ "@aws-sdk/middleware-user-agent": "3.901.0",
29
+ "@aws-sdk/region-config-resolver": "3.901.0",
30
+ "@aws-sdk/types": "3.901.0",
31
+ "@aws-sdk/util-endpoints": "3.901.0",
32
+ "@aws-sdk/util-user-agent-browser": "3.901.0",
33
+ "@aws-sdk/util-user-agent-node": "3.901.0",
34
+ "@smithy/config-resolver": "^4.3.0",
35
+ "@smithy/core": "^3.14.0",
36
+ "@smithy/fetch-http-handler": "^5.3.0",
37
+ "@smithy/hash-node": "^4.2.0",
38
+ "@smithy/invalid-dependency": "^4.2.0",
39
+ "@smithy/middleware-content-length": "^4.2.0",
40
+ "@smithy/middleware-endpoint": "^4.3.0",
41
+ "@smithy/middleware-retry": "^4.4.0",
42
+ "@smithy/middleware-serde": "^4.2.0",
43
+ "@smithy/middleware-stack": "^4.2.0",
44
+ "@smithy/node-config-provider": "^4.3.0",
45
+ "@smithy/node-http-handler": "^4.3.0",
46
+ "@smithy/protocol-http": "^5.3.0",
47
+ "@smithy/smithy-client": "^4.7.0",
48
+ "@smithy/types": "^4.6.0",
49
+ "@smithy/url-parser": "^4.2.0",
50
+ "@smithy/util-base64": "^4.2.0",
51
+ "@smithy/util-body-length-browser": "^4.2.0",
52
+ "@smithy/util-body-length-node": "^4.2.0",
53
+ "@smithy/util-defaults-mode-browser": "^4.2.0",
54
+ "@smithy/util-defaults-mode-node": "^4.2.0",
55
+ "@smithy/util-endpoints": "^3.2.0",
56
+ "@smithy/util-middleware": "^4.2.0",
57
+ "@smithy/util-retry": "^4.2.0",
58
+ "@smithy/util-utf8": "^4.2.0",
59
+ "@smithy/uuid": "^1.1.0",
60
60
  "tslib": "^2.6.2"
61
61
  },
62
62
  "devDependencies": {