Class: AWSCDK::Verifiedpermissions::CfnPolicy::TemplateLinkedPolicyDefinitionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
verifiedpermissions/cfn_policy.rb

Overview

A structure that describes a policy created by instantiating a policy template.

You can't directly update a template-linked policy. You must update the associated policy template instead.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy_template_id:, principal: nil, resource: nil) ⇒ TemplateLinkedPolicyDefinitionProperty

Returns a new instance of TemplateLinkedPolicyDefinitionProperty.

Parameters:



701
702
703
704
705
706
707
708
# File 'verifiedpermissions/cfn_policy.rb', line 701

def initialize(policy_template_id:, principal: nil, resource: nil)
  @policy_template_id = policy_template_id
  Jsii::Type.check_type(@policy_template_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyTemplateId")
  @principal = principal.is_a?(Hash) ? ::AWSCDK::Verifiedpermissions::CfnPolicy::EntityIdentifierProperty.new(**principal.transform_keys(&:to_sym)) : principal
  Jsii::Type.check_type(@principal, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192ZXJpZmllZHBlcm1pc3Npb25zLkNmblBvbGljeS5FbnRpdHlJZGVudGlmaWVyUHJvcGVydHkifV19fQ==")), "principal") unless @principal.nil?
  @resource = resource.is_a?(Hash) ? ::AWSCDK::Verifiedpermissions::CfnPolicy::EntityIdentifierProperty.new(**resource.transform_keys(&:to_sym)) : resource
  Jsii::Type.check_type(@resource, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192ZXJpZmllZHBlcm1pc3Npb25zLkNmblBvbGljeS5FbnRpdHlJZGVudGlmaWVyUHJvcGVydHkifV19fQ==")), "resource") unless @resource.nil?
end

Instance Attribute Details

#policy_template_idString (readonly)

The unique identifier of the policy template used to create this policy.



714
715
716
# File 'verifiedpermissions/cfn_policy.rb', line 714

def policy_template_id
  @policy_template_id
end

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

The principal associated with this template-linked policy.

Verified Permissions substitutes this principal for the ?principal placeholder in the policy template when it evaluates an authorization request.



721
722
723
# File 'verifiedpermissions/cfn_policy.rb', line 721

def principal
  @principal
end

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

The resource associated with this template-linked policy.

Verified Permissions substitutes this resource for the ?resource placeholder in the policy template when it evaluates an authorization request.



728
729
730
# File 'verifiedpermissions/cfn_policy.rb', line 728

def resource
  @resource
end

Class Method Details

.jsii_propertiesObject



730
731
732
733
734
735
736
# File 'verifiedpermissions/cfn_policy.rb', line 730

def self.jsii_properties
  {
    :policy_template_id => "policyTemplateId",
    :principal => "principal",
    :resource => "resource",
  }
end

Instance Method Details

#to_jsiiObject



738
739
740
741
742
743
744
745
746
# File 'verifiedpermissions/cfn_policy.rb', line 738

def to_jsii
  result = {}
  result.merge!({
    "policyTemplateId" => @policy_template_id,
    "principal" => @principal,
    "resource" => @resource,
  })
  result.compact
end