aws-sdk-pcs 1.51.0 → 1.52.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: 78d11a3cf85f7f204f7d81880153d658d7a7e11aec7c299002f61635e2e4fd6c
4
+ data.tar.gz: 47f900bb8f170b8017279450bbab934fa870884f1e37cc6c205ce961ce1e1a75
5
5
  SHA512:
6
- metadata.gz: 35ee5c9fa55ee12e0e215382508ec9ba16ce329340cd9fae9510d80b87659d15dc52447817af6246a2a550693aaa08b2647ce614568c241889e99b6b81e6228c
7
- data.tar.gz: 0426d7deefb8b79b7725c3287b25e704dbb6ae77157b3052af5f4ace4f2e7a35fb05ea4fc5d4bc82a46db8f48bc5b903fa2d4d04cb66c59776e1c11651c6d04f
6
+ metadata.gz: e5705e6c60ab0d637dc4b81cc55ff0e3f47a121f53172945a69941f2d58a8d2d943b882a3b363a046e0117012d3d6eab747c60dfa270e7954cf5083007a3b627
7
+ data.tar.gz: 83b8ec3ec0bdfab0e026f6b2932facdecacc8506770f1b43f386228b385db3d823e066b978d1ad10b2ffea6eee64f816a8cf92c77273eeeb4cb1fe637831fc64
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.52.0 (2026-07-22)
5
+ ------------------
6
+
7
+ * 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.
8
+
4
9
  1.51.0 (2026-07-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.52.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
@@ -775,6 +781,37 @@ module Aws::PCS
775
781
  # },
776
782
  # ],
777
783
  # },
784
+ # node_lifecycle_actions: {
785
+ # stages: { # required
786
+ # node_bootstrapped: [
787
+ # {
788
+ # name: "NodeLifecycleScriptNameString", # required
789
+ # script_source: { # required
790
+ # script_location: "ScriptSourceScriptLocationString", # required
791
+ # s3_version_id: "ScriptSourceS3VersionIdString",
792
+ # checksum: "ScriptSourceChecksumString",
793
+ # },
794
+ # arguments: ["NodeLifecycleScriptArgument"],
795
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
796
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
797
+ # },
798
+ # ],
799
+ # node_ready: [
800
+ # {
801
+ # name: "NodeLifecycleScriptNameString", # required
802
+ # script_source: { # required
803
+ # script_location: "ScriptSourceScriptLocationString", # required
804
+ # s3_version_id: "ScriptSourceS3VersionIdString",
805
+ # checksum: "ScriptSourceChecksumString",
806
+ # },
807
+ # arguments: ["NodeLifecycleScriptArgument"],
808
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
809
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
810
+ # },
811
+ # ],
812
+ # },
813
+ # script_caching_policy: "CACHE_ONCE", # accepts CACHE_ONCE, REFRESH_ON_REBOOT
814
+ # },
778
815
  # client_token: "SBClientToken",
779
816
  # tags: {
780
817
  # "TagKey" => "TagValue",
@@ -806,6 +843,25 @@ module Aws::PCS
806
843
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings #=> Array
807
844
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
808
845
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
846
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped #=> Array
847
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
848
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
849
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
850
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
851
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
852
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
853
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
854
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
855
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready #=> Array
856
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].name #=> String
857
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
858
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
859
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
860
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
861
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
862
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
863
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
864
+ # resp.compute_node_group.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
809
865
  # resp.compute_node_group.error_info #=> Array
810
866
  # resp.compute_node_group.error_info[0].code #=> String
811
867
  # resp.compute_node_group.error_info[0].message #=> String
@@ -1140,6 +1196,25 @@ module Aws::PCS
1140
1196
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings #=> Array
1141
1197
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1142
1198
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1199
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped #=> Array
1200
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
1201
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
1202
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
1203
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
1204
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
1205
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
1206
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1207
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1208
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready #=> Array
1209
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].name #=> String
1210
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
1211
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
1212
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
1213
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
1214
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
1215
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1216
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1217
+ # resp.compute_node_group.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
1143
1218
  # resp.compute_node_group.error_info #=> Array
1144
1219
  # resp.compute_node_group.error_info[0].code #=> String
1145
1220
  # resp.compute_node_group.error_info[0].message #=> String
@@ -1406,6 +1481,10 @@ module Aws::PCS
1406
1481
  # * {Types::RegisterComputeNodeGroupInstanceResponse#node_id #node_id} => String
1407
1482
  # * {Types::RegisterComputeNodeGroupInstanceResponse#shared_secret #shared_secret} => String
1408
1483
  # * {Types::RegisterComputeNodeGroupInstanceResponse#endpoints #endpoints} => Array<Types::Endpoint>
1484
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#cluster_name #cluster_name} => String
1485
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#compute_node_group_id #compute_node_group_id} => String
1486
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#compute_node_group_name #compute_node_group_name} => String
1487
+ # * {Types::RegisterComputeNodeGroupInstanceResponse#node_lifecycle_actions #node_lifecycle_actions} => Types::NodeLifecycleActions
1409
1488
  #
1410
1489
  # @example Request syntax with placeholder values
1411
1490
  #
@@ -1424,6 +1503,28 @@ module Aws::PCS
1424
1503
  # resp.endpoints[0].public_ip_address #=> String
1425
1504
  # resp.endpoints[0].ipv6_address #=> String
1426
1505
  # resp.endpoints[0].port #=> String
1506
+ # resp.cluster_name #=> String
1507
+ # resp.compute_node_group_id #=> String
1508
+ # resp.compute_node_group_name #=> String
1509
+ # resp.node_lifecycle_actions.stages.node_bootstrapped #=> Array
1510
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
1511
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
1512
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
1513
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
1514
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
1515
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
1516
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1517
+ # resp.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1518
+ # resp.node_lifecycle_actions.stages.node_ready #=> Array
1519
+ # resp.node_lifecycle_actions.stages.node_ready[0].name #=> String
1520
+ # resp.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
1521
+ # resp.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
1522
+ # resp.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
1523
+ # resp.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
1524
+ # resp.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
1525
+ # resp.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1526
+ # resp.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1527
+ # resp.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
1427
1528
  #
