aws-sdk-pcs 1.30.0 → 1.32.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a46ec0218d755c6ebd6ba546924a7cd464c1a8fc4dae3b0949ce27915ba07390
4
- data.tar.gz: c621f450e1de8bb651ca300dc9430961f04c53303bafd541e293948e7300210a
3
+ metadata.gz: 986cfc50541593fb883079c1ceabea6e62ccbc94607a73c8f55a7474c594112c
4
+ data.tar.gz: efec1f7e2db7ec68548ae6578a1b1e1a1ac97afa6dbe85f54bcbcd6e15ad91f7
5
5
  SHA512:
6
- metadata.gz: 923b96f6264d4c5ba7351cbc0c676e9859f7d3d3927e1b63385dfd9ec55c773a0ec0a14a2d5d82259f2261cf3f5c49d8fae04e312daaeea6539dcb174ecc055e
7
- data.tar.gz: 732586973258d5cd7f374f9fb291e47c41f7894f7b4bb7b32750054c16c1bf1c695a9f1e57e8ae2dccc2f1dd92887ea516dc878f9e23d0967dd7ce46eb30edda
6
+ metadata.gz: 4ecc19711d91ec2d3dcb6291e5e2a791471b4b83bd3c58b1c2d4f3c4fea961bc15a1c97a8f3982088b7d1c21a9f4aead7ae1cd2aa45d7d0d10230afc8b54ba76
7
+ data.tar.gz: 8b9b7757a09c7bc0e3248a3d83e677c636fe61cd4f62d292fe2a1afbe5685d7546c9858b680b99cbb7d821cf3e04411b111527b82a6c25e51e86f650f5ac1213
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.32.0 (2025-10-01)
5
+ ------------------
6
+
7
+ * Feature - Added the UpdateCluster API action to modify cluster configurations, and Slurm custom settings for queues.
8
+
9
+ 1.31.0 (2025-09-17)
10
+ ------------------
11
+
12
+ * Feature - Add support for Amazon EC2 Capacity Blocks for ML
13
+
4
14
  1.30.0 (2025-09-05)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.30.0
1
+ 1.32.0
@@ -564,8 +564,8 @@ module Aws::PCS
564
564
  # },
565
565
  # ],
566
566
  # accounting: {
567
- # mode: "STANDARD", # required, accepts STANDARD, NONE
568
567
  # default_purge_time_in_days: 1,
568
+ # mode: "STANDARD", # required, accepts STANDARD, NONE
569
569
  # },
570
570
  # },
571
571
  # client_token: "SBClientToken",
@@ -591,8 +591,8 @@ module Aws::PCS
591
591
  # resp.cluster.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
592
592
  # resp.cluster.slurm_configuration.auth_key.secret_arn #=> String
593
593
  # resp.cluster.slurm_configuration.auth_key.secret_version #=> String
594
- # resp.cluster.slurm_configuration.accounting.mode #=> String, one of "STANDARD", "NONE"
595
594
  # resp.cluster.slurm_configuration.accounting.default_purge_time_in_days #=> Integer
595
+ # resp.cluster.slurm_configuration.accounting.mode #=> String, one of "STANDARD", "NONE"
596
596
  # resp.cluster.networking.subnet_ids #=> Array
597
597
  # resp.cluster.networking.subnet_ids[0] #=> String
598
598
  # resp.cluster.networking.security_group_ids #=> Array
@@ -649,15 +649,18 @@ module Aws::PCS
649
649
  # instances. Subnets must be in the same VPC as the cluster.
650
650
  #
651
651
  # @option params [String] :purchase_option
652
- # Specifies how EC2 instances are purchased on your behalf. Amazon Web
653
- # Services PCS supports On-Demand and Spot instances. For more
654
- # information, see [Instance purchasing options][1] in the *Amazon
655
- # Elastic Compute Cloud User Guide*. If you don't provide this option,
656
- # it defaults to On-Demand.
652
+ # Specifies how EC2 instances are purchased on your behalf. PCS supports
653
+ # On-Demand Instances, Spot Instances, and Amazon EC2 Capacity Blocks
654
+ # for ML. For more information, see [Amazon EC2 billing and purchasing
655
+ # options][1] in the *Amazon Elastic Compute Cloud User Guide*. For more
656
+ # information about PCS support for Capacity Blocks, see [Using Amazon
657
+ # EC2 Capacity Blocks for ML with PCS][2] in the *PCS User Guide*. If
658
+ # you don't provide this option, it defaults to On-Demand.
657
659
  #
658
660
  #
659
661
  #
660
662
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html
663
+ # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html
661
664
  #
662
665
  # @option params [required, Types::CustomLaunchTemplate] :custom_launch_template
663
666
  # An Amazon EC2 launch template PCS uses to launch compute nodes.
@@ -679,8 +682,8 @@ module Aws::PCS
679
682
  # Specifies the boundaries of the compute node group auto scaling.
680
683
  #
681
684
  # @option params [required, Array<Types::InstanceConfig>] :instance_configs
682
- # A list of EC2 instance configurations that Amazon Web Services PCS can
683
- # provision in the compute node group.
685
+ # A list of EC2 instance configurations that PCS can provision in the
686
+ # compute node group.
684
687
  #
685
688
  # @option params [Types::SpotOptions] :spot_options
686
689
  # Additional configuration when you specify `SPOT` as the
@@ -716,7 +719,7 @@ module Aws::PCS
716
719
  # compute_node_group_name: "ComputeNodeGroupName", # required
717
720
  # ami_id: "AmiId",
718
721
  # subnet_ids: ["String"], # required
719
- # purchase_option: "ONDEMAND", # accepts ONDEMAND, SPOT
722
+ # purchase_option: "ONDEMAND", # accepts ONDEMAND, SPOT, CAPACITY_BLOCK
720
723
  # custom_launch_template: { # required
721
724
  # id: "String", # required
722
725
  # version: "String", # required
@@ -760,7 +763,7 @@ module Aws::PCS
760
763
  # resp.compute_node_group.ami_id #=> String
761
764
  # resp.compute_node_group.subnet_ids #=> Array
762
765
  # resp.compute_node_group.subnet_ids[0] #=> String
763
- # resp.compute_node_group.purchase_option #=> String, one of "ONDEMAND", "SPOT"
766
+ # resp.compute_node_group.purchase_option #=> String, one of "ONDEMAND", "SPOT", "CAPACITY_BLOCK"
764
767
  # resp.compute_node_group.custom_launch_template.id #=> String
765
768
  # resp.compute_node_group.custom_launch_template.version #=> String
766
769
  # resp.compute_node_group.iam_instance_profile_arn #=> String
@@ -799,6 +802,9 @@ module Aws::PCS
799
802
  # The list of compute node group configurations to associate with the
800
803
  # queue. Queues assign jobs to associated compute node groups.
801
804
  #
805
+ # @option params [Types::QueueSlurmConfigurationRequest] :slurm_configuration
806
+ # Additional options related to the Slurm scheduler.
807
+ #
802
808
  # @option params [String] :client_token
803
809
  # A unique, case-sensitive identifier that you provide to ensure the
804
810
  # idempotency of the request. Idempotency ensures that an API request
@@ -829,6 +835,14 @@ module Aws::PCS
829
835
  # compute_node_group_id: "String",
830
836
  # },
831
837
  # ],
838
+ # slurm_configuration: {
839
+ # slurm_custom_settings: [
840
+ # {
841
+ # parameter_name: "String", # required
842
+ # parameter_value: "String", # required
843
+ # },
844
+ # ],
845
+ # },
832
846
  # client_token: "SBClientToken",
833
847
  # tags: {
834
848
  # "TagKey" => "TagValue",
@@ -846,6 +860,9 @@ module Aws::PCS
846
860
  # resp.queue.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED", "SUSPENDING", "SUSPENDED"
847
861
  # resp.queue.compute_node_group_configurations #=> Array
848
862
  # resp.queue.compute_node_group_configurations[0].compute_node_group_id #=> String
863
+ # resp.queue.slurm_configuration.slurm_custom_settings #=> Array
864
+ # resp.queue.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
865
+ # resp.queue.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
849
866
  # resp.queue.error_info #=> Array
850
867
  # resp.queue.error_info[0].code #=> String
