

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::Cases::CaseRule
<a name="aws-resource-cases-caserule"></a>

Creates a new case rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-resource-cases-caserule-syntax"></a>

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

### JSON
<a name="aws-resource-cases-caserule-syntax.json"></a>

```
{
  "Type" : "AWS::Cases::CaseRule",
  "Properties" : {
      "[Description](#cfn-cases-caserule-description)" : String,
      "[DomainId](#cfn-cases-caserule-domainid)" : String,
      "[Name](#cfn-cases-caserule-name)" : String,
      "[Rule](#cfn-cases-caserule-rule)" : CaseRuleDetails,
      "[Tags](#cfn-cases-caserule-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-cases-caserule-syntax.yaml"></a>

```
Type: AWS::Cases::CaseRule
Properties:
  [Description](#cfn-cases-caserule-description): String
  [DomainId](#cfn-cases-caserule-domainid): String
  [Name](#cfn-cases-caserule-name): String
  [Rule](#cfn-cases-caserule-rule): 
    CaseRuleDetails
  [Tags](#cfn-cases-caserule-tags): 
    - Tag
```

## Properties
<a name="aws-resource-cases-caserule-properties"></a>

`Description`  <a name="cfn-cases-caserule-description"></a>
Description of a case rule.  
*Required*: No  
*Type*: String  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DomainId`  <a name="cfn-cases-caserule-domainid"></a>
Unique identifier of a Cases domain.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `500`  
*Update requires*: Updates are not supported.

`Name`  <a name="cfn-cases-caserule-name"></a>
Name of the case rule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^.*[\S]$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Rule`  <a name="cfn-cases-caserule-rule"></a>
Represents what rule type should take place, under what conditions.  
*Required*: Yes  
*Type*: [CaseRuleDetails](aws-properties-cases-caserule-caseruledetails.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-cases-caserule-tags"></a>
An array of key-value pairs to apply to this resource.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-cases-caserule-tag.md)  
*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-cases-caserule-return-values"></a>

### Ref
<a name="aws-resource-cases-caserule-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the ARN of the case rule. For example:

 `arn:aws:cases:us-west-2:123456789012:domain/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/case-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333` 

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

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

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-cases-caserule-return-values-fn--getatt-fn--getatt"></a>

`CaseRuleArn`  <a name="CaseRuleArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the case rule.

`CaseRuleId`  <a name="CaseRuleId-fn::getatt"></a>
Unique identifier of a case rule.

`CreatedTime`  <a name="CreatedTime-fn::getatt"></a>
Timestamp when the resource was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
Timestamp when the resource was created or last modified.

# AWS::Cases::CaseRule BooleanCondition
<a name="aws-properties-cases-caserule-booleancondition"></a>

Boolean condition for a rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-properties-cases-caserule-booleancondition-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-booleancondition-syntax.json"></a>

```
{
  "[EqualTo](#cfn-cases-caserule-booleancondition-equalto)" : BooleanOperands,
  "[NotEqualTo](#cfn-cases-caserule-booleancondition-notequalto)" : BooleanOperands
}
```

### YAML
<a name="aws-properties-cases-caserule-booleancondition-syntax.yaml"></a>

```
  [EqualTo](#cfn-cases-caserule-booleancondition-equalto): 
    BooleanOperands
  [NotEqualTo](#cfn-cases-caserule-booleancondition-notequalto): 
    BooleanOperands
```

## Properties
<a name="aws-properties-cases-caserule-booleancondition-properties"></a>

`EqualTo`  <a name="cfn-cases-caserule-booleancondition-equalto"></a>
Tests that operandOne is equal to operandTwo.  
*Required*: No  
*Type*: [BooleanOperands](aws-properties-cases-caserule-booleanoperands.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotEqualTo`  <a name="cfn-cases-caserule-booleancondition-notequalto"></a>
Tests that operandOne is not equal to operandTwo.  
*Required*: No  
*Type*: [BooleanOperands](aws-properties-cases-caserule-booleanoperands.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule BooleanOperands
<a name="aws-properties-cases-caserule-booleanoperands"></a>

Boolean operands for a condition. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-properties-cases-caserule-booleanoperands-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-booleanoperands-syntax.json"></a>

```
{
  "[OperandOne](#cfn-cases-caserule-booleanoperands-operandone)" : OperandOne,
  "[OperandTwo](#cfn-cases-caserule-booleanoperands-operandtwo)" : OperandTwo,
  "[Result](#cfn-cases-caserule-booleanoperands-result)" : Boolean
}
```

### YAML
<a name="aws-properties-cases-caserule-booleanoperands-syntax.yaml"></a>

```
  [OperandOne](#cfn-cases-caserule-booleanoperands-operandone): 
    OperandOne
  [OperandTwo](#cfn-cases-caserule-booleanoperands-operandtwo): 
    OperandTwo
  [Result](#cfn-cases-caserule-booleanoperands-result): Boolean
```

## Properties
<a name="aws-properties-cases-caserule-booleanoperands-properties"></a>

`OperandOne`  <a name="cfn-cases-caserule-booleanoperands-operandone"></a>
Represents the left hand operand in the condition.  
*Required*: Yes  
*Type*: [OperandOne](aws-properties-cases-caserule-operandone.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OperandTwo`  <a name="cfn-cases-caserule-booleanoperands-operandtwo"></a>
Represents the right hand operand in the condition.  
*Required*: Yes  
*Type*: [OperandTwo](aws-properties-cases-caserule-operandtwo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Result`  <a name="cfn-cases-caserule-booleanoperands-result"></a>
The value of the outer rule if the condition evaluates to true.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule CaseRuleDetails
<a name="aws-properties-cases-caserule-caseruledetails"></a>

Represents what rule type should take place, under what conditions. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-properties-cases-caserule-caseruledetails-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-caseruledetails-syntax.json"></a>

```
{
  "[Hidden](#cfn-cases-caserule-caseruledetails-hidden)" : HiddenCaseRule,
  "[Required](#cfn-cases-caserule-caseruledetails-required)" : RequiredCaseRule
}
```

### YAML
<a name="aws-properties-cases-caserule-caseruledetails-syntax.yaml"></a>

```
  [Hidden](#cfn-cases-caserule-caseruledetails-hidden): 
    HiddenCaseRule
  [Required](#cfn-cases-caserule-caseruledetails-required): 
    RequiredCaseRule
```

## Properties
<a name="aws-properties-cases-caserule-caseruledetails-properties"></a>

`Hidden`  <a name="cfn-cases-caserule-caseruledetails-hidden"></a>
Whether a field is visible, based on values in other fields.  
*Required*: No  
*Type*: [HiddenCaseRule](aws-properties-cases-caserule-hiddencaserule.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Required`  <a name="cfn-cases-caserule-caseruledetails-required"></a>
Required rule type, used to indicate whether a field is required.  
*Required*: No  
*Type*: [RequiredCaseRule](aws-properties-cases-caserule-requiredcaserule.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule HiddenCaseRule
<a name="aws-properties-cases-caserule-hiddencaserule"></a>

A rule that controls field visibility based on conditions. Fields can be shown or hidden dynamically based on values in other fields.

## Syntax
<a name="aws-properties-cases-caserule-hiddencaserule-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-hiddencaserule-syntax.json"></a>

```
{
  "[Conditions](#cfn-cases-caserule-hiddencaserule-conditions)" : [ BooleanCondition, ... ],
  "[DefaultValue](#cfn-cases-caserule-hiddencaserule-defaultvalue)" : Boolean
}
```

### YAML
<a name="aws-properties-cases-caserule-hiddencaserule-syntax.yaml"></a>

```
  [Conditions](#cfn-cases-caserule-hiddencaserule-conditions): 
    - BooleanCondition
  [DefaultValue](#cfn-cases-caserule-hiddencaserule-defaultvalue): Boolean
```

## Properties
<a name="aws-properties-cases-caserule-hiddencaserule-properties"></a>

`Conditions`  <a name="cfn-cases-caserule-hiddencaserule-conditions"></a>
A list of conditions that determine field visibility.  
*Required*: Yes  
*Type*: Array of [BooleanCondition](aws-properties-cases-caserule-booleancondition.md)  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultValue`  <a name="cfn-cases-caserule-hiddencaserule-defaultvalue"></a>
Whether the field is hidden when no conditions match.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule OperandOne
<a name="aws-properties-cases-caserule-operandone"></a>

Represents the left hand operand in the condition. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-properties-cases-caserule-operandone-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-operandone-syntax.json"></a>

```
{
  "[FieldId](#cfn-cases-caserule-operandone-fieldid)" : String
}
```

### YAML
<a name="aws-properties-cases-caserule-operandone-syntax.yaml"></a>

```
  [FieldId](#cfn-cases-caserule-operandone-fieldid): String
```

## Properties
<a name="aws-properties-cases-caserule-operandone-properties"></a>

`FieldId`  <a name="cfn-cases-caserule-operandone-fieldid"></a>
The field ID that this operand should take the value of.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `500`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule OperandTwo
<a name="aws-properties-cases-caserule-operandtwo"></a>

Represents the right hand operand in the condition. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-properties-cases-caserule-operandtwo-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-operandtwo-syntax.json"></a>

```
{
  "[BooleanValue](#cfn-cases-caserule-operandtwo-booleanvalue)" : Boolean,
  "[DoubleValue](#cfn-cases-caserule-operandtwo-doublevalue)" : Number,
  "[EmptyValue](#cfn-cases-caserule-operandtwo-emptyvalue)" : Json,
  "[StringValue](#cfn-cases-caserule-operandtwo-stringvalue)" : String
}
```

### YAML
<a name="aws-properties-cases-caserule-operandtwo-syntax.yaml"></a>

```
  [BooleanValue](#cfn-cases-caserule-operandtwo-booleanvalue): 
    Boolean
  [DoubleValue](#cfn-cases-caserule-operandtwo-doublevalue): Number
  [EmptyValue](#cfn-cases-caserule-operandtwo-emptyvalue): Json
  [StringValue](#cfn-cases-caserule-operandtwo-stringvalue): 
    String
```

## Properties
<a name="aws-properties-cases-caserule-operandtwo-properties"></a>

`BooleanValue`  <a name="cfn-cases-caserule-operandtwo-booleanvalue"></a>
Boolean value type.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DoubleValue`  <a name="cfn-cases-caserule-operandtwo-doublevalue"></a>
Double value type.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EmptyValue`  <a name="cfn-cases-caserule-operandtwo-emptyvalue"></a>
Represents an empty operand value. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StringValue`  <a name="cfn-cases-caserule-operandtwo-stringvalue"></a>
String value type.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1500`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule RequiredCaseRule
<a name="aws-properties-cases-caserule-requiredcaserule"></a>

Required rule type, used to indicate whether a field is required. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html).

## Syntax
<a name="aws-properties-cases-caserule-requiredcaserule-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-requiredcaserule-syntax.json"></a>

```
{
  "[Conditions](#cfn-cases-caserule-requiredcaserule-conditions)" : [ BooleanCondition, ... ],
  "[DefaultValue](#cfn-cases-caserule-requiredcaserule-defaultvalue)" : Boolean
}
```

### YAML
<a name="aws-properties-cases-caserule-requiredcaserule-syntax.yaml"></a>

```
  [Conditions](#cfn-cases-caserule-requiredcaserule-conditions): 
    - BooleanCondition
  [DefaultValue](#cfn-cases-caserule-requiredcaserule-defaultvalue): Boolean
```

## Properties
<a name="aws-properties-cases-caserule-requiredcaserule-properties"></a>

`Conditions`  <a name="cfn-cases-caserule-requiredcaserule-conditions"></a>
List of conditions for the required rule; the first condition to evaluate to true dictates the value of the rule.  
*Required*: Yes  
*Type*: Array of [BooleanCondition](aws-properties-cases-caserule-booleancondition.md)  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultValue`  <a name="cfn-cases-caserule-requiredcaserule-defaultvalue"></a>
The value of the rule (that is, whether the field is required) should none of the conditions evaluate to true.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cases::CaseRule Tag
<a name="aws-properties-cases-caserule-tag"></a>

A key-value pair to associate with a resource.

## Syntax
<a name="aws-properties-cases-caserule-tag-syntax"></a>

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

### JSON
<a name="aws-properties-cases-caserule-tag-syntax.json"></a>

```
{
  "[Key](#cfn-cases-caserule-tag-key)" : String,
  "[Value](#cfn-cases-caserule-tag-value)" : String
}
```

### YAML
<a name="aws-properties-cases-caserule-tag-syntax.yaml"></a>

```
  [Key](#cfn-cases-caserule-tag-key): String
  [Value](#cfn-cases-caserule-tag-value): String
```

## Properties
<a name="aws-properties-cases-caserule-tag-properties"></a>

`Key`  <a name="cfn-cases-caserule-tag-key"></a>
The key name of the tag. You can specify a value that's 1 to 128 Unicode characters in length and can't be prefixed with `aws:`. You can use any of the following characters: the set of Unicode letters, digits, whitespace, `_`, `.`, `:`, `/`, `=`, `+`, `@`, `-`, and `"`.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)[a-zA-Z+-=._:/]+$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-cases-caserule-tag-value"></a>
The value for the tag. You can specify a value that's 1 to 256 characters in length.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)