1428
1529
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/RegisterComputeNodeGroupInstance AWS API Documentation
1429
1530
  #
@@ -1495,11 +1596,11 @@ module Aws::PCS
1495
1596
  req.send_request(options)
1496
1597
  end
1497
1598
 
1498
- # Updates a cluster configuration. You can upgrade the Slurm version,
1599
+ # Updates a cluster configuration. You can update the scheduler version,
1499
1600
  # 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*.
1601
+ # existing cluster. For more information about updating the scheduler
1602
+ # version, see [Updating the scheduler version on a cluster][1] in the
1603
+ # *PCS User Guide*.
1503
1604
  #
1504
1605
  # <note markdown="1"> You can only update clusters that are in `ACTIVE`, `UPDATE_FAILED`, or
1505
1606
  # `SUSPENDED` state. All associated resources (queues and compute node
@@ -1509,7 +1610,7 @@ module Aws::PCS
1509
1610
  #
1510
1611
  #
1511
1612
  #
1512
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
1613
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
1513
1614
  #
1514
1615
  # @option params [required, String] :cluster_identifier
1515
1616
  # The name or ID of the cluster to update.
@@ -1531,12 +1632,12 @@ module Aws::PCS
1531
1632
  #
1532
1633
  # @option params [Types::UpdateSchedulerRequest] :scheduler
1533
1634
  # 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*.
1635
+ # update the scheduler version. For more information, see [Updating the
1636
+ # scheduler version on a cluster][1] in the *PCS User Guide*.
1536
1637
  #
1537
1638
  #
1538
1639
  #
1539
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
1640
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
1540
1641
  #
1541
1642
  # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1542
1643
  #
@@ -1699,6 +1800,12 @@ module Aws::PCS
1699
1800
  # @option params [Types::UpdateComputeNodeGroupSlurmConfigurationRequest] :slurm_configuration
1700
1801
  # Additional options related to the Slurm scheduler.
1701
1802
  #
1803
+ # @option params [Types::UpdateNodeLifecycleActionsRequest] :node_lifecycle_actions
1804
+ # The lifecycle actions to run on compute nodes in the compute node
1805
+ # group. Use lifecycle actions to run custom scripts at defined stages
1806
+ # of a compute node's lifecycle, such as when a compute node finishes
1807
+ # bootstrapping or becomes ready to accept jobs.
1808
+ #
1702
1809
  # @option params [String] :client_token
1703
1810
  # A unique, case-sensitive identifier that you provide to ensure the
1704
1811
  # idempotency of the request. Idempotency ensures that an API request
@@ -1744,6 +1851,37 @@ module Aws::PCS
1744
1851
  # },
1745
1852
  # ],
1746
1853
  # },
1854
+ # node_lifecycle_actions: {
1855
+ # stages: { # required
1856
+ # node_bootstrapped: [
1857
+ # {
1858
+ # name: "NodeLifecycleScriptNameString", # required
1859
+ # script_source: { # required
1860
+ # script_location: "ScriptSourceScriptLocationString", # required
1861
+ # s3_version_id: "ScriptSourceS3VersionIdString",
1862
+ # checksum: "ScriptSourceChecksumString",
1863
+ # },
1864
+ # arguments: ["NodeLifecycleScriptArgument"],
1865
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
1866
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
1867
+ # },
1868
+ # ],
1869
+ # node_ready: [
1870
+ # {
1871
+ # name: "NodeLifecycleScriptNameString", # required
1872
+ # script_source: { # required
1873
+ # script_location: "ScriptSourceScriptLocationString", # required
1874
+ # s3_version_id: "ScriptSourceS3VersionIdString",
1875
+ # checksum: "ScriptSourceChecksumString",
1876
+ # },
1877
+ # arguments: ["NodeLifecycleScriptArgument"],
1878
+ # on_error: "TERMINATE", # accepts TERMINATE, STOP_SEQUENCE, CONTINUE
1879
+ # execution_policy: "FIRST_BOOT_ONLY", # accepts FIRST_BOOT_ONLY, EVERY_BOOT
1880
+ # },
1881
+ # ],
1882
+ # },
1883
+ # script_caching_policy: "CACHE_ONCE", # accepts CACHE_ONCE, REFRESH_ON_REBOOT
1884
+ # },
1747
1885
  # client_token: "SBClientToken",
1748
1886
  # })
1749
1887
  #
@@ -1772,6 +1910,25 @@ module Aws::PCS
1772
1910
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings #=> Array
1773
1911
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_name #=> String
1774
1912
  # resp.compute_node_group.slurm_configuration.slurm_custom_settings[0].parameter_value #=> String
1913
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped #=> Array
1914
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].name #=> String
1915
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.script_location #=> String
1916
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.s3_version_id #=> String
1917
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].script_source.checksum #=> String
1918
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments #=> Array
1919
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].arguments[0] #=> String
1920
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1921
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_bootstrapped[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1922
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready #=> Array
1923
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].name #=> String
1924
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.script_location #=> String
1925
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.s3_version_id #=> String
1926
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].script_source.checksum #=> String
1927
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments #=> Array
1928
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].arguments[0] #=> String
1929
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].on_error #=> String, one of "TERMINATE", "STOP_SEQUENCE", "CONTINUE"
1930
+ # resp.compute_node_group.node_lifecycle_actions.stages.node_ready[0].execution_policy #=> String, one of "FIRST_BOOT_ONLY", "EVERY_BOOT"
1931
+ # resp.compute_node_group.node_lifecycle_actions.script_caching_policy #=> String, one of "CACHE_ONCE", "REFRESH_ON_REBOOT"
1775
1932
  # resp.compute_node_group.error_info #=> Array
