Class: AWSCDK::SES::ConfigurationSetProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ses/configuration_set_props.rb

Overview

Properties for a configuration set.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auto_validation_threshold: nil, configuration_set_name: nil, custom_tracking_https_policy: nil, custom_tracking_redirect_domain: nil, dedicated_ip_pool: nil, disable_auto_validation: nil, disable_suppression_list: nil, max_delivery_duration: nil, reputation_metrics: nil, sending_enabled: nil, suppression_reasons: nil, tls_policy: nil, vdm_options: nil) ⇒ ConfigurationSetProps

Returns a new instance of ConfigurationSetProps.

Parameters:

  • auto_validation_threshold (AWSCDK::SES::AutoValidationThreshold, nil) (defaults to: nil)

    The Auto Validation threshold for this configuration set.

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

    A name for the configuration set.

  • custom_tracking_https_policy (AWSCDK::SES::HttpsPolicy, nil) (defaults to: nil)

    The https policy to use for tracking open and click events.

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

    The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.

  • dedicated_ip_pool (AWSCDK::Interfaces::AWSSES::IDedicatedIPPoolRef, nil) (defaults to: nil)

    The dedicated IP pool to associate with the configuration set.

  • disable_auto_validation (Boolean, nil) (defaults to: nil)

    Override the account-level Auto Validation setting for this configuration set.

  • disable_suppression_list (Boolean, nil) (defaults to: nil)

    If true, account-level suppression list is disabled;

  • max_delivery_duration (AWSCDK::Duration, nil) (defaults to: nil)

    The maximum amount of time that Amazon SES API v2 will attempt delivery of email.

  • reputation_metrics (Boolean, nil) (defaults to: nil)

    Whether to publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

  • sending_enabled (Boolean, nil) (defaults to: nil)

    Whether email sending is enabled.

  • suppression_reasons (AWSCDK::SES::SuppressionReasons, nil) (defaults to: nil)

    The reasons for which recipient email addresses should be automatically added to your account's suppression list.

  • tls_policy (AWSCDK::SES::ConfigurationSetTLSPolicy, nil) (defaults to: nil)

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS).

  • vdm_options (AWSCDK::SES::VdmOptions, nil) (defaults to: nil)

    The Virtual Deliverability Manager (VDM) options that apply to the configuration set.



20
21
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
# File 'ses/configuration_set_props.rb', line 20

def initialize(auto_validation_threshold: nil, configuration_set_name: nil, custom_tracking_https_policy: nil, custom_tracking_redirect_domain: nil, dedicated_ip_pool: nil, disable_auto_validation: nil, disable_suppression_list: nil, max_delivery_duration: nil, reputation_metrics: nil, sending_enabled: nil, suppression_reasons: nil, tls_policy: nil, vdm_options: nil)
  @auto_validation_threshold = auto_validation_threshold
  Jsii::Type.check_type(@auto_validation_threshold, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLkF1dG9WYWxpZGF0aW9uVGhyZXNob2xkIn0=")), "autoValidationThreshold") unless @auto_validation_threshold.nil?
  @configuration_set_name = configuration_set_name
  Jsii::Type.check_type(@configuration_set_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "configurationSetName") unless @configuration_set_name.nil?
  @custom_tracking_https_policy = custom_tracking_https_policy
  Jsii::Type.check_type(@custom_tracking_https_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLkh0dHBzUG9saWN5In0=")), "customTrackingHttpsPolicy") unless @custom_tracking_https_policy.nil?
  @custom_tracking_redirect_domain = custom_tracking_redirect_domain
  Jsii::Type.check_type(@custom_tracking_redirect_domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customTrackingRedirectDomain") unless @custom_tracking_redirect_domain.nil?
  @dedicated_ip_pool = dedicated_ip_pool
  Jsii::Type.check_type(@dedicated_ip_pool, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19zZXMuSURlZGljYXRlZElwUG9vbFJlZiJ9")), "dedicatedIpPool") unless @dedicated_ip_pool.nil?
  @disable_auto_validation = disable_auto_validation
  Jsii::Type.check_type(@disable_auto_validation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "disableAutoValidation") unless @disable_auto_validation.nil?
  @disable_suppression_list = disable_suppression_list
  Jsii::Type.check_type(@disable_suppression_list, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "disableSuppressionList") unless @disable_suppression_list.nil?
  @max_delivery_duration = max_delivery_duration
  Jsii::Type.check_type(@max_delivery_duration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "maxDeliveryDuration") unless @max_delivery_duration.nil?
  @reputation_metrics = reputation_metrics
  Jsii::Type.check_type(@reputation_metrics, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "reputationMetrics") unless @reputation_metrics.nil?
  @sending_enabled = sending_enabled
  Jsii::Type.check_type(@sending_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "sendingEnabled") unless @sending_enabled.nil?
  @suppression_reasons = suppression_reasons
  Jsii::Type.check_type(@suppression_reasons, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLlN1cHByZXNzaW9uUmVhc29ucyJ9")), "suppressionReasons") unless @suppression_reasons.nil?
  @tls_policy = tls_policy
  Jsii::Type.check_type(@tls_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLkNvbmZpZ3VyYXRpb25TZXRUbHNQb2xpY3kifQ==")), "tlsPolicy") unless @tls_policy.nil?
  @vdm_options = vdm_options.is_a?(Hash) ? ::AWSCDK::SES::VdmOptions.new(**vdm_options.transform_keys(&:to_sym)) : vdm_options
  Jsii::Type.check_type(@vdm_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLlZkbU9wdGlvbnMifQ==")), "vdmOptions") unless @vdm_options.nil?
end

Instance Attribute Details

#auto_validation_thresholdAWSCDK::SES::AutoValidationThreshold? (readonly)

Note:

Default: - inherit the account-level Auto Validation settings

The Auto Validation threshold for this configuration set.

When set, Auto Validation is enabled for this configuration set with the specified confidence threshold. Cannot be combined with disableAutoValidation: true.



57
58
59
# File 'ses/configuration_set_props.rb', line 57

def auto_validation_threshold
  @auto_validation_threshold
end

#configuration_set_nameString? (readonly)

Note:

Default: - a CloudFormation generated name

A name for the configuration set.

Returns:

  • (String, nil)


62
63
64
# File 'ses/configuration_set_props.rb', line 62

def configuration_set_name
  @configuration_set_name
end

#custom_tracking_https_policyAWSCDK::SES::HttpsPolicy? (readonly)

Note:

Default: - HttpsPolicy.OPTIONAL if customTrackingRedirectDomain is set, otherwise undefined

The https policy to use for tracking open and click events.

Returns:



67
68
69
# File 'ses/configuration_set_props.rb', line 67

def custom_tracking_https_policy
  @custom_tracking_https_policy
end

#custom_tracking_redirect_domainString? (readonly)

Note:

Default: - use the default awstrack.me domain

The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.

Returns:

  • (String, nil)


72
73
74
# File 'ses/configuration_set_props.rb', line 72

def custom_tracking_redirect_domain
  @custom_tracking_redirect_domain
end

#dedicated_ip_poolAWSCDK::Interfaces::AWSSES::IDedicatedIPPoolRef? (readonly)

Note:

Default: - do not use a dedicated IP pool

The dedicated IP pool to associate with the configuration set.



77
78
79
# File 'ses/configuration_set_props.rb', line 77

def dedicated_ip_pool
  @dedicated_ip_pool
end

#disable_auto_validationBoolean? (readonly)

Note:

Default: - inherit the account-level Auto Validation settings when autoValidationThreshold is also unspecified

Override the account-level Auto Validation setting for this configuration set.

  • true: explicitly disable Auto Validation for this configuration set. Cannot be combined with auto_validation_threshold.
  • false: explicitly enable Auto Validation for this configuration set even if it is disabled at the account level. The threshold falls back to the SES default unless auto_validation_threshold is also specified.
  • undefined: inherit the account-level setting when auto_validation_threshold is also not specified.


90
91
92
# File 'ses/configuration_set_props.rb', line 90

def disable_auto_validation
  @disable_auto_validation
end

#disable_suppression_listBoolean? (readonly)

Note:

Default: false

If true, account-level suppression list is disabled;

email sent with this configuration set will not use any suppression settings at all

Returns:

  • (Boolean, nil)


98
99
100
# File 'ses/configuration_set_props.rb', line 98

def disable_suppression_list
  @disable_suppression_list
end

#max_delivery_durationAWSCDK::Duration? (readonly)

Note:

Default: undefined - SES defaults to 14 hours

The maximum amount of time that Amazon SES API v2 will attempt delivery of email.

This value must be greater than or equal to 5 minutes and less than or equal to 14 hours.

Returns:



105
106
107
# File 'ses/configuration_set_props.rb', line 105

def max_delivery_duration
  @max_delivery_duration
end

#reputation_metricsBoolean? (readonly)

Note:

Default: true

Whether to publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

Returns:

  • (Boolean, nil)


110
111
112
# File 'ses/configuration_set_props.rb', line 110

def reputation_metrics
  @reputation_metrics
end

#sending_enabledBoolean? (readonly)

Note:

Default: true

Whether email sending is enabled.

Returns:

  • (Boolean, nil)


115
116
117
# File 'ses/configuration_set_props.rb', line 115

def sending_enabled
  @sending_enabled
end

#suppression_reasonsAWSCDK::SES::SuppressionReasons? (readonly)

Note:

Default: - use account level settings

The reasons for which recipient email addresses should be automatically added to your account's suppression list.



120
121
122
# File 'ses/configuration_set_props.rb', line 120

def suppression_reasons
  @suppression_reasons
end

#tls_policyAWSCDK::SES::ConfigurationSetTLSPolicy? (readonly)

Note:

Default: ConfigurationSetTlsPolicy.OPTIONAL

Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS).



125
126
127
# File 'ses/configuration_set_props.rb', line 125

def tls_policy
  @tls_policy
end

#vdm_optionsAWSCDK::SES::VdmOptions? (readonly)

Note:

Default: - VDM options not configured at the configuration set level. In this case, use account level settings. (To set the account level settings using CDK, use the VdmAttributes Construct.)

The Virtual Deliverability Manager (VDM) options that apply to the configuration set.

Returns:



130
131
132
# File 'ses/configuration_set_props.rb', line 130

def vdm_options
  @vdm_options
end

Class Method Details

.jsii_propertiesObject



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'ses/configuration_set_props.rb', line 132

def self.jsii_properties
  {
    :auto_validation_threshold => "autoValidationThreshold",
    :configuration_set_name => "configurationSetName",
    :custom_tracking_https_policy => "customTrackingHttpsPolicy",
    :custom_tracking_redirect_domain => "customTrackingRedirectDomain",
    :dedicated_ip_pool => "dedicatedIpPool",
    :disable_auto_validation => "disableAutoValidation",
    :disable_suppression_list => "disableSuppressionList",
    :max_delivery_duration => "maxDeliveryDuration",
    :reputation_metrics => "reputationMetrics",
    :sending_enabled => "sendingEnabled",
    :suppression_reasons => "suppressionReasons",
    :tls_policy => "tlsPolicy",
    :vdm_options => "vdmOptions",
  }
end

Instance Method Details

#to_jsiiObject



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'ses/configuration_set_props.rb', line 150

def to_jsii
  result = {}
  result.merge!({
    "autoValidationThreshold" => @auto_validation_threshold,
    "configurationSetName" => @configuration_set_name,
    "customTrackingHttpsPolicy" => @custom_tracking_https_policy,
    "customTrackingRedirectDomain" => @custom_tracking_redirect_domain,
    "dedicatedIpPool" => @dedicated_ip_pool,
    "disableAutoValidation" => @disable_auto_validation,
    "disableSuppressionList" => @disable_suppression_list,
    "maxDeliveryDuration" => @max_delivery_duration,
    "reputationMetrics" => @reputation_metrics,
    "sendingEnabled" => @sending_enabled,
    "suppressionReasons" => @suppression_reasons,
    "tlsPolicy" => @tls_policy,
    "vdmOptions" => @vdm_options,
  })
  result.compact
end