

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::Pinpoint::Segment
<a name="aws-resource-pinpoint-segment"></a>

Updates the configuration, dimension, and other settings for an existing segment.

## Syntax
<a name="aws-resource-pinpoint-segment-syntax"></a>

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

### JSON
<a name="aws-resource-pinpoint-segment-syntax.json"></a>

```
{
  "Type" : "AWS::Pinpoint::Segment",
  "Properties" : {
      "[ApplicationId](#cfn-pinpoint-segment-applicationid)" : String,
      "[Dimensions](#cfn-pinpoint-segment-dimensions)" : SegmentDimensions,
      "[Name](#cfn-pinpoint-segment-name)" : String,
      "[SegmentGroups](#cfn-pinpoint-segment-segmentgroups)" : SegmentGroups,
      "[Tags](#cfn-pinpoint-segment-tags)" : [ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html), ... ]
    }
}
```

### YAML
<a name="aws-resource-pinpoint-segment-syntax.yaml"></a>

```
Type: AWS::Pinpoint::Segment
Properties:
  [ApplicationId](#cfn-pinpoint-segment-applicationid): String
  [Dimensions](#cfn-pinpoint-segment-dimensions): 
    SegmentDimensions
  [Name](#cfn-pinpoint-segment-name): String
  [SegmentGroups](#cfn-pinpoint-segment-segmentgroups): 
    SegmentGroups
  [Tags](#cfn-pinpoint-segment-tags): 
    - [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)
```

## Properties
<a name="aws-resource-pinpoint-segment-properties"></a>

