aws-sdk-pcs 1.51.0 → 1.53.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: b888cae630104c31dbeb89410dedc624ccff6dc1fedce8d813315cd083c298c6
4
- data.tar.gz: af14fd667a15151585b1c689f974dd8013b1b9d9a4ea69e1c44e561e28c3c8e8
3
+ metadata.gz: 07fd1626be8b4a97b36dca7ce7733962692b8107bcc11c076d20cad68d572223
4
+ data.tar.gz: dd6348718e4d2b5665a1081828f431c34fbc4be0277c3a176c26aa2381f988ad
5
5
  SHA512:
6
- metadata.gz: 35ee5c9fa55ee12e0e215382508ec9ba16ce329340cd9fae9510d80b87659d15dc52447817af6246a2a550693aaa08b2647ce614568c241889e99b6b81e6228c
7
- data.tar.gz: 0426d7deefb8b79b7725c3287b25e704dbb6ae77157b3052af5f4ace4f2e7a35fb05ea4fc5d4bc82a46db8f48bc5b903fa2d4d04cb66c59776e1c11651c6d04f
6
+ metadata.gz: 8695ccbfb095e300e08816edcc6466bcb48e82945398dd594c58a53f42b1f423d47d694cb33c8b35b11c96abd54348ae623f8d059ed632e31df9bd42d9756a58
7
+ data.tar.gz: faa377d92675f4973da7daa7b2881426d3786516ba2d3742e626e839816f91e30a031caaca70665fb478ba2ba88f55ab4e2ce1990755de44a77d7351c9c761ed
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2026-09-09)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for custom Gres.conf configuration and Slurm version 26.05 in AWS PCS. Customers can now specify generic resource (GRES) settings to control how GPUs and other resources are configured and shared on their compute node groups.
8
+
9
+ 1.52.0 (2026-07-22)
10
+ ------------------
11
+
12
+ * Feature - AWS PCS Node Lifecycle Actions provides a structured way to run custom scripts at defined points in a compute node's lifecycle directly through the AWS PCS compute node group API.
13
+
4
14
  1.51.0 (2026-07-09)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.53.0
@@ -721,6 +721,12 @@ module Aws::PCS
721
721
  # @option params [Types::ComputeNodeGroupSlurmConfigurationRequest] :slurm_configuration
722
722
  # Additional options related to the Slurm scheduler.
723
723
  #
724
+ # @option params [Types::NodeLifecycleActionsRequest] :node_lifecycle_actions
725
+ # The lifecycle actions to run on compute nodes in the compute node
726
+ # group. Use lifecycle actions to run custom scripts at defined stages
727
+ # of a compute node's lifecycle, such as when a compute node finishes
728
+ # bootstrapping or becomes ready to accept jobs.
729
+ #
724
730
  # @option params [String] :client_token
725
731
  # A unique, case-sensitive identifier that you provide to ensure the
726
732
  # idempotency of the request. Idempotency ensures that an API request
@@ -774,6 +780,42 @@ module Aws::PCS
774
780
  # parameter_value: "String", # required
775
781
  # },
776
782
  # ],
783
+ # gres_custom_settings: [
784
+ # {
785
+ # "String" => "String",
786
+ # },
787
+ # ],
788
+ # },
789
+ # node_lifecycle_actions: {
790
+ # stages: { # required
791
+ # node_bootstrapped: [
792
+ # {
793
+ # name: "NodeLifecycleScriptNameString", # required
794
+ # script_source: { # required
795
+ # script_location: "ScriptSourceScriptLocationString", # required
796
+ # s3_version_id: "ScriptSourceS3VersionIdString",
797
+ # checksum: "ScriptSourceChecksumString",
798
+ # },
799
+ # arguments: ["NodeLifecycleScriptArgument"],
800
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
801
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
802
+ # },
803
+ # ],
804
+ # node_ready: [
805
+ # {
806
+ # name: "NodeLifecycleScriptNameString", # required
807
+ # script_source: { # required
808
+ # script_location: "ScriptSourceScriptLocationString", # required
809
+ # s3_version_id: "ScriptSourceS3VersionIdString",
810
+ # checksum: "ScriptSourceChecksumString",
811
+ # },
812
+ # arguments: ["NodeLifecycleScriptArgument"],
813
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
814
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
815
+ # },
816
+ # ],
817
+ # },
818
+ # script_caching_policy: "CACHE_ONCE", # accepts CACHE_ONCE, REFRESH_ON_REBOOT
777
819
  # },
778
820
  # client_token: "SBClientToken",
779
821
  # tags: {
@@ -806,6 +848,28 @@ module Aws::PCS
806
848
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings #=> Array
807
849
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
808
850
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
851
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings #=> Array
852
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings[0] #=> Hash
853
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings[0]["String"] #=> String
854
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped #=> Array
855
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
856
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
857
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
858
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
859
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
860
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
861
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
862
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
863
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready #=> Array
864
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].name #=> String
865
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
866
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
867
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
868
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
869
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
870
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
871
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
872
+ # resp.compute_node_group.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
809
873
  # resp.compute_node_group.error_info #=> Array
810
874
  # resp.compute_node_group.error_info[0].code #=> String
811
875
  # resp.compute_node_group.error_info[0].message #=> String
@@ -1140,6 +1204,28 @@ module Aws::PCS
1140
1204
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings #=> Array
1141
1205
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1142
1206
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1207
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings #=> Array
1208
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings[0] #=> Hash
1209
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings[0]["String"] #=> String
1210
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped #=> Array
1211
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
1212
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
1213
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
1214
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
1215
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
1216
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
1217
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1218
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1219
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready #=> Array
1220
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].name #=> String
1221
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
1222
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
1223
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
1224
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
1225
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
1226
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1227
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1228
+ # resp.compute_node_group.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
1143
1229
  # resp.compute_node_group.error_info #=> Array
1144
1230
  # resp.compute_node_group.error_info[0].code #=> String
1145
1231
  # resp.compute_node_group.error_info[0].message #=> String
@@ -1406,6 +1492,10 @@ module Aws::PCS
1406
1492
  # * {Types::RegisterComputeNodeGroupInstanceResponse#node_id #node_id} => String
1407
1493
  # * {Types::RegisterComputeNodeGroupInstanceResponse#shared_secret #shared_secret} => String
1408
1494
  # * {Types::RegisterComputeNodeGroupInstanceResponse#endpoints #endpoints} => Array<Types::Endpoint>
1495
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#cluster_name #cluster_name} => String
1496
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#compute_node_group_id #compute_node_group_id} => String
1497
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#compute_node_group_name #compute_node_group_name} => String
1498
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#node_lifecycle_actions #node_lifecycle_actions} => Types::NodeLifecycleActions
1409
1499
  #
1410
1500
  # @example Request syntax with placeholder values
1411
1501
  #
@@ -1424,6 +1514,28 @@ module Aws::PCS
1424
1514
  # resp.endpoints[0].public_ip_address #=> String
1425
1515
  # resp.endpoints[0].ipv6_address #=> String
1426
1516
  # resp.endpoints[0].port #=> String
1517
+ # resp.cluster_name #=> String
1518
+ # resp.compute_node_group_id #=> String
1519
+ # resp.compute_node_group_name #=> String
1520
+ # resp.node_lifecycle_actions.stages.node_bootstrapped #=> Array
1521
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
1522
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
1523
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
1524
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
1525
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
1526
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
1527
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1528
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1529
+ # resp.node_lifecycle_actions.stages.node_ready #=> Array
1530
+ # resp.node_lifecycle_actions.stages.node_ready[0].name #=> String
1531
+ # resp.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
1532
+ # resp.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
1533
+ # resp.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
1534
+ # resp.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
1535
+ # resp.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
1536
+ # resp.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1537
+ # resp.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1538
+ # resp.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
1427
1539
  #
1428
1540
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/RegisterComputeNodeGroupInstance AWS API Documentation
1429
1541
  #
@@ -1495,11 +1607,11 @@ module Aws::PCS
1495
1607
  req.send_request(options)
1496
1608
  end
1497
1609
 
1498
- # Updates a cluster configuration. You can upgrade the Slurm version,
1610
+ # Updates a cluster configuration. You can update the scheduler version,
1499
1611
  # modify scheduler settings, and update accounting configuration for an
1500
- # existing cluster. For more information about upgrading the Slurm
1501
- # version, see [Upgrading the Slurm version on a cluster][1] in the *PCS
1502
- # User Guide*.
1612
+ # existing cluster. For more information about updating the scheduler
1613
+ # version, see [Updating the scheduler version on a cluster][1] in the
1614
+ # *PCS User Guide*.
1503
1615
  #
1504
1616
  # <note markdown="1"> You can only update clusters that are in `ACTIVE`, `UPDATE_FAILED`, or
1505
1617
  # `SUSPENDED` state. All associated resources (queues and compute node
@@ -1509,7 +1621,7 @@ module Aws::PCS
1509
1621
  #
1510
1622
  #
1511
1623
  #
1512
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
1624
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
1513
1625
  #
1514
1626
  # @option params [required, String] :cluster_identifier
1515
1627
  # The name or ID of the cluster to update.
@@ -1531,12 +1643,12 @@ module Aws::PCS
1531
1643
  #
1532
1644
  # @option params [Types::UpdateSchedulerRequest] :scheduler
1533
1645
  # The scheduler configuration to update for the cluster. Use this to
1534
- # upgrade the Slurm version. For more information, see [Upgrading the
1535
- # Slurm version on a cluster][1] in the *PCS User Guide*.
1646
+ # update the scheduler version. For more information, see [Updating the
1647
+ # scheduler version on a cluster][1] in the *PCS User Guide*.
1536
1648
  #
1537
1649
  #
1538
1650
  #
1539
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
1651
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
1540
1652
  #
1541
1653
  # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1542
1654
  #
@@ -1699,6 +1811,12 @@ module Aws::PCS
1699
1811
  # @option params [Types::UpdateComputeNodeGroupSlurmConfigurationRequest] :slurm_configuration
1700
1812
  # Additional options related to the Slurm scheduler.
1701
1813
  #
1814
+ # @option params [Types::UpdateNodeLifecycleActionsRequest] :node_lifecycle_actions
1815
+ # The lifecycle actions to run on compute nodes in the compute node
1816
+ # group. Use lifecycle actions to run custom scripts at defined stages
1817
+ # of a compute node's lifecycle, such as when a compute node finishes
1818
+ # bootstrapping or becomes ready to accept jobs.
1819
+ #
1702
1820
  # @option params [String] :client_token
1703
1821
  # A unique, case-sensitive identifier that you provide to ensure the
1704
1822
  # idempotency of the request. Idempotency ensures that an API request
@@ -1743,6 +1861,42 @@ module Aws::PCS
1743
1861
  # parameter_value: "String", # required
1744
1862
  # },
1745
1863
  # ],
1864
+ # gres_custom_settings: [
1865
+ # {
1866
+ # "String" => "String",
1867
+ # },
1868
+ # ],
1869
+ # },
1870
+ # node_lifecycle_actions: {
1871
+ # stages: { # required
1872
+ # node_bootstrapped: [
1873
+ # {
1874
+ # name: "NodeLifecycleScriptNameString", # required
1875
+ # script_source: { # required
1876
+ # script_location: "ScriptSourceScriptLocationString", # required
1877
+ # s3_version_id: "ScriptSourceS3VersionIdString",
1878
+ # checksum: "ScriptSourceChecksumString",
1879
+ # },
1880
+ # arguments: ["NodeLifecycleScriptArgument"],
1881
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
1882
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
1883
+ # },
1884
+ # ],
1885
+ # node_ready: [
1886
+ # {
1887
+ # name: "NodeLifecycleScriptNameString", # required
1888
+ # script_source: { # required
1889
+ # script_location: "ScriptSourceScriptLocationString", # required
1890
+ # s3_version_id: "ScriptSourceS3VersionIdString",
1891
+ # checksum: "ScriptSourceChecksumString",
1892
+ # },
1893
+ # arguments: ["NodeLifecycleScriptArgument"],
1894
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
1895
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
1896
+ # },
1897
+ # ],
1898
+ # },
1899
+ # script_caching_policy: "CACHE_ONCE", # accepts CACHE_ONCE, REFRESH_ON_REBOOT
1746
1900
  # },
1747
1901
  # client_token: "SBClientToken",
1748
1902
  # })
@@ -1772,6 +1926,28 @@ module Aws::PCS
1772
1926
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings #=> Array
1773
1927
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1774
1928
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1929
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings #=> Array
1930
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings[0] #=> Hash
1931
+ # resp.compute_node_group.slurm_configuration.gres_custom_settings[0]["String"] #=> String
1932
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped #=> Array
1933
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
1934
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
1935
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
1936
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
1937
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
1938
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
1939
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1940
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1941
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready #=> Array
1942
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].name #=> String
1943
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
1944
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
1945
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
1946
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
1947
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
1948
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1949
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1950
+ # resp.compute_node_group.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
1775
1951
  # resp.compute_node_group.error_info #=> Array
1776
1952
  # resp.compute_node_group.error_info[0].code #=> String
1777
1953
  # resp.compute_node_group.error_info[0].message #=> String
@@ -1883,7 +2059,7 @@ module Aws::PCS
1883
2059
  tracer: tracer
1884
2060
  )
1885
2061
  context[:gem_name] = 'aws-sdk-pcs'
1886
- context[:gem_version] = '1.51.0'
2062
+ context[:gem_version] = '1.53.0'
1887
2063
  Seahorse::Client::Request.new(handlers, context)
1888
2064
  end
1889
2065
 
@@ -66,12 +66,15 @@ module Aws::PCS
66
66
  Endpoints = Shapes::ListShape.new(name: 'Endpoints')
67
67
  ErrorInfo = Shapes::StructureShape.new(name: 'ErrorInfo')
68
68
  ErrorInfoList = Shapes::ListShape.new(name: 'ErrorInfoList')
69
+ ExecutionPolicy = Shapes::StringShape.new(name: 'ExecutionPolicy')
69
70
  GetClusterRequest = Shapes::StructureShape.new(name: 'GetClusterRequest')
70
71
  GetClusterResponse = Shapes::StructureShape.new(name: 'GetClusterResponse')
71
72
  GetComputeNodeGroupRequest = Shapes::StructureShape.new(name: 'GetComputeNodeGroupRequest')
72
73
  GetComputeNodeGroupResponse = Shapes::StructureShape.new(name: 'GetComputeNodeGroupResponse')
73
74
  GetQueueRequest = Shapes::StructureShape.new(name: 'GetQueueRequest')
74
75
  GetQueueResponse = Shapes::StructureShape.new(name: 'GetQueueResponse')
76
+ GresCustomSettingMap = Shapes::MapShape.new(name: 'GresCustomSettingMap')
77
+ GresCustomSettings = Shapes::ListShape.new(name: 'GresCustomSettings')
75
78
  InstanceConfig = Shapes::StructureShape.new(name: 'InstanceConfig')
76
79
  InstanceList = Shapes::ListShape.new(name: 'InstanceList')
77
80
  InstanceProfileArn = Shapes::StringShape.new(name: 'InstanceProfileArn')