1776
1933
  # resp.compute_node_group.error_info[0].code #=> String
1777
1934
  # resp.compute_node_group.error_info[0].message #=> String
@@ -1883,7 +2040,7 @@ module Aws::PCS
1883
2040
  tracer: tracer
1884
2041
  )
1885
2042
  context[:gem_name] = 'aws-sdk-pcs'
1886
- context[:gem_version] = '1.51.0'
2043
+ context[:gem_version] = '1.52.0'
1887
2044
  Seahorse::Client::Request.new(handlers, context)
1888
2045
  end
1889
2046
 
@@ -66,6 +66,7 @@ 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')
@@ -91,6 +92,15 @@ module Aws::PCS
91
92
  NetworkType = Shapes::StringShape.new(name: 'NetworkType')
92
93
  Networking = Shapes::StructureShape.new(name: 'Networking')
93
94
  NetworkingRequest = Shapes::StructureShape.new(name: 'NetworkingRequest')
95
+ NodeLifecycleActions = Shapes::StructureShape.new(name: 'NodeLifecycleActions')
96
+ NodeLifecycleActionsRequest = Shapes::StructureShape.new(name: 'NodeLifecycleActionsRequest')
97
+ NodeLifecycleScript = Shapes::StructureShape.new(name: 'NodeLifecycleScript')
98
+ NodeLifecycleScriptArgument = Shapes::StringShape.new(name: 'NodeLifecycleScriptArgument')
99
+ NodeLifecycleScriptArguments = Shapes::ListShape.new(name: 'NodeLifecycleScriptArguments')
100
+ NodeLifecycleScriptList = Shapes::ListShape.new(name: 'NodeLifecycleScriptList')
101
+ NodeLifecycleScriptNameString = Shapes::StringShape.new(name: 'NodeLifecycleScriptNameString')
102
+ NodeLifecycleStages = Shapes::StructureShape.new(name: 'NodeLifecycleStages')
103
+ OnError = Shapes::StringShape.new(name: 'OnError')
94
104
  PurchaseOption = Shapes::StringShape.new(name: 'PurchaseOption')
95
105
  Queue = Shapes::StructureShape.new(name: 'Queue')
96
106
  QueueIdentifier = Shapes::StringShape.new(name: 'QueueIdentifier')
@@ -115,6 +125,11 @@ module Aws::PCS
115
125
  Scheduler = Shapes::StructureShape.new(name: 'Scheduler')
116
126
  SchedulerRequest = Shapes::StructureShape.new(name: 'SchedulerRequest')
117
127
  SchedulerType = Shapes::StringShape.new(name: 'SchedulerType')
128
+ ScriptCachingPolicy = Shapes::StringShape.new(name: 'ScriptCachingPolicy')
129
+ ScriptSource = Shapes::StructureShape.new(name: 'ScriptSource')
130
+ ScriptSourceChecksumString = Shapes::StringShape.new(name: 'ScriptSourceChecksumString')
131
+ ScriptSourceS3VersionIdString = Shapes::StringShape.new(name: 'ScriptSourceS3VersionIdString')
132
+ ScriptSourceScriptLocationString = Shapes::StringShape.new(name: 'ScriptSourceScriptLocationString')
118
133
  SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
119
134
  SecurityGroupIdList = Shapes::ListShape.new(name: 'SecurityGroupIdList')
120
135
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
@@ -153,6 +168,7 @@ module Aws::PCS
153
168
  UpdateComputeNodeGroupResponse = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupResponse')
154
169
  UpdateComputeNodeGroupSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateComputeNodeGroupSlurmConfigurationRequest')
155
170
  UpdateComputeNodeGroupSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger = Shapes::IntegerShape.new(name: 'UpdateComputeNodeGroupSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger')
171
+ UpdateNodeLifecycleActionsRequest = Shapes::StructureShape.new(name: 'UpdateNodeLifecycleActionsRequest')
156
172
  UpdateQueueRequest = Shapes::StructureShape.new(name: 'UpdateQueueRequest')
157
173
  UpdateQueueResponse = Shapes::StructureShape.new(name: 'UpdateQueueResponse')
158
174
  UpdateQueueSlurmConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateQueueSlurmConfigurationRequest')
@@ -238,6 +254,7 @@ module Aws::PCS
238
254
  ComputeNodeGroup.add_member(:instance_configs, Shapes::ShapeRef.new(shape: InstanceList, required: true, location_name: "instanceConfigs"))
239
255
  ComputeNodeGroup.add_member(:spot_options, Shapes::ShapeRef.new(shape: SpotOptions, location_name: "spotOptions"))
240
256
  ComputeNodeGroup.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: ComputeNodeGroupSlurmConfiguration, location_name: "slurmConfiguration"))
257
+ ComputeNodeGroup.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: NodeLifecycleActions, location_name: "nodeLifecycleActions"))
241
258
  ComputeNodeGroup.add_member(:error_info, Shapes::ShapeRef.new(shape: ErrorInfoList, location_name: "errorInfo"))
242
259
  ComputeNodeGroup.struct_class = Types::ComputeNodeGroup
243
260
 
@@ -293,6 +310,7 @@ module Aws::PCS
293
310
  CreateComputeNodeGroupRequest.add_member(:instance_configs, Shapes::ShapeRef.new(shape: InstanceList, required: true, location_name: "instanceConfigs"))
294
311
  CreateComputeNodeGroupRequest.add_member(:spot_options, Shapes::ShapeRef.new(shape: SpotOptions, location_name: "spotOptions"))
295
312
  CreateComputeNodeGroupRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: ComputeNodeGroupSlurmConfigurationRequest, location_name: "slurmConfiguration"))
313
+ CreateComputeNodeGroupRequest.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: NodeLifecycleActionsRequest, location_name: "nodeLifecycleActions"))
296
314
  CreateComputeNodeGroupRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
297
315
  CreateComputeNodeGroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: RequestTagMap, location_name: "tags"))
