Interface IamPolicy.Builder

All Superinterfaces:
Buildable, CopyableBuilder<IamPolicy.Builder,IamPolicy>, SdkBuilder<IamPolicy.Builder,IamPolicy>
All Known Implementing Classes:
DefaultIamPolicy.Builder
Enclosing interface:
IamPolicy

public static interface IamPolicy.Builder extends CopyableBuilder<IamPolicy.Builder,IamPolicy>
See Also:
  • Method Details

    • id

      Configure the Id element of the policy, specifying an optional identifier for the policy.

      The ID is used differently in different services. ID is allowed in resource-based policies, but not in identity-based policies.

      For services that let you set an ID element, we recommend you use a UUID (GUID) for the value, or incorporate a UUID as part of the ID to ensure uniqueness.

      This value is optional.

       IamPolicy policy =
           IamPolicy.builder()
                    .id("cd3ad3d9-2776-4ef1-a904-4c229d1642ee") // An identifier for the policy
                    .addStatement(IamStatement.builder()
                                              .effect(IamEffect.DENY)
                                              .addAction(IamAction.ALL)
                                              .build())
                    .build();
      
      See Also:
    • version

      IamPolicy.Builder version(String version)
      Configure the Version element of the policy, specifying the language syntax rules that are to be used to process the policy.

      By default, this value is 2012-10-17.

      IamPolicy policy =
          IamPolicy.builder()
                   .version("2012-10-17") // The IAM policy language syntax version to use
                   .addStatement(IamStatement.builder()
                                             .effect(IamEffect.DENY)
                                             .addAction(IamAction.ALL)
                                             .build())
                   .build();
      
      See Also:
    • statements

      IamPolicy.Builder statements(Collection<IamStatement> statements)
      Configure the Statement element of the policy, specifying the access rules for this policy.

      This will replace any other statements already added to the policy. At least one statement is required to create a policy.

      IamPolicy policy =
          IamPolicy.builder()
                   // Add a statement to this policy that denies all actions:
                   .statements(Arrays.asList(IamStatement.builder()
                                                         .effect(IamEffect.DENY)
                                                         .addAction(IamAction.ALL)
                                                         .build()))
                   .build();
      
      See Also:
    • addStatement

      IamPolicy.Builder addStatement(IamStatement statement)
      Append a Statement element to this policy to specify additional access rules.

      At least one statement is required to create a policy.

      IamPolicy policy =
          IamPolicy.builder()
                   // Add a statement to this policy that denies all actions:
                   .addStatement(IamStatement.builder()
                                             .effect(IamEffect.DENY)
                                             .addAction(IamAction.ALL)
                                             .build())
                   .build();
      
      See Also:
    • addStatement

      Append a Statement element to this policy to specify additional access rules.

      This works the same as addStatement(IamStatement), except you do not need to specify IamStatement .builder() or build(). At least one statement is required to create a policy.

      IamPolicy policy =
          IamPolicy.builder()
                   // Add a statement to this policy that denies all actions:
                   .addStatement(s -> s.effect(IamEffect.DENY)
                                       .addAction(IamAction.ALL))
                   .build();
      
      See Also: