

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::PCS::Cluster
<a name="aws-resource-pcs-cluster"></a>

Creates an AWS PCS cluster resource. For more information, see [Creating a cluster in AWS Parallel Computing Service](https://docs.aws.amazon.com/pcs/latest/userguide/working-with_clusters_create.html) in the *AWS PCS User Guide*.

## Syntax
<a name="aws-resource-pcs-cluster-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-pcs-cluster-syntax.json"></a>

```
{
  "Type" : "AWS::PCS::Cluster",
  "Properties" : {
      "[Name](#cfn-pcs-cluster-name)" : String,
      "[Networking](#cfn-pcs-cluster-networking)" : Networking,
      "[Scheduler](#cfn-pcs-cluster-scheduler)" : Scheduler,
      "[Size](#cfn-pcs-cluster-size)" : String,
      "[SlurmConfiguration](#cfn-pcs-cluster-slurmconfiguration)" : SlurmConfiguration,
      "[Tags](#cfn-pcs-cluster-tags)" : String
    }
}
```

### YAML
<a name="aws-resource-pcs-cluster-syntax.yaml"></a>

```
Type: AWS::PCS::Cluster
Properties:
  [Name](#cfn-pcs-cluster-name): String
  [Networking](#cfn-pcs-cluster-networking): 
    Networking
  [Scheduler](#cfn-pcs-cluster-scheduler): 
    Scheduler
  [Size](#cfn-pcs-cluster-size): String
  [SlurmConfiguration](#cfn-pcs-cluster-slurmconfiguration): 
    SlurmConfiguration
  [Tags](#cfn-pcs-cluster-tags): String
```

## Properties
<a name="aws-resource-pcs-cluster-properties"></a>

`Name`  <a name="cfn-pcs-cluster-name"></a>
The name that identifies the cluster.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Networking`  <a name="cfn-pcs-cluster-networking"></a>
The networking configuration for the cluster's control plane.  
*Required*: Yes  
*Type*: [Networking](aws-properties-pcs-cluster-networking.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Scheduler`  <a name="cfn-pcs-cluster-scheduler"></a>
The cluster management and job scheduling software associated with the cluster.  
*Required*: Yes  
*Type*: [Scheduler](aws-properties-pcs-cluster-scheduler.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Size`  <a name="cfn-pcs-cluster-size"></a>
The size of the cluster.  
+ `SMALL`: 32 compute nodes and 256 jobs
+ `MEDIUM`: 512 compute nodes and 8192 jobs
+ `LARGE`: 2048 compute nodes and 16,384 jobs
*Required*: Yes  
*Type*: String  
*Allowed values*: `SMALL | MEDIUM | LARGE`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SlurmConfiguration`  <a name="cfn-pcs-cluster-slurmconfiguration"></a>
Additional options related to the Slurm scheduler.  
*Required*: No  
*Type*: [SlurmConfiguration](aws-properties-pcs-cluster-slurmconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-pcs-cluster-tags"></a>
1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.  
*Required*: No  
*Type*: String  
*Pattern*: `^.+$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-pcs-cluster-return-values"></a>

### Ref
<a name="aws-resource-pcs-cluster-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-pcs-cluster-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-pcs-cluster-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The unique Amazon Resource Name (ARN) of the cluster.

`Endpoints`  <a name="Endpoints-fn::getatt"></a>
The list of endpoints available for interaction with the scheduler.

`ErrorInfo`  <a name="ErrorInfo-fn::getatt"></a>
The list of errors that occurred during cluster provisioning.

`Id`  <a name="Id-fn::getatt"></a>
The generated unique ID of the cluster.

`Status`  <a name="Status-fn::getatt"></a>
The provisioning status of the cluster.  
The provisioning status doesn't indicate the overall health of the cluster.
The resource enters the `SUSPENDING` and `SUSPENDED` states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is `SUSPENDED`. For more information, see [Frequently asked questions about Slurm versions in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/slurm-versions_faq.html) in the *AWS PCS User Guide*.

# AWS::PCS::Cluster Accounting
<a name="aws-properties-pcs-cluster-accounting"></a>

The accounting configuration includes configurable settings for Slurm accounting.

## Syntax
<a name="aws-properties-pcs-cluster-accounting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-accounting-syntax.json"></a>

```
{
  "[DefaultPurgeTimeInDays](#cfn-pcs-cluster-accounting-defaultpurgetimeindays)" : Integer,
  "[Mode](#cfn-pcs-cluster-accounting-mode)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-accounting-syntax.yaml"></a>

```
  [DefaultPurgeTimeInDays](#cfn-pcs-cluster-accounting-defaultpurgetimeindays): Integer
  [Mode](#cfn-pcs-cluster-accounting-mode): String
```

## Properties
<a name="aws-properties-pcs-cluster-accounting-properties"></a>

`DefaultPurgeTimeInDays`  <a name="cfn-pcs-cluster-accounting-defaultpurgetimeindays"></a>
The default value for all purge settings for `slurmdbd.conf`. For more information, see the [slurmdbd.conf documentation at SchedMD](https://slurm.schedmd.com/slurmdbd.conf.html).  
The default value for `defaultPurgeTimeInDays` is `-1`.  
A value of `-1` means there is no purge time and records persist as long as the cluster exists.  
`0` isn't a valid value.
*Required*: No  
*Type*: Integer  
*Minimum*: `-1`  
*Maximum*: `10000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Mode`  <a name="cfn-pcs-cluster-accounting-mode"></a>
The default value for `mode` is `NONE`. A value of `STANDARD` means Slurm accounting is enabled.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `STANDARD | NONE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster AuthKey
<a name="aws-properties-pcs-cluster-authkey"></a>

The shared Slurm key for authentication, also known as the **cluster secret**.

## Syntax
<a name="aws-properties-pcs-cluster-authkey-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-authkey-syntax.json"></a>

```
{
  "[SecretArn](#cfn-pcs-cluster-authkey-secretarn)" : String,
  "[SecretVersion](#cfn-pcs-cluster-authkey-secretversion)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-authkey-syntax.yaml"></a>

```
  [SecretArn](#cfn-pcs-cluster-authkey-secretarn): String
  [SecretVersion](#cfn-pcs-cluster-authkey-secretversion): String
```

## Properties
<a name="aws-properties-pcs-cluster-authkey-properties"></a>

`SecretArn`  <a name="cfn-pcs-cluster-authkey-secretarn"></a>
The Amazon Resource Name (ARN) of the shared Slurm key.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecretVersion`  <a name="cfn-pcs-cluster-authkey-secretversion"></a>
The version of the shared Slurm key.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster CgroupCustomSetting
<a name="aws-properties-pcs-cluster-cgroupcustomsetting"></a>

Additional settings that directly map to Cgroup settings.

**Important**  
AWS PCS supports a subset of Cgroup settings. For more information, see [Configuring custom Cgroup settings in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/cgroup-custom-settings.html) in the *AWS PCS User Guide*.

## Syntax
<a name="aws-properties-pcs-cluster-cgroupcustomsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-cgroupcustomsetting-syntax.json"></a>

```
{
  "[ParameterName](#cfn-pcs-cluster-cgroupcustomsetting-parametername)" : String,
  "[ParameterValue](#cfn-pcs-cluster-cgroupcustomsetting-parametervalue)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-cgroupcustomsetting-syntax.yaml"></a>

```
  [ParameterName](#cfn-pcs-cluster-cgroupcustomsetting-parametername): String
  [ParameterValue](#cfn-pcs-cluster-cgroupcustomsetting-parametervalue): String
```

## Properties
<a name="aws-properties-pcs-cluster-cgroupcustomsetting-properties"></a>

`ParameterName`  <a name="cfn-pcs-cluster-cgroupcustomsetting-parametername"></a>
AWS PCS supports custom Cgroup settings for clusters. For more information, see [Configuring custom Cgroup settings in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/cgroup-custom-settings.html) in the *AWS PCS User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParameterValue`  <a name="cfn-pcs-cluster-cgroupcustomsetting-parametervalue"></a>
The values for the configured Cgroup settings.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster Endpoint
<a name="aws-properties-pcs-cluster-endpoint"></a>

An endpoint available for interaction with the scheduler.

## Syntax
<a name="aws-properties-pcs-cluster-endpoint-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-endpoint-syntax.json"></a>

```
{
  "[Ipv6Address](#cfn-pcs-cluster-endpoint-ipv6address)" : String,
  "[Port](#cfn-pcs-cluster-endpoint-port)" : String,
  "[PrivateIpAddress](#cfn-pcs-cluster-endpoint-privateipaddress)" : String,
  "[PublicIpAddress](#cfn-pcs-cluster-endpoint-publicipaddress)" : String,
  "[Type](#cfn-pcs-cluster-endpoint-type)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-endpoint-syntax.yaml"></a>

```
  [Ipv6Address](#cfn-pcs-cluster-endpoint-ipv6address): String
  [Port](#cfn-pcs-cluster-endpoint-port): String
  [PrivateIpAddress](#cfn-pcs-cluster-endpoint-privateipaddress): String
  [PublicIpAddress](#cfn-pcs-cluster-endpoint-publicipaddress): String
  [Type](#cfn-pcs-cluster-endpoint-type): String
```

## Properties
<a name="aws-properties-pcs-cluster-endpoint-properties"></a>

`Ipv6Address`  <a name="cfn-pcs-cluster-endpoint-ipv6address"></a>
The endpoint's IPv6 address.  
Example: `2001:db8::1`  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Port`  <a name="cfn-pcs-cluster-endpoint-port"></a>
The endpoint's connection port number.  
 Example: `1234`  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PrivateIpAddress`  <a name="cfn-pcs-cluster-endpoint-privateipaddress"></a>
For clusters that use IPv4, this is the endpoint's private IP address.  
Example: `10.1.2.3`  
For clusters configured to use IPv6, this is an empty string.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PublicIpAddress`  <a name="cfn-pcs-cluster-endpoint-publicipaddress"></a>
The endpoint's public IP address.  
Example: `192.0.2.1`  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-pcs-cluster-endpoint-type"></a>
Indicates the type of endpoint running at the specific IP address.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SLURMCTLD | SLURMDBD | SLURMRESTD`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster ErrorInfo
<a name="aws-properties-pcs-cluster-errorinfo"></a>

An error that occurred during resource creation.

## Syntax
<a name="aws-properties-pcs-cluster-errorinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-errorinfo-syntax.json"></a>

```
{
  "[Code](#cfn-pcs-cluster-errorinfo-code)" : String,
  "[Message](#cfn-pcs-cluster-errorinfo-message)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-errorinfo-syntax.yaml"></a>

```
  [Code](#cfn-pcs-cluster-errorinfo-code): String
  [Message](#cfn-pcs-cluster-errorinfo-message): String
```

## Properties
<a name="aws-properties-pcs-cluster-errorinfo-properties"></a>

`Code`  <a name="cfn-pcs-cluster-errorinfo-code"></a>
The short-form error code.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Message`  <a name="cfn-pcs-cluster-errorinfo-message"></a>
The detailed error information.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster JwtAuth
<a name="aws-properties-pcs-cluster-jwtauth"></a>

The JWT authentication configuration for Slurm REST API access.

## Syntax
<a name="aws-properties-pcs-cluster-jwtauth-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-jwtauth-syntax.json"></a>

```
{
  "[JwtKey](#cfn-pcs-cluster-jwtauth-jwtkey)" : JwtKey
}
```

### YAML
<a name="aws-properties-pcs-cluster-jwtauth-syntax.yaml"></a>

```
  [JwtKey](#cfn-pcs-cluster-jwtauth-jwtkey): 
    JwtKey
```

## Properties
<a name="aws-properties-pcs-cluster-jwtauth-properties"></a>

`JwtKey`  <a name="cfn-pcs-cluster-jwtauth-jwtkey"></a>
The JWT key for Slurm REST API authentication.  
*Required*: No  
*Type*: [JwtKey](aws-properties-pcs-cluster-jwtkey.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster JwtKey
<a name="aws-properties-pcs-cluster-jwtkey"></a>

The JWT key stored in AWS Secrets Manager for Slurm REST API authentication.

## Syntax
<a name="aws-properties-pcs-cluster-jwtkey-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-jwtkey-syntax.json"></a>

```
{
  "[SecretArn](#cfn-pcs-cluster-jwtkey-secretarn)" : String,
  "[SecretVersion](#cfn-pcs-cluster-jwtkey-secretversion)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-jwtkey-syntax.yaml"></a>

```
  [SecretArn](#cfn-pcs-cluster-jwtkey-secretarn): String
  [SecretVersion](#cfn-pcs-cluster-jwtkey-secretversion): String
```

## Properties
<a name="aws-properties-pcs-cluster-jwtkey-properties"></a>

`SecretArn`  <a name="cfn-pcs-cluster-jwtkey-secretarn"></a>
The Amazon Resource Name (ARN) of the AWS Secrets Manager secret containing the JWT key.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecretVersion`  <a name="cfn-pcs-cluster-jwtkey-secretversion"></a>
The version of the AWS Secrets Manager secret containing the JWT key.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster Networking
<a name="aws-properties-pcs-cluster-networking"></a>

The networking configuration for the cluster's control plane.

## Syntax
<a name="aws-properties-pcs-cluster-networking-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-networking-syntax.json"></a>

```
{
  "[NetworkType](#cfn-pcs-cluster-networking-networktype)" : String,
  "[SecurityGroupIds](#cfn-pcs-cluster-networking-securitygroupids)" : [ String, ... ],
  "[SubnetIds](#cfn-pcs-cluster-networking-subnetids)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-pcs-cluster-networking-syntax.yaml"></a>

```
  [NetworkType](#cfn-pcs-cluster-networking-networktype): String
  [SecurityGroupIds](#cfn-pcs-cluster-networking-securitygroupids): 
    - String
  [SubnetIds](#cfn-pcs-cluster-networking-subnetids): 
    - String
```

## Properties
<a name="aws-properties-pcs-cluster-networking-properties"></a>

`NetworkType`  <a name="cfn-pcs-cluster-networking-networktype"></a>
The IP address version the cluster uses. The default is `IPV4`.  
*Required*: No  
*Type*: String  
*Allowed values*: `IPV4 | IPV6`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecurityGroupIds`  <a name="cfn-pcs-cluster-networking-securitygroupids"></a>
The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.  
The following rules are required:  
+ Inbound rule 1
  + Protocol: All
  + Ports: All
  + Source: Self
+ Outbound rule 1
  + Protocol: All
  + Ports: All
  + Destination: 0.0.0.0/0 (IPv4) or ::/0 (IPv6)
+ Outbound rule 2
  + Protocol: All
  + Ports: All
  + Destination: Self
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SubnetIds`  <a name="cfn-pcs-cluster-networking-subnetids"></a>
The ID of the subnet where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone.  
 Example: `subnet-abcd1234`  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::PCS::Cluster Scheduler
<a name="aws-properties-pcs-cluster-scheduler"></a>

The cluster management and job scheduling software associated with the cluster.

## Syntax
<a name="aws-properties-pcs-cluster-scheduler-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-scheduler-syntax.json"></a>

```
{
  "[Type](#cfn-pcs-cluster-scheduler-type)" : String,
  "[Version](#cfn-pcs-cluster-scheduler-version)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-scheduler-syntax.yaml"></a>

```
  [Type](#cfn-pcs-cluster-scheduler-type): String
  [Version](#cfn-pcs-cluster-scheduler-version): String
```

## Properties
<a name="aws-properties-pcs-cluster-scheduler-properties"></a>

`Type`  <a name="cfn-pcs-cluster-scheduler-type"></a>
The software AWS PCS uses to manage cluster scaling and job scheduling.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SLURM`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Version`  <a name="cfn-pcs-cluster-scheduler-version"></a>
The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. For more information, see [Slurm versions in AWS PCS](https://docs.aws.amazon.com/pcs/latest/userguide/slurm-versions.html) in the *AWS PCS User Guide*.  
Valid Values: `23.11 | 24.05 | 24.11 | 25.05`  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::PCS::Cluster SlurmConfiguration
<a name="aws-properties-pcs-cluster-slurmconfiguration"></a>

Additional options related to the Slurm scheduler.

## Syntax
<a name="aws-properties-pcs-cluster-slurmconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-slurmconfiguration-syntax.json"></a>

```
{
  "[Accounting](#cfn-pcs-cluster-slurmconfiguration-accounting)" : Accounting,
  "[AuthKey](#cfn-pcs-cluster-slurmconfiguration-authkey)" : AuthKey,
  "[CgroupCustomSettings](#cfn-pcs-cluster-slurmconfiguration-cgroupcustomsettings)" : [ CgroupCustomSetting, ... ],
  "[JwtAuth](#cfn-pcs-cluster-slurmconfiguration-jwtauth)" : JwtAuth,
  "[ScaleDownIdleTimeInSeconds](#cfn-pcs-cluster-slurmconfiguration-scaledownidletimeinseconds)" : Integer,
  "[SlurmCustomSettings](#cfn-pcs-cluster-slurmconfiguration-slurmcustomsettings)" : [ SlurmCustomSetting, ... ],
  "[SlurmdbdCustomSettings](#cfn-pcs-cluster-slurmconfiguration-slurmdbdcustomsettings)" : [ SlurmdbdCustomSetting, ... ],
  "[SlurmRest](#cfn-pcs-cluster-slurmconfiguration-slurmrest)" : SlurmRest
}
```

### YAML
<a name="aws-properties-pcs-cluster-slurmconfiguration-syntax.yaml"></a>

```
  [Accounting](#cfn-pcs-cluster-slurmconfiguration-accounting): 
    Accounting
  [AuthKey](#cfn-pcs-cluster-slurmconfiguration-authkey): 
    AuthKey
  [CgroupCustomSettings](#cfn-pcs-cluster-slurmconfiguration-cgroupcustomsettings): 
    - CgroupCustomSetting
  [JwtAuth](#cfn-pcs-cluster-slurmconfiguration-jwtauth): 
    JwtAuth
  [ScaleDownIdleTimeInSeconds](#cfn-pcs-cluster-slurmconfiguration-scaledownidletimeinseconds): Integer
  [SlurmCustomSettings](#cfn-pcs-cluster-slurmconfiguration-slurmcustomsettings): 
    - SlurmCustomSetting
  [SlurmdbdCustomSettings](#cfn-pcs-cluster-slurmconfiguration-slurmdbdcustomsettings): 
    - SlurmdbdCustomSetting
  [SlurmRest](#cfn-pcs-cluster-slurmconfiguration-slurmrest): 
    SlurmRest
```

## Properties
<a name="aws-properties-pcs-cluster-slurmconfiguration-properties"></a>

`Accounting`  <a name="cfn-pcs-cluster-slurmconfiguration-accounting"></a>
The accounting configuration includes configurable settings for Slurm accounting.  
*Required*: No  
*Type*: [Accounting](aws-properties-pcs-cluster-accounting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AuthKey`  <a name="cfn-pcs-cluster-slurmconfiguration-authkey"></a>
The shared Slurm key for authentication, also known as the **cluster secret**.  
*Required*: No  
*Type*: [AuthKey](aws-properties-pcs-cluster-authkey.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CgroupCustomSettings`  <a name="cfn-pcs-cluster-slurmconfiguration-cgroupcustomsettings"></a>
Additional Cgroup-specific configuration that directly maps to Cgroup settings.  
*Required*: No  
*Type*: Array of [CgroupCustomSetting](aws-properties-pcs-cluster-cgroupcustomsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JwtAuth`  <a name="cfn-pcs-cluster-slurmconfiguration-jwtauth"></a>
The JWT authentication configuration for Slurm REST API access.  
*Required*: No  
*Type*: [JwtAuth](aws-properties-pcs-cluster-jwtauth.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScaleDownIdleTimeInSeconds`  <a name="cfn-pcs-cluster-slurmconfiguration-scaledownidletimeinseconds"></a>
The time (in seconds) before an idle node is scaled down.  
Default: `600`  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlurmCustomSettings`  <a name="cfn-pcs-cluster-slurmconfiguration-slurmcustomsettings"></a>
Additional Slurm-specific configuration that directly maps to Slurm settings.  
*Required*: No  
*Type*: Array of [SlurmCustomSetting](aws-properties-pcs-cluster-slurmcustomsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlurmdbdCustomSettings`  <a name="cfn-pcs-cluster-slurmconfiguration-slurmdbdcustomsettings"></a>
Additional SlurmDBD-specific configuration that directly maps to SlurmDBD settings.  
*Required*: No  
*Type*: Array of [SlurmdbdCustomSetting](aws-properties-pcs-cluster-slurmdbdcustomsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlurmRest`  <a name="cfn-pcs-cluster-slurmconfiguration-slurmrest"></a>
The Slurm REST API configuration for the cluster.  
*Required*: No  
*Type*: [SlurmRest](aws-properties-pcs-cluster-slurmrest.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster SlurmCustomSetting
<a name="aws-properties-pcs-cluster-slurmcustomsetting"></a>

Additional settings that directly map to Slurm settings.

**Important**  
AWS PCS supports a subset of Slurm settings. For more information, see [Configuring custom Slurm settings in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/slurm-custom-settings.html) in the *AWS PCS User Guide*.

## Syntax
<a name="aws-properties-pcs-cluster-slurmcustomsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-slurmcustomsetting-syntax.json"></a>

```
{
  "[ParameterName](#cfn-pcs-cluster-slurmcustomsetting-parametername)" : String,
  "[ParameterValue](#cfn-pcs-cluster-slurmcustomsetting-parametervalue)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-slurmcustomsetting-syntax.yaml"></a>

```
  [ParameterName](#cfn-pcs-cluster-slurmcustomsetting-parametername): String
  [ParameterValue](#cfn-pcs-cluster-slurmcustomsetting-parametervalue): String
```

## Properties
<a name="aws-properties-pcs-cluster-slurmcustomsetting-properties"></a>

`ParameterName`  <a name="cfn-pcs-cluster-slurmcustomsetting-parametername"></a>
AWS PCS supports custom Slurm settings for clusters, compute node groups, and queues. For more information, see [Configuring custom Slurm settings in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/slurm-custom-settings.html) in the *AWS PCS User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParameterValue`  <a name="cfn-pcs-cluster-slurmcustomsetting-parametervalue"></a>
The values for the configured Slurm settings.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster SlurmdbdCustomSetting
<a name="aws-properties-pcs-cluster-slurmdbdcustomsetting"></a>

Additional settings that directly map to SlurmDBD settings.

**Important**  
AWS PCS supports a subset of SlurmDBD settings. For more information, see [Configuring custom SlurmDBD settings in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/slurmdbd-custom-settings.html) in the *AWS PCS User Guide*.

## Syntax
<a name="aws-properties-pcs-cluster-slurmdbdcustomsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-slurmdbdcustomsetting-syntax.json"></a>

```
{
  "[ParameterName](#cfn-pcs-cluster-slurmdbdcustomsetting-parametername)" : String,
  "[ParameterValue](#cfn-pcs-cluster-slurmdbdcustomsetting-parametervalue)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-slurmdbdcustomsetting-syntax.yaml"></a>

```
  [ParameterName](#cfn-pcs-cluster-slurmdbdcustomsetting-parametername): String
  [ParameterValue](#cfn-pcs-cluster-slurmdbdcustomsetting-parametervalue): String
```

## Properties
<a name="aws-properties-pcs-cluster-slurmdbdcustomsetting-properties"></a>

`ParameterName`  <a name="cfn-pcs-cluster-slurmdbdcustomsetting-parametername"></a>
AWS PCS supports custom SlurmDBD settings for clusters. For more information, see [Configuring custom SlurmDBD settings in AWS PCS](https://docs.aws.amazon.com//pcs/latest/userguide/slurmdbd-custom-settings.html) in the *AWS PCS User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParameterValue`  <a name="cfn-pcs-cluster-slurmdbdcustomsetting-parametervalue"></a>
The values for the configured SlurmDBD settings.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::PCS::Cluster SlurmRest
<a name="aws-properties-pcs-cluster-slurmrest"></a>

The Slurm REST API configuration includes settings for enabling and configuring the Slurm REST API. It's a property of the [ClusterSlurmConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html) object.

## Syntax
<a name="aws-properties-pcs-cluster-slurmrest-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-pcs-cluster-slurmrest-syntax.json"></a>

```
{
  "[Mode](#cfn-pcs-cluster-slurmrest-mode)" : String
}
```

### YAML
<a name="aws-properties-pcs-cluster-slurmrest-syntax.yaml"></a>

```
  [Mode](#cfn-pcs-cluster-slurmrest-mode): String
```

## Properties
<a name="aws-properties-pcs-cluster-slurmrest-properties"></a>

`Mode`  <a name="cfn-pcs-cluster-slurmrest-mode"></a>
The default value for `mode` is `NONE`. A value of `STANDARD` means the Slurm REST API is enabled.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `STANDARD | NONE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)