298
316
  CreateComputeNodeGroupRequest.struct_class = Types::CreateComputeNodeGroupRequest
@@ -427,6 +445,29 @@ module Aws::PCS
427
445
  NetworkingRequest.add_member(:network_type, Shapes::ShapeRef.new(shape: NetworkType, location_name: "networkType"))
428
446
  NetworkingRequest.struct_class = Types::NetworkingRequest
429
447
 
448
+ NodeLifecycleActions.add_member(:stages, Shapes::ShapeRef.new(shape: NodeLifecycleStages, required: true, location_name: "stages"))
449
+ NodeLifecycleActions.add_member(:script_caching_policy, Shapes::ShapeRef.new(shape: ScriptCachingPolicy, location_name: "scriptCachingPolicy"))
450
+ NodeLifecycleActions.struct_class = Types::NodeLifecycleActions
451
+
452
+ NodeLifecycleActionsRequest.add_member(:stages, Shapes::ShapeRef.new(shape: NodeLifecycleStages, required: true, location_name: "stages"))
453
+ NodeLifecycleActionsRequest.add_member(:script_caching_policy, Shapes::ShapeRef.new(shape: ScriptCachingPolicy, location_name: "scriptCachingPolicy"))
454
+ NodeLifecycleActionsRequest.struct_class = Types::NodeLifecycleActionsRequest
455
+
456
+ NodeLifecycleScript.add_member(:name, Shapes::ShapeRef.new(shape: NodeLifecycleScriptNameString, required: true, location_name: "name"))
457
+ NodeLifecycleScript.add_member(:script_source, Shapes::ShapeRef.new(shape: ScriptSource, required: true, location_name: "scriptSource"))
458
+ NodeLifecycleScript.add_member(:arguments, Shapes::ShapeRef.new(shape: NodeLifecycleScriptArguments, location_name: "arguments"))
459
+ NodeLifecycleScript.add_member(:on_error, Shapes::ShapeRef.new(shape: OnError, location_name: "onError"))
460
+ NodeLifecycleScript.add_member(:execution_policy, Shapes::ShapeRef.new(shape: ExecutionPolicy, location_name: "executionPolicy"))
461
+ NodeLifecycleScript.struct_class = Types::NodeLifecycleScript
462
+
463
+ NodeLifecycleScriptArguments.member = Shapes::ShapeRef.new(shape: NodeLifecycleScriptArgument)
464
+
465
+ NodeLifecycleScriptList.member = Shapes::ShapeRef.new(shape: NodeLifecycleScript)
466
+
467
+ NodeLifecycleStages.add_member(:node_bootstrapped, Shapes::ShapeRef.new(shape: NodeLifecycleScriptList, location_name: "nodeBootstrapped"))
468
+ NodeLifecycleStages.add_member(:node_ready, Shapes::ShapeRef.new(shape: NodeLifecycleScriptList, location_name: "nodeReady"))
469
+ NodeLifecycleStages.struct_class = Types::NodeLifecycleStages
470
+
430
471
  Queue.add_member(:name, Shapes::ShapeRef.new(shape: QueueName, required: true, location_name: "name"))
431
472
  Queue.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "id"))
432
473
  Queue.add_member(:arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "arn"))
@@ -463,6 +504,10 @@ module Aws::PCS
463
504
  RegisterComputeNodeGroupInstanceResponse.add_member(:node_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "nodeID"))
464
505
  RegisterComputeNodeGroupInstanceResponse.add_member(:shared_secret, Shapes::ShapeRef.new(shape: SharedSecret, required: true, location_name: "sharedSecret"))
465
506
  RegisterComputeNodeGroupInstanceResponse.add_member(:endpoints, Shapes::ShapeRef.new(shape: Endpoints, required: true, location_name: "endpoints"))
507
+ RegisterComputeNodeGroupInstanceResponse.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
508
+ RegisterComputeNodeGroupInstanceResponse.add_member(:compute_node_group_id, Shapes::ShapeRef.new(shape: String, location_name: "computeNodeGroupId"))
509
+ RegisterComputeNodeGroupInstanceResponse.add_member(:compute_node_group_name, Shapes::ShapeRef.new(shape: String, location_name: "computeNodeGroupName"))
510
+ RegisterComputeNodeGroupInstanceResponse.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: NodeLifecycleActions, location_name: "nodeLifecycleActions"))
466
511
  RegisterComputeNodeGroupInstanceResponse.struct_class = Types::RegisterComputeNodeGroupInstanceResponse
467
512
 
468
513
  RequestTagMap.key = Shapes::ShapeRef.new(shape: TagKey)
@@ -492,6 +537,11 @@ module Aws::PCS
492
537
  SchedulerRequest.add_member(:version, Shapes::ShapeRef.new(shape: String, required: true, location_name: "version"))
493
538
  SchedulerRequest.struct_class = Types::SchedulerRequest
494
539
 
540
+ ScriptSource.add_member(:script_location, Shapes::ShapeRef.new(shape: ScriptSourceScriptLocationString, required: true, location_name: "scriptLocation"))
541
+ ScriptSource.add_member(:s3_version_id, Shapes::ShapeRef.new(shape: ScriptSourceS3VersionIdString, location_name: "s3VersionId"))
542
+ ScriptSource.add_member(:checksum, Shapes::ShapeRef.new(shape: ScriptSourceChecksumString, location_name: "checksum"))
543
+ ScriptSource.struct_class = Types::ScriptSource
544
+
495
545
  SecurityGroupIdList.member = Shapes::ShapeRef.new(shape: SecurityGroupId)
496
546
 
497
547
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
@@ -579,6 +629,7 @@ module Aws::PCS
579
629
  UpdateComputeNodeGroupRequest.add_member(:scaling_configuration, Shapes::ShapeRef.new(shape: ScalingConfigurationRequest, location_name: "scalingConfiguration"))