@@ -91,6 +94,15 @@ module Aws::PCS
91
94
  NetworkType = Shapes::StringShape.new(name: 'NetworkType')
92
95
  Networking = Shapes::StructureShape.new(name: 'Networking')
93
96
  NetworkingRequest = Shapes::StructureShape.new(name: 'NetworkingRequest')
97
+ NodeLifecycleActions = Shapes::StructureShape.new(name: 'NodeLifecycleActions')
98
+ NodeLifecycleActionsRequest = Shapes::StructureShape.new(name: 'NodeLifecycleActionsRequest')
99
+ NodeLifecycleScript = Shapes::StructureShape.new(name: 'NodeLifecycleScript')
100
+ NodeLifecycleScriptArgument = Shapes::StringShape.new(name: 'NodeLifecycleScriptArgument')
101
+ NodeLifecycleScriptArguments = Shapes::ListShape.new(name: 'NodeLifecycleScriptArguments')
102
+ NodeLifecycleScriptList = Shapes::ListShape.new(name: 'NodeLifecycleScriptList')
103
+ NodeLifecycleScriptNameString = Shapes::StringShape.new(name: 'NodeLifecycleScriptNameString')
104
+ NodeLifecycleStages = Shapes::StructureShape.new(name: 'NodeLifecycleStages')
105
+ OnError = Shapes::StringShape.new(name: 'OnError')
94
106
  PurchaseOption = Shapes::StringShape.new(name: 'PurchaseOption')
95
107
  Queue = Shapes::StructureShape.new(name: 'Queue')
96
108
  QueueIdentifier = Shapes::StringShape.new(name: 'QueueIdentifier')
@@ -115,6 +127,11 @@ module Aws::PCS
115
127
  Scheduler = Shapes::StructureShape.new(name: 'Scheduler')
116
128
  SchedulerRequest = Shapes::StructureShape.new(name: 'SchedulerRequest')
117
129
  SchedulerType = Shapes::StringShape.new(name: 'SchedulerType')
130
+ ScriptCachingPolicy = Shapes::StringShape.new(name: 'ScriptCachingPolicy')
131
+ ScriptSource = Shapes::StructureShape.new(name: 'ScriptSource')
132
+ ScriptSourceChecksumString = Shapes::StringShape.new(name: 'ScriptSourceChecksumString')
133
+ ScriptSourceS3VersionIdString = Shapes::StringShape.new(name: 'ScriptSourceS3VersionIdString')
134
+ ScriptSourceScriptLocationString = Shapes::StringShape.new(name: 'ScriptSourceScriptLocationString')
118
135
  SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
119
136
  SecurityGroupIdList = Shapes::ListShape.new(name: 'SecurityGroupIdList')
120
137
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
@@ -153,6 +170,7 @@ module Aws::PCS
153
170
  UpdateComputeNodeGroupResponse = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupResponse')
154
171
  UpdateComputeNodeGroupSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupSlurmConfigurationRequest')
155
172
  UpdateComputeNodeGroupSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger = Shapes::IntegerShape.new(name: 'UpdateComputeNodeGroupSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger')
173
+ UpdateNodeLifecycleActionsRequest = Shapes::StructureShape.new(name: 'UpdateNodeLifecycleActionsRequest')
156
174
  UpdateQueueRequest = Shapes::StructureShape.new(name: 'UpdateQueueRequest')
157
175
  UpdateQueueResponse = Shapes::StructureShape.new(name: 'UpdateQueueResponse')
158
176
  UpdateQueueSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateQueueSlurmConfigurationRequest')
@@ -238,6 +256,7 @@ module Aws::PCS
238
256
  ComputeNodeGroup.add_member(:instance_configs, Shapes::ShapeRef.new(shape: InstanceList, required: true, location_name: "instanceConfigs"))
239
257
  ComputeNodeGroup.add_member(:spot_options, Shapes::ShapeRef.new(shape: SpotOptions, location_name: "spotOptions"))
240
258
  ComputeNodeGroup.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: ComputeNodeGroupSlurmConfiguration, location_name: "slurmConfiguration"))
259
+ ComputeNodeGroup.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: NodeLifecycleActions, location_name: "nodeLifecycleActions"))
241
260
  ComputeNodeGroup.add_member(:error_info, Shapes::ShapeRef.new(shape: ErrorInfoList, location_name: "errorInfo"))
242
261
  ComputeNodeGroup.struct_class = Types::ComputeNodeGroup
243
262
 
@@ -250,10 +269,12 @@ module Aws::PCS
250
269
 
251
270
  ComputeNodeGroupSlurmConfiguration.add_member(:scale_down_idle_time_in_seconds, Shapes::ShapeRef.new(shape: ComputeNodeGroupSlurmConfigurationScaleDownIdleTimeInSecondsInteger, location_name: "scaleDownIdleTimeInSeconds"))
252
271
  ComputeNodeGroupSlurmConfiguration.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
272
+ ComputeNodeGroupSlurmConfiguration.add_member(:gres_custom_settings, Shapes::ShapeRef.new(shape: GresCustomSettings, location_name: "gresCustomSettings"))
253
273
  ComputeNodeGroupSlurmConfiguration.struct_class = Types::ComputeNodeGroupSlurmConfiguration
254
274
 
255
275
  ComputeNodeGroupSlurmConfigurationRequest.add_member(:scale_down_idle_time_in_seconds, Shapes::ShapeRef.new(shape: ComputeNodeGroupSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger, location_name: "scaleDownIdleTimeInSeconds"))
256
276
  ComputeNodeGroupSlurmConfigurationRequest.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
277
+ ComputeNodeGroupSlurmConfigurationRequest.add_member(:gres_custom_settings, Shapes::ShapeRef.new(shape: GresCustomSettings, location_name: "gresCustomSettings"))
257
278
  ComputeNodeGroupSlurmConfigurationRequest.struct_class = Types::ComputeNodeGroupSlurmConfigurationRequest
258
279
 
259
280
  ComputeNodeGroupSummary.add_member(:name, Shapes::ShapeRef.new(shape: ComputeNodeGroupName, required: true, location_name: "name"))
@@ -293,6 +314,7 @@ module Aws::PCS
293
314
  CreateComputeNodeGroupRequest.add_member(:instance_configs, Shapes::ShapeRef.new(shape: InstanceList, required: true, location_name: "instanceConfigs"))
294
315
  CreateComputeNodeGroupRequest.add_member(:spot_options, Shapes::ShapeRef.new(shape: SpotOptions, location_name: "spotOptions"))
295
316
  CreateComputeNodeGroupRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: ComputeNodeGroupSlurmConfigurationRequest, location_name: "slurmConfiguration"))
317
+ CreateComputeNodeGroupRequest.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: NodeLifecycleActionsRequest, location_name: "nodeLifecycleActions"))
296
318
  CreateComputeNodeGroupRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
297
319
  CreateComputeNodeGroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: RequestTagMap, location_name: "tags"))
298
320
  CreateComputeNodeGroupRequest.struct_class = Types::CreateComputeNodeGroupRequest
@@ -370,6 +392,11 @@ module Aws::PCS
370
392
  GetQueueResponse.add_member(:queue, Shapes::ShapeRef.new(shape: Queue, location_name: "queue"))
371
393
  GetQueueResponse.struct_class = Types::GetQueueResponse
372
394
 
395
+ GresCustomSettingMap.key = Shapes::ShapeRef.new(shape: String)
396
+ GresCustomSettingMap.value = Shapes::ShapeRef.new(shape: String)
397
+
398
+ GresCustomSettings.member = Shapes::ShapeRef.new(shape: GresCustomSettingMap)
399
+
373
400
  InstanceConfig.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
