AWS::CustomerProfiles::ObjectType - AWS CloudFormation

AWS::CustomerProfiles::ObjectType

Specifies an Amazon Connect Customer Profiles Object Type Mapping.

Syntax

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

JSON

{ "Type" : "AWS::CustomerProfiles::ObjectType", "Properties" : { "AllowProfileCreation" : Boolean, "Description" : String, "DomainName" : String, "EncryptionKey" : String, "ExpirationDays" : Integer, "Fields" : [ FieldMap, ... ], "Keys" : [ KeyMap, ... ], "ObjectTypeName" : String, "SourceLastUpdatedTimestampFormat" : String, "Tags" : [ Tag, ... ], "TemplateId" : String } }

YAML

Type: AWS::CustomerProfiles::ObjectType Properties: AllowProfileCreation: Boolean Description: String DomainName: String EncryptionKey: String ExpirationDays: Integer Fields: - FieldMap Keys: - KeyMap ObjectTypeName: String SourceLastUpdatedTimestampFormat: String Tags: - Tag TemplateId: String

Properties

AllowProfileCreation

Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE. If the AllowProfileCreation flag is set to FALSE, then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE, and if no match is found, then the service creates a new standard profile.

Required: No

Type: Boolean

Update requires: No interruption

Description

The description of the profile object type mapping.

Required: Yes

Type: String

Minimum: 1

Maximum: 1000

Update requires: No interruption

DomainName

The unique name of the domain.

Required: Yes

Type: String

Pattern: ^[a-zA-Z0-9_-]+$

Minimum: 1

Maximum: 64

Update requires: Replacement

EncryptionKey

The customer-provided key to encrypt the profile object that will be created in this profile object type mapping. If not specified the system will use the encryption key of the domain.

Required: No

Type: String

Minimum: 0

Maximum: 255

Update requires: No interruption

ExpirationDays

The number of days until the data of this type expires.

Required: No

Type: Integer

Minimum: 1

Maximum: 1098

Update requires: No interruption

Fields

A list of field definitions for the object type mapping.

Required: No

Type: Array of FieldMap

Update requires: No interruption

Keys

A list of keys that can be used to map data to the profile or search for the profile.

Required: No

Type: Array of KeyMap

Update requires: No interruption

ObjectTypeName

The name of the profile object type.

Required: Yes

Type: String

Pattern: ^[a-zA-Z_][a-zA-Z_0-9-]*$

Minimum: 1

Maximum: 255

Update requires: Replacement

SourceLastUpdatedTimestampFormat

The format of your sourceLastUpdatedTimestamp that was previously set up.

Required: No

Type: String

Minimum: 1

Maximum: 255

Update requires: No interruption

Tags

The tags used to organize, track, or control access for this resource.

Required: No

Type: Array of Tag

Minimum: 0

Maximum: 50

Update requires: No interruption

TemplateId

A unique identifier for the template mapping. This can be used instead of specifying the Keys and Fields properties directly.

Required: No

Type: String

Pattern: ^[a-zA-Z0-9_-]+$

Minimum: 1

Maximum: 64

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the DomainName and the ObjectTypeName of the object type.

For more information about using the Ref function, see Ref.

Fn::GetAtt

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 Fn::GetAtt.

CreatedAt

The timestamp of when the object type was created.

LastUpdatedAt

The timestamp of when the object type was most recently edited.

Examples

The following example creates a object type if Domain existed.

YAML

Type: "AWS::CustomerProfiles::ObjectType" Properties: DomainName: "ExampleDomain" ObjectTypeName: "ExampleObjectType" AllowProfileCreation: false Description: "Description Example" ExpirationDays: 1 Fields: - Name: "email" ObjectTypeField: Source: "_source.email" Target: "_profile.BusinessEmail" ContentType: "EMAIL_ADDRESS" Keys: - Name: "_email" ObjectTypeKeyList: - FieldNames: - "email" StandardIdentifiers: - "PROFILE" - "UNIQUE"

JSON

"Type": "AWS::CustomerProfiles::ObjectType", "Properties": { "DomainName": "ExampleDomain", "ObjectTypeName": "ExampleObjectType", "AllowProfileCreation": false, "Description": "Description Example", "ExpirationDays": 1, "Fields": [{ "Name": "email", "ObjectTypeField": { "Source": "_source.email", "Target": "_profile.BusinessEmail", "ContentType": "EMAIL_ADDRESS" } }], "Keys": [{ "Name": "_email", "ObjectTypeKeyList": [{ "FieldNames": [ "email" ], "StandardIdentifiers": [ "PROFILE", "UNIQUE" ] }] }] }