851
868
  # resp.queue.error_info[0].message #=> String
@@ -982,7 +999,7 @@ module Aws::PCS
982
999
  # for communication with the scheduler, and provisioning status.
983
1000
  #
984
1001
  # @option params [required, String] :cluster_identifier
985
- # The name or ID of the cluster of the queue.
1002
+ # The name or ID of the cluster.
986
1003
  #
987
1004
  # @return [Types::GetClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
988
1005
  #
@@ -1011,8 +1028,8 @@ module Aws::PCS
1011
1028
  # resp.cluster.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1012
1029
  # resp.cluster.slurm_configuration.auth_key.secret_arn #=> String
1013
1030
  # resp.cluster.slurm_configuration.auth_key.secret_version #=> String
1014
- # resp.cluster.slurm_configuration.accounting.mode #=> String, one of "STANDARD", "NONE"
1015
1031
  # resp.cluster.slurm_configuration.accounting.default_purge_time_in_days #=> Integer
1032
+ # resp.cluster.slurm_configuration.accounting.mode #=> String, one of "STANDARD", "NONE"
1016
1033
  # resp.cluster.networking.subnet_ids #=> Array
1017
1034
  # resp.cluster.networking.subnet_ids[0] #=> String
1018
1035
  # resp.cluster.networking.security_group_ids #=> Array
@@ -1070,7 +1087,7 @@ module Aws::PCS
1070
1087
  # resp.compute_node_group.ami_id #=> String
1071
1088
  # resp.compute_node_group.subnet_ids #=> Array
1072
1089
  # resp.compute_node_group.subnet_ids[0] #=> String
1073
- # resp.compute_node_group.purchase_option #=> String, one of "ONDEMAND", "SPOT"
1090
+ # resp.compute_node_group.purchase_option #=> String, one of "ONDEMAND", "SPOT", "CAPACITY_BLOCK"
1074
1091
  # resp.compute_node_group.custom_launch_template.id #=> String
1075
1092
  # resp.compute_node_group.custom_launch_template.version #=> String
1076
1093
  # resp.compute_node_group.iam_instance_profile_arn #=> String
@@ -1126,6 +1143,9 @@ module Aws::PCS
1126
1143
  # resp.queue.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED", "SUSPENDING", "SUSPENDED"
1127
1144
  # resp.queue.compute_node_group_configurations #=> Array
1128
1145
  # resp.queue.compute_node_group_configurations[0].compute_node_group_id #=> String
1146
+ # resp.queue.slurm_configuration.slurm_custom_settings #=> Array
1147
+ # resp.queue.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1148
+ # resp.queue.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1129
1149
  # resp.queue.error_info #=> Array
1130
1150
  # resp.queue.error_info[0].code #=> String
1131
1151
  # resp.queue.error_info[0].message #=> String
@@ -1434,6 +1454,101 @@ module Aws::PCS
1434
1454
  req.send_request(options)
1435
1455
  end
1436
1456
 
1457
+ # Updates a cluster configuration. You can modify Slurm scheduler
1458
+ # settings, accounting configuration, and security groups for an
1459
+ # existing cluster.
1460
+ #
1461
+ # <note markdown="1"> You can only update clusters that are in `ACTIVE`, `UPDATE_FAILED`, or
1462
+ # `SUSPENDED` state. All associated resources (queues and compute node
1463
+ # groups) must be in `ACTIVE` state before you can update the cluster.
1464
+ #
1465
+ # </note>
1466
+ #
1467
+ # @option params [required, String] :cluster_identifier
1468
+ # The name or ID of the cluster to update.
1469
+ #
1470
+ # @option params [String] :client_token
1471
+ # A unique, case-sensitive identifier that you provide to ensure the
1472
+ # idempotency of the request. Idempotency ensures that an API request
1473
+ # completes only once. With an idempotent request, if the original
1474
+ # request completes successfully, the subsequent retries with the same
1475
+ # client token return the result from the original successful request
1476
+ # and they have no additional effect. If you don't specify a client
1477
+ # token, the CLI and SDK automatically generate 1 for you.
1478
+ #
1479
+ # **A suitable default value is auto-generated.** You should normally
1480
+ # not need to pass this option.**
1481
+ #
1482
+ # @option params [Types::UpdateClusterSlurmConfigurationRequest] :slurm_configuration
1483
+ # Additional options related to the Slurm scheduler.
1484
+ #
1485
+ # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1486
+ #
1487
+ # * {Types::UpdateClusterResponse#cluster #cluster} => Types::Cluster
1488
+ #
1489
+ # @example Request syntax with placeholder values
1490
+ #
1491
+ # resp = client.update_cluster({
1492
+ # cluster_identifier: "ClusterIdentifier", # required
1493
+ # client_token: "SBClientToken",
1494
+ # slurm_configuration: {
1495
+ # scale_down_idle_time_in_seconds: 1,
1496
+ # slurm_custom_settings: [
1497
+ # {
1498
+ # parameter_name: "String", # required
1499
+ # parameter_value: "String", # required
1500
+ # },
1501
+ # ],
1502
+ # accounting: {
1503
+ # default_purge_time_in_days: 1,
1504
+ # mode: "STANDARD", # accepts STANDARD, NONE
1505
+ # },
1506
+ # },
1507
+ # })
1508
+ #
1509
+ # @example Response structure
1510
+ #
1511
+ # resp.cluster.name #=> String
1512
+ # resp.cluster.id #=> String
1513
+ # resp.cluster.arn #=> String
1514
+ # resp.cluster.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED", "SUSPENDING", "SUSPENDED"
1515
+ # resp.cluster.created_at #=> Time
1516
+ # resp.cluster.modified_at #=> Time
1517
+ # resp.cluster.scheduler.type #=> String, one of "SLURM"
1518
+ # resp.cluster.scheduler.version #=> String
1519
+ # resp.cluster.size #=> String, one of "SMALL", "MEDIUM", "LARGE"
1520
+ # resp.cluster.slurm_configuration.scale_down_idle_time_in_seconds #=> Integer
1521
+ # resp.cluster.slurm_configuration.slurm_custom_settings #=> Array
1522
+ # resp.cluster.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1523
+ # resp.cluster.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1524
+ # resp.cluster.slurm_configuration.auth_key.secret_arn #=> String
1525
+ # resp.cluster.slurm_configuration.auth_key.secret_version #=> String
1526
+ # resp.cluster.slurm_configuration.accounting.default_purge_time_in_days #=> Integer
1527
+ # resp.cluster.slurm_configuration.accounting.mode #=> String, one of "STANDARD", "NONE"
1528
+ # resp.cluster.networking.subnet_ids #=> Array
1529
+ # resp.cluster.networking.subnet_ids[0] #=> String
1530
+ # resp.cluster.networking.security_group_ids #=> Array
1531
+ # resp.cluster.networking.security_group_ids[0] #=> String
1532
+ # resp.cluster.networking.network_type #=> String, one of "IPV4", "IPV6"
1533
+ # resp.cluster.endpoints #=> Array
1534
+ # resp.cluster.endpoints[0].type #=> String, one of "SLURMCTLD", "SLURMDBD"
1535
+ # resp.cluster.endpoints[0].private_ip_address #=> String
1536
+ # resp.cluster.endpoints[0].public_ip_address #=> String
1537
+ # resp.cluster.endpoints[0].ipv6_address #=> String
1538
+ # resp.cluster.endpoints[0].port #=> String
1539
+ # resp.cluster.error_info #=> Array
1540
+ # resp.cluster.error_info[0].code #=> String
1541
+ # resp.cluster.error_info[0].message #=> String
1542
+ #
1543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateCluster AWS API Documentation
1544
+ #
1545
+ # @overload update_cluster(params = {})
1546
+ # @param [Hash] params ({})
1547
+ def update_cluster(params = {}, options = {})
1548
+ req = build_request(:update_cluster, params)
1549
+ req.send_request(options)
1550
+ end
1551
+
1437
1552
  # Updates a compute node group. You can update many of the fields
1438
1553
  # related to your compute node group including the configurations for
1439
1554
  # networking, compute nodes, and settings specific to your scheduler