374
401
  InstanceConfig.struct_class = Types::InstanceConfig
375
402
 
@@ -427,6 +454,29 @@ module Aws::PCS
427
454
  NetworkingRequest.add_member(:network_type, Shapes::ShapeRef.new(shape: NetworkType, location_name: "networkType"))
428
455
  NetworkingRequest.struct_class = Types::NetworkingRequest
429
456
 
457
+ NodeLifecycleActions.add_member(:stages, Shapes::ShapeRef.new(shape: NodeLifecycleStages, required: true, location_name: "stages"))
458
+ NodeLifecycleActions.add_member(:script_caching_policy, Shapes::ShapeRef.new(shape: ScriptCachingPolicy, location_name: "scriptCachingPolicy"))
459
+ NodeLifecycleActions.struct_class = Types::NodeLifecycleActions
460
+
461
+ NodeLifecycleActionsRequest.add_member(:stages, Shapes::ShapeRef.new(shape: NodeLifecycleStages, required: true, location_name: "stages"))
462
+ NodeLifecycleActionsRequest.add_member(:script_caching_policy, Shapes::ShapeRef.new(shape: ScriptCachingPolicy, location_name: "scriptCachingPolicy"))
463
+ NodeLifecycleActionsRequest.struct_class = Types::NodeLifecycleActionsRequest
464
+
465
+ NodeLifecycleScript.add_member(:name, Shapes::ShapeRef.new(shape: NodeLifecycleScriptNameString, required: true, location_name: "name"))
466
+ NodeLifecycleScript.add_member(:script_source, Shapes::ShapeRef.new(shape: ScriptSource, required: true, location_name: "scriptSource"))
467
+ NodeLifecycleScript.add_member(:arguments, Shapes::ShapeRef.new(shape: NodeLifecycleScriptArguments, location_name: "arguments"))
468
+ NodeLifecycleScript.add_member(:on_error, Shapes::ShapeRef.new(shape: OnError, location_name: "onError"))
469
+ NodeLifecycleScript.add_member(:execution_policy, Shapes::ShapeRef.new(shape: ExecutionPolicy, location_name: "executionPolicy"))
470
+ NodeLifecycleScript.struct_class = Types::NodeLifecycleScript
471
+
472
+ NodeLifecycleScriptArguments.member = Shapes::ShapeRef.new(shape: NodeLifecycleScriptArgument)
473
+
474
+ NodeLifecycleScriptList.member = Shapes::ShapeRef.new(shape: NodeLifecycleScript)
475
+
476
+ NodeLifecycleStages.add_member(:node_bootstrapped, Shapes::ShapeRef.new(shape: NodeLifecycleScriptList, location_name: "nodeBootstrapped"))
477
+ NodeLifecycleStages.add_member(:node_ready, Shapes::ShapeRef.new(shape: NodeLifecycleScriptList, location_name: "nodeReady"))
478
+ NodeLifecycleStages.struct_class = Types::NodeLifecycleStages
479
+
430
480
  Queue.add_member(:name, Shapes::ShapeRef.new(shape: QueueName, required: true, location_name: "name"))
431
481
  Queue.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "id"))
432
482
  Queue.add_member(:arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "arn"))
@@ -463,6 +513,10 @@ module Aws::PCS
463
513
  RegisterComputeNodeGroupInstanceResponse.add_member(:node_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "nodeID"))
464
514
  RegisterComputeNodeGroupInstanceResponse.add_member(:shared_secret, Shapes::ShapeRef.new(shape: SharedSecret, required: true, location_name: "sharedSecret"))
465
515
  RegisterComputeNodeGroupInstanceResponse.add_member(:endpoints, Shapes::ShapeRef.new(shape: Endpoints, required: true, location_name: "endpoints"))
516
+ RegisterComputeNodeGroupInstanceResponse.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
517
+ RegisterComputeNodeGroupInstanceResponse.add_member(:compute_node_group_id, Shapes::ShapeRef.new(shape: String, location_name: "computeNodeGroupId"))
518
+ RegisterComputeNodeGroupInstanceResponse.add_member(:compute_node_group_name, Shapes::ShapeRef.new(shape: String, location_name: "computeNodeGroupName"))
519
+ RegisterComputeNodeGroupInstanceResponse.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: NodeLifecycleActions, location_name: "nodeLifecycleActions"))
466
520
  RegisterComputeNodeGroupInstanceResponse.struct_class = Types::RegisterComputeNodeGroupInstanceResponse
467
521
 
468
522
  RequestTagMap.key = Shapes::ShapeRef.new(shape: TagKey)
@@ -492,6 +546,11 @@ module Aws::PCS
492
546
  SchedulerRequest.add_member(:version, Shapes::ShapeRef.new(shape: String, required: true, location_name: "version"))
493
547
  SchedulerRequest.struct_class = Types::SchedulerRequest
494
548
 
549
+ ScriptSource.add_member(:script_location, Shapes::ShapeRef.new(shape: ScriptSourceScriptLocationString, required: true, location_name: "scriptLocation"))
550
+ ScriptSource.add_member(:s3_version_id, Shapes::ShapeRef.new(shape: ScriptSourceS3VersionIdString, location_name: "s3VersionId"))
551
+ ScriptSource.add_member(:checksum, Shapes::ShapeRef.new(shape: ScriptSourceChecksumString, location_name: "checksum"))
552
+ ScriptSource.struct_class = Types::ScriptSource
553
+
495
554
  SecurityGroupIdList.member = Shapes::ShapeRef.new(shape: SecurityGroupId)
496
555
 
497
556
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
@@ -579,6 +638,7 @@ module Aws::PCS
579
638
  UpdateComputeNodeGroupRequest.add_member(:scaling_configuration, Shapes::ShapeRef.new(shape: ScalingConfigurationRequest, location_name: "scalingConfiguration"))
580
639
  UpdateComputeNodeGroupRequest.add_member(:iam_instance_profile_arn, Shapes::ShapeRef.new(shape: InstanceProfileArn, location_name: "iamInstanceProfileArn"))
581
640
  UpdateComputeNodeGroupRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: UpdateComputeNodeGroupSlurmConfigurationRequest, location_name: "slurmConfiguration"))
641
+ UpdateComputeNodeGroupRequest.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: UpdateNodeLifecycleActionsRequest, location_name: "nodeLifecycleActions"))
582
642
  UpdateComputeNodeGroupRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
583
643
  UpdateComputeNodeGroupRequest.struct_class = Types::UpdateComputeNodeGroupRequest
584
644
 
@@ -587,8 +647,13 @@ module Aws::PCS
587
647
 
588
648
  UpdateComputeNodeGroupSlurmConfigurationRequest.add_member(:scale_down_idle_time_in_seconds, Shapes::ShapeRef.new(shape: UpdateComputeNodeGroupSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger, location_name: "scaleDownIdleTimeInSeconds"))
589
649
  UpdateComputeNodeGroupSlurmConfigurationRequest.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
650
+ UpdateComputeNodeGroupSlurmConfigurationRequest.add_member(:gres_custom_settings, Shapes::ShapeRef.new(shape: GresCustomSettings, location_name: "gresCustomSettings"))
590
651
  UpdateComputeNodeGroupSlurmConfigurationRequest.struct_class = Types::UpdateComputeNodeGroupSlurmConfigurationRequest
591
652
 
653
+ UpdateNodeLifecycleActionsRequest.add_member(:stages, Shapes::ShapeRef.new(shape: NodeLifecycleStages, required: true, location_name: "stages"))
654
+ UpdateNodeLifecycleActionsRequest.add_member(:script_caching_policy, Shapes::ShapeRef.new(shape: ScriptCachingPolicy, location_name: "scriptCachingPolicy"))
655
+ UpdateNodeLifecycleActionsRequest.struct_class = Types::UpdateNodeLifecycleActionsRequest
656
+
592
657
  UpdateQueueRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterIdentifier, required: true, location_name: "clusterIdentifier"))
593
658
  UpdateQueueRequest.add_member(:queue_identifier, Shapes::ShapeRef.new(shape: QueueIdentifier, required: true, location_name: "queueIdentifier"))
594
659
  UpdateQueueRequest.add_member(:compute_node_group_configurations, Shapes::ShapeRef.new(shape: ComputeNodeGroupConfigurationList, location_name: "computeNodeGroupConfigurations"))
@@ -508,6 +508,13 @@ module Aws::PCS
508
508
  # Additional options related to the Slurm scheduler.
509
509
  # @return [Types::ComputeNodeGroupSlurmConfiguration]
510
510
  #
511
+ # @!attribute [rw] node_lifecycle_actions
512
+ # The lifecycle actions to run on compute nodes in the compute node
513
+ # group. Use lifecycle actions to run custom scripts at defined stages
514
+ # of a compute node's lifecycle, such as when a compute node finishes
515
+ # bootstrapping or becomes ready to accept jobs.
516
+ # @return [Types::NodeLifecycleActions]
517
+ #
511
518
  # @!attribute [rw] error_info
512
519
  # The list of errors that occurred during compute node group
513
520
  # provisioning.
@@ -532,6 +539,7 @@ module Aws::PCS
532
539
  :instance_configs,
533
540
  :spot_options,
534
541
  :slurm_configuration,
542
+ :node_lifecycle_actions,
535
543
  :error_info)
536
544
  SENSITIVE = []
537
545
  include Aws::Structure
@@ -566,11 +574,20 @@ module Aws::PCS
566
574
  # settings.
567
575
  # @return [Array<Types::SlurmCustomSetting>]
568
576
  #
577
+ # @!attribute [rw] gres_custom_settings
578
+ # The additional Slurm `gres.conf` records for the compute node group.
579
+ # Each item is a map of `gres.conf` attribute names to values that
580
+ # describes one `gres.conf` record, such as a GPU topology, MIG, MPS,
581
+ # or custom GRES entry. PCS adds the `NodeName=` prefix and merges
582
+ # these records with the GPU record it derives from the instance type.
583
+ # @return [Array<Hash<String,String>>]
584
+ #
569
585
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/ComputeNodeGroupSlurmConfiguration AWS API Documentation
570
586
  #
571
587
  class ComputeNodeGroupSlurmConfiguration < Struct.new(
572
588
  :scale_down_idle_time_in_seconds,
573
- :slurm_custom_settings)
589
+ :slurm_custom_settings,
590
+ :gres_custom_settings)
574
591
  SENSITIVE = []
575
592
  include Aws::Structure
576
593
  end
@@ -590,11 +607,20 @@ module Aws::PCS
590
607
  # settings.
591
608
  # @return [Array<Types::SlurmCustomSetting>]
592
609
  #
610
+ # @!attribute [rw] gres_custom_settings
611
+ # The additional Slurm `gres.conf` records for the compute node group.
612
+ # Each item is a map of `gres.conf` attribute names to values that
613
+ # describes one `gres.conf` record, such as a GPU topology, MIG, MPS,
614
+ # or custom GRES entry. PCS adds the `NodeName=` prefix and merges
615
+ # these records with the GPU record it derives from the instance type.
616
+ # @return [Array<Hash<String,String>>]
617
+ #
593
618
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/ComputeNodeGroupSlurmConfigurationRequest AWS API Documentation
594
619
  #
595
620
  class ComputeNodeGroupSlurmConfigurationRequest < Struct.new(
596
621
  :scale_down_idle_time_in_seconds,
597
- :slurm_custom_settings)
622
+ :slurm_custom_settings,
623
+ :gres_custom_settings)
598
624
  SENSITIVE = []
599
625
  include Aws::Structure
600
626
  end
@@ -850,6 +876,13 @@ module Aws::PCS
850
876
  # Additional options related to the Slurm scheduler.
851
877
  # @return [Types::ComputeNodeGroupSlurmConfigurationRequest]
852
878
  #
879
+ # @!attribute [rw] node_lifecycle_actions
880
+ # The lifecycle actions to run on compute nodes in the compute node
881
+ # group. Use lifecycle actions to run custom scripts at defined stages
882
+ # of a compute node's lifecycle, such as when a compute node finishes
883
+ # bootstrapping or becomes ready to accept jobs.
884
+ # @return [Types::NodeLifecycleActionsRequest]
885
+ #
853
886
  # @!attribute [rw] client_token
854
887
  # A unique, case-sensitive identifier that you provide to ensure the
855
888
  # idempotency of the request. Idempotency ensures that an API request
@@ -882,6 +915,7 @@ module Aws::PCS
882
915
  :instance_configs,
883
916
  :spot_options,
884
917
  :slurm_configuration,
918
+ :node_lifecycle_actions,
885
919
  :client_token,
886
920
  :tags)
887
921
  SENSITIVE = []
@@ -1561,6 +1595,141 @@ module Aws::PCS
1561
1595
  include Aws::Structure
1562
1596
  end
1563
1597
 