580
630
  UpdateComputeNodeGroupRequest.add_member(:iam_instance_profile_arn, Shapes::ShapeRef.new(shape: InstanceProfileArn, location_name: "iamInstanceProfileArn"))
581
631
  UpdateComputeNodeGroupRequest.add_member(:slurm_configuration, Shapes::ShapeRef.new(shape: UpdateComputeNodeGroupSlurmConfigurationRequest, location_name: "slurmConfiguration"))
632
+ UpdateComputeNodeGroupRequest.add_member(:node_lifecycle_actions, Shapes::ShapeRef.new(shape: UpdateNodeLifecycleActionsRequest, location_name: "nodeLifecycleActions"))
582
633
  UpdateComputeNodeGroupRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: SBClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
583
634
  UpdateComputeNodeGroupRequest.struct_class = Types::UpdateComputeNodeGroupRequest
584
635
 
@@ -589,6 +640,10 @@ module Aws::PCS
589
640
  UpdateComputeNodeGroupSlurmConfigurationRequest.add_member(:slurm_custom_settings, Shapes::ShapeRef.new(shape: SlurmCustomSettings, location_name: "slurmCustomSettings"))
590
641
  UpdateComputeNodeGroupSlurmConfigurationRequest.struct_class = Types::UpdateComputeNodeGroupSlurmConfigurationRequest
591
642
 
643
+ UpdateNodeLifecycleActionsRequest.add_member(:stages, Shapes::ShapeRef.new(shape: NodeLifecycleStages, required: true, location_name: "stages"))
644
+ UpdateNodeLifecycleActionsRequest.add_member(:script_caching_policy, Shapes::ShapeRef.new(shape: ScriptCachingPolicy, location_name: "scriptCachingPolicy"))
645
+ UpdateNodeLifecycleActionsRequest.struct_class = Types::UpdateNodeLifecycleActionsRequest
646
+
592
647
  UpdateQueueRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterIdentifier, required: true, location_name: "clusterIdentifier"))
593
648
  UpdateQueueRequest.add_member(:queue_identifier, Shapes::ShapeRef.new(shape: QueueIdentifier, required: true, location_name: "queueIdentifier"))
594
649
  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
@@ -850,6 +858,13 @@ module Aws::PCS
850
858
  # Additional options related to the Slurm scheduler.
851
859
  # @return [Types::ComputeNodeGroupSlurmConfigurationRequest]
852
860
  #
861
+ # @!attribute [rw] node_lifecycle_actions
862
+ # The lifecycle actions to run on compute nodes in the compute node
863
+ # group. Use lifecycle actions to run custom scripts at defined stages
864
+ # of a compute node's lifecycle, such as when a compute node finishes
865
+ # bootstrapping or becomes ready to accept jobs.
866
+ # @return [Types::NodeLifecycleActionsRequest]
867
+ #
853
868
  # @!attribute [rw] client_token
854
869
  # A unique, case-sensitive identifier that you provide to ensure the
855
870
  # idempotency of the request. Idempotency ensures that an API request
@@ -882,6 +897,7 @@ module Aws::PCS
882
897
  :instance_configs,
883
898
  :spot_options,
884
899
  :slurm_configuration,
900
+ :node_lifecycle_actions,
885
901
  :client_token,
886
902
  :tags)
887
903
  SENSITIVE = []
@@ -1561,6 +1577,141 @@ module Aws::PCS
1561
1577
  include Aws::Structure
1562
1578
  end
1563
1579
 