@@ -1458,15 +1573,18 @@ module Aws::PCS
1458
1573
  # An Amazon EC2 launch template PCS uses to launch compute nodes.
1459
1574
  #
1460
1575
  # @option params [String] :purchase_option
1461
- # Specifies how EC2 instances are purchased on your behalf. Amazon Web
1462
- # Services PCS supports On-Demand and Spot instances. For more
1463
- # information, see [Instance purchasing options][1] in the *Amazon
1464
- # Elastic Compute Cloud User Guide*. If you don't provide this option,
1465
- # it defaults to On-Demand.
1576
+ # Specifies how EC2 instances are purchased on your behalf. PCS supports
1577
+ # On-Demand Instances, Spot Instances, and Amazon EC2 Capacity Blocks
1578
+ # for ML. For more information, see [Amazon EC2 billing and purchasing
1579
+ # options][1] in the *Amazon Elastic Compute Cloud User Guide*. For more
1580
+ # information about PCS support for Capacity Blocks, see [Using Amazon
1581
+ # EC2 Capacity Blocks for ML with PCS][2] in the *PCS User Guide*. If
1582
+ # you don't provide this option, it defaults to On-Demand.
1466
1583
  #
1467
1584
  #
1468
1585
  #
1469
1586
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html
1587
+ # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html
1470
1588
  #
1471
1589
  # @option params [Types::SpotOptions] :spot_options
1472
1590
  # Additional configuration when you specify `SPOT` as the
@@ -1518,7 +1636,7 @@ module Aws::PCS
1518
1636
  # id: "String", # required
1519
1637
  # version: "String", # required
1520
1638
  # },
1521
- # purchase_option: "ONDEMAND", # accepts ONDEMAND, SPOT
1639
+ # purchase_option: "ONDEMAND", # accepts ONDEMAND, SPOT, CAPACITY_BLOCK
1522
1640
  # spot_options: {
1523
1641
  # allocation_strategy: "lowest-price", # accepts lowest-price, capacity-optimized, price-capacity-optimized
1524
1642
  # },
@@ -1550,7 +1668,7 @@ module Aws::PCS
1550
1668
  # resp.compute_node_group.ami_id #=> String
1551
1669
  # resp.compute_node_group.subnet_ids #=> Array
1552
1670
  # resp.compute_node_group.subnet_ids[0] #=> String
1553
- # resp.compute_node_group.purchase_option #=> String, one of "ONDEMAND", "SPOT"
1671
+ # resp.compute_node_group.purchase_option #=> String, one of "ONDEMAND", "SPOT", "CAPACITY_BLOCK"
1554
1672
  # resp.compute_node_group.custom_launch_template.id #=> String
1555
1673
  # resp.compute_node_group.custom_launch_template.version #=> String
1556
1674
  # resp.compute_node_group.iam_instance_profile_arn #=> String
@@ -1588,6 +1706,9 @@ module Aws::PCS
1588
1706
  # The list of compute node group configurations to associate with the
1589
1707
  # queue. Queues assign jobs to associated compute node groups.
1590
1708
  #
1709
+ # @option params [Types::UpdateQueueSlurmConfigurationRequest] :slurm_configuration
1710
+ # Additional options related to the Slurm scheduler.
1711
+ #
1591
1712
  # @option params [String] :client_token
1592
1713
  # A unique, case-sensitive identifier that you provide to ensure the
1593
1714
  # idempotency of the request. Idempotency ensures that an API request
@@ -1614,6 +1735,14 @@ module Aws::PCS
1614
1735
  # compute_node_group_id: "String",
1615
1736
  # },
1616
1737
  # ],
1738
+ # slurm_configuration: {
1739
+ # slurm_custom_settings: [
1740
+ # {
1741
+ # parameter_name: "String", # required
1742
+ # parameter_value: "String", # required
1743
+ # },
1744
+ # ],
1745
+ # },
1617
1746
  # client_token: "SBClientToken",
1618
1747
  # })
1619
1748
  #
@@ -1628,6 +1757,9 @@ module Aws::PCS
1628
1757
  # resp.queue.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED", "SUSPENDING", "SUSPENDED"
1629
1758
  # resp.queue.compute_node_group_configurations #=> Array
1630
1759
  # resp.queue.compute_node_group_configurations[0].compute_node_group_id #=> String
1760
+ # resp.queue.slurm_configuration.slurm_custom_settings #=> Array
1761
+ # resp.queue.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1762
+ # resp.queue.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1631
1763
  # resp.queue.error_info #=> Array
1632
1764
  # resp.queue.error_info[0].code #=> String
1633
1765
  # resp.queue.error_info[0].message #=> String
@@ -1659,7 +1791,7 @@ module Aws::PCS
1659
1791
  tracer: tracer
1660
1792
  )
1661
1793
  context[:gem_name] = 'aws-sdk-pcs'
1662
- context[:gem_version] = '1.30.0'
1794
+ context[:gem_version] = '1.32.0'
1663
1795
  Seahorse::Client::Request.new(handlers, context)
1664
1796
  end
1665
1797
 
@@ -90,6 +90,8 @@ module Aws::PCS
90
90
  QueueIdentifier = Shapes::StringShape.new(name: 'QueueIdentifier')
91
91
  QueueList = Shapes::ListShape.new(name: 'QueueList')
92
92
  QueueName = Shapes::StringShape.new(name: 'QueueName')
93
+ QueueSlurmConfiguration = Shapes::StructureShape.new(name: 'QueueSlurmConfiguration')
94
+ QueueSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'QueueSlurmConfigurationRequest')
93
95
  QueueStatus = Shapes::StringShape.new(name: 'QueueStatus')
94
96
  QueueSummary = Shapes::StructureShape.new(name: 'QueueSummary')
95
97
  RegisterComputeNodeGroupInstanceRequest = Shapes::StructureShape.new(name: 'RegisterComputeNodeGroupInstanceRequest')
@@ -128,11 +130,18 @@ module Aws::PCS
128
130
  TagValue = Shapes::StringShape.new(name: 'TagValue')
129
131
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
130
132
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
133
+ UpdateAccountingRequest = Shapes::StructureShape.new(name: 'UpdateAccountingRequest')
134
+ UpdateAccountingRequestDefaultPurgeTimeInDaysInteger = Shapes::IntegerShape.new(name: 'UpdateAccountingRequestDefaultPurgeTimeInDaysInteger')
135
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
136
+ UpdateClusterResponse = Shapes::StructureShape.new(name: 'UpdateClusterResponse')
137
+ UpdateClusterSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateClusterSlurmConfigurationRequest')
138
+ UpdateClusterSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger = Shapes::IntegerShape.new(name: 'UpdateClusterSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger')
131
139
  UpdateComputeNodeGroupRequest = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupRequest')
132
140
  UpdateComputeNodeGroupResponse = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupResponse')
133
141
  UpdateComputeNodeGroupSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupSlurmConfigurationRequest')
134
142
  UpdateQueueRequest = Shapes::StructureShape.new(name: 'UpdateQueueRequest')
135
143
  UpdateQueueResponse = Shapes::StructureShape.new(name: 'UpdateQueueResponse')
144
+ UpdateQueueSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateQueueSlurmConfigurationRequest')
136
145
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
137
146
  ValidationExceptionField = Shapes::StructureShape.new(name: 'ValidationExceptionField')
138
147
  ValidationExceptionFieldList = Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
@@ -141,12 +150,12 @@ module Aws::PCS
141
150
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
142
151
  AccessDeniedException.struct_class = Types::AccessDeniedException
143
152
 
144
- Accounting.add_member(:mode, Shapes::ShapeRef.new(shape: AccountingMode, required: true, location_name: "mode"))
145
153
  Accounting.add_member(:default_purge_time_in_days, Shapes::ShapeRef.new(shape: AccountingDefaultPurgeTimeInDaysInteger, location_name: "defaultPurgeTimeInDays"))
154
+ Accounting.add_member(:mode, Shapes::ShapeRef.new(shape: AccountingMode, required: true, location_name: "mode"))
146
155
  Accounting.struct_class = Types::Accounting
147
156
 
148
- AccountingRequest.add_member(:mode, Shapes::ShapeRef.new(shape: AccountingMode, required: true, location_name: "mode"))
149
157
  AccountingRequest.add_member(:default_purge_time_in_days, Shapes::ShapeRef.new(shape: AccountingRequestDefaultPurgeTimeInDaysInteger, location_name: "defaultPurgeTimeInDays"))
158
+ AccountingRequest.add_member(:mode, Shapes::ShapeRef.new(shape: AccountingMode, required: true, location_name: "mode"))
150
159
  AccountingRequest.struct_class = Types::AccountingRequest
151
160
 
152
161
  Cluster.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
@@ -263,6 +272,7 @@ module Aws::PCS
263
272
  CreateQueueRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterIdentifier, required: true, location_name: "clusterIdentifier"))
264
273
  CreateQueueRequest.add_member(:queue_name, Shapes::ShapeRef.new(shape: QueueName, required: true, location_name: "queueName"))
265
274
  CreateQueueRequest.add_member(:compute_node_group_configurations, Shapes::ShapeRef.new(shape: ComputeNodeGroupConfigurationList, location_name: "computeNodeGroupConfigurations"))
275
+ CreateQueueRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: QueueSlurmConfigurationRequest, location_name: "slurmConfiguration"))
266
276
  CreateQueueRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
267
277
  CreateQueueRequest.add_member(:tags, Shapes::ShapeRef.new(shape: RequestTagMap, location_name: "tags"))
268
278
  CreateQueueRequest.struct_class = Types::CreateQueueRequest
@@ -387,11 +397,18 @@ module Aws::PCS
387
397
  Queue.add_member(:modified_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, required: true, location_name: "modifiedAt"))
388
398
  Queue.add_member(:status, Shapes::ShapeRef.new(shape: QueueStatus, required: true, location_name: "status"))
389
399
  Queue.add_member(:compute_node_group_configurations, Shapes::ShapeRef.new(shape: ComputeNodeGroupConfigurationList, required: true, location_name: "computeNodeGroupConfigurations"))
400
+ Queue.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: QueueSlurmConfiguration, location_name: "slurmConfiguration"))
390
401
  Queue.add_member(:error_info, Shapes::ShapeRef.new(shape: ErrorInfoList, location_name: "errorInfo"))
391
402
  Queue.struct_class = Types::Queue
392
403
 
393
404
  QueueList.member = Shapes::ShapeRef.new(shape: QueueSummary)
394
405
 
406
+ QueueSlurmConfiguration.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
407
+ QueueSlurmConfiguration.struct_class = Types::QueueSlurmConfiguration
408
+
409
+ QueueSlurmConfigurationRequest.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
410
+ QueueSlurmConfigurationRequest.struct_class = Types::QueueSlurmConfigurationRequest
411
+
395
412
  QueueSummary.add_member(:name, Shapes::ShapeRef.new(shape: QueueName, required: true, location_name: "name"))
396
413
  QueueSummary.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "id"))
397
414
  QueueSummary.add_member(:arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "arn"))
@@ -477,6 +494,23 @@ module Aws::PCS
477
494
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "tagKeys"))
478
495
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
479
496
 
497
+ UpdateAccountingRequest.add_member(:default_purge_time_in_days, Shapes::ShapeRef.new(shape: UpdateAccountingRequestDefaultPurgeTimeInDaysInteger, location_name: "defaultPurgeTimeInDays"))
498
+ UpdateAccountingRequest.add_member(:mode, Shapes::ShapeRef.new(shape: AccountingMode, location_name: "mode"))
499
+ UpdateAccountingRequest.struct_class = Types::UpdateAccountingRequest
500
+
501
+ UpdateClusterRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterIdentifier, required: true, location_name: "clusterIdentifier"))
502
+ UpdateClusterRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
503
+ UpdateClusterRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: UpdateClusterSlurmConfigurationRequest, location_name: "slurmConfiguration"))
504
+ UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
505
+
506
+ UpdateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
507
+ UpdateClusterResponse.struct_class = Types::UpdateClusterResponse
508
+
509
+ UpdateClusterSlurmConfigurationRequest.add_member(:scale_down_idle_time_in_seconds, Shapes::ShapeRef.new(shape: UpdateClusterSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger, location_name: "scaleDownIdleTimeInSeconds"))
510
+ UpdateClusterSlurmConfigurationRequest.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
511
+ UpdateClusterSlurmConfigurationRequest.add_member(:accounting, Shapes::ShapeRef.new(shape: UpdateAccountingRequest, location_name: "accounting"))
512
+ UpdateClusterSlurmConfigurationRequest.struct_class = Types::UpdateClusterSlurmConfigurationRequest
513
+
480
514
  UpdateComputeNodeGroupRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterIdentifier, required: true, location_name: "clusterIdentifier"))
481
515
  UpdateComputeNodeGroupRequest.add_member(:compute_node_group_identifier, Shapes::ShapeRef.new(shape: ComputeNodeGroupIdentifier, required: true, location_name: "computeNodeGroupIdentifier"))
482
516
  UpdateComputeNodeGroupRequest.add_member(:ami_id, Shapes::ShapeRef.new(shape: AmiId, location_name: "amiId"))
@@ -499,12 +533,16 @@ module Aws::PCS
499
533
  UpdateQueueRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterIdentifier, required: true, location_name: "clusterIdentifier"))
500
534
  UpdateQueueRequest.add_member(:queue_identifier, Shapes::ShapeRef.new(shape: QueueIdentifier, required: true, location_name: "queueIdentifier"))
501
535
  UpdateQueueRequest.add_member(:compute_node_group_configurations, Shapes::ShapeRef.new(shape: ComputeNodeGroupConfigurationList, location_name: "computeNodeGroupConfigurations"))
536
+ UpdateQueueRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: UpdateQueueSlurmConfigurationRequest, location_name: "slurmConfiguration"))
502
537
  UpdateQueueRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
503
538
  UpdateQueueRequest.struct_class = Types::UpdateQueueRequest
504
539
 
505
540
  UpdateQueueResponse.add_member(:queue, Shapes::ShapeRef.new(shape: Queue, location_name: "queue"))
506
541
  UpdateQueueResponse.struct_class = Types::UpdateQueueResponse
507
542
 
543
+ UpdateQueueSlurmConfigurationRequest.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
544
+ UpdateQueueSlurmConfigurationRequest.struct_class = Types::UpdateQueueSlurmConfigurationRequest
545
+
508
546
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
509
547
  ValidationException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, required: true, location_name: "reason"))
510
548
  ValidationException.add_member(:field_list, Shapes::ShapeRef.new(shape: ValidationExceptionFieldList, location_name: "fieldList"))
@@ -763,6 +801,20 @@ module Aws::PCS
763
801
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
764
802
  end)
765
803
 
804
+ api.add_operation(:update_cluster, Seahorse::Model::Operation.new.tap do |o|
805
+ o.name = "UpdateCluster"
806
+ o.http_method = "POST"
807
+ o.http_request_uri = "/"
808
+ o.input = Shapes::ShapeRef.new(shape: UpdateClusterRequest)
809
+ o.output = Shapes::ShapeRef.new(shape: UpdateClusterResponse)
810
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
811
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
812
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
813
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
814
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
815
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
816
+ end)
817
+
766
818
  api.add_operation(:update_compute_node_group, Seahorse::Model::Operation.new.tap do |o|
767
819
  o.name = "UpdateComputeNodeGroup"
768
820
  o.http_method = "POST"
@@ -38,11 +38,6 @@ module Aws::PCS
38
38
  # accounting. It's a property of the **ClusterSlurmConfiguration**
39
39
  # object.
40
40
  #
41
- # @!attribute [rw] mode
42
- # The default value for `mode` is `STANDARD`. A value of `STANDARD`
43
- # means Slurm accounting is enabled.
44
- # @return [String]
45
- #
46
41
  # @!attribute [rw] default_purge_time_in_days
47
42
  # The default value for all purge settings for `slurmdbd.conf`. For
48
43
  # more information, see the [slurmdbd.conf documentation at
@@ -60,11 +55,16 @@ module Aws::PCS
60
55
  # [1]: https://slurm.schedmd.com/slurmdbd.conf.html
61
56
  # @return [Integer]
62
57
  #
58
+ # @!attribute [rw] mode
59
+ # The default value for `mode` is `STANDARD`. A value of `STANDARD`
60
+ # means Slurm accounting is enabled.
61
+ # @return [String]
62
+ #
63
63
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/Accounting AWS API Documentation
64
64
  #
65
65
  class Accounting < Struct.new(
66
- :mode,
67
- :default_purge_time_in_days)
66
+ :default_purge_time_in_days,
67
+ :mode)
68
68
  SENSITIVE = []
69
69
  include Aws::Structure
70
70
  end
@@ -73,11 +73,6 @@ module Aws::PCS
73
73
  # accounting. It's a property of the **ClusterSlurmConfiguration**
74
74
  # object.
75
75
  #
76
- # @!attribute [rw] mode
77
- # The default value for `mode` is `STANDARD`. A value of `STANDARD`
78
- # means Slurm accounting is enabled.
79
- # @return [String]
80
- #
81
76
  # @!attribute [rw] default_purge_time_in_days
82
77
  # The default value for all purge settings for `slurmdbd.conf`. For
83
78
  # more information, see the [slurmdbd.conf documentation at
@@ -95,11 +90,16 @@ module Aws::PCS
95
90
  # [1]: https://slurm.schedmd.com/slurmdbd.conf.html
96
91
  # @return [Integer]
97
92
  #
93
+ # @!attribute [rw] mode
94
+ # The default value for `mode` is `STANDARD`. A value of `STANDARD`
95
+ # means Slurm accounting is enabled.
96
+ # @return [String]
97
+ #
98
98
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/AccountingRequest AWS API Documentation
99
99
  #
100
100
  class AccountingRequest < Struct.new(
101
- :mode,
102
- :default_purge_time_in_days)
101
+ :default_purge_time_in_days,
102
+ :mode)
103
103
  SENSITIVE = []
104
104
  include Aws::Structure
105
105
  end
@@ -378,15 +378,19 @@ module Aws::PCS
378
378
  # @return [Array<String>]
379
379
  #
380
380
  # @!attribute [rw] purchase_option
381
- # Specifies how EC2 instances are purchased on your behalf. Amazon Web
382
- # Services PCS supports On-Demand and Spot instances. For more
383
- # information, see [Instance purchasing options][1] in the *Amazon
384
- # Elastic Compute Cloud User Guide*. If you don't provide this
385
- # option, it defaults to On-Demand.
381
+ # Specifies how EC2 instances are purchased on your behalf. PCS
382
+ # supports On-Demand Instances, Spot Instances, and Amazon EC2
383
+ # Capacity Blocks for ML. For more information, see [Amazon EC2
384
+ # billing and purchasing options][1] in the *Amazon Elastic Compute
385
+ # Cloud User Guide*. For more information about PCS support for
386
+ # Capacity Blocks, see [Using Amazon EC2 Capacity Blocks for ML with
387
+ # PCS][2] in the *PCS User Guide*. If you don't provide this option,
388
+ # it defaults to On-Demand.
386
389
  #
387
390
  #
388
391
  #
389
392
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html
393
+ # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html
390
394
  # @return [String]
391
395
  #
392
396
  # @!attribute [rw] custom_launch_template
@@ -412,8 +416,8 @@ module Aws::PCS
412
416
  # @return [Types::ScalingConfiguration]
413
417
  #
414
418
  # @!attribute [rw] instance_configs
415
- # A list of EC2 instance configurations that Amazon Web Services PCS
416
- # can provision in the compute node group.
419
+ # A list of EC2 instance configurations that PCS can provision in the
420
+ # compute node group.
417
421
  # @return [Array<Types::InstanceConfig>]
418
422
  #
419
423
  # @!attribute [rw] spot_options
@@ -691,15 +695,19 @@ module Aws::PCS
691
695
  # @return [Array<String>]
692
696
  #
693
697
  # @!attribute [rw] purchase_option
694
- # Specifies how EC2 instances are purchased on your behalf. Amazon Web
695
- # Services PCS supports On-Demand and Spot instances. For more
696
- # information, see [Instance purchasing options][1] in the *Amazon
697
- # Elastic Compute Cloud User Guide*. If you don't provide this
698
- # option, it defaults to On-Demand.
698
+ # Specifies how EC2 instances are purchased on your behalf. PCS
699
+ # supports On-Demand Instances, Spot Instances, and Amazon EC2
700
+ # Capacity Blocks for ML. For more information, see [Amazon EC2
701
+ # billing and purchasing options][1] in the *Amazon Elastic Compute
702
+ # Cloud User Guide*. For more information about PCS support for
703
+ # Capacity Blocks, see [Using Amazon EC2 Capacity Blocks for ML with
704
+ # PCS][2] in the *PCS User Guide*. If you don't provide this option,
705
+ # it defaults to On-Demand.
699
706
  #
700
707
  #
701
708
  #
702
709
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html
710
+ # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html
703
711
  # @return [String]
704
712
  #
705
713
  # @!attribute [rw] custom_launch_template
@@ -725,8 +733,8 @@ module Aws::PCS
725
733
  # @return [Types::ScalingConfigurationRequest]
726
734
  #
727
735
  # @!attribute [rw] instance_configs
728
- # A list of EC2 instance configurations that Amazon Web Services PCS
729
- # can provision in the compute node group.
736
+ # A list of EC2 instance configurations that PCS can provision in the
737
+ # compute node group.
730
738
  # @return [Array<Types::InstanceConfig>]
731
739
  #
732
740
  # @!attribute [rw] spot_options
@@ -801,6 +809,10 @@ module Aws::PCS
801
809
  # queue. Queues assign jobs to associated compute node groups.
802
810
  # @return [Array<Types::ComputeNodeGroupConfiguration>]
803
811
  #
812
+ # @!attribute [rw] slurm_configuration
813
+ # Additional options related to the Slurm scheduler.
814
+ # @return [Types::QueueSlurmConfigurationRequest]
815
+ #
804
816
  # @!attribute [rw] client_token
805
817
  # A unique, case-sensitive identifier that you provide to ensure the
806
818
  # idempotency of the request. Idempotency ensures that an API request
@@ -825,6 +837,7 @@ module Aws::PCS
825
837
  :cluster_identifier,
826
838
  :queue_name,
827
839
  :compute_node_group_configurations,
840
+ :slurm_configuration,
828
841
  :client_token,
829
842
  :tags)
830
843
  SENSITIVE = []
@@ -1030,7 +1043,7 @@ module Aws::PCS
1030
1043
  end
1031
1044
 
1032
1045
  # @!attribute [rw] cluster_identifier
1033
- # The name or ID of the cluster of the queue.
1046
+ # The name or ID of the cluster.
1034
1047
  # @return [String]
1035
1048
  #
1036
1049
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/GetClusterRequest AWS API Documentation
@@ -1376,16 +1389,15 @@ module Aws::PCS
1376
1389
  # The networking configuration for the cluster's control plane.
1377
1390
  #
1378
1391
  # @!attribute [rw] subnet_ids
1379
- # The list of subnet IDs where Amazon Web Services PCS creates an
1380
- # Elastic Network Interface (ENI) to enable communication between
1381
- # managed controllers and Amazon Web Services PCS resources. Subnet
1382
- # IDs have the form `subnet-0123456789abcdef0`.
1392
+ # The list of subnet IDs where PCS creates an Elastic Network
1393
+ # Interface (ENI) to enable communication between managed controllers
1394
+ # and PCS resources. Subnet IDs have the form
1395
+ # `subnet-0123456789abcdef0`.
1383
1396
  #
1384
1397
  # Subnets can't be in Outposts, Wavelength or an Amazon Web Services
1385
1398
  # Local Zone.
1386
1399
  #
1387
- # <note markdown="1"> Amazon Web Services PCS currently supports only 1 subnet in this
1388
- # list.
1400
+ # <note markdown="1"> PCS currently supports only 1 subnet in this list.
1389
1401
  #
1390
1402
  # </note>
1391
1403
  # @return [Array<String>]
@@ -1462,6 +1474,10 @@ module Aws::PCS
1462
1474
  # queue. Queues assign jobs to associated compute node groups.
1463
1475
  # @return [Array<Types::ComputeNodeGroupConfiguration>]
1464
1476
  #
1477
+ # @!attribute [rw] slurm_configuration
1478
+ # Additional options related to the Slurm scheduler.
1479
+ # @return [Types::QueueSlurmConfiguration]
1480
+ #
1465
1481
  # @!attribute [rw] error_info
1466
1482
  # The list of errors that occurred during queue provisioning.
1467
1483
  # @return [Array<Types::ErrorInfo>]
@@ -1477,11 +1493,42 @@ module Aws::PCS
1477
1493
  :modified_at,
1478
1494
  :status,
1479
1495
  :compute_node_group_configurations,
1496
+ :slurm_configuration,
1480
1497
  :error_info)
1481
1498
  SENSITIVE = []
1482
1499
  include Aws::Structure
1483
1500
  end
1484
1501
 
1502
+ # Additional options related to the Slurm scheduler.
1503
+ #
1504
+ # @!attribute [rw] slurm_custom_settings
1505
+ # Additional Slurm-specific configuration that directly maps to Slurm
1506
+ # settings.
1507
+ # @return [Array<Types::SlurmCustomSetting>]
1508
+ #
1509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/QueueSlurmConfiguration AWS API Documentation
1510
+ #
1511
+ class QueueSlurmConfiguration < Struct.new(
1512
+ :slurm_custom_settings)
1513
+ SENSITIVE = []
1514
+ include Aws::Structure
1515
+ end
1516
+
1517
+ # Additional options related to the Slurm scheduler.
1518
+ #
1519
+ # @!attribute [rw] slurm_custom_settings
1520
+ # Additional Slurm-specific configuration that directly maps to Slurm
1521
+ # settings.
1522
+ # @return [Array<Types::SlurmCustomSetting>]
1523
+ #
1524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/QueueSlurmConfigurationRequest AWS API Documentation
1525
+ #
1526
+ class QueueSlurmConfigurationRequest < Struct.new(
1527
+ :slurm_custom_settings)
1528
+ SENSITIVE = []
1529
+ include Aws::Structure
1530
+ end
1531
+
1485
1532
  # The object returned by the `ListQueues` API action.
1486
1533
  #
1487
1534
  # @!attribute [rw] name
@@ -1768,7 +1815,7 @@ module Aws::PCS
1768
1815
  # secret**.
1769
1816
  #
1770
1817
  # @!attribute [rw] secret_arn
1771
- # The Amazon Resource Name (ARN) of the the shared Slurm key.
1818
+ # The Amazon Resource Name (ARN) of the shared Slurm key.
1772
1819
  # @return [String]
1773
1820
  #
1774
1821
  # @!attribute [rw] secret_version
@@ -1786,36 +1833,21 @@ module Aws::PCS
1786
1833
 
1787
1834
  # Additional settings that directly map to Slurm settings.
1788
1835
  #
1789
- # @!attribute [rw] parameter_name
1790
- # PCS supports configuration of the following Slurm parameters:
1791
- #
1792
- # * For **clusters**
1793
- #
1794
- # * [ `Prolog` ][1]
1795
- #
1796
- # * [ `Epilog` ][2]
1836
+ # PCS supports a subset of Slurm settings. For more information, see
1837
+ # [Configuring custom Slurm settings in PCS][1] in the *PCS User Guide*.
1797
1838
  #
1798
- # * [ `SelectTypeParameters` ][3]
1799
1839
  #
1800
- # * [ `AccountingStorageEnforce` ][4]
1801
1840
  #
1802
- # PCS supports a subset of the options for
1803
- # `AccountingStorageEnforce`. For more information, see [Slurm
1804
- # accounting in PCS][5] in the *PCS User Guide*.
1805
- # * For **compute node groups**
1841
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/slurm-custom-settings.html
1806
1842
  #
1807
- # * [ `Weight` ][6]
1808
- #
1809
- # * [ `RealMemory` ][6]
1843
+ # @!attribute [rw] parameter_name
1844
+ # PCS supports custom Slurm settings for clusters, compute node
1845
+ # groups, and queues. For more information, see [Configuring custom
1846
+ # Slurm settings in PCS][1] in the *PCS User Guide*.
1810
1847
  #
1811
1848
  #
1812
1849
  #
1813
- # [1]: https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1
1814
- # [2]: https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1
1815
- # [3]: https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters
1816
- # [4]: https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce
1817
- # [5]: https://docs.aws.amazon.com/pcs/latest/userguide/slurm-accounting.html
1818
- # [6]: https://slurm.schedmd.com/slurm.conf.html#OPT_Weight
1850
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/slurm-custom-settings.html
1819
1851
  # @return [String]
1820
1852
  #
1821
1853
  # @!attribute [rw] parameter_value
@@ -1835,13 +1867,13 @@ module Aws::PCS
1835
1867
  # `purchaseOption` for the `CreateComputeNodeGroup` API action.
1836
1868
  #
1837
1869
  # @!attribute [rw] allocation_strategy
1838
- # The Amazon EC2 allocation strategy Amazon Web Services PCS uses to
1839
- # provision EC2 instances. Amazon Web Services PCS supports **lowest
1840
- # price**, **capacity optimized**, and **price capacity optimized**.
1841
- # For more information, see [Use allocation strategies to determine
1842
- # how EC2 Fleet or Spot Fleet fulfills Spot and On-Demand capacity][1]
1843
- # in the *Amazon Elastic Compute Cloud User Guide*. If you don't
1844
- # provide this option, it defaults to **price capacity optimized**.
1870
+ # The Amazon EC2 allocation strategy PCS uses to provision EC2
1871
+ # instances. PCS supports **lowest price**, **capacity optimized**,
1872
+ # and **price capacity optimized**. For more information, see [Use
1873
+ # allocation strategies to determine how EC2 Fleet or Spot Fleet
1874
+ # fulfills Spot and On-Demand capacity][1] in the *Amazon Elastic
1875
+ # Compute Cloud User Guide*. If you don't provide this option, it
1876
+ # defaults to **price capacity optimized**.
1845
1877
  #
1846
1878
  #
1847
1879
  #
@@ -1911,6 +1943,111 @@ module Aws::PCS
1911
1943
  include Aws::Structure
1912
1944
  end
1913
1945
 
