Class IamRole.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<IamRole>
    Enclosing class:
    IamRole

    @Stability(Stable)
    public static final class IamRole.Builder
    extends Object
    implements software.amazon.jsii.Builder<IamRole>
    A fluent builder for IamRole.
    • Method Detail

      • create

        @Stability(Stable)
        public static IamRole.Builder create​(software.constructs.Construct scope,
                                             String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of IamRole.Builder.
      • connection

        @Stability(Experimental)
        public IamRole.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public IamRole.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public IamRole.Builder count​(Number count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public IamRole.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public IamRole.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public IamRole.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public IamRole.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public IamRole.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public IamRole.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • assumeRolePolicy

        @Stability(Stable)
        public IamRole.Builder assumeRolePolicy​(String assumeRolePolicy)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#assume_role_policy IamRole#assume_role_policy}.

        Parameters:
        assumeRolePolicy - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#assume_role_policy IamRole#assume_role_policy}. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public IamRole.Builder description​(String description)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#description IamRole#description}.

        Parameters:
        description - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#description IamRole#description}. This parameter is required.
        Returns:
        this
      • forceDetachPolicies

        @Stability(Stable)
        public IamRole.Builder forceDetachPolicies​(Boolean forceDetachPolicies)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#force_detach_policies IamRole#force_detach_policies}.

        Parameters:
        forceDetachPolicies - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#force_detach_policies IamRole#force_detach_policies}. This parameter is required.
        Returns:
        this
      • forceDetachPolicies

        @Stability(Stable)
        public IamRole.Builder forceDetachPolicies​(com.hashicorp.cdktf.IResolvable forceDetachPolicies)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#force_detach_policies IamRole#force_detach_policies}.

        Parameters:
        forceDetachPolicies - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#force_detach_policies IamRole#force_detach_policies}. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public IamRole.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#id IamRole#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#id IamRole#id}. This parameter is required.
        Returns:
        this
      • inlinePolicy

        @Stability(Stable)
        public IamRole.Builder inlinePolicy​(com.hashicorp.cdktf.IResolvable inlinePolicy)
        inline_policy block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#inline_policy IamRole#inline_policy}

        Parameters:
        inlinePolicy - inline_policy block. This parameter is required.
        Returns:
        this
      • inlinePolicy

        @Stability(Stable)
        public IamRole.Builder inlinePolicy​(List<? extends IamRoleInlinePolicy> inlinePolicy)
        inline_policy block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#inline_policy IamRole#inline_policy}

        Parameters:
        inlinePolicy - inline_policy block. This parameter is required.
        Returns:
        this
      • managedPolicyArns

        @Stability(Stable)
        public IamRole.Builder managedPolicyArns​(List<String> managedPolicyArns)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#managed_policy_arns IamRole#managed_policy_arns}.

        Parameters:
        managedPolicyArns - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#managed_policy_arns IamRole#managed_policy_arns}. This parameter is required.
        Returns:
        this
      • maxSessionDuration

        @Stability(Stable)
        public IamRole.Builder maxSessionDuration​(Number maxSessionDuration)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#max_session_duration IamRole#max_session_duration}.

        Parameters:
        maxSessionDuration - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#max_session_duration IamRole#max_session_duration}. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public IamRole.Builder name​(String name)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#name IamRole#name}.

        Parameters:
        name - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#name IamRole#name}. This parameter is required.
        Returns:
        this
      • namePrefix

        @Stability(Stable)
        public IamRole.Builder namePrefix​(String namePrefix)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#name_prefix IamRole#name_prefix}.

        Parameters:
        namePrefix - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#name_prefix IamRole#name_prefix}. This parameter is required.
        Returns:
        this
      • path

        @Stability(Stable)
        public IamRole.Builder path​(String path)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#path IamRole#path}.

        Parameters:
        path - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#path IamRole#path}. This parameter is required.
        Returns:
        this
      • permissionsBoundary

        @Stability(Stable)
        public IamRole.Builder permissionsBoundary​(String permissionsBoundary)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#permissions_boundary IamRole#permissions_boundary}.

        Parameters:
        permissionsBoundary - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#permissions_boundary IamRole#permissions_boundary}. This parameter is required.
        Returns:
        this
      • tags

        @Stability(Stable)
        public IamRole.Builder tags​(Map<String,​String> tags)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#tags IamRole#tags}.

        Parameters:
        tags - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#tags IamRole#tags}. This parameter is required.
        Returns:
        this
      • tagsAll

        @Stability(Stable)
        public IamRole.Builder tagsAll​(Map<String,​String> tagsAll)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#tags_all IamRole#tags_all}.

        Parameters:
        tagsAll - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/iam_role#tags_all IamRole#tags_all}. This parameter is required.
        Returns:
        this
      • build

        @Stability(Stable)
        public IamRole build()
        Specified by:
        build in interface software.amazon.jsii.Builder<IamRole>
        Returns:
        a newly built instance of IamRole.