aws-sdk-pcs 1.0.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.
@@ -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