1598
+ # The lifecycle actions configured on a compute node group. Lifecycle
1599
+ # actions define scripts that PCS runs on compute nodes at specific
1600
+ # stages of their lifecycle.
1601
+ #
1602
+ # @!attribute [rw] stages
1603
+ # The lifecycle stages where you configure scripts to run.
1604
+ # @return [Types::NodeLifecycleStages]
1605
+ #
1606
+ # @!attribute [rw] script_caching_policy
1607
+ # The caching policy for node lifecycle scripts. The default value is
1608
+ # `CACHE_ONCE`. Valid values:
1609
+ #
1610
+ # * `CACHE_ONCE` – Downloads each script once and reuses it on
1611
+ # subsequent boots.
1612
+ #
1613
+ # * `REFRESH_ON_REBOOT` – Downloads each script on every boot.
1614
+ # @return [String]
1615
+ #
1616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleActions AWS API Documentation
1617
+ #
1618
+ class NodeLifecycleActions < Struct.new(
1619
+ :stages,
1620
+ :script_caching_policy)
1621
+ SENSITIVE = []
1622
+ include Aws::Structure
1623
+ end
1624
+
1625
+ # The lifecycle actions to configure on a compute node group when you
1626
+ # create it. Lifecycle actions define scripts that PCS runs on compute
1627
+ # nodes at specific stages of their lifecycle.
1628
+ #
1629
+ # @!attribute [rw] stages
1630
+ # The lifecycle stages where you configure scripts to run.
1631
+ # @return [Types::NodeLifecycleStages]
1632
+ #
1633
+ # @!attribute [rw] script_caching_policy
1634
+ # The caching policy for node lifecycle scripts. The default value is
1635
+ # `CACHE_ONCE`. Valid values:
1636
+ #
1637
+ # * `CACHE_ONCE` – Downloads each script once and reuses it on
1638
+ # subsequent boots.
1639
+ #
1640
+ # * `REFRESH_ON_REBOOT` – Downloads each script on every boot.
1641
+ # @return [String]
1642
+ #
1643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleActionsRequest AWS API Documentation
1644
+ #
1645
+ class NodeLifecycleActionsRequest < Struct.new(
1646
+ :stages,
1647
+ :script_caching_policy)
1648
+ SENSITIVE = []
1649
+ include Aws::Structure
1650
+ end
1651
+
1652
+ # A script to run during a compute node lifecycle stage.
1653
+ #
1654
+ # @!attribute [rw] name
1655
+ # A unique name for the script. The name can be up to 64 characters
1656
+ # long. Valid characters are letters, numbers, spaces, underscores
1657
+ # (`_`), and hyphens (`-`). The first character must be a letter or a
1658
+ # number.
1659
+ # @return [String]
1660
+ #
1661
+ # @!attribute [rw] script_source
1662
+ # The source location and integrity information for the script.
1663
+ # @return [Types::ScriptSource]
1664
+ #
1665
+ # @!attribute [rw] arguments
1666
+ # The command-line arguments to pass to the script. You can specify up
1667
+ # to 20 arguments, and each argument can be up to 256 characters long.
1668
+ # @return [Array<String>]
1669
+ #
1670
+ # @!attribute [rw] on_error
1671
+ # The behavior when the script fails. The default value is
1672
+ # `TERMINATE`. Valid values:
1673
+ #
1674
+ # * `TERMINATE` – Terminates the compute node.
1675
+ #
1676
+ # * `STOP_SEQUENCE` – Stops running subsequent scripts in the sequence
1677
+ # but doesn't terminate the compute node.
1678
+ #
1679
+ # * `CONTINUE` – Ignores the error and continues running the next
1680
+ # script.
1681
+ # @return [String]
1682
+ #
1683
+ # @!attribute [rw] execution_policy
1684
+ # The policy that determines when the script runs. The default value
1685
+ # is `FIRST_BOOT_ONLY`. Valid values:
1686
+ #
1687
+ # * `FIRST_BOOT_ONLY` – Runs the script only the first time the
1688
+ # compute node boots.
1689
+ #
1690
+ # * `EVERY_BOOT` – Runs the script every time the compute node boots,
1691
+ # including reboots.
1692
+ # @return [String]
1693
+ #
1694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleScript AWS API Documentation
1695
+ #
1696
+ class NodeLifecycleScript < Struct.new(
1697
+ :name,
1698
+ :script_source,
1699
+ :arguments,
1700
+ :on_error,
1701
+ :execution_policy)
1702
+ SENSITIVE = []
1703
+ include Aws::Structure
1704
+ end
1705
+
1706
+ # The stages of a compute node's lifecycle where you can configure
1707
+ # scripts to run.
1708
+ #
1709
+ # @!attribute [rw] node_bootstrapped
1710
+ # The scripts to run after PCS finishes setting up the compute node
1711
+ # and before the Slurm daemon (`slurmd`) starts. Use this stage for
1712
+ # tasks that must complete before the node accepts jobs, such as
1713
+ # mounting shared storage, configuring networking, or installing
1714
+ # software packages.
1715
+ # @return [Array<Types::NodeLifecycleScript>]
1716
+ #
1717
+ # @!attribute [rw] node_ready
1718
+ # The scripts to run after the Slurm daemon (`slurmd`) starts and the
1719
+ # compute node registers with the Slurm controller. Use this stage for
1720
+ # tasks that require Slurm to be running, such as running Slurm
1721
+ # commands.
1722
+ # @return [Array<Types::NodeLifecycleScript>]
1723
+ #
1724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleStages AWS API Documentation
1725
+ #
1726
+ class NodeLifecycleStages < Struct.new(
1727
+ :node_bootstrapped,
1728
+ :node_ready)
1729
+ SENSITIVE = []
1730
+ include Aws::Structure
1731
+ end
1732
+
1564
1733
  # A queue resource.
1565
1734
  #
1566
1735
  # @!attribute [rw] name
@@ -1762,12 +1931,36 @@ module Aws::PCS
1762
1931
  # The list of endpoints available for interaction with the scheduler.
1763
1932
  # @return [Array<Types::Endpoint>]
1764
1933
  #
1934
+ # @!attribute [rw] cluster_name
1935
+ # The name of the cluster that the compute node registered into.
1936
+ # @return [String]
1937
+ #
1938
+ # @!attribute [rw] compute_node_group_id
1939
+ # The ID of the compute node group that the compute node registered
1940
+ # into.
1941
+ # @return [String]
1942
+ #
1943
+ # @!attribute [rw] compute_node_group_name
1944
+ # The name of the compute node group that the compute node registered
1945
+ # into.
1946
+ # @return [String]
1947
+ #
1948
+ # @!attribute [rw] node_lifecycle_actions
1949
+ # The node lifecycle actions configured for the node group, including
1950
+ # scripts to run when a compute node finishes bootstrapping or becomes
1951
+ # ready to accept jobs.
1952
+ # @return [Types::NodeLifecycleActions]
1953
+ #
1765
1954
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/RegisterComputeNodeGroupInstanceResponse AWS API Documentation
1766
1955
  #
1767
1956
  class RegisterComputeNodeGroupInstanceResponse < Struct.new(
1768
1957
  :node_id,
1769
1958
  :shared_secret,
1770
- :endpoints)
1959
+ :endpoints,
1960
+ :cluster_name,
1961
+ :compute_node_group_id,
1962
+ :compute_node_group_name,
1963
+ :node_lifecycle_actions)
1771
1964
  SENSITIVE = [:shared_secret]
1772
1965
  include Aws::Structure
1773
1966
  end
@@ -1850,16 +2043,16 @@ module Aws::PCS
1850
2043
  #
1851
2044
  # @!attribute [rw] version
1852
2045
  # The version of the specified scheduling software that PCS uses to
1853
- # manage cluster scaling and job scheduling. You can upgrade this
2046
+ # manage cluster scaling and job scheduling. You can update this
1854
2047
  # version using the `UpdateCluster` API action. For more information,
1855
- # see [Upgrading the Slurm version on a cluster][1] and [Slurm
2048
+ # see [Updating the scheduler version on a cluster][1] and [Slurm
1856
2049
  # versions in PCS][2] in the *PCS User Guide*.
1857
2050
  #
1858
- # Valid Values: `23.11 | 24.05 | 24.11 | 25.05 | 25.11`
2051
+ # Valid Values: `23.11 | 24.05 | 24.11 | 25.05 | 25.11 | 26.05`
1859
2052
  #
1860
2053
  #
1861
2054
  #
1862
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
2055
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
1863
2056
  # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/slurm-versions.html
1864
2057
  # @return [String]
1865
2058
  #
@@ -1884,7 +2077,7 @@ module Aws::PCS
1884
2077
  # manage cluster scaling and job scheduling. For more information, see
1885
2078
  # [Slurm versions in PCS][1] in the *PCS User Guide*.
1886
2079
  #
1887
- # Valid Values: `24.11 | 25.05 | 25.11`
2080
+ # Valid Values: `24.11 | 25.05 | 25.11 | 26.05`
1888
2081
  #
1889
2082
  #
1890
2083
  #
@@ -1900,6 +2093,36 @@ module Aws::PCS
1900
2093
  include Aws::Structure
1901
2094
  end
1902
2095
 
2096
+ # The source location and integrity information for a node lifecycle
2097
+ # script.
2098
+ #
2099
+ # @!attribute [rw] script_location
2100
+ # The location of the script. Specify either an Amazon S3 URI in the
2101
+ # format `s3://bucket-name/key` or an HTTPS URL.
2102
+ # @return [String]
2103
+ #
2104
+ # @!attribute [rw] s3_version_id
2105
+ # The Amazon S3 version ID of the script. Use this value to pin the
2106
+ # script to a specific version in a versioned Amazon S3 bucket. This
2107
+ # value is only valid when `scriptLocation` is an Amazon S3 URI.
2108
+ # @return [String]
2109
+ #
2110
+ # @!attribute [rw] checksum
2111
+ # The SHA-256 checksum of the script content, as a 64-character
2112
+ # hexadecimal string. This value is optional. When specified, PCS uses
2113
+ # this value to verify the integrity of the downloaded script.
2114
+ # @return [String]
2115
+ #
2116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/ScriptSource AWS API Documentation
2117
+ #
2118
+ class ScriptSource < Struct.new(
2119
+ :script_location,
2120
+ :s3_version_id,
2121
+ :checksum)
2122
+ SENSITIVE = []
2123
+ include Aws::Structure
2124
+ end
2125
+
1903
2126
  # You exceeded your service quota. Service quotas, also referred to as
