Class: AWSCDK::Verifiedpermissions::CfnPolicy::PolicyDefinitionProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Verifiedpermissions::CfnPolicy::PolicyDefinitionProperty
- Defined in:
- verifiedpermissions/cfn_policy.rb
Overview
A structure that defines a Cedar policy.
It includes the policy type, a description, and a policy body. This is a top level data type used to create a policy.
This data type is used as a request parameter for the CreatePolicy operation. This structure must always have either an Static or a TemplateLinked element.
Instance Attribute Summary collapse
-
#static ⇒ AWSCDK::IResolvable, ...
readonly
A structure that describes a static policy.
-
#template_linked ⇒ AWSCDK::IResolvable, ...
readonly
A structure that describes a policy that was instantiated from a template.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(static: nil, template_linked: nil) ⇒ PolicyDefinitionProperty
constructor
A new instance of PolicyDefinitionProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(static: nil, template_linked: nil) ⇒ PolicyDefinitionProperty
Returns a new instance of PolicyDefinitionProperty.
608 609 610 611 612 613 |
# File 'verifiedpermissions/cfn_policy.rb', line 608 def initialize(static: nil, template_linked: nil) @static = static.is_a?(Hash) ? ::AWSCDK::Verifiedpermissions::CfnPolicy::StaticPolicyDefinitionProperty.new(**static.transform_keys(&:to_sym)) : static Jsii::Type.check_type(@static, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192ZXJpZmllZHBlcm1pc3Npb25zLkNmblBvbGljeS5TdGF0aWNQb2xpY3lEZWZpbml0aW9uUHJvcGVydHkifV19fQ==")), "static") unless @static.nil? @template_linked = template_linked.is_a?(Hash) ? ::AWSCDK::Verifiedpermissions::CfnPolicy::TemplateLinkedPolicyDefinitionProperty.new(**template_linked.transform_keys(&:to_sym)) : template_linked Jsii::Type.check_type(@template_linked, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192ZXJpZmllZHBlcm1pc3Npb25zLkNmblBvbGljeS5UZW1wbGF0ZUxpbmtlZFBvbGljeURlZmluaXRpb25Qcm9wZXJ0eSJ9XX19")), "templateLinked") unless @template_linked.nil? end |
Instance Attribute Details
#static ⇒ AWSCDK::IResolvable, ... (readonly)
A structure that describes a static policy.
An static policy doesn't use a template or allow placeholders for entities.
621 622 623 |
# File 'verifiedpermissions/cfn_policy.rb', line 621 def static @static end |
#template_linked ⇒ AWSCDK::IResolvable, ... (readonly)
A structure that describes a policy that was instantiated from a template.
The template can specify placeholders for principal and resource . When you use CreatePolicy to create a policy from a template, you specify the exact principal and resource to use for the instantiated policy.
628 629 630 |
# File 'verifiedpermissions/cfn_policy.rb', line 628 def template_linked @template_linked end |
Class Method Details
.jsii_properties ⇒ Object
630 631 632 633 634 635 |
# File 'verifiedpermissions/cfn_policy.rb', line 630 def self.jsii_properties { :static => "static", :template_linked => "templateLinked", } end |
Instance Method Details
#to_jsii ⇒ Object
637 638 639 640 641 642 643 644 |
# File 'verifiedpermissions/cfn_policy.rb', line 637 def to_jsii result = {} result.merge!({ "static" => @static, "templateLinked" => @template_linked, }) result.compact end |