Class: AWSCDK::SES::CfnMailManagerTrafficPolicy::PolicyConditionProperty

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

Overview

The email traffic filtering conditions which are contained in a traffic policy resource.

This data type is a UNION, so only one of the following members can be specified when used or returned.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(boolean_expression: nil, ip_expression: nil, ipv6_expression: nil, string_expression: nil, tls_expression: nil) ⇒ PolicyConditionProperty

Returns a new instance of PolicyConditionProperty.

Parameters:



1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1133

def initialize(boolean_expression: nil, ip_expression: nil, ipv6_expression: nil, string_expression: nil, tls_expression: nil)
  @boolean_expression = boolean_expression.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerTrafficPolicy::IngressBooleanExpressionProperty.new(**boolean_expression.transform_keys(&:to_sym)) : boolean_expression
  Jsii::Type.check_type(@boolean_expression, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJUcmFmZmljUG9saWN5LkluZ3Jlc3NCb29sZWFuRXhwcmVzc2lvblByb3BlcnR5In1dfX0=")), "booleanExpression") unless @boolean_expression.nil?
  @ip_expression = ip_expression.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerTrafficPolicy::IngressIpv4ExpressionProperty.new(**ip_expression.transform_keys(&:to_sym)) : ip_expression
  Jsii::Type.check_type(@ip_expression, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJUcmFmZmljUG9saWN5LkluZ3Jlc3NJcHY0RXhwcmVzc2lvblByb3BlcnR5In1dfX0=")), "ipExpression") unless @ip_expression.nil?
  @ipv6_expression = ipv6_expression.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerTrafficPolicy::IngressIpv6ExpressionProperty.new(**ipv6_expression.transform_keys(&:to_sym)) : ipv6_expression
  Jsii::Type.check_type(@ipv6_expression, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJUcmFmZmljUG9saWN5LkluZ3Jlc3NJcHY2RXhwcmVzc2lvblByb3BlcnR5In1dfX0=")), "ipv6Expression") unless @ipv6_expression.nil?
  @string_expression = string_expression.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerTrafficPolicy::IngressStringExpressionProperty.new(**string_expression.transform_keys(&:to_sym)) : string_expression
  Jsii::Type.check_type(@string_expression, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJUcmFmZmljUG9saWN5LkluZ3Jlc3NTdHJpbmdFeHByZXNzaW9uUHJvcGVydHkifV19fQ==")), "stringExpression") unless @string_expression.nil?
  @tls_expression = tls_expression.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerTrafficPolicy::IngressTLSProtocolExpressionProperty.new(**tls_expression.transform_keys(&:to_sym)) : tls_expression
  Jsii::Type.check_type(@tls_expression, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJUcmFmZmljUG9saWN5LkluZ3Jlc3NUbHNQcm90b2NvbEV4cHJlc3Npb25Qcm9wZXJ0eSJ9XX19")), "tlsExpression") unless @tls_expression.nil?
end

Instance Attribute Details

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

This represents a boolean type condition matching on the incoming mail.

It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.



1152
1153
1154
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1152

def boolean_expression
  @boolean_expression
end

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

This represents an IP based condition matching on the incoming mail.

It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.



1159
1160
1161
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1159

def ip_expression
  @ip_expression
end

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

This represents an IPv6 based condition matching on the incoming mail.

It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.



1166
1167
1168
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1166

def ipv6_expression
  @ipv6_expression
end

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

This represents a string based condition matching on the incoming mail.

It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.



1173
1174
1175
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1173

def string_expression
  @string_expression
end

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

This represents a TLS based condition matching on the incoming mail.

It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.



1180
1181
1182
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1180

def tls_expression
  @tls_expression
end

Class Method Details

.jsii_propertiesObject



1182
1183
1184
1185
1186
1187
1188
1189
1190
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1182

def self.jsii_properties
  {
    :boolean_expression => "booleanExpression",
    :ip_expression => "ipExpression",
    :ipv6_expression => "ipv6Expression",
    :string_expression => "stringExpression",
    :tls_expression => "tlsExpression",
  }
end

Instance Method Details

#to_jsiiObject



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'ses/cfn_mail_manager_traffic_policy.rb', line 1192

def to_jsii
  result = {}
  result.merge!({
    "booleanExpression" => @boolean_expression,
    "ipExpression" => @ip_expression,
    "ipv6Expression" => @ipv6_expression,
    "stringExpression" => @string_expression,
    "tlsExpression" => @tls_expression,
  })
  result.compact
end