1904
2127
  # limits, are the maximum number of service resources or operations for
1905
2128
  # your Amazon Web Services account. To learn how to increase your
@@ -2218,12 +2441,12 @@ module Aws::PCS
2218
2441
  #
2219
2442
  # @!attribute [rw] scheduler
2220
2443
  # The scheduler configuration to update for the cluster. Use this to
2221
- # upgrade the Slurm version. For more information, see [Upgrading the
2222
- # Slurm version on a cluster][1] in the *PCS User Guide*.
2444
+ # update the scheduler version. For more information, see [Updating
2445
+ # the scheduler version on a cluster][1] in the *PCS User Guide*.
2223
2446
  #
2224
2447
  #
2225
2448
  #
2226
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
2449
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
2227
2450
  # @return [Types::UpdateSchedulerRequest]
2228
2451
  #
2229
2452
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateClusterRequest AWS API Documentation
@@ -2367,6 +2590,13 @@ module Aws::PCS
2367
2590
  # Additional options related to the Slurm scheduler.
2368
2591
  # @return [Types::UpdateComputeNodeGroupSlurmConfigurationRequest]
2369
2592
  #
2593
+ # @!attribute [rw] node_lifecycle_actions
2594
+ # The lifecycle actions to run on compute nodes in the compute node
2595
+ # group. Use lifecycle actions to run custom scripts at defined stages
2596
+ # of a compute node's lifecycle, such as when a compute node finishes
2597
+ # bootstrapping or becomes ready to accept jobs.
2598
+ # @return [Types::UpdateNodeLifecycleActionsRequest]
2599
+ #
2370
2600
  # @!attribute [rw] client_token
2371
2601
  # A unique, case-sensitive identifier that you provide to ensure the
2372
2602
  # idempotency of the request. Idempotency ensures that an API request
@@ -2393,6 +2623,7 @@ module Aws::PCS
2393
2623
  :scaling_configuration,
2394
2624
  :iam_instance_profile_arn,
2395
2625
  :slurm_configuration,
2626
+ :node_lifecycle_actions,
2396
2627
  :client_token)
2397
2628
  SENSITIVE = []
2398
2629
  include Aws::Structure
@@ -2425,11 +2656,47 @@ module Aws::PCS
2425
2656
  # settings.
2426
2657
  # @return [Array<Types::SlurmCustomSetting>]
2427
2658
  #
2659
+ # @!attribute [rw] gres_custom_settings
2660
+ # The additional Slurm `gres.conf` records for the compute node group.
2661
+ # Each item is a map of `gres.conf` attribute names to values that
2662
+ # describes one `gres.conf` record, such as a GPU topology, MIG, MPS,
2663
+ # or custom GRES entry. PCS adds the `NodeName=` prefix and merges
2664
+ # these records with the GPU record it derives from the instance type.
2665
+ # @return [Array<Hash<String,String>>]
2666
+ #
2428
2667
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateComputeNodeGroupSlurmConfigurationRequest AWS API Documentation
2429
2668
  #
2430
2669
  class UpdateComputeNodeGroupSlurmConfigurationRequest < Struct.new(
2431
2670
  :scale_down_idle_time_in_seconds,
2432
- :slurm_custom_settings)
2671
+ :slurm_custom_settings,
2672
+ :gres_custom_settings)
2673
+ SENSITIVE = []
2674
+ include Aws::Structure
2675
+ end
2676
+
2677
+ # The lifecycle actions to configure on a compute node group when you
2678
+ # update it. Lifecycle actions define scripts that PCS runs on compute
2679
+ # nodes at specific stages of their lifecycle.
2680
+ #
2681
+ # @!attribute [rw] stages
2682
+ # The lifecycle stages where you configure scripts to run.
2683
+ # @return [Types::NodeLifecycleStages]
2684
+ #
2685
+ # @!attribute [rw] script_caching_policy
2686
+ # The caching policy for node lifecycle scripts. The default value is
2687
+ # `CACHE_ONCE`. Valid values:
2688
+ #
2689
+ # * `CACHE_ONCE` – Downloads each script once and reuses it on
2690
+ # subsequent boots.
2691
+ #
2692
+ # * `REFRESH_ON_REBOOT` – Downloads each script on every boot.
2693
+ # @return [String]
2694
+ #
2695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateNodeLifecycleActionsRequest AWS API Documentation
2696
+ #
2697
+ class UpdateNodeLifecycleActionsRequest < Struct.new(
2698
+ :stages,
2699
+ :script_caching_policy)
2433
2700
  SENSITIVE = []
2434
2701
  include Aws::Structure
2435
2702
  end
@@ -2504,19 +2771,19 @@ module Aws::PCS
2504
2771
  end
2505
2772
 
2506
2773
  # The scheduler configuration for updating a cluster. Use this to
2507
- # specify the Slurm version to upgrade to.
2774
+ # specify the scheduler version to update to.
2508
2775
  #
2509
2776
  # @!attribute [rw] version
2510
- # The Slurm version to upgrade the cluster to. You can only upgrade to
2511
- # a newer version. For more information about supported versions and
2512
- # upgrade paths, see [Upgrading the Slurm version on a cluster][1] in
2513
- # the *PCS User Guide*.
2777
+ # The scheduler version to update the cluster to. You can only update
2778
+ # to a newer version. For more information about supported versions
2779
+ # and update paths, see [Updating the scheduler version on a
2780
+ # cluster][1] in the *PCS User Guide*.
2514
2781
  #
2515
- # Valid Values: `24.05 | 24.11 | 25.05 | 25.11`
2782
+ # Valid Values: `24.05 | 24.11 | 25.05 | 25.11 | 26.05`
2516
2783
  #
2517
2784
  #
2518
2785
  #
2519
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
2786
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
2520
2787
  # @return [String]
2521
2788
  #
2522
2789
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateSchedulerRequest AWS API Documentation
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.51.0'
58
+ GEM_VERSION = '1.53.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -164,8 +164,15 @@ module Aws
164
164
  parameter_name: ::String,
165
165
  parameter_value: ::String
166
166
  }
167
+ ]?,
168
+ gres_custom_settings: Array[
169
+ Hash[::String, ::String]
167
170
  ]?
168
171
  },
172
+ ?node_lifecycle_actions: {
173
+ stages: Params::node_lifecycle_stages,
174
+ script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")?
175
+ },
169
176
  ?client_token: ::String,
170
177
  ?tags: Hash[::String, ::String]
171
178
  ) -> _CreateComputeNodeGroupResponseSuccess
@@ -314,6 +321,10 @@ module Aws
314
321
  def node_id: () -> ::String
315
322
  def shared_secret: () -> ::String
316
323
  def endpoints: () -> ::Array[Types::Endpoint]
324
+ def cluster_name: () -> ::String
325
+ def compute_node_group_id: () -> ::String
326
+ def compute_node_group_name: () -> ::String
327
+ def node_lifecycle_actions: () -> Types::NodeLifecycleActions
317
328
  end
