Class: AWSCDK::SMSVoice::CfnPoolProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sms_voice/cfn_pool_props.rb

Overview

Properties for defining a CfnPool.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mandatory_keywords:, origination_identities:, deletion_protection_enabled: nil, optional_keywords: nil, opt_out_list_name: nil, self_managed_opt_outs_enabled: nil, shared_routes_enabled: nil, tags: nil, two_way: nil) ⇒ CfnPoolProps

Returns a new instance of CfnPoolProps.

Parameters:

  • mandatory_keywords (AWSCDK::IResolvable, AWSCDK::SMSVoice::CfnPool::MandatoryKeywordsProperty)

    Creates or updates the pool's MandatoryKeyword configuration.

  • origination_identities (Array<String>)

    The list of origination identities to apply to the pool, either PhoneNumberArn or SenderIdArn .

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

    When set to true the pool can't be deleted.

  • optional_keywords (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::SMSVoice::CfnPool::OptionalKeywordProperty>, nil) (defaults to: nil)

    Specifies any optional keywords to associate with the pool.

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

    The name of the OptOutList associated with the pool.

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

    When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging automatically replies with a customizable message and adds the end recipient to the OptOutList.

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

    Allows you to enable shared routes on your pool.

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

    An array of tags (key and value pairs) associated with the pool.

  • two_way (AWSCDK::IResolvable, AWSCDK::SMSVoice::CfnPool::TwoWayProperty, nil) (defaults to: nil)

    Describes the two-way SMS configuration for a phone number.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'sms_voice/cfn_pool_props.rb', line 18

def initialize(mandatory_keywords:, origination_identities:, deletion_protection_enabled: nil, optional_keywords: nil, opt_out_list_name: nil, self_managed_opt_outs_enabled: nil, shared_routes_enabled: nil, tags: nil, two_way: nil)
  @mandatory_keywords = mandatory_keywords.is_a?(Hash) ? ::AWSCDK::SMSVoice::CfnPool::MandatoryKeywordsProperty.new(**mandatory_keywords.transform_keys(&:to_sym)) : mandatory_keywords
  Jsii::Type.check_type(@mandatory_keywords, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zbXN2b2ljZS5DZm5Qb29sLk1hbmRhdG9yeUtleXdvcmRzUHJvcGVydHkifV19fQ==")), "mandatoryKeywords")
  @origination_identities = origination_identities
  Jsii::Type.check_type(@origination_identities, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "originationIdentities")
  @deletion_protection_enabled = deletion_protection_enabled
  Jsii::Type.check_type(@deletion_protection_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deletionProtectionEnabled") unless @deletion_protection_enabled.nil?
  @optional_keywords = optional_keywords
  Jsii::Type.check_type(@optional_keywords, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc21zdm9pY2UuQ2ZuUG9vbC5PcHRpb25hbEtleXdvcmRQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "optionalKeywords") unless @optional_keywords.nil?
  @opt_out_list_name = opt_out_list_name
  Jsii::Type.check_type(@opt_out_list_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "optOutListName") unless @opt_out_list_name.nil?
  @self_managed_opt_outs_enabled = self_managed_opt_outs_enabled
  Jsii::Type.check_type(@self_managed_opt_outs_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "selfManagedOptOutsEnabled") unless @self_managed_opt_outs_enabled.nil?
  @shared_routes_enabled = shared_routes_enabled
  Jsii::Type.check_type(@shared_routes_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "sharedRoutesEnabled") unless @shared_routes_enabled.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?
  @two_way = two_way.is_a?(Hash) ? ::AWSCDK::SMSVoice::CfnPool::TwoWayProperty.new(**two_way.transform_keys(&:to_sym)) : two_way
  Jsii::Type.check_type(@two_way, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zbXN2b2ljZS5DZm5Qb29sLlR3b1dheVByb3BlcnR5In1dfX0=")), "twoWay") unless @two_way.nil?
end

Instance Attribute Details

#deletion_protection_enabledBoolean, ... (readonly)

When set to true the pool can't be deleted.



59
60
61
# File 'sms_voice/cfn_pool_props.rb', line 59

def deletion_protection_enabled
  @deletion_protection_enabled
end

#mandatory_keywordsAWSCDK::IResolvable, AWSCDK::SMSVoice::CfnPool::MandatoryKeywordsProperty (readonly)

Creates or updates the pool's MandatoryKeyword configuration.

For more information, see Keywords in the End User Messaging User Guide.



45
46
47
# File 'sms_voice/cfn_pool_props.rb', line 45

def mandatory_keywords
  @mandatory_keywords
end

#opt_out_list_nameString? (readonly)

The name of the OptOutList associated with the pool.



71
72
73
# File 'sms_voice/cfn_pool_props.rb', line 71

def opt_out_list_name
  @opt_out_list_name
end

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

Specifies any optional keywords to associate with the pool.

For more information, see Keywords in the End User Messaging User Guide.



66
67
68
# File 'sms_voice/cfn_pool_props.rb', line 66

def optional_keywords
  @optional_keywords
end

#origination_identitiesArray<String> (readonly)

The list of origination identities to apply to the pool, either PhoneNumberArn or SenderIdArn .

For more information, see Registrations in the End User Messaging User Guide.

If you are using a shared End User Messaging resource then you must use the full Amazon Resource Name (ARN).



54
55
56
# File 'sms_voice/cfn_pool_props.rb', line 54

def origination_identities
  @origination_identities
end

#self_managed_opt_outs_enabledBoolean, ... (readonly)

When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging automatically replies with a customizable message and adds the end recipient to the OptOutList.

When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see Self-managed opt-outs



78
79
80
# File 'sms_voice/cfn_pool_props.rb', line 78

def self_managed_opt_outs_enabled
  @self_managed_opt_outs_enabled
end

#shared_routes_enabledBoolean, ... (readonly)

Allows you to enable shared routes on your pool.

By default, this is set to False . If you set this value to True , your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code.



85
86
87
# File 'sms_voice/cfn_pool_props.rb', line 85

def shared_routes_enabled
  @shared_routes_enabled
end

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

An array of tags (key and value pairs) associated with the pool.



90
91
92
# File 'sms_voice/cfn_pool_props.rb', line 90

def tags
  @tags
end

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

Describes the two-way SMS configuration for a phone number.

For more information, see Two-way SMS messaging in the End User Messaging User Guide.



97
98
99
# File 'sms_voice/cfn_pool_props.rb', line 97

def two_way
  @two_way
end

Class Method Details

.jsii_propertiesObject



99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'sms_voice/cfn_pool_props.rb', line 99

def self.jsii_properties
  {
    :mandatory_keywords => "mandatoryKeywords",
    :origination_identities => "originationIdentities",
    :deletion_protection_enabled => "deletionProtectionEnabled",
    :optional_keywords => "optionalKeywords",
    :opt_out_list_name => "optOutListName",
    :self_managed_opt_outs_enabled => "selfManagedOptOutsEnabled",
    :shared_routes_enabled => "sharedRoutesEnabled",
    :tags => "tags",
    :two_way => "twoWay",
  }
end

Instance Method Details

#to_jsiiObject



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'sms_voice/cfn_pool_props.rb', line 113

def to_jsii
  result = {}
  result.merge!({
    "mandatoryKeywords" => @mandatory_keywords,
    "originationIdentities" => @origination_identities,
    "deletionProtectionEnabled" => @deletion_protection_enabled,
    "optionalKeywords" => @optional_keywords,
    "optOutListName" => @opt_out_list_name,
    "selfManagedOptOutsEnabled" => @self_managed_opt_outs_enabled,
    "sharedRoutesEnabled" => @shared_routes_enabled,
    "tags" => @tags,
    "twoWay" => @two_way,
  })
  result.compact
end