1580
+ # The lifecycle actions configured on a compute node group. Lifecycle
1581
+ # actions define scripts that PCS runs on compute nodes at specific
1582
+ # stages of their lifecycle.
1583
+ #
1584
+ # @!attribute [rw] stages
1585
+ # The lifecycle stages where you configure scripts to run.
1586
+ # @return [Types::NodeLifecycleStages]
1587
+ #
1588
+ # @!attribute [rw] script_caching_policy
1589
+ # The caching policy for node lifecycle scripts. The default value is
1590
+ # `CACHE_ONCE`. Valid values:
1591
+ #
1592
+ # * `CACHE_ONCE` – Downloads each script once and reuses it on
1593
+ # subsequent boots.
1594
+ #
1595
+ # * `REFRESH_ON_REBOOT` – Downloads each script on every boot.
1596
+ # @return [String]
1597
+ #
1598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleActions AWS API Documentation
1599
+ #
1600
+ class NodeLifecycleActions < Struct.new(
1601
+ :stages,
1602
+ :script_caching_policy)
1603
+ SENSITIVE = []
1604
+ include Aws::Structure
1605
+ end
1606
+
1607
+ # The lifecycle actions to configure on a compute node group when you
1608
+ # create it. Lifecycle actions define scripts that PCS runs on compute
1609
+ # nodes at specific stages of their lifecycle.
1610
+ #
1611
+ # @!attribute [rw] stages
1612
+ # The lifecycle stages where you configure scripts to run.
1613
+ # @return [Types::NodeLifecycleStages]
1614
+ #
1615
+ # @!attribute [rw] script_caching_policy
1616
+ # The caching policy for node lifecycle scripts. The default value is
1617
+ # `CACHE_ONCE`. Valid values:
1618
+ #
1619
+ # * `CACHE_ONCE` – Downloads each script once and reuses it on
1620
+ # subsequent boots.
1621
+ #
1622
+ # * `REFRESH_ON_REBOOT` – Downloads each script on every boot.
1623
+ # @return [String]
1624
+ #
1625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleActionsRequest AWS API Documentation
1626
+ #
1627
+ class NodeLifecycleActionsRequest < Struct.new(
1628
+ :stages,
1629
+ :script_caching_policy)
1630
+ SENSITIVE = []
1631
+ include Aws::Structure
1632
+ end
1633
+
1634
+ # A script to run during a compute node lifecycle stage.
1635
+ #
1636
+ # @!attribute [rw] name
1637
+ # A unique name for the script. The name can be up to 64 characters
1638
+ # long. Valid characters are letters, numbers, spaces, underscores
1639
+ # (`_`), and hyphens (`-`). The first character must be a letter or a
1640
+ # number.
1641
+ # @return [String]
1642
+ #
1643
+ # @!attribute [rw] script_source
1644
+ # The source location and integrity information for the script.
1645
+ # @return [Types::ScriptSource]
1646
+ #
1647
+ # @!attribute [rw] arguments
1648
+ # The command-line arguments to pass to the script. You can specify up
1649
+ # to 20 arguments, and each argument can be up to 256 characters long.
1650
+ # @return [Array<String>]
1651
+ #
1652
+ # @!attribute [rw] on_error
1653
+ # The behavior when the script fails. The default value is
1654
+ # `TERMINATE`. Valid values:
1655
+ #
1656
+ # * `TERMINATE` – Terminates the compute node.
1657
+ #
1658
+ # * `STOP_SEQUENCE` – Stops running subsequent scripts in the sequence
1659
+ # but doesn't terminate the compute node.
1660
+ #
1661
+ # * `CONTINUE` – Ignores the error and continues running the next
1662
+ # script.
1663
+ # @return [String]
1664
+ #
1665
+ # @!attribute [rw] execution_policy
1666
+ # The policy that determines when the script runs. The default value
1667
+ # is `FIRST_BOOT_ONLY`. Valid values:
1668
+ #
1669
+ # * `FIRST_BOOT_ONLY` – Runs the script only the first time the
1670
+ # compute node boots.
1671
+ #
1672
+ # * `EVERY_BOOT` – Runs the script every time the compute node boots,
1673
+ # including reboots.
1674
+ # @return [String]
1675
+ #
1676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleScript AWS API Documentation
1677
+ #
1678
+ class NodeLifecycleScript < Struct.new(
1679
+ :name,
1680
+ :script_source,
1681
+ :arguments,
1682
+ :on_error,
1683
+ :execution_policy)
1684
+ SENSITIVE = []
1685
+ include Aws::Structure
1686
+ end
1687
+
1688
+ # The stages of a compute node's lifecycle where you can configure
1689
+ # scripts to run.
1690
+ #
1691
+ # @!attribute [rw] node_bootstrapped
1692
+ # The scripts to run after PCS finishes setting up the compute node
1693
+ # and before the Slurm daemon (`slurmd`) starts. Use this stage for
1694
+ # tasks that must complete before the node accepts jobs, such as
1695
+ # mounting shared storage, configuring networking, or installing
1696
+ # software packages.
1697
+ # @return [Array<Types::NodeLifecycleScript>]
1698
+ #
1699
+ # @!attribute [rw] node_ready
1700
+ # The scripts to run after the Slurm daemon (`slurmd`) starts and the
1701
+ # compute node registers with the Slurm controller. Use this stage for
1702
+ # tasks that require Slurm to be running, such as running Slurm
1703
+ # commands.
1704
+ # @return [Array<Types::NodeLifecycleScript>]
1705
+ #
1706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/NodeLifecycleStages AWS API Documentation
1707
+ #
1708
+ class NodeLifecycleStages < Struct.new(
1709
+ :node_bootstrapped,
1710
+ :node_ready)
1711
+ SENSITIVE = []
1712
+ include Aws::Structure
1713
+ end
1714
+
1564
1715
  # A queue resource.
1565
1716
  #
1566
1717
  # @!attribute [rw] name
@@ -1762,12 +1913,36 @@ module Aws::PCS
1762
1913
  # The list of endpoints available for interaction with the scheduler.
1763
1914
  # @return [Array<Types::Endpoint>]
1764
1915
  #
1916
+ # @!attribute [rw] cluster_name
1917
+ # The name of the cluster that the compute node registered into.
1918
+ # @return [String]
1919
+ #
1920
+ # @!attribute [rw] compute_node_group_id
1921
+ # The ID of the compute node group that the compute node registered
1922
+ # into.
1923
+ # @return [String]
1924
+ #
1925
+ # @!attribute [rw] compute_node_group_name
1926
+ # The name of the compute node group that the compute node registered
1927
+ # into.
1928
+ # @return [String]
1929
+ #
1930
+ # @!attribute [rw] node_lifecycle_actions
1931
+ # The node lifecycle actions configured for the node group, including
1932
+ # scripts to run when a compute node finishes bootstrapping or becomes
1933
+ # ready to accept jobs.
1934
+ # @return [Types::NodeLifecycleActions]
1935
+ #
1765
1936
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/RegisterComputeNodeGroupInstanceResponse AWS API Documentation
1766
1937
  #
1767
1938
  class RegisterComputeNodeGroupInstanceResponse < Struct.new(
1768
1939
  :node_id,
1769
1940
  :shared_secret,
1770
- :endpoints)
1941
+ :endpoints,
1942
+ :cluster_name,
1943
+ :compute_node_group_id,
1944
+ :compute_node_group_name,
1945
+ :node_lifecycle_actions)
1771
1946
  SENSITIVE = [:shared_secret]
1772
1947
  include Aws::Structure
1773
1948
  end
@@ -1850,16 +2025,16 @@ module Aws::PCS
1850
2025
  #
1851
2026
  # @!attribute [rw] version
1852
2027
  # The version of the specified scheduling software that PCS uses to
1853
- # manage cluster scaling and job scheduling. You can upgrade this
2028
+ # manage cluster scaling and job scheduling. You can update this
1854
2029
  # version using the `UpdateCluster` API action. For more information,
1855
- # see [Upgrading the Slurm version on a cluster][1] and [Slurm
2030
+ # see [Updating the scheduler version on a cluster][1] and [Slurm
1856
2031
  # versions in PCS][2] in the *PCS User Guide*.
1857
2032
  #
1858
2033
  # Valid Values: `23.11 | 24.05 | 24.11 | 25.05 | 25.11`
1859
2034
  #
1860
2035
  #
1861
2036
  #
1862
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
2037
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
1863
2038
  # [2]: https://docs.aws.amazon.com/pcs/latest/userguide/slurm-versions.html
1864
2039
  # @return [String]
1865
2040
  #
@@ -1900,6 +2075,36 @@ module Aws::PCS
1900
2075
  include Aws::Structure
1901
2076
  end
1902
2077
 
2078
+ # The source location and integrity information for a node lifecycle
2079
+ # script.
2080
+ #
2081
+ # @!attribute [rw] script_location
2082
+ # The location of the script. Specify either an Amazon S3 URI in the
2083
+ # format `s3://bucket-name/key` or an HTTPS URL.
2084
+ # @return [String]
2085
+ #
2086
+ # @!attribute [rw] s3_version_id
2087
+ # The Amazon S3 version ID of the script. Use this value to pin the
2088
+ # script to a specific version in a versioned Amazon S3 bucket. This
2089
+ # value is only valid when `scriptLocation` is an Amazon S3 URI.
2090
+ # @return [String]
2091
+ #
2092
+ # @!attribute [rw] checksum
2093
+ # The SHA-256 checksum of the script content, as a 64-character
2094
+ # hexadecimal string. This value is optional. When specified, PCS uses
2095
+ # this value to verify the integrity of the downloaded script.
2096
+ # @return [String]
2097
+ #
2098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/ScriptSource AWS API Documentation
2099
+ #
2100
+ class ScriptSource < Struct.new(
2101
+ :script_location,
2102
+ :s3_version_id,
2103
+ :checksum)
2104
+ SENSITIVE = []
2105
+ include Aws::Structure
2106
+ end
2107
+
1903
2108
  # You exceeded your service quota. Service quotas, also referred to as
1904
2109
  # limits, are the maximum number of service resources or operations for
1905
2110
  # your Amazon Web Services account. To learn how to increase your
@@ -2218,12 +2423,12 @@ module Aws::PCS
2218
2423
  #
2219
2424
  # @!attribute [rw] scheduler
2220
2425
  # 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*.
2426
+ # update the scheduler version. For more information, see [Updating
2427
+ # the scheduler version on a cluster][1] in the *PCS User Guide*.
2223
2428
  #
2224
2429
  #
2225
2430
  #
2226
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
2431
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
2227
2432
  # @return [Types::UpdateSchedulerRequest]
2228
2433
  #
2229
2434
  # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateClusterRequest AWS API Documentation
@@ -2367,6 +2572,13 @@ module Aws::PCS
2367
2572
  # Additional options related to the Slurm scheduler.
2368
2573
  # @return [Types::UpdateComputeNodeGroupSlurmConfigurationRequest]
2369
2574
  #
2575
+ # @!attribute [rw] node_lifecycle_actions
2576
+ # The lifecycle actions to run on compute nodes in the compute node
2577
+ # group. Use lifecycle actions to run custom scripts at defined stages
2578
+ # of a compute node's lifecycle, such as when a compute node finishes
2579
+ # bootstrapping or becomes ready to accept jobs.
2580
+ # @return [Types::UpdateNodeLifecycleActionsRequest]
2581
+ #
2370
2582
  # @!attribute [rw] client_token
2371
2583
  # A unique, case-sensitive identifier that you provide to ensure the
2372
2584
  # idempotency of the request. Idempotency ensures that an API request
@@ -2393,6 +2605,7 @@ module Aws::PCS
2393
2605
  :scaling_configuration,
2394
2606
  :iam_instance_profile_arn,
2395
2607
  :slurm_configuration,
2608
+ :node_lifecycle_actions,
2396
2609
  :client_token)
2397
2610
  SENSITIVE = []
2398
2611
  include Aws::Structure
@@ -2434,6 +2647,33 @@ module Aws::PCS
2434
2647
  include Aws::Structure
2435
2648
  end
2436
2649
 
2650
+ # The lifecycle actions to configure on a compute node group when you
2651
+ # update it. Lifecycle actions define scripts that PCS runs on compute
2652
+ # nodes at specific stages of their lifecycle.
2653
+ #
2654
+ # @!attribute [rw] stages
2655
+ # The lifecycle stages where you configure scripts to run.
2656
+ # @return [Types::NodeLifecycleStages]
2657
+ #
2658
+ # @!attribute [rw] script_caching_policy
2659
+ # The caching policy for node lifecycle scripts. The default value is
2660
+ # `CACHE_ONCE`. Valid values:
2661
+ #
2662
+ # * `CACHE_ONCE` – Downloads each script once and reuses it on
2663
+ # subsequent boots.
2664
+ #
2665
+ # * `REFRESH_ON_REBOOT` – Downloads each script on every boot.
2666
+ # @return [String]
2667
+ #
2668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pcs-2023-02-10/UpdateNodeLifecycleActionsRequest AWS API Documentation
2669
+ #
2670
+ class UpdateNodeLifecycleActionsRequest < Struct.new(
2671
+ :stages,
2672
+ :script_caching_policy)
2673
+ SENSITIVE = []
2674
+ include Aws::Structure
2675
+ end
2676
+
2437
2677
  # @!attribute [rw] cluster_identifier
2438
2678
  # The name or ID of the cluster of the queue.
2439
2679
  # @return [String]
@@ -2504,19 +2744,19 @@ module Aws::PCS
2504
2744
  end
2505
2745
 
2506
2746
  # The scheduler configuration for updating a cluster. Use this to
2507
- # specify the Slurm version to upgrade to.
2747
+ # specify the scheduler version to update to.
2508
2748
  #
2509
2749
  # @!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*.
2750
+ # The scheduler version to update the cluster to. You can only update
2751
+ # to a newer version. For more information about supported versions
2752
+ # and update paths, see [Updating the scheduler version on a
2753
+ # cluster][1] in the *PCS User Guide*.
2514
2754
  #
2515
2755
  # Valid Values: `24.05 | 24.11 | 25.05 | 25.11`
2516
2756
  #
2517
2757
  #
2518
2758
  #
2519
- # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_upgrade.html
2759
+ # [1]: https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_version_update.html
2520
2760
  # @return [String]
2521
2761
  #
2522
2762
  # @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.52.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -166,6 +166,10 @@ module Aws
166
166
  }
167
167
  ]?
168
168
  },
169
+ ?node_lifecycle_actions: {
170
+ stages: Params::node_lifecycle_stages,
171
+ script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")?
172
+ },
169
173
  ?client_token: ::String,
170
174
  ?tags: Hash[::String, ::String]
171
175
  ) -> _CreateComputeNodeGroupResponseSuccess
@@ -314,6 +318,10 @@ module Aws
314
318
  def node_id: () -> ::String
315
319
  def shared_secret: () -> ::String
316
320
  def endpoints: () -> ::Array[Types::Endpoint]
321
+ def cluster_name: () -> ::String
322
+ def compute_node_group_id: () -> ::String
323
+ def compute_node_group_name: () -> ::String
324
+ def node_lifecycle_actions: () -> Types::NodeLifecycleActions
317
325
  end
318
326
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PCS/Client.html#register_compute_node_group_instance-instance_method
319
327
  def register_compute_node_group_instance: (
@@ -416,6 +424,10 @@ module Aws
416
424
  }
417
425
  ]?
418
426
  },
427
+ ?node_lifecycle_actions: {
428
+ stages: Params::node_lifecycle_stages,
429
+ script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")?
430
+ },
419
431
  ?client_token: ::String
420
432
  ) -> _UpdateComputeNodeGroupResponseSuccess
421
433
  | (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
@@ -163,6 +164,7 @@ module Aws::PCS
163
164
  attr_accessor instance_configs: ::Array[Types::InstanceConfig]
164
165
  attr_accessor spot_options: Types::SpotOptions
165
166
  attr_accessor slurm_configuration: Types::ComputeNodeGroupSlurmConfigurationRequest
167
+ attr_accessor node_lifecycle_actions: Types::NodeLifecycleActionsRequest
166
168
  attr_accessor client_token: ::String
167
169
  attr_accessor tags: ::Hash[::String, ::String]
168
170
  SENSITIVE: []
@@ -353,6 +355,33 @@ module Aws::PCS
353
355
  SENSITIVE: []
354
356
  end
355
357
 
358
+ class NodeLifecycleActions
359
+ attr_accessor stages: Types::NodeLifecycleStages
360
+ attr_accessor script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")
361
+ SENSITIVE: []
362
+ end
363
+
364
+ class NodeLifecycleActionsRequest
365
+ attr_accessor stages: Types::NodeLifecycleStages
366
+ attr_accessor script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")
367
+ SENSITIVE: []
368
+ end
369
+
370
+ class NodeLifecycleScript
371
+ attr_accessor name: ::String
372
+ attr_accessor script_source: Types::ScriptSource
373
+ attr_accessor arguments: ::Array[::String]
374
+ attr_accessor on_error: ("TERMINATE" | "STOP_SEQUENCE" | "CONTINUE")
375
+ attr_accessor execution_policy: ("FIRST_BOOT_ONLY" | "EVERY_BOOT")
376
+ SENSITIVE: []
377
+ end
378
+
379
+ class NodeLifecycleStages
380
+ attr_accessor node_bootstrapped: ::Array[Types::NodeLifecycleScript]
381
+ attr_accessor node_ready: ::Array[Types::NodeLifecycleScript]
382
+ SENSITIVE: []
383
+ end
384
+
356
385
  class Queue
357
386
  attr_accessor name: ::String
358
387
  attr_accessor id: ::String
@@ -398,6 +427,10 @@ module Aws::PCS
398
427
  attr_accessor node_id: ::String
399
428
  attr_accessor shared_secret: ::String
400
429
  attr_accessor endpoints: ::Array[Types::Endpoint]
430
+ attr_accessor cluster_name: ::String
431
+ attr_accessor compute_node_group_id: ::String
432
+ attr_accessor compute_node_group_name: ::String
433
+ attr_accessor node_lifecycle_actions: Types::NodeLifecycleActions
401
434
  SENSITIVE: [:shared_secret]
402
435
  end
403
436
 
@@ -432,6 +465,13 @@ module Aws::PCS
432
465
  SENSITIVE: []
433
466
  end
434
467
 
468
+ class ScriptSource
469
+ attr_accessor script_location: ::String
470
+ attr_accessor s3_version_id: ::String
471
+ attr_accessor checksum: ::String
472
+ SENSITIVE: []
473
+ end
474
+
435
475
  class ServiceQuotaExceededException
436
476
  attr_accessor message: ::String
437
477
  attr_accessor service_code: ::String
@@ -538,6 +578,7 @@ module Aws::PCS
538
578
  attr_accessor scaling_configuration: Types::ScalingConfigurationRequest
539
579
  attr_accessor iam_instance_profile_arn: ::String
540
580
  attr_accessor slurm_configuration: Types::UpdateComputeNodeGroupSlurmConfigurationRequest
581
+ attr_accessor node_lifecycle_actions: Types::UpdateNodeLifecycleActionsRequest
541
582
  attr_accessor client_token: ::String
542
583
  SENSITIVE: []
543
584
  end
@@ -553,6 +594,12 @@ module Aws::PCS
553
594
  SENSITIVE: []
554
595
  end
555
596
 
597
+ class UpdateNodeLifecycleActionsRequest
598
+ attr_accessor stages: Types::NodeLifecycleStages
599
+ attr_accessor script_caching_policy: ("CACHE_ONCE" | "REFRESH_ON_REBOOT")
600
+ SENSITIVE: []
601
+ end
602
+
556
603
  class UpdateQueueRequest
557
604
  attr_accessor cluster_identifier: ::String
558
605
  attr_accessor queue_identifier: ::String
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.52.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -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