318
329
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PCS/Client.html#register_compute_node_group_instance-instance_method
319
330
  def register_compute_node_group_instance: (
@@ -414,8 +425,15 @@ module Aws
414
425
  parameter_name: ::String,
415
426
  parameter_value: ::String
416
427
  }
428
+ ]?,
429
+ gres_custom_settings: Array[
430
+ Hash[::String, ::String]
417
431
  ]?
418
432
  },
433
+ ?node_lifecycle_actions: {
434
+ stages: Params::node_lifecycle_stages,
435
+ script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")?
436
+ },
419
437
  ?client_token: ::String
420
438
  ) -> _UpdateComputeNodeGroupResponseSuccess
421
439
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateComputeNodeGroupResponseSuccess
data/sig/params.rbs ADDED
@@ -0,0 +1,34 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module PCS
10
+ module Params
11
+ type node_lifecycle_stages = {
12
+ node_bootstrapped: Array[
13
+ Params::node_lifecycle_script
14
+ ]?,
15
+ node_ready: Array[
16
+ Params::node_lifecycle_script
17
+ ]?
18
+ }
19
+
20
+ type node_lifecycle_script = {
21
+ name: ::String,
22
+ script_source: {
23
+ script_location: ::String,
24
+ s3_version_id: ::String?,
25
+ checksum: ::String?
26
+ },
27
+ arguments: Array[::String]?,
28
+ on_error: ("TERMINATE" | "STOP_SEQUENCE" | "CONTINUE")?,
29
+ execution_policy: ("FIRST_BOOT_ONLY" | "EVERY_BOOT")?
30
+ }
31
+
32
+ end
33
+ end
34
+ end
data/sig/types.rbs CHANGED
@@ -96,6 +96,7 @@ module Aws::PCS
96
96
  attr_accessor instance_configs: ::Array[Types::InstanceConfig]
97
97
  attr_accessor spot_options: Types::SpotOptions
98
98
  attr_accessor slurm_configuration: Types::ComputeNodeGroupSlurmConfiguration
99
+ attr_accessor node_lifecycle_actions: Types::NodeLifecycleActions
99
100
  attr_accessor error_info: ::Array[Types::ErrorInfo]
100
101
  SENSITIVE: []
101
102
  end
@@ -108,12 +109,14 @@ module Aws::PCS
108
109
  class ComputeNodeGroupSlurmConfiguration
109
110
  attr_accessor scale_down_idle_time_in_seconds: ::Integer
110
111
  attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
112
+ attr_accessor gres_custom_settings: ::Array[::Hash[::String, ::String]]
111
113
  SENSITIVE: []
112
114
  end
113
115
 
114
116
  class ComputeNodeGroupSlurmConfigurationRequest
115
117
  attr_accessor scale_down_idle_time_in_seconds: ::Integer
116
118
  attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
119
+ attr_accessor gres_custom_settings: ::Array[::Hash[::String, ::String]]
117
120
  SENSITIVE: []
118
121
  end
119
122
 
@@ -163,6 +166,7 @@ module Aws::PCS
163
166
  attr_accessor instance_configs: ::Array[Types::InstanceConfig]
164
167
  attr_accessor spot_options: Types::SpotOptions
165
168
  attr_accessor slurm_configuration: Types::ComputeNodeGroupSlurmConfigurationRequest
169
+ attr_accessor node_lifecycle_actions: Types::NodeLifecycleActionsRequest
166
170
  attr_accessor client_token: ::String
167
171
  attr_accessor tags: ::Hash[::String, ::String]
168
172
  SENSITIVE: []
@@ -353,6 +357,33 @@ module Aws::PCS
353
357
  SENSITIVE: []
354
358
  end
355
359
 
360
+ class NodeLifecycleActions
361
+ attr_accessor stages: Types::NodeLifecycleStages
362
+ attr_accessor script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")
363
+ SENSITIVE: []
364
+ end
365
+
366
+ class NodeLifecycleActionsRequest
367
+ attr_accessor stages: Types::NodeLifecycleStages
368
+ attr_accessor script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")
369
+ SENSITIVE: []
370
+ end
371
+
372
+ class NodeLifecycleScript
373
+ attr_accessor name: ::String
374
+ attr_accessor script_source: Types::ScriptSource
375
+ attr_accessor arguments: ::Array[::String]
376
+ attr_accessor on_error: ("TERMINATE" | "STOP_SEQUENCE" | "CONTINUE")
377
+ attr_accessor execution_policy: ("FIRST_BOOT_ONLY" | "EVERY_BOOT")
378
+ SENSITIVE: []
379
+ end
380
+
381
+ class NodeLifecycleStages
382
+ attr_accessor node_bootstrapped: ::Array[Types::NodeLifecycleScript]
383
+ attr_accessor node_ready: ::Array[Types::NodeLifecycleScript]
384
+ SENSITIVE: []
385
+ end
386
+
356
387
  class Queue
357
388
  attr_accessor name: ::String
358
389
  attr_accessor id: ::String
@@ -398,6 +429,10 @@ module Aws::PCS
398
429
  attr_accessor node_id: ::String
399
430
  attr_accessor shared_secret: ::String
400
431
  attr_accessor endpoints: ::Array[Types::Endpoint]
432
+ attr_accessor cluster_name: ::String
433
+ attr_accessor compute_node_group_id: ::String
434
+ attr_accessor compute_node_group_name: ::String
435
+ attr_accessor node_lifecycle_actions: Types::NodeLifecycleActions
401
436
  SENSITIVE: [:shared_secret]
402
437
  end
403
438
 
@@ -432,6 +467,13 @@ module Aws::PCS
432
467
  SENSITIVE: []
433
468
  end
434
469
 
470
+ class ScriptSource
471
+ attr_accessor script_location: ::String
472
+ attr_accessor s3_version_id: ::String
473
+ attr_accessor checksum: ::String
474
+ SENSITIVE: []
475
+ end
476
+
435
477
  class ServiceQuotaExceededException
436
478
  attr_accessor message: ::String
437
479
  attr_accessor service_code: ::String
@@ -538,6 +580,7 @@ module Aws::PCS
538
580
  attr_accessor scaling_configuration: Types::ScalingConfigurationRequest
539
581
  attr_accessor iam_instance_profile_arn: ::String
540
582
  attr_accessor slurm_configuration: Types::UpdateComputeNodeGroupSlurmConfigurationRequest
583
+ attr_accessor node_lifecycle_actions: Types::UpdateNodeLifecycleActionsRequest
541
584
  attr_accessor client_token: ::String
542
585
  SENSITIVE: []
543
586
  end
@@ -550,6 +593,13 @@ module Aws::PCS
550
593
  class UpdateComputeNodeGroupSlurmConfigurationRequest
551
594
  attr_accessor scale_down_idle_time_in_seconds: ::Integer
552
595
  attr_accessor slurm_custom_settings: ::Array[Types::SlurmCustomSetting]
596
+ attr_accessor gres_custom_settings: ::Array[::Hash[::String, ::String]]
597
+ SENSITIVE: []
598
+ end
599
+
600
+ class UpdateNodeLifecycleActionsRequest
601
+ attr_accessor stages: Types::NodeLifecycleStages
602
+ attr_accessor script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")
553
603
  SENSITIVE: []
554
604
  end
555
605
 
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.51.0
4
+ version: 1.53.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.254.0
21
+ version: 3.255.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.254.0
31
+ version: 3.255.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement
@@ -68,6 +68,7 @@ files:
68
68
  - lib/aws-sdk-pcs/waiters.rb
69
69
  - sig/client.rbs
70
70
  - sig/errors.rbs
71
+ - sig/params.rbs
71
72
  - sig/resource.rbs
72
73
  - sig/types.rbs
73
74
  - sig/waiters.rbs