

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::APS::Workspace
<a name="aws-resource-aps-workspace"></a>

An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.

## Syntax
<a name="aws-resource-aps-workspace-syntax"></a>

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

### JSON
<a name="aws-resource-aps-workspace-syntax.json"></a>

```
{
  "Type" : "AWS::APS::Workspace",
  "Properties" : {
      "[AlertManagerDefinition](#cfn-aps-workspace-alertmanagerdefinition)" : String,
      "[Alias](#cfn-aps-workspace-alias)" : String,
      "[KmsKeyArn](#cfn-aps-workspace-kmskeyarn)" : String,
      "[LoggingConfiguration](#cfn-aps-workspace-loggingconfiguration)" : LoggingConfiguration,
      "[QueryLoggingConfiguration](#cfn-aps-workspace-queryloggingconfiguration)" : QueryLoggingConfiguration,
      "[Tags](#cfn-aps-workspace-tags)" : [ Tag, ... ],
      "[WorkspaceConfiguration](#cfn-aps-workspace-workspaceconfiguration)" : WorkspaceConfiguration
    }
}
```

### YAML
<a name="aws-resource-aps-workspace-syntax.yaml"></a>

```
Type: AWS::APS::Workspace
Properties:
  [AlertManagerDefinition](#cfn-aps-workspace-alertmanagerdefinition): String
  [Alias](#cfn-aps-workspace-alias): String
  [KmsKeyArn](#cfn-aps-workspace-kmskeyarn): String
  [LoggingConfiguration](#cfn-aps-workspace-loggingconfiguration): 
    LoggingConfiguration
  [QueryLoggingConfiguration](#cfn-aps-workspace-queryloggingconfiguration): 
    QueryLoggingConfiguration
  [Tags](#cfn-aps-workspace-tags): 
    - Tag
  [WorkspaceConfiguration](#cfn-aps-workspace-workspaceconfiguration): 
    WorkspaceConfiguration
```

## Properties
<a name="aws-resource-aps-workspace-properties"></a>

`AlertManagerDefinition`  <a name="cfn-aps-workspace-alertmanagerdefinition"></a>
The alert manager definition, a YAML configuration for the alert manager in your Amazon Managed Service for Prometheus workspace.  
For details about the alert manager definition, see [Creating an alert manager configuration files](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-alertmanager-config.html) in the *Amazon Managed Service for Prometheus User Guide*.  
The following example shows part of a CloudFormation YAML file with an embedded alert manager definition (following the `- |-`).  

```
  Workspace:
    Type: AWS::APS::Workspace
    ....
    Properties:
      ....
      AlertManagerDefinition:
        Fn::Sub:
          - |-
            alertmanager_config: |
              templates:
                - 'default_template'
              route:
                receiver: example-sns
              receivers:
                - name: example-sns
                  sns_configs:
                    - topic_arn: 'arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${TopicName}'
          -
```
*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)

`Alias`  <a name="cfn-aps-workspace-alias"></a>
The alias that is assigned to this workspace to help identify it. It does not need to be unique.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyArn`  <a name="cfn-aps-workspace-kmskeyarn"></a>
(optional) The ARN for a customer managed AWS KMS key to use for encrypting data within your workspace. For more information about using your own key in your workspace, see [Encryption at rest](https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html) in the *Amazon Managed Service for Prometheus User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[-a-z]*:kms:[-a-z0-9]+:[0-9]{12}:key/.+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LoggingConfiguration`  <a name="cfn-aps-workspace-loggingconfiguration"></a>
Contains information about the logging configuration for the workspace.  
*Required*: No  
*Type*: [LoggingConfiguration](aws-properties-aps-workspace-loggingconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryLoggingConfiguration`  <a name="cfn-aps-workspace-queryloggingconfiguration"></a>
The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.  
*Required*: No  
*Type*: [QueryLoggingConfiguration](aws-properties-aps-workspace-queryloggingconfiguration.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-aps-workspace-tags"></a>
The list of tag keys and values that are associated with the workspace.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-aps-workspace-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WorkspaceConfiguration`  <a name="cfn-aps-workspace-workspaceconfiguration"></a>
Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.  
*Required*: No  
*Type*: [WorkspaceConfiguration](aws-properties-aps-workspace-workspaceconfiguration.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-aps-workspace-return-values"></a>

### Ref
<a name="aws-resource-aps-workspace-return-values-ref"></a>

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

 `{ "Ref": "Id" }` 

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-aps-workspace-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-aps-workspace-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The ARN of the workspace. For example, `arn:aws:aps:<region>:123456789012:workspace/ws-example1-1234-abcd-5678-ef90abcd1234`.

`PrometheusEndpoint`  <a name="PrometheusEndpoint-fn::getatt"></a>
The Prometheus endpoint available for this workspace. For example, `https://aps-workspaces.<region>.amazonaws.com/workspaces/ws-example1-1234-abcd-5678-ef90abcd1234/api/v1/`.

`WorkspaceId`  <a name="WorkspaceId-fn::getatt"></a>
The unique ID for the workspace. For example, `ws-example1-1234-abcd-5678-ef90abcd1234`.

## Examples
<a name="aws-resource-aps-workspace--examples"></a>

**Topics**
+ [Amazon Managed Service for Prometheus workspace example](#aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_workspace_example)
+ [Amazon Managed Service for Prometheus logging configuration example](#aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_logging_configuration_example)

### Amazon Managed Service for Prometheus workspace example
<a name="aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_workspace_example"></a>

The following example creates an Amazon Managed Service for Prometheus workspace with an alias and one tag.

#### JSON
<a name="aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_workspace_example--json"></a>

```
{ "Resources": { "APSWorkspace": { "Type":
                "AWS::APS::Workspace", "Properties": { "Alias": "TestWorkspace" "Tags": [ { "Key":
                "BusinessPurpose", "Value": "LoadTesting" } ] } } } }
```

#### YAML
<a name="aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_workspace_example--yaml"></a>

```
Resources: APSWorkspace: Type: AWS::APS::Workspace Properties:
                Alias: TestWorkspace Tags: - Key: BusinessPurpose Value: LoadTesting
```

### Amazon Managed Service for Prometheus logging configuration example
<a name="aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_logging_configuration_example"></a>

The following example creates a new workspace and sets a new logging configuration. You must replace the `LogGroupArn` with a valid ARN for your system.

#### JSON
<a name="aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_logging_configuration_example--json"></a>

```
{ "Resources": { "APSWorkspace": { "Type":
                "AWS::APS::Workspace", "Properties": { "Alias": "TestWorkspace",
                "LoggingConfiguration": { "LogGroupArn":
                "arn:aws:logs:{region}:{account}:log-group:test-log-group:*" }, "Tags": [ { "Key":
                "BusinessPurpose", "Value": "LoadTesting" } ] } } } }
```

#### YAML
<a name="aws-resource-aps-workspace--examples--Amazon_Managed_Service_for_Prometheus_logging_configuration_example--yaml"></a>

```
Resources: APSWorkspace: Type: AWS::APS::Workspace Properties:
                Alias: TestWorkspace LoggingConfiguration: LogGroupArn:
                "arn:aws:logs:{region}:{account}:log-group:test-log-group:*" Tags: - Key:
                BusinessPurpose Value: LoadTesting
```

# AWS::APS::Workspace CloudWatchLogDestination
<a name="aws-properties-aps-workspace-cloudwatchlogdestination"></a>

Configuration details for logging to CloudWatch Logs.

## Syntax
<a name="aws-properties-aps-workspace-cloudwatchlogdestination-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-cloudwatchlogdestination-syntax.json"></a>

```
{
  "[LogGroupArn](#cfn-aps-workspace-cloudwatchlogdestination-loggrouparn)" : String
}
```

### YAML
<a name="aws-properties-aps-workspace-cloudwatchlogdestination-syntax.yaml"></a>

```
  [LogGroupArn](#cfn-aps-workspace-cloudwatchlogdestination-loggrouparn): String
```

## Properties
<a name="aws-properties-aps-workspace-cloudwatchlogdestination-properties"></a>

`LogGroupArn`  <a name="cfn-aps-workspace-cloudwatchlogdestination-loggrouparn"></a>
The ARN of the CloudWatch log group.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace Label
<a name="aws-properties-aps-workspace-label"></a>

A label is a name:value pair used to add context to ingested metrics. This structure defines the name and value for one label that is used in a label set. You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion.

## Syntax
<a name="aws-properties-aps-workspace-label-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-label-syntax.json"></a>

```
{
  "[Name](#cfn-aps-workspace-label-name)" : String,
  "[Value](#cfn-aps-workspace-label-value)" : String
}
```

### YAML
<a name="aws-properties-aps-workspace-label-syntax.yaml"></a>

```
  [Name](#cfn-aps-workspace-label-name): String
  [Value](#cfn-aps-workspace-label-value): String
```

## Properties
<a name="aws-properties-aps-workspace-label-properties"></a>

`Name`  <a name="cfn-aps-workspace-label-name"></a>
The name for this label.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z_][a-zA-Z0-9_]*$`  
*Minimum*: `1`  
*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-aps-workspace-label-value"></a>
The value for this label.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace LimitsPerLabelSet
<a name="aws-properties-aps-workspace-limitsperlabelset"></a>

This defines a label set for the workspace, and defines the ingestion limit for active time series that match that label set. Each label name in a label set must be unique.

## Syntax
<a name="aws-properties-aps-workspace-limitsperlabelset-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-limitsperlabelset-syntax.json"></a>

```
{
  "[LabelSet](#cfn-aps-workspace-limitsperlabelset-labelset)" : [ Label, ... ],
  "[Limits](#cfn-aps-workspace-limitsperlabelset-limits)" : LimitsPerLabelSetEntry
}
```

### YAML
<a name="aws-properties-aps-workspace-limitsperlabelset-syntax.yaml"></a>

```
  [LabelSet](#cfn-aps-workspace-limitsperlabelset-labelset): 
    - Label
  [Limits](#cfn-aps-workspace-limitsperlabelset-limits): 
    LimitsPerLabelSetEntry
```

## Properties
<a name="aws-properties-aps-workspace-limitsperlabelset-properties"></a>

`LabelSet`  <a name="cfn-aps-workspace-limitsperlabelset-labelset"></a>
This defines one label set that will have an enforced ingestion limit. You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion.  
Label values accept all UTF-8 characters with one exception. If the label name is metric name label `__name__`, then the *metric* part of the name must conform to the following pattern: `[a-zA-Z_:][a-zA-Z0-9_:]*`  
*Required*: Yes  
*Type*: Array of [Label](aws-properties-aps-workspace-label.md)  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Limits`  <a name="cfn-aps-workspace-limitsperlabelset-limits"></a>
This structure contains the information about the limits that apply to time series that match this label set.  
*Required*: Yes  
*Type*: [LimitsPerLabelSetEntry](aws-properties-aps-workspace-limitsperlabelsetentry.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace LimitsPerLabelSetEntry
<a name="aws-properties-aps-workspace-limitsperlabelsetentry"></a>

 This structure contains the limits that apply to time series that match one label set.

## Syntax
<a name="aws-properties-aps-workspace-limitsperlabelsetentry-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-limitsperlabelsetentry-syntax.json"></a>

```
{
  "[MaxSeries](#cfn-aps-workspace-limitsperlabelsetentry-maxseries)" : Integer
}
```

### YAML
<a name="aws-properties-aps-workspace-limitsperlabelsetentry-syntax.yaml"></a>

```
  [MaxSeries](#cfn-aps-workspace-limitsperlabelsetentry-maxseries): Integer
```

## Properties
<a name="aws-properties-aps-workspace-limitsperlabelsetentry-properties"></a>

`MaxSeries`  <a name="cfn-aps-workspace-limitsperlabelsetentry-maxseries"></a>
The maximum number of active series that can be ingested that match this label set.   
Setting this to 0 causes no label set limit to be enforced, but it does cause Amazon Managed Service for Prometheus to vend label set metrics to CloudWatch  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace LoggingConfiguration
<a name="aws-properties-aps-workspace-loggingconfiguration"></a>

Contains information about the rules and alerting logging configuration for the workspace.

**Note**  
These logging configurations are only for rules and alerting logs.

## Syntax
<a name="aws-properties-aps-workspace-loggingconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-loggingconfiguration-syntax.json"></a>

```
{
  "[LogGroupArn](#cfn-aps-workspace-loggingconfiguration-loggrouparn)" : String
}
```

### YAML
<a name="aws-properties-aps-workspace-loggingconfiguration-syntax.yaml"></a>

```
  [LogGroupArn](#cfn-aps-workspace-loggingconfiguration-loggrouparn): String
```

## Properties
<a name="aws-properties-aps-workspace-loggingconfiguration-properties"></a>

`LogGroupArn`  <a name="cfn-aps-workspace-loggingconfiguration-loggrouparn"></a>
The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist prior to calling this operation.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace LoggingDestination
<a name="aws-properties-aps-workspace-loggingdestination"></a>

The logging destination in an Amazon Managed Service for Prometheus workspace.

## Syntax
<a name="aws-properties-aps-workspace-loggingdestination-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-loggingdestination-syntax.json"></a>

```
{
  "[CloudWatchLogs](#cfn-aps-workspace-loggingdestination-cloudwatchlogs)" : CloudWatchLogDestination,
  "[Filters](#cfn-aps-workspace-loggingdestination-filters)" : LoggingFilter
}
```

### YAML
<a name="aws-properties-aps-workspace-loggingdestination-syntax.yaml"></a>

```
  [CloudWatchLogs](#cfn-aps-workspace-loggingdestination-cloudwatchlogs): 
    CloudWatchLogDestination
  [Filters](#cfn-aps-workspace-loggingdestination-filters): 
    LoggingFilter
```

## Properties
<a name="aws-properties-aps-workspace-loggingdestination-properties"></a>

`CloudWatchLogs`  <a name="cfn-aps-workspace-loggingdestination-cloudwatchlogs"></a>
Configuration details for logging to CloudWatch Logs.  
*Required*: Yes  
*Type*: [CloudWatchLogDestination](aws-properties-aps-workspace-cloudwatchlogdestination.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Filters`  <a name="cfn-aps-workspace-loggingdestination-filters"></a>
Filtering criteria that determine which queries are logged.  
*Required*: Yes  
*Type*: [LoggingFilter](aws-properties-aps-workspace-loggingfilter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace LoggingFilter
<a name="aws-properties-aps-workspace-loggingfilter"></a>

Filtering criteria that determine which queries are logged.

## Syntax
<a name="aws-properties-aps-workspace-loggingfilter-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-loggingfilter-syntax.json"></a>

```
{
  "[QspThreshold](#cfn-aps-workspace-loggingfilter-qspthreshold)" : Integer
}
```

### YAML
<a name="aws-properties-aps-workspace-loggingfilter-syntax.yaml"></a>

```
  [QspThreshold](#cfn-aps-workspace-loggingfilter-qspthreshold): Integer
```

## Properties
<a name="aws-properties-aps-workspace-loggingfilter-properties"></a>

`QspThreshold`  <a name="cfn-aps-workspace-loggingfilter-qspthreshold"></a>
The Query Samples Processed (QSP) threshold above which queries will be logged. Queries processing more samples than this threshold will be captured in logs.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace QueryLoggingConfiguration
<a name="aws-properties-aps-workspace-queryloggingconfiguration"></a>

The query logging configuration in an Amazon Managed Service for Prometheus workspace.

## Syntax
<a name="aws-properties-aps-workspace-queryloggingconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-queryloggingconfiguration-syntax.json"></a>

```
{
  "[Destinations](#cfn-aps-workspace-queryloggingconfiguration-destinations)" : [ LoggingDestination, ... ]
}
```

### YAML
<a name="aws-properties-aps-workspace-queryloggingconfiguration-syntax.yaml"></a>

```
  [Destinations](#cfn-aps-workspace-queryloggingconfiguration-destinations): 
    - LoggingDestination
```

## Properties
<a name="aws-properties-aps-workspace-queryloggingconfiguration-properties"></a>

`Destinations`  <a name="cfn-aps-workspace-queryloggingconfiguration-destinations"></a>
Defines a destination and its associated filtering criteria for query logging.  
*Required*: Yes  
*Type*: Array of [LoggingDestination](aws-properties-aps-workspace-loggingdestination.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::APS::Workspace Tag
<a name="aws-properties-aps-workspace-tag"></a>

A tag associated with a resource.

## Syntax
<a name="aws-properties-aps-workspace-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-aps-workspace-tag-key): String
  [Value](#cfn-aps-workspace-tag-value): String
```

## Properties
<a name="aws-properties-aps-workspace-tag-properties"></a>

`Key`  <a name="cfn-aps-workspace-tag-key"></a>
The key of the tag. Must not begin with `aws:`.  
*Required*: Yes  
*Type*: String  
*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-aps-workspace-tag-value"></a>
The value of the tag.  
*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)

# AWS::APS::Workspace WorkspaceConfiguration
<a name="aws-properties-aps-workspace-workspaceconfiguration"></a>

Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.

## Syntax
<a name="aws-properties-aps-workspace-workspaceconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-aps-workspace-workspaceconfiguration-syntax.json"></a>

```
{
  "[LimitsPerLabelSets](#cfn-aps-workspace-workspaceconfiguration-limitsperlabelsets)" : [ LimitsPerLabelSet, ... ],
  "[RetentionPeriodInDays](#cfn-aps-workspace-workspaceconfiguration-retentionperiodindays)" : Integer
}
```

### YAML
<a name="aws-properties-aps-workspace-workspaceconfiguration-syntax.yaml"></a>

```
  [LimitsPerLabelSets](#cfn-aps-workspace-workspaceconfiguration-limitsperlabelsets): 
    - LimitsPerLabelSet
  [RetentionPeriodInDays](#cfn-aps-workspace-workspaceconfiguration-retentionperiodindays): Integer
```

## Properties
<a name="aws-properties-aps-workspace-workspaceconfiguration-properties"></a>

`LimitsPerLabelSets`  <a name="cfn-aps-workspace-workspaceconfiguration-limitsperlabelsets"></a>
This is an array of structures, where each structure defines a label set for the workspace, and defines the ingestion limit for active time series for each of those label sets. Each label name in a label set must be unique.  
*Required*: No  
*Type*: Array of [LimitsPerLabelSet](aws-properties-aps-workspace-limitsperlabelset.md)  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RetentionPeriodInDays`  <a name="cfn-aps-workspace-workspaceconfiguration-retentionperiodindays"></a>
Specifies how many days that metrics will be retained in the workspace.  
*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)