Class: AWSCDK::CustomerProfiles::CfnSegmentDefinitionProps

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

Overview

Properties for defining a CfnSegmentDefinition.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(display_name:, domain_name:, segment_definition_name:, description: nil, segment_groups: nil, segment_sort: nil, segment_sql_query: nil, tags: nil) ⇒ CfnSegmentDefinitionProps

Returns a new instance of CfnSegmentDefinitionProps.

Parameters:



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'customer_profiles/cfn_segment_definition_props.rb', line 17

def initialize(display_name:, domain_name:, segment_definition_name:, description: nil, segment_groups: nil, segment_sort: nil, segment_sql_query: nil, tags: nil)
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName")
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName")
  @segment_definition_name = segment_definition_name
  Jsii::Type.check_type(@segment_definition_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "segmentDefinitionName")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @segment_groups = segment_groups.is_a?(Hash) ? ::AWSCDK::CustomerProfiles::CfnSegmentDefinition::SegmentGroupProperty.new(**segment_groups.transform_keys(&:to_sym)) : segment_groups
  Jsii::Type.check_type(@segment_groups, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jdXN0b21lcnByb2ZpbGVzLkNmblNlZ21lbnREZWZpbml0aW9uLlNlZ21lbnRHcm91cFByb3BlcnR5In1dfX0=")), "segmentGroups") unless @segment_groups.nil?
  @segment_sort = segment_sort.is_a?(Hash) ? ::AWSCDK::CustomerProfiles::CfnSegmentDefinition::SegmentSortProperty.new(**segment_sort.transform_keys(&:to_sym)) : segment_sort
  Jsii::Type.check_type(@segment_sort, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jdXN0b21lcnByb2ZpbGVzLkNmblNlZ21lbnREZWZpbml0aW9uLlNlZ21lbnRTb3J0UHJvcGVydHkifV19fQ==")), "segmentSort") unless @segment_sort.nil?
  @segment_sql_query = segment_sql_query
  Jsii::Type.check_type(@segment_sql_query, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "segmentSqlQuery") unless @segment_sql_query.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?
end

Instance Attribute Details

#descriptionString? (readonly)

The description of the segment definition.



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

def description
  @description
end

#display_nameString (readonly)

Display name of the segment definition.



40
41
42
# File 'customer_profiles/cfn_segment_definition_props.rb', line 40

def display_name
  @display_name
end

#domain_nameString (readonly)

The name of the domain.



45
46
47
# File 'customer_profiles/cfn_segment_definition_props.rb', line 45

def domain_name
  @domain_name
end

#segment_definition_nameString (readonly)

Name of the segment definition.



50
51
52
# File 'customer_profiles/cfn_segment_definition_props.rb', line 50

def segment_definition_name
  @segment_definition_name
end

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

Contains all groups of the segment definition.



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

def segment_groups
  @segment_groups
end

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

Defines how segments should be sorted and ordered in the results.



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

def segment_sort
  @segment_sort
end

#segment_sql_queryString? (readonly)

The SQL query that defines the segment criteria.



70
71
72
# File 'customer_profiles/cfn_segment_definition_props.rb', line 70

def segment_sql_query
  @segment_sql_query
end

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

The tags belonging to the segment definition.



75
76
77
# File 'customer_profiles/cfn_segment_definition_props.rb', line 75

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



77
78
79
80
81
82
83
84
85
86
87
88
# File 'customer_profiles/cfn_segment_definition_props.rb', line 77

def self.jsii_properties
  {
    :display_name => "displayName",
    :domain_name => "domainName",
    :segment_definition_name => "segmentDefinitionName",
    :description => "description",
    :segment_groups => "segmentGroups",
    :segment_sort => "segmentSort",
    :segment_sql_query => "segmentSqlQuery",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'customer_profiles/cfn_segment_definition_props.rb', line 90

def to_jsii
  result = {}
  result.merge!({
    "displayName" => @display_name,
    "domainName" => @domain_name,
    "segmentDefinitionName" => @segment_definition_name,
    "description" => @description,
    "segmentGroups" => @segment_groups,
    "segmentSort" => @segment_sort,
    "segmentSqlQuery" => @segment_sql_query,
    "tags" => @tags,
  })
  result.compact
end