Class: AWSCDK::SNS::TopicPolicyProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::SNS::TopicPolicyProps
- Defined in:
- sns/topic_policy_props.rb
Overview
Properties to associate SNS topics with a policy.
Instance Attribute Summary collapse
-
#enforce_ssl ⇒ Boolean?
readonly
Adds a statement to enforce encryption of data in transit when publishing to the topic.
-
#policy_document ⇒ AWSCDK::IAM::PolicyDocument?
readonly
IAM policy document to apply to topic(s).
-
#topics ⇒ Array<AWSCDK::SNS::ITopic>
readonly
The set of topics this policy applies to.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(topics:, enforce_ssl: nil, policy_document: nil) ⇒ TopicPolicyProps
constructor
A new instance of TopicPolicyProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(topics:, enforce_ssl: nil, policy_document: nil) ⇒ TopicPolicyProps
Returns a new instance of TopicPolicyProps.
10 11 12 13 14 15 16 17 |
# File 'sns/topic_policy_props.rb', line 10 def initialize(topics:, enforce_ssl: nil, policy_document: nil) @topics = topics Jsii::Type.check_type(@topics, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zbnMuSVRvcGljIn0sImtpbmQiOiJhcnJheSJ9fQ==")), "topics") @enforce_ssl = enforce_ssl Jsii::Type.check_type(@enforce_ssl, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enforceSSL") unless @enforce_ssl.nil? @policy_document = policy_document Jsii::Type.check_type(@policy_document, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLlBvbGljeURvY3VtZW50In0=")), "policyDocument") unless @policy_document.nil? end |
Instance Attribute Details
#enforce_ssl ⇒ Boolean? (readonly)
Note:
Default: false
Adds a statement to enforce encryption of data in transit when publishing to the topic.
For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
29 30 31 |
# File 'sns/topic_policy_props.rb', line 29 def enforce_ssl @enforce_ssl end |
#policy_document ⇒ AWSCDK::IAM::PolicyDocument? (readonly)
Note:
Default: empty policy document
IAM policy document to apply to topic(s).
34 35 36 |
# File 'sns/topic_policy_props.rb', line 34 def policy_document @policy_document end |
#topics ⇒ Array<AWSCDK::SNS::ITopic> (readonly)
The set of topics this policy applies to.
22 23 24 |
# File 'sns/topic_policy_props.rb', line 22 def topics @topics end |
Class Method Details
.jsii_properties ⇒ Object
36 37 38 39 40 41 42 |
# File 'sns/topic_policy_props.rb', line 36 def self.jsii_properties { :topics => "topics", :enforce_ssl => "enforceSSL", :policy_document => "policyDocument", } end |
Instance Method Details
#to_jsii ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'sns/topic_policy_props.rb', line 44 def to_jsii result = {} result.merge!({ "topics" => @topics, "enforceSSL" => @enforce_ssl, "policyDocument" => @policy_document, }) result.compact end |