1946
+ # The accounting configuration includes configurable settings for Slurm
1947
+ # accounting.
1948
+ #
1949
+ # @!attribute [rw] default_purge_time_in_days
1950
+ # The default value for all purge settings for `slurmdbd.conf`. For
1951
+ # more information, see the [slurmdbd.conf documentation at
1952
+ # SchedMD][1].
1953
+ #
1954
+ # The default value for `defaultPurgeTimeInDays` is `-1`.
1955
+ #
1956
+ # A value of `-1` means there is no purge time and records persist as
1957
+ # long as the cluster exists.
1958
+ #
1959
+ # `0` isn't a valid value.
1960
+ #
1961
+ #
1962
+ #
1963
+ # [1]: https://slurm.schedmd.com/slurmdbd.conf.html
1964
+ # @return [Integer]
1965
+ #
1966
+ # @!attribute [rw] mode
1967
+ # The default value for `mode` is `STANDARD`. A value of `STANDARD`
1968
+ # means Slurm accounting is enabled.
1969
+ # @return [String]
1970
+ #
1971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateAccountingRequest AWS API Documentation
1972
+ #
1973
+ class UpdateAccountingRequest < Struct.new(
1974
+ :default_purge_time_in_days,
1975
+ :mode)
1976
+ SENSITIVE = []
1977
+ include Aws::Structure
1978
+ end
1979
+
1980
+ # @!attribute [rw] cluster_identifier
1981
+ # The name or ID of the cluster to update.
1982
+ # @return [String]
1983
+ #
1984
+ # @!attribute [rw] client_token
1985
+ # A unique, case-sensitive identifier that you provide to ensure the
1986
+ # idempotency of the request. Idempotency ensures that an API request
1987
+ # completes only once. With an idempotent request, if the original
1988
+ # request completes successfully, the subsequent retries with the same
1989
+ # client token return the result from the original successful request
1990
+ # and they have no additional effect. If you don't specify a client
1991
+ # token, the CLI and SDK automatically generate 1 for you.
1992
+ #
1993
+ # **A suitable default value is auto-generated.** You should normally
1994
+ # not need to pass this option.
1995
+ # @return [String]
1996
+ #
1997
+ # @!attribute [rw] slurm_configuration
1998
+ # Additional options related to the Slurm scheduler.
1999
+ # @return [Types::UpdateClusterSlurmConfigurationRequest]
2000
+ #
2001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateClusterRequest AWS API Documentation
2002
+ #
2003
+ class UpdateClusterRequest < Struct.new(
2004
+ :cluster_identifier,
2005
+ :client_token,
2006
+ :slurm_configuration)
2007
+ SENSITIVE = []
2008
+ include Aws::Structure
2009
+ end
2010
+
2011
+ # @!attribute [rw] cluster
2012
+ # The cluster resource and configuration.
2013
+ # @return [Types::Cluster]
2014
+ #
2015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateClusterResponse AWS API Documentation
2016
+ #
2017
+ class UpdateClusterResponse < Struct.new(
2018
+ :cluster)
2019
+ SENSITIVE = []
2020
+ include Aws::Structure
2021
+ end
2022
+
2023
+ # Additional options related to the Slurm scheduler.
2024
+ #
2025
+ # @!attribute [rw] scale_down_idle_time_in_seconds
2026
+ # The time (in seconds) before an idle node is scaled down.
2027
+ #
2028
+ # Default: `600`
2029
+ # @return [Integer]
2030
+ #
2031
+ # @!attribute [rw] slurm_custom_settings
2032
+ # Additional Slurm-specific configuration that directly maps to Slurm
2033
+ # settings.
2034
+ # @return [Array<Types::SlurmCustomSetting>]
2035
+ #
2036
+ # @!attribute [rw] accounting
2037
+ # The accounting configuration includes configurable settings for
2038
+ # Slurm accounting.
2039
+ # @return [Types::UpdateAccountingRequest]
2040
+ #
2041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateClusterSlurmConfigurationRequest AWS API Documentation
2042
+ #
2043
+ class UpdateClusterSlurmConfigurationRequest < Struct.new(
2044
+ :scale_down_idle_time_in_seconds,
2045
+ :slurm_custom_settings,
2046
+ :accounting)
2047
+ SENSITIVE = []
2048
+ include Aws::Structure
2049
+ end
2050
+
1914
2051
  # @!attribute [rw] cluster_identifier
1915
2052
  # The name or ID of the cluster of the compute node group.
1916
2053
  # @return [String]
@@ -1935,15 +2072,19 @@ module Aws::PCS
1935
2072
  # @return [Types::CustomLaunchTemplate]
1936
2073
  #
1937
2074
  # @!attribute [rw] purchase_option
1938
- # Specifies how EC2 instances are purchased on your behalf. Amazon Web
1939
- # Services PCS supports On-Demand and Spot instances. For more
1940
- # information, see [Instance purchasing options][1] in the *Amazon
1941
- # Elastic Compute Cloud User Guide*. If you don't provide this
1942
- # option, it defaults to On-Demand.
2075
+ # Specifies how EC2 instances are purchased on your behalf. PCS
2076
+ # supports On-Demand Instances, Spot Instances, and Amazon EC2
2077
+ # Capacity Blocks for ML. For more information, see [Amazon EC2
2078
+ # billing and purchasing options][1] in the *Amazon Elastic Compute
2079
+ # Cloud User Guide*. For more information about PCS support for
2080
+ # Capacity Blocks, see [Using Amazon EC2 Capacity Blocks for ML with
2081
+ # PCS][2] in the *PCS User Guide*. If you don't provide this option,
2082
+ # it defaults to On-Demand.
1943
2083
  #
1944
2084
  #
1945
2085
  #
1946
2086
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html
2087
+ # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html
1947
2088
  # @return [String]
1948
2089
  #
1949
2090
  # @!attribute [rw] spot_options
@@ -2044,6 +2185,10 @@ module Aws::PCS
2044
2185
  # queue. Queues assign jobs to associated compute node groups.
2045
2186
  # @return [Array<Types::ComputeNodeGroupConfiguration>]
2046
2187
  #
2188
+ # @!attribute [rw] slurm_configuration
2189
+ # Additional options related to the Slurm scheduler.
2190
+ # @return [Types::UpdateQueueSlurmConfigurationRequest]
2191
+ #
2047
2192
  # @!attribute [rw] client_token
2048
2193
  # A unique, case-sensitive identifier that you provide to ensure the
2049
2194
  # idempotency of the request. Idempotency ensures that an API request
@@ -2063,6 +2208,7 @@ module Aws::PCS
2063
2208
  :cluster_identifier,
2064
2209
  :queue_identifier,
2065
2210
  :compute_node_group_configurations,
2211
+ :slurm_configuration,
2066
2212
  :client_token)
2067
2213
  SENSITIVE = []
2068
2214
  include Aws::Structure
@@ -2080,6 +2226,21 @@ module Aws::PCS
2080
2226
  include Aws::Structure
2081
2227
  end
2082
2228
 
2229
+ # Additional options related to the Slurm scheduler.
2230
+ #
2231
+ # @!attribute [rw] slurm_custom_settings
2232
+ # Additional Slurm-specific configuration that directly maps to Slurm
2233
+ # settings.
2234
+ # @return [Array<Types::SlurmCustomSetting>]
2235
+ #
2236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateQueueSlurmConfigurationRequest AWS API Documentation
2237
+ #
2238
+ class UpdateQueueSlurmConfigurationRequest < Struct.new(
2239
+ :slurm_custom_settings)
2240
+ SENSITIVE = []
2241
+ include Aws::Structure
2242
+ end
2243
+
2083
2244
  # The request isn't valid.
2084
2245
  #
2085
2246
  # <u>Examples</u>
data/lib/aws-sdk-pcs.rb CHANGED
@@ -55,7 +55,7 @@ module Aws::PCS
55
55
  autoload :EndpointProvider, 'aws-sdk-pcs/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-pcs/endpoints'
57
57
 
58
- GEM_VERSION = '1.30.0'
58
+ GEM_VERSION = '1.32.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -105,8 +105,8 @@ module Aws
105
105
  },
106
106
  ]?,
107
107
  accounting: {
108
- mode: ("STANDARD" | "NONE"),
109
- default_purge_time_in_days: ::Integer?
108
+ default_purge_time_in_days: ::Integer?,
109
+ mode: ("STANDARD" | "NONE")
110
110
  }?
111
111
  },
112
112
  ?client_token: ::String,
@@ -124,7 +124,7 @@ module Aws
124
124
  compute_node_group_name: ::String,
125
125
  ?ami_id: ::String,
126
126
  subnet_ids: Array[::String],
127
- ?purchase_option: ("ONDEMAND" | "SPOT"),
127
+ ?purchase_option: ("ONDEMAND" | "SPOT" | "CAPACITY_BLOCK"),
128
128
  custom_launch_template: {
129
129
  id: ::String,
130
130
  version: ::String
@@ -168,6 +168,14 @@ module Aws
168
168
  compute_node_group_id: ::String?
169
169
  },
170
170
  ],
171
+ ?slurm_configuration: {
172
+ slurm_custom_settings: Array[
173
+ {
174
+ parameter_name: ::String,
175
+ parameter_value: ::String
176
+ },
177
+ ]?
178
+ },
171
179
  ?client_token: ::String,
172
180
  ?tags: Hash[::String, ::String]
173
181
  ) -> _CreateQueueResponseSuccess
@@ -312,6 +320,30 @@ module Aws
312
320
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
313
321
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
314
322
 
323
+ interface _UpdateClusterResponseSuccess
324
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateClusterResponse]
325
+ def cluster: () -> Types::Cluster
326
+ end
327
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PCS/Client.html#update_cluster-instance_method
328
+ def update_cluster: (
329
+ cluster_identifier: ::String,
330
+ ?client_token: ::String,
331
+ ?slurm_configuration: {
332
+ scale_down_idle_time_in_seconds: ::Integer?,
333
+ slurm_custom_settings: Array[
334
+ {
335
+ parameter_name: ::String,
336
+ parameter_value: ::String
337
+ },
338
+ ]?,
339
+ accounting: {
340
+ default_purge_time_in_days: ::Integer?,
341
+ mode: ("STANDARD" | "NONE")?
342
+ }?
343
+ }
344
+ ) -> _UpdateClusterResponseSuccess
345
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateClusterResponseSuccess
346
+
315
347
  interface _UpdateComputeNodeGroupResponseSuccess
