Class: AWSCDK::CustomerProfiles::CfnObjectTypeProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
customer_profiles/cfn_object_type_props.rb

Overview

Properties for defining a CfnObjectType.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description:, domain_name:, object_type_name:, allow_profile_creation: nil, encryption_key: nil, expiration_days: nil, fields: nil, keys: nil, max_profile_object_count: nil, source_last_updated_timestamp_format: nil, source_priority: nil, tags: nil, template_id: nil) ⇒ CfnObjectTypeProps

Returns a new instance of CfnObjectTypeProps.

Parameters:

  • description (String)

    The description of the profile object type mapping.

  • domain_name (String)

    The unique name of the domain.

  • object_type_name (String)

    The name of the profile object type.

  • allow_profile_creation (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type.

  • encryption_key (String, nil) (defaults to: nil)

    The customer-provided key to encrypt the profile object that will be created in this profile object type mapping.

  • expiration_days (Numeric, nil) (defaults to: nil)

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

  • fields (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CustomerProfiles::CfnObjectType::FieldMapProperty>, nil) (defaults to: nil)

    A list of field definitions for the object type mapping.

  • keys (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CustomerProfiles::CfnObjectType::KeyMapProperty>, nil) (defaults to: nil)

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

  • max_profile_object_count (Numeric, nil) (defaults to: nil)

    The amount of profile object max count assigned to the object type.

  • source_last_updated_timestamp_format (String, nil) (defaults to: nil)

    The format of your sourceLastUpdatedTimestamp that was previously set up.

  • source_priority (Numeric, nil) (defaults to: nil)

    Defines the priority order of object types.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

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

  • template_id (String, nil) (defaults to: nil)

    A unique identifier for the template mapping.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'customer_profiles/cfn_object_type_props.rb', line 22

def initialize(description:, domain_name:, object_type_name:, allow_profile_creation: nil, encryption_key: nil, expiration_days: nil, fields: nil, keys: nil, max_profile_object_count: nil, source_last_updated_timestamp_format: nil, source_priority: nil, tags: nil, template_id: nil)
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description")
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName")
  @object_type_name = object_type_name
  Jsii::Type.check_type(@object_type_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "objectTypeName")
  @allow_profile_creation = allow_profile_creation
  Jsii::Type.check_type(@allow_profile_creation, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allowProfileCreation") unless @allow_profile_creation.nil?
  @encryption_key = encryption_key
  Jsii::Type.check_type(@encryption_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionKey") unless @encryption_key.nil?
  @expiration_days = expiration_days
  Jsii::Type.check_type(@expiration_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "expirationDays") unless @expiration_days.nil?
  @fields = fields
  Jsii::Type.check_type(@fields, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY3VzdG9tZXJwcm9maWxlcy5DZm5PYmplY3RUeXBlLkZpZWxkTWFwUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "fields") unless @fields.nil?
  @keys = keys
  Jsii::Type.check_type(@keys, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY3VzdG9tZXJwcm9maWxlcy5DZm5PYmplY3RUeXBlLktleU1hcFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "keys") unless @keys.nil?
  @max_profile_object_count = max_profile_object_count
  Jsii::Type.check_type(@max_profile_object_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxProfileObjectCount") unless @max_profile_object_count.nil?
  @source_last_updated_timestamp_format = source_last_updated_timestamp_format
  Jsii::Type.check_type(@source_last_updated_timestamp_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceLastUpdatedTimestampFormat") unless @source_last_updated_timestamp_format.nil?
  @source_priority = source_priority
  Jsii::Type.check_type(@source_priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "sourcePriority") unless @source_priority.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @template_id = template_id
  Jsii::Type.check_type(@template_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "templateId") unless @template_id.nil?
end

Instance Attribute Details

#allow_profile_creationBoolean, ... (readonly)

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.



72
73
74
# File 'customer_profiles/cfn_object_type_props.rb', line 72

def allow_profile_creation
  @allow_profile_creation
end

#descriptionString (readonly)

The description of the profile object type mapping.



55
56
57
# File 'customer_profiles/cfn_object_type_props.rb', line 55

def description
  @description
end

#domain_nameString (readonly)

The unique name of the domain.



60
61
62
# File 'customer_profiles/cfn_object_type_props.rb', line 60

def domain_name
  @domain_name
end

#encryption_keyString? (readonly)

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.



79
80
81
# File 'customer_profiles/cfn_object_type_props.rb', line 79

def encryption_key
  @encryption_key
end

#expiration_daysNumeric? (readonly)

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



84
85
86
# File 'customer_profiles/cfn_object_type_props.rb', line 84

def expiration_days
  @expiration_days
end

#fieldsAWSCDK::IResolvable, ... (readonly)

A list of field definitions for the object type mapping.



89
90
91
# File 'customer_profiles/cfn_object_type_props.rb', line 89

def fields
  @fields
end

#keysAWSCDK::IResolvable, ... (readonly)

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



94
95
96
# File 'customer_profiles/cfn_object_type_props.rb', line 94

def keys
  @keys
end

#max_profile_object_countNumeric? (readonly)

The amount of profile object max count assigned to the object type.



99
100
101
# File 'customer_profiles/cfn_object_type_props.rb', line 99

def max_profile_object_count
  @max_profile_object_count
end

#object_type_nameString (readonly)

The name of the profile object type.



65
66
67
# File 'customer_profiles/cfn_object_type_props.rb', line 65

def object_type_name
  @object_type_name
end

#source_last_updated_timestamp_formatString? (readonly)

The format of your sourceLastUpdatedTimestamp that was previously set up.



104
105
106
# File 'customer_profiles/cfn_object_type_props.rb', line 104

def source_last_updated_timestamp_format
  @source_last_updated_timestamp_format
end

#source_priorityNumeric? (readonly)

Defines the priority order of object types.

Lower value indicates higher priority.



111
112
113
# File 'customer_profiles/cfn_object_type_props.rb', line 111

def source_priority
  @source_priority
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

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



116
117
118
# File 'customer_profiles/cfn_object_type_props.rb', line 116

def tags
  @tags
end

#template_idString? (readonly)

A unique identifier for the template mapping.

This can be used instead of specifying the Keys and Fields properties directly.



123
124
125
# File 'customer_profiles/cfn_object_type_props.rb', line 123

def template_id
  @template_id
end

Class Method Details

.jsii_propertiesObject



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'customer_profiles/cfn_object_type_props.rb', line 125

def self.jsii_properties
  {
    :description => "description",
    :domain_name => "domainName",
    :object_type_name => "objectTypeName",
    :allow_profile_creation => "allowProfileCreation",
    :encryption_key => "encryptionKey",
    :expiration_days => "expirationDays",
    :fields => "fields",
    :keys => "keys",
    :max_profile_object_count => "maxProfileObjectCount",
    :source_last_updated_timestamp_format => "sourceLastUpdatedTimestampFormat",
    :source_priority => "sourcePriority",
    :tags => "tags",
    :template_id => "templateId",
  }
end

Instance Method Details

#to_jsiiObject



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'customer_profiles/cfn_object_type_props.rb', line 143

def to_jsii
  result = {}
  result.merge!({
    "description" => @description,
    "domainName" => @domain_name,
    "objectTypeName" => @object_type_name,
    "allowProfileCreation" => @allow_profile_creation,
    "encryptionKey" => @encryption_key,
    "expirationDays" => @expiration_days,
    "fields" => @fields,
    "keys" => @keys,
    "maxProfileObjectCount" => @max_profile_object_count,
    "sourceLastUpdatedTimestampFormat" => @source_last_updated_timestamp_format,
    "sourcePriority" => @source_priority,
    "tags" => @tags,
    "templateId" => @template_id,
  })
  result.compact
end