java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.verifiedpermissions.CfnPolicyPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:20:05.913Z") @Stability(Stable) public class CfnPolicyPropsMixin extends Mixin implements software.constructs.IMixin
Creates or updates a Cedar policy and saves it in the specified policy store.

You can create either a static policy or a policy linked to a policy template.

You can directly update only static policies. To update a template-linked policy, you must update its linked policy template instead.

  • To create a static policy, in the Definition include a Static element that includes the Cedar policy text in the Statement element.
  • To create a policy that is dynamically linked to a policy template, in the Definition include a Templatelinked element that specifies the policy template ID and the principal and resource to associate with this policy. If the policy template is ever updated, any policies linked to the policy template automatically use the updated template.

  • If policy validation is enabled in the policy store, then updating a static policy causes Verified Permissions to validate the policy against the schema in the policy store. If the updated static policy doesn't pass validation, the operation fails and the update isn't stored.
  • When you edit a static policy, You can change only certain elements of a static policy:
  • The action referenced by the policy.
  • A condition clause, such as when and unless.

You can't change these elements of a static policy:

  • Changing a policy from a static policy to a template-linked policy.
  • Changing the effect of a static policy from permit or forbid.
  • The principal referenced by a static policy.
  • The resource referenced by a static policy.
  • To update a template-linked policy, you must update the template instead.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.verifiedpermissions.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnPolicyPropsMixin cfnPolicyPropsMixin = CfnPolicyPropsMixin.Builder.create(CfnPolicyMixinProps.builder()
         .definition(PolicyDefinitionProperty.builder()
                 .static(StaticPolicyDefinitionProperty.builder()
                         .description("description")
                         .statement("statement")
                         .build())
                 .templateLinked(TemplateLinkedPolicyDefinitionProperty.builder()
                         .policyTemplateId("policyTemplateId")
                         .principal(EntityIdentifierProperty.builder()
                                 .entityId("entityId")
                                 .entityType("entityType")
                                 .build())
                         .resource(EntityIdentifierProperty.builder()
                                 .entityId("entityId")
                                 .entityType("entityType")
                                 .build())
                         .build())
                 .build())
         .policyStoreId("policyStoreId")
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnPolicyPropsMixin

      protected CfnPolicyPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnPolicyPropsMixin

      protected CfnPolicyPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnPolicyPropsMixin

      @Stability(Stable) public CfnPolicyPropsMixin(@NotNull CfnPolicyMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::VerifiedPermissions::Policy.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnPolicyPropsMixin

      @Stability(Stable) public CfnPolicyPropsMixin(@NotNull CfnPolicyMixinProps props)
      Create a mixin to apply properties to AWS::VerifiedPermissions::Policy.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnPolicyMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()