316
348
  include ::Seahorse::Client::_ResponseSuccess[Types::UpdateComputeNodeGroupResponse]
317
349
  def compute_node_group: () -> Types::ComputeNodeGroup
@@ -326,7 +358,7 @@ module Aws
326
358
  id: ::String,
327
359
  version: ::String
328
360
  },
329
- ?purchase_option: ("ONDEMAND" | "SPOT"),
361
+ ?purchase_option: ("ONDEMAND" | "SPOT" | "CAPACITY_BLOCK"),
330
362
  ?spot_options: {
331
363
  allocation_strategy: ("lowest-price" | "capacity-optimized" | "price-capacity-optimized")?
332
364
  },
@@ -360,6 +392,14 @@ module Aws
360
392
  compute_node_group_id: ::String?
361
393
  },
362
394
  ],
395
+ ?slurm_configuration: {
396
+ slurm_custom_settings: Array[
397
+ {
398
+ parameter_name: ::String,
399
+ parameter_value: ::String
400
+ },
401
+ ]?
402
+ },
363
403
  ?client_token: ::String
364
404
  ) -> _UpdateQueueResponseSuccess
365
405
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateQueueResponseSuccess
data/sig/types.rbs CHANGED
@@ -14,14 +14,14 @@ module Aws::PCS
14
14
  end
15
15
 
16
16
  class Accounting
17
- attr_accessor mode: ("STANDARD" | "NONE")
18
17
  attr_accessor default_purge_time_in_days: ::Integer
18
+ attr_accessor mode: ("STANDARD" | "NONE")
19
19
  SENSITIVE: []
20
20
  end
21
21
 
22
22
  class AccountingRequest
23
- attr_accessor mode: ("STANDARD" | "NONE")
24
23
  attr_accessor default_purge_time_in_days: ::Integer
24
+ attr_accessor mode: ("STANDARD" | "NONE")
25
25
  SENSITIVE: []
26
26
  end
27
27
 
@@ -76,7 +76,7 @@ module Aws::PCS
76
76
  attr_accessor status: ("CREATING" | "ACTIVE" | "UPDATING" | "DELETING" | "CREATE_FAILED" | "DELETE_FAILED" | "UPDATE_FAILED" | "DELETED" | "SUSPENDING" | "SUSPENDED")
77
77
  attr_accessor ami_id: ::String
78
78
  attr_accessor subnet_ids: ::Array[::String]
79
- attr_accessor purchase_option: ("ONDEMAND" | "SPOT")
79
+ attr_accessor purchase_option: ("ONDEMAND" | "SPOT" | "CAPACITY_BLOCK")
80
80
  attr_accessor custom_launch_template: Types::CustomLaunchTemplate
81
81
  attr_accessor iam_instance_profile_arn: ::String
82
82
  attr_accessor scaling_configuration: Types::ScalingConfiguration
@@ -141,7 +141,7 @@ module Aws::PCS
141
141
  attr_accessor compute_node_group_name: ::String
142
142
  attr_accessor ami_id: ::String
143
143
  attr_accessor subnet_ids: ::Array[::String]
144
- attr_accessor purchase_option: ("ONDEMAND" | "SPOT")
144
+ attr_accessor purchase_option: ("ONDEMAND" | "SPOT" | "CAPACITY_BLOCK")
145
145
  attr_accessor custom_launch_template: Types::CustomLaunchTemplate
146
146
  attr_accessor iam_instance_profile_arn: ::String
147
147
  attr_accessor scaling_configuration: Types::ScalingConfigurationRequest
@@ -162,6 +162,7 @@ module Aws::PCS
162
162
  attr_accessor cluster_identifier: ::String
163
163
  attr_accessor queue_name: ::String
164
164
  attr_accessor compute_node_group_configurations: ::Array[Types::ComputeNodeGroupConfiguration]
165
+ attr_accessor slurm_configuration: Types::QueueSlurmConfigurationRequest
165
166
  attr_accessor client_token: ::String
166
167
  attr_accessor tags: ::Hash[::String, ::String]
167
168
  SENSITIVE: []
@@ -335,10 +336,21 @@ module Aws::PCS
335
336
  attr_accessor modified_at: ::Time
336
337
  attr_accessor status: ("CREATING" | "ACTIVE" | "UPDATING" | "DELETING" | "CREATE_FAILED" | "DELETE_FAILED" | "UPDATE_FAILED" | "SUSPENDING" | "SUSPENDED")
337
338
  attr_accessor compute_node_group_configurations: ::Array[Types::ComputeNodeGroupConfiguration]
339
+ attr_accessor slurm_configuration: Types::QueueSlurmConfiguration
338
340
  attr_accessor error_info: ::Array[Types::ErrorInfo]
339
341
  SENSITIVE: []
340
342
  end
341
343
 
344
+ class QueueSlurmConfiguration
345
+ attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
346
+ SENSITIVE: []
347
+ end
348
+
349
+ class QueueSlurmConfigurationRequest
350
+ attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
351
+ SENSITIVE: []
352
+ end
353
+
342
354
  class QueueSummary
343
355
  attr_accessor name: ::String
344
356
  attr_accessor id: ::String
@@ -438,13 +450,38 @@ module Aws::PCS
438
450
  SENSITIVE: []
439
451
  end
440
452
 
453
+ class UpdateAccountingRequest
454
+ attr_accessor default_purge_time_in_days: ::Integer
455
+ attr_accessor mode: ("STANDARD" | "NONE")
456
+ SENSITIVE: []
457
+ end
458
+
459
+ class UpdateClusterRequest
460
+ attr_accessor cluster_identifier: ::String
461
+ attr_accessor client_token: ::String
462
+ attr_accessor slurm_configuration: Types::UpdateClusterSlurmConfigurationRequest
463
+ SENSITIVE: []
464
+ end
465
+
466
+ class UpdateClusterResponse
467
+ attr_accessor cluster: Types::Cluster
468
+ SENSITIVE: []
469
+ end
470
+
471
+ class UpdateClusterSlurmConfigurationRequest
472
+ attr_accessor scale_down_idle_time_in_seconds: ::Integer
473
+ attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
474
+ attr_accessor accounting: Types::UpdateAccountingRequest
475
+ SENSITIVE: []
476
+ end
477
+
441
478
  class UpdateComputeNodeGroupRequest
442
479
  attr_accessor cluster_identifier: ::String
443
480
  attr_accessor compute_node_group_identifier: ::String
444
481
  attr_accessor ami_id: ::String
445
482
  attr_accessor subnet_ids: ::Array[::String]
446
483
  attr_accessor custom_launch_template: Types::CustomLaunchTemplate
447
- attr_accessor purchase_option: ("ONDEMAND" | "SPOT")
484
+ attr_accessor purchase_option: ("ONDEMAND" | "SPOT" | "CAPACITY_BLOCK")
448
485
  attr_accessor spot_options: Types::SpotOptions
449
486
  attr_accessor scaling_configuration: Types::ScalingConfigurationRequest
450
487
  attr_accessor iam_instance_profile_arn: ::String
@@ -467,6 +504,7 @@ module Aws::PCS
467
504
  attr_accessor cluster_identifier: ::String
468
505
  attr_accessor queue_identifier: ::String
469
506
  attr_accessor compute_node_group_configurations: ::Array[Types::ComputeNodeGroupConfiguration]
507
+ attr_accessor slurm_configuration: Types::UpdateQueueSlurmConfigurationRequest
470
508
  attr_accessor client_token: ::String
471
509
  SENSITIVE: []
472
510
  end
@@ -476,6 +514,11 @@ module Aws::PCS
476
514
  SENSITIVE: []
477
515
  end
478
516
 
517
+ class UpdateQueueSlurmConfigurationRequest
518
+ attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
519
+ SENSITIVE: []
520
+ end
521
+
479
522
  class ValidationException
480
523
  attr_accessor message: ::String
481
524
  attr_accessor reason: ("unknownOperation" | "cannotParse" | "fieldValidationFailed" | "other")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-pcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.30.0
4
+ version: 1.32.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services