Class RoleArgs.Builder

  • Enclosing class:
    RoleArgs

    public static final class RoleArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
      • Builder

        public Builder​(RoleArgs defaults)
    • Method Detail

      • assumeRolePolicy

        public RoleArgs.Builder assumeRolePolicy​(com.pulumi.core.Output<com.pulumi.core.Either<java.lang.String,​PolicyDocumentArgs>> assumeRolePolicy)
        Parameters:
        assumeRolePolicy - Policy that grants an entity permission to assume the role. > **NOTE:** The `assumeRolePolicy` is very similar to but slightly different than a standard IAM policy and cannot use an `aws.iam.Policy` resource. However, it _can_ use an `aws.iam.getPolicyDocument` data source. See the example above of how this works. The following arguments are optional:
        Returns:
        builder
      • assumeRolePolicy

        public RoleArgs.Builder assumeRolePolicy​(com.pulumi.core.Either<java.lang.String,​PolicyDocumentArgs> assumeRolePolicy)
        Parameters:
        assumeRolePolicy - Policy that grants an entity permission to assume the role. > **NOTE:** The `assumeRolePolicy` is very similar to but slightly different than a standard IAM policy and cannot use an `aws.iam.Policy` resource. However, it _can_ use an `aws.iam.getPolicyDocument` data source. See the example above of how this works. The following arguments are optional:
        Returns:
        builder
      • assumeRolePolicy

        public RoleArgs.Builder assumeRolePolicy​(java.lang.String assumeRolePolicy)
        Parameters:
        assumeRolePolicy - Policy that grants an entity permission to assume the role. > **NOTE:** The `assumeRolePolicy` is very similar to but slightly different than a standard IAM policy and cannot use an `aws.iam.Policy` resource. However, it _can_ use an `aws.iam.getPolicyDocument` data source. See the example above of how this works. The following arguments are optional:
        Returns:
        builder
      • assumeRolePolicy

        public RoleArgs.Builder assumeRolePolicy​(PolicyDocumentArgs assumeRolePolicy)
        Parameters:
        assumeRolePolicy - Policy that grants an entity permission to assume the role. > **NOTE:** The `assumeRolePolicy` is very similar to but slightly different than a standard IAM policy and cannot use an `aws.iam.Policy` resource. However, it _can_ use an `aws.iam.getPolicyDocument` data source. See the example above of how this works. The following arguments are optional:
        Returns:
        builder
      • description

        public RoleArgs.Builder description​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Description of the role.
        Returns:
        builder
      • description

        public RoleArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Description of the role.
        Returns:
        builder
      • forceDetachPolicies

        public RoleArgs.Builder forceDetachPolicies​(@Nullable
                                                    com.pulumi.core.Output<java.lang.Boolean> forceDetachPolicies)
        Parameters:
        forceDetachPolicies - Whether to force detaching any policies the role has before destroying it. Defaults to `false`.
        Returns:
        builder
      • forceDetachPolicies

        public RoleArgs.Builder forceDetachPolicies​(java.lang.Boolean forceDetachPolicies)
        Parameters:
        forceDetachPolicies - Whether to force detaching any policies the role has before destroying it. Defaults to `false`.
        Returns:
        builder
      • inlinePolicies

        public RoleArgs.Builder inlinePolicies​(@Nullable
                                               com.pulumi.core.Output<java.util.List<RoleInlinePolicyArgs>> inlinePolicies)
        Parameters:
        inlinePolicies - Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`.
        Returns:
        builder
      • inlinePolicies

        public RoleArgs.Builder inlinePolicies​(java.util.List<RoleInlinePolicyArgs> inlinePolicies)
        Parameters:
        inlinePolicies - Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`.
        Returns:
        builder
      • inlinePolicies

        public RoleArgs.Builder inlinePolicies​(RoleInlinePolicyArgs... inlinePolicies)
        Parameters:
        inlinePolicies - Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`.
        Returns:
        builder
      • managedPolicyArns

        public RoleArgs.Builder managedPolicyArns​(@Nullable
                                                  com.pulumi.core.Output<java.util.List<java.lang.String>> managedPolicyArns)
        Parameters:
        managedPolicyArns - Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., `managedPolicyArns = []`) will cause Pulumi to remove _all_ managed policy attachments.
        Returns:
        builder
      • managedPolicyArns

        public RoleArgs.Builder managedPolicyArns​(java.util.List<java.lang.String> managedPolicyArns)
        Parameters:
        managedPolicyArns - Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., `managedPolicyArns = []`) will cause Pulumi to remove _all_ managed policy attachments.
        Returns:
        builder
      • managedPolicyArns

        public RoleArgs.Builder managedPolicyArns​(java.lang.String... managedPolicyArns)
        Parameters:
        managedPolicyArns - Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., `managedPolicyArns = []`) will cause Pulumi to remove _all_ managed policy attachments.
        Returns:
        builder
      • maxSessionDuration

        public RoleArgs.Builder maxSessionDuration​(@Nullable
                                                   com.pulumi.core.Output<java.lang.Integer> maxSessionDuration)
        Parameters:
        maxSessionDuration - Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
        Returns:
        builder
      • maxSessionDuration

        public RoleArgs.Builder maxSessionDuration​(java.lang.Integer maxSessionDuration)
        Parameters:
        maxSessionDuration - Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
        Returns:
        builder
      • name

        public RoleArgs.Builder name​(@Nullable
                                     com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Friendly name of the role. If omitted, the provider will assign a random, unique name. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information.
        Returns:
        builder
      • name

        public RoleArgs.Builder name​(java.lang.String name)
        Parameters:
        name - Friendly name of the role. If omitted, the provider will assign a random, unique name. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information.
        Returns:
        builder
      • namePrefix

        public RoleArgs.Builder namePrefix​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> namePrefix)
        Parameters:
        namePrefix - Creates a unique friendly name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • namePrefix

        public RoleArgs.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique friendly name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • path

        public RoleArgs.Builder path​(@Nullable
                                     com.pulumi.core.Output<java.lang.String> path)
        Parameters:
        path - Path to the role. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information.
        Returns:
        builder
      • path

        public RoleArgs.Builder path​(java.lang.String path)
        Parameters:
        path - Path to the role. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information.
        Returns:
        builder
      • permissionsBoundary

        public RoleArgs.Builder permissionsBoundary​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> permissionsBoundary)
        Parameters:
        permissionsBoundary - ARN of the policy that is used to set the permissions boundary for the role.
        Returns:
        builder
      • permissionsBoundary

        public RoleArgs.Builder permissionsBoundary​(java.lang.String permissionsBoundary)
        Parameters:
        permissionsBoundary - ARN of the policy that is used to set the permissions boundary for the role.
        Returns:
        builder
      • tags

        public RoleArgs.Builder tags​(@Nullable
                                     com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public RoleArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder