Class: AWSCDK::Verifiedpermissions::CfnPolicy::PolicyDefinitionProperty

Inherits:
Jsii::Struct
  • Object
show all
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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(static: nil, template_linked: nil) ⇒ PolicyDefinitionProperty

Returns a new instance of PolicyDefinitionProperty.

Parameters:



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

#staticAWSCDK::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_linkedAWSCDK::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_propertiesObject



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_jsiiObject



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