`ApplicationId`  <a name="cfn-pinpoint-segment-applicationid"></a>
The unique identifier for the Amazon Pinpoint application that the segment is associated with.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Dimensions`  <a name="cfn-pinpoint-segment-dimensions"></a>
An array that defines the dimensions for the segment.  
*Required*: No  
*Type*: [SegmentDimensions](aws-properties-pinpoint-segment-segmentdimensions.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-pinpoint-segment-name"></a>
The name of the segment.  
A segment must have a name otherwise it will not appear in the Amazon Pinpoint console.
*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)

`SegmentGroups`  <a name="cfn-pinpoint-segment-segmentgroups"></a>
The segment group to use and the dimensions to apply to the group's base segments in order to build the segment. A segment group can consist of zero or more base segments. Your request can include only one segment group.  
*Required*: No  
*Type*: [SegmentGroups](aws-properties-pinpoint-segment-segmentgroups.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-pinpoint-segment-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-resource-tags.html)  
*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-pinpoint-segment-return-values"></a>

### Ref
<a name="aws-resource-pinpoint-segment-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the unique identifier (`ApplicationId`) for the Amazon Pinpoint application that the segment is associated with.

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-pinpoint-segment-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-pinpoint-segment-return-values-fn--getatt-fn--getatt"></a>

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

`SegmentId`  <a name="SegmentId-fn::getatt"></a>
The unique identifier for the segment.

# AWS::Pinpoint::Segment Behavior
<a name="aws-properties-pinpoint-segment-behavior"></a>

Specifies behavior-based criteria for the segment, such as how recently users have used your app.

## Syntax
<a name="aws-properties-pinpoint-segment-behavior-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-behavior-syntax.json"></a>

```
{
  "[Recency](#cfn-pinpoint-segment-behavior-recency)" : Recency
}
```

### YAML
<a name="aws-properties-pinpoint-segment-behavior-syntax.yaml"></a>

```
  [Recency](#cfn-pinpoint-segment-behavior-recency): 
    Recency
```

## Properties
<a name="aws-properties-pinpoint-segment-behavior-properties"></a>

`Recency`  <a name="cfn-pinpoint-segment-behavior-recency"></a>
Specifies how recently segment members were active.  
*Required*: No  
*Type*: [Recency](aws-properties-pinpoint-segment-recency.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Pinpoint::Segment Coordinates
<a name="aws-properties-pinpoint-segment-coordinates"></a>

Specifies the GPS coordinates of a location.

## Syntax
<a name="aws-properties-pinpoint-segment-coordinates-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-coordinates-syntax.json"></a>

```
{
  "[Latitude](#cfn-pinpoint-segment-coordinates-latitude)" : Number,
  "[Longitude](#cfn-pinpoint-segment-coordinates-longitude)" : Number
}
```

### YAML
<a name="aws-properties-pinpoint-segment-coordinates-syntax.yaml"></a>

```
  [Latitude](#cfn-pinpoint-segment-coordinates-latitude): Number
  [Longitude](#cfn-pinpoint-segment-coordinates-longitude): Number
```

## Properties
<a name="aws-properties-pinpoint-segment-coordinates-properties"></a>

`Latitude`  <a name="cfn-pinpoint-segment-coordinates-latitude"></a>
The latitude coordinate of the location.  
*Required*: Yes  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Longitude`  <a name="cfn-pinpoint-segment-coordinates-longitude"></a>
The longitude coordinate of the location.  
*Required*: Yes  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Pinpoint::Segment Demographic
<a name="aws-properties-pinpoint-segment-demographic"></a>

Specifies demographic-based criteria, such as device platform, for the segment.

## Syntax
<a name="aws-properties-pinpoint-segment-demographic-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-demographic-syntax.json"></a>

```
{
  "[AppVersion](#cfn-pinpoint-segment-demographic-appversion)" : SetDimension,
  "[Channel](#cfn-pinpoint-segment-demographic-channel)" : SetDimension,
  "[DeviceType](#cfn-pinpoint-segment-demographic-devicetype)" : SetDimension,
  "[Make](#cfn-pinpoint-segment-demographic-make)" : SetDimension,
  "[Model](#cfn-pinpoint-segment-demographic-model)" : SetDimension,
  "[Platform](#cfn-pinpoint-segment-demographic-platform)" : SetDimension
}
```

### YAML
<a name="aws-properties-pinpoint-segment-demographic-syntax.yaml"></a>

```
  [AppVersion](#cfn-pinpoint-segment-demographic-appversion): 
    SetDimension
  [Channel](#cfn-pinpoint-segment-demographic-channel): 
    SetDimension
  [DeviceType](#cfn-pinpoint-segment-demographic-devicetype): 
    SetDimension
  [Make](#cfn-pinpoint-segment-demographic-make): 
    SetDimension
  [Model](#cfn-pinpoint-segment-demographic-model): 
    SetDimension
  [Platform](#cfn-pinpoint-segment-demographic-platform): 
    SetDimension
```

## Properties
<a name="aws-properties-pinpoint-segment-demographic-properties"></a>

`AppVersion`  <a name="cfn-pinpoint-segment-demographic-appversion"></a>
The app version criteria for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Channel`  <a name="cfn-pinpoint-segment-demographic-channel"></a>
The channel criteria for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeviceType`  <a name="cfn-pinpoint-segment-demographic-devicetype"></a>
The device type criteria for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Make`  <a name="cfn-pinpoint-segment-demographic-make"></a>
The device make criteria for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Model`  <a name="cfn-pinpoint-segment-demographic-model"></a>
The device model criteria for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Platform`  <a name="cfn-pinpoint-segment-demographic-platform"></a>
The device platform criteria for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Pinpoint::Segment GPSPoint
<a name="aws-properties-pinpoint-segment-gpspoint"></a>

Specifies the GPS coordinates of the endpoint location.

## Syntax
<a name="aws-properties-pinpoint-segment-gpspoint-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-gpspoint-syntax.json"></a>

```
{
  "[Coordinates](#cfn-pinpoint-segment-gpspoint-coordinates)" : Coordinates,
  "[RangeInKilometers](#cfn-pinpoint-segment-gpspoint-rangeinkilometers)" : Number
}
```

### YAML
<a name="aws-properties-pinpoint-segment-gpspoint-syntax.yaml"></a>

```
  [Coordinates](#cfn-pinpoint-segment-gpspoint-coordinates): 
    Coordinates
  [RangeInKilometers](#cfn-pinpoint-segment-gpspoint-rangeinkilometers): Number
```

## Properties
<a name="aws-properties-pinpoint-segment-gpspoint-properties"></a>

`Coordinates`  <a name="cfn-pinpoint-segment-gpspoint-coordinates"></a>
The GPS coordinates to measure distance from.  
*Required*: Yes  
*Type*: [Coordinates](aws-properties-pinpoint-segment-coordinates.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RangeInKilometers`  <a name="cfn-pinpoint-segment-gpspoint-rangeinkilometers"></a>
The range, in kilometers, from the GPS coordinates.  
*Required*: Yes  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Pinpoint::Segment Groups
<a name="aws-properties-pinpoint-segment-groups"></a>

An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.

## Syntax
<a name="aws-properties-pinpoint-segment-groups-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-groups-syntax.json"></a>

```
{
  "[Dimensions](#cfn-pinpoint-segment-groups-dimensions)" : [ SegmentDimensions, ... ],
  "[SourceSegments](#cfn-pinpoint-segment-groups-sourcesegments)" : [ SourceSegments, ... ],
  "[SourceType](#cfn-pinpoint-segment-groups-sourcetype)" : String,
  "[Type](#cfn-pinpoint-segment-groups-type)" : String
}
```

### YAML
<a name="aws-properties-pinpoint-segment-groups-syntax.yaml"></a>

```
  [Dimensions](#cfn-pinpoint-segment-groups-dimensions): 
    - SegmentDimensions
  [SourceSegments](#cfn-pinpoint-segment-groups-sourcesegments): 
    - SourceSegments
  [SourceType](#cfn-pinpoint-segment-groups-sourcetype): String
  [Type](#cfn-pinpoint-segment-groups-type): String
```

## Properties
<a name="aws-properties-pinpoint-segment-groups-properties"></a>

`Dimensions`  <a name="cfn-pinpoint-segment-groups-dimensions"></a>
An array that defines the dimensions to include or exclude from the segment.  
*Required*: No  
*Type*: Array of [SegmentDimensions](aws-properties-pinpoint-segment-segmentdimensions.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceSegments`  <a name="cfn-pinpoint-segment-groups-sourcesegments"></a>
The base segment to build the segment on. A base segment, also called a *source segment*, defines the initial population of endpoints for a segment. When you add dimensions to the segment, Amazon Pinpoint filters the base segment by using the dimensions that you specify.  
You can specify more than one dimensional segment or only one imported segment. If you specify an imported segment, the segment size estimate that displays on the Amazon Pinpoint console indicates the size of the imported segment without any filters applied to it.  
*Required*: No  
*Type*: [Array](aws-properties-pinpoint-segment-sourcesegments.md) of [SourceSegments](aws-properties-pinpoint-segment-sourcesegments.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceType`  <a name="cfn-pinpoint-segment-groups-sourcetype"></a>
Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments for the segment, whether the resulting segment is based on all, any, or none of the base segments.  
*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-pinpoint-segment-groups-type"></a>
Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.  
*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::Pinpoint::Segment Location
<a name="aws-properties-pinpoint-segment-location"></a>

Specifies location-based criteria, such as region or GPS coordinates, for the segment.

## Syntax
<a name="aws-properties-pinpoint-segment-location-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-location-syntax.json"></a>

```
{
  "[Country](#cfn-pinpoint-segment-location-country)" : SetDimension,
  "[GPSPoint](#cfn-pinpoint-segment-location-gpspoint)" : GPSPoint
}
```

### YAML
<a name="aws-properties-pinpoint-segment-location-syntax.yaml"></a>

```
  [Country](#cfn-pinpoint-segment-location-country): 
    SetDimension
  [GPSPoint](#cfn-pinpoint-segment-location-gpspoint): 
    GPSPoint
```

## Properties
<a name="aws-properties-pinpoint-segment-location-properties"></a>

`Country`  <a name="cfn-pinpoint-segment-location-country"></a>
The country or region code, in ISO 3166-1 alpha-2 format, for the segment.  
*Required*: No  
*Type*: [SetDimension](aws-properties-pinpoint-segment-setdimension.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GPSPoint`  <a name="cfn-pinpoint-segment-location-gpspoint"></a>
The GPS point dimension for the segment.  
*Required*: No  
*Type*: [GPSPoint](aws-properties-pinpoint-segment-gpspoint.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Pinpoint::Segment Recency
<a name="aws-properties-pinpoint-segment-recency"></a>

Specifies how recently segment members were active.

## Syntax
<a name="aws-properties-pinpoint-segment-recency-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-recency-syntax.json"></a>

```
{
  "[Duration](#cfn-pinpoint-segment-recency-duration)" : String,
  "[RecencyType](#cfn-pinpoint-segment-recency-recencytype)" : String
}
```

### YAML
<a name="aws-properties-pinpoint-segment-recency-syntax.yaml"></a>

```
  [Duration](#cfn-pinpoint-segment-recency-duration): String
  [RecencyType](#cfn-pinpoint-segment-recency-recencytype): String
```

## Properties
<a name="aws-properties-pinpoint-segment-recency-properties"></a>

`Duration`  <a name="cfn-pinpoint-segment-recency-duration"></a>
The duration to use when determining which users have been active or inactive with your app.  
Possible values: `HR_24` \$1 `DAY_7` \$1 `DAY_14` \$1 `DAY_30`.  
*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)

`RecencyType`  <a name="cfn-pinpoint-segment-recency-recencytype"></a>
The type of recency dimension to use for the segment. Valid values are: `ACTIVE` and `INACTIVE`. If the value is `ACTIVE`, the segment includes users who have used your app within the specified duration are included in the segment. If the value is `INACTIVE`, the segment includes users who haven't used your app within the specified duration are included in the segment.  
*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::Pinpoint::Segment SegmentDimensions
<a name="aws-properties-pinpoint-segment-segmentdimensions"></a>

Specifies the dimension settings for a segment.

## Syntax
<a name="aws-properties-pinpoint-segment-segmentdimensions-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-segmentdimensions-syntax.json"></a>

```
{
  "[Attributes](#cfn-pinpoint-segment-segmentdimensions-attributes)" : Json,
  "[Behavior](#cfn-pinpoint-segment-segmentdimensions-behavior)" : Behavior,
  "[Demographic](#cfn-pinpoint-segment-segmentdimensions-demographic)" : Demographic,
  "[Location](#cfn-pinpoint-segment-segmentdimensions-location)" : Location,
  "[Metrics](#cfn-pinpoint-segment-segmentdimensions-metrics)" : Json,
  "[UserAttributes](#cfn-pinpoint-segment-segmentdimensions-userattributes)" : Json
}
```

### YAML
<a name="aws-properties-pinpoint-segment-segmentdimensions-syntax.yaml"></a>

```
  [Attributes](#cfn-pinpoint-segment-segmentdimensions-attributes): Json
  [Behavior](#cfn-pinpoint-segment-segmentdimensions-behavior): 
    Behavior
  [Demographic](#cfn-pinpoint-segment-segmentdimensions-demographic): 
    Demographic
  [Location](#cfn-pinpoint-segment-segmentdimensions-location): 
    Location
  [Metrics](#cfn-pinpoint-segment-segmentdimensions-metrics): Json
  [UserAttributes](#cfn-pinpoint-segment-segmentdimensions-userattributes): Json
```

## Properties
<a name="aws-properties-pinpoint-segment-segmentdimensions-properties"></a>

`Attributes`  <a name="cfn-pinpoint-segment-segmentdimensions-attributes"></a>
One or more custom attributes to use as criteria for the segment. For more information see [AttributeDimension](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-segments.html#apps-application-id-segments-model-attributedimension)  
*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)

`Behavior`  <a name="cfn-pinpoint-segment-segmentdimensions-behavior"></a>
The behavior-based criteria, such as how recently users have used your app, for the segment.  
*Required*: No  
*Type*: [Behavior](aws-properties-pinpoint-segment-behavior.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Demographic`  <a name="cfn-pinpoint-segment-segmentdimensions-demographic"></a>
The demographic-based criteria, such as device platform, for the segment.  
*Required*: No  
*Type*: [Demographic](aws-properties-pinpoint-segment-demographic.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Location`  <a name="cfn-pinpoint-segment-segmentdimensions-location"></a>
The location-based criteria, such as region or GPS coordinates, for the segment.  
*Required*: No  
*Type*: [Location](aws-properties-pinpoint-segment-location.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Metrics`  <a name="cfn-pinpoint-segment-segmentdimensions-metrics"></a>
One or more custom metrics to use as criteria for the segment.  
*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)

`UserAttributes`  <a name="cfn-pinpoint-segment-segmentdimensions-userattributes"></a>
One or more custom user attributes to use as criteria for the segment.  
*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)

# AWS::Pinpoint::Segment SegmentGroups
<a name="aws-properties-pinpoint-segment-segmentgroups"></a>

Specifies the set of segment criteria to evaluate when handling segment groups for the segment.

## Syntax
<a name="aws-properties-pinpoint-segment-segmentgroups-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-segmentgroups-syntax.json"></a>

```
{
  "[Groups](#cfn-pinpoint-segment-segmentgroups-groups)" : [ Groups, ... ],
  "[Include](#cfn-pinpoint-segment-segmentgroups-include)" : String
}
```

### YAML
<a name="aws-properties-pinpoint-segment-segmentgroups-syntax.yaml"></a>

```
  [Groups](#cfn-pinpoint-segment-segmentgroups-groups): 
    - Groups
  [Include](#cfn-pinpoint-segment-segmentgroups-include): String
```

## Properties
<a name="aws-properties-pinpoint-segment-segmentgroups-properties"></a>

`Groups`  <a name="cfn-pinpoint-segment-segmentgroups-groups"></a>
Specifies the set of segment criteria to evaluate when handling segment groups for the segment.  
*Required*: No  
*Type*: [Array](aws-properties-pinpoint-segment-groups.md) of [Groups](aws-properties-pinpoint-segment-groups.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Include`  <a name="cfn-pinpoint-segment-segmentgroups-include"></a>
Specifies how to handle multiple segment groups for the segment. For example, if the segment includes three segment groups, whether the resulting segment includes endpoints that match all, any, or none of the segment groups.  
*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::Pinpoint::Segment SetDimension
<a name="aws-properties-pinpoint-segment-setdimension"></a>

Specifies the dimension type and values for a segment dimension.

## Syntax
<a name="aws-properties-pinpoint-segment-setdimension-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-setdimension-syntax.json"></a>

```
{
  "[DimensionType](#cfn-pinpoint-segment-setdimension-dimensiontype)" : String,
  "[Values](#cfn-pinpoint-segment-setdimension-values)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-pinpoint-segment-setdimension-syntax.yaml"></a>

```
  [DimensionType](#cfn-pinpoint-segment-setdimension-dimensiontype): String
  [Values](#cfn-pinpoint-segment-setdimension-values): 
    - String
```

## Properties
<a name="aws-properties-pinpoint-segment-setdimension-properties"></a>

`DimensionType`  <a name="cfn-pinpoint-segment-setdimension-dimensiontype"></a>
The type of segment dimension to use. Valid values are: `INCLUSIVE`, endpoints that match the criteria are included in the segment; and, `EXCLUSIVE`, endpoints that match the criteria are excluded from the segment.  
*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)

`Values`  <a name="cfn-pinpoint-segment-setdimension-values"></a>
The criteria values to use for the segment dimension. Depending on the value of the `DimensionType` property, endpoints are included or excluded from the segment if their values match the criteria values.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Pinpoint::Segment SourceSegments
<a name="aws-properties-pinpoint-segment-sourcesegments"></a>

Specifies the base segment to build the segment on. A base segment, also called a *source segment*, defines the initial population of endpoints for a segment. When you add dimensions to the segment, Amazon Pinpoint filters the base segment by using the dimensions that you specify.

You can specify more than one dimensional segment or only one imported segment. If you specify an imported segment, the segment size estimate that displays on the Amazon Pinpoint console indicates the size of the imported segment without any filters applied to it.

## Syntax
<a name="aws-properties-pinpoint-segment-sourcesegments-syntax"></a>

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

### JSON
<a name="aws-properties-pinpoint-segment-sourcesegments-syntax.json"></a>

```
{
  "[Id](#cfn-pinpoint-segment-sourcesegments-id)" : String,
  "[Version](#cfn-pinpoint-segment-sourcesegments-version)" : Integer
}
```

### YAML
<a name="aws-properties-pinpoint-segment-sourcesegments-syntax.yaml"></a>

```
  [Id](#cfn-pinpoint-segment-sourcesegments-id): String
  [Version](#cfn-pinpoint-segment-sourcesegments-version): Integer
```

## Properties
<a name="aws-properties-pinpoint-segment-sourcesegments-properties"></a>

`Id`  <a name="cfn-pinpoint-segment-sourcesegments-id"></a>
The unique identifier for the source segment.  
*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)

`Version`  <a name="cfn-pinpoint-segment-sourcesegments-version"></a>
The version number of the source segment.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)