aws-sdk-pcs 1.0.0

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