All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.billing.BillingRoleAssignmentByDepartmentArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.billing;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class BillingRoleAssignmentByDepartmentArgs extends com.pulumi.resources.ResourceArgs {

    public static final BillingRoleAssignmentByDepartmentArgs Empty = new BillingRoleAssignmentByDepartmentArgs();

    /**
     * The ID that uniquely identifies a billing account.
     * 
     */
    @Import(name="billingAccountName", required=true)
    private Output billingAccountName;

    /**
     * @return The ID that uniquely identifies a billing account.
     * 
     */
    public Output billingAccountName() {
        return this.billingAccountName;
    }

    /**
     * The ID that uniquely identifies a role assignment.
     * 
     */
    @Import(name="billingRoleAssignmentName")
    private @Nullable Output billingRoleAssignmentName;

    /**
     * @return The ID that uniquely identifies a role assignment.
     * 
     */
    public Optional> billingRoleAssignmentName() {
        return Optional.ofNullable(this.billingRoleAssignmentName);
    }

    /**
     * The ID that uniquely identifies a department.
     * 
     */
    @Import(name="departmentName", required=true)
    private Output departmentName;

    /**
     * @return The ID that uniquely identifies a department.
     * 
     */
    public Output departmentName() {
        return this.departmentName;
    }

    /**
     * The principal id of the user to whom the role was assigned.
     * 
     */
    @Import(name="principalId")
    private @Nullable Output principalId;

    /**
     * @return The principal id of the user to whom the role was assigned.
     * 
     */
    public Optional> principalId() {
        return Optional.ofNullable(this.principalId);
    }

    /**
     * The principal tenant id of the user to whom the role was assigned.
     * 
     */
    @Import(name="principalTenantId")
    private @Nullable Output principalTenantId;

    /**
     * @return The principal tenant id of the user to whom the role was assigned.
     * 
     */
    public Optional> principalTenantId() {
        return Optional.ofNullable(this.principalTenantId);
    }

    /**
     * The ID of the role definition.
     * 
     */
    @Import(name="roleDefinitionId")
    private @Nullable Output roleDefinitionId;

    /**
     * @return The ID of the role definition.
     * 
     */
    public Optional> roleDefinitionId() {
        return Optional.ofNullable(this.roleDefinitionId);
    }

    /**
     * The authentication type of the user, whether Organization or MSA, of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
     * 
     */
    @Import(name="userAuthenticationType")
    private @Nullable Output userAuthenticationType;

    /**
     * @return The authentication type of the user, whether Organization or MSA, of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
     * 
     */
    public Optional> userAuthenticationType() {
        return Optional.ofNullable(this.userAuthenticationType);
    }

    /**
     * The email address of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
     * 
     */
    @Import(name="userEmailAddress")
    private @Nullable Output userEmailAddress;

    /**
     * @return The email address of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
     * 
     */
    public Optional> userEmailAddress() {
        return Optional.ofNullable(this.userEmailAddress);
    }

    private BillingRoleAssignmentByDepartmentArgs() {}

    private BillingRoleAssignmentByDepartmentArgs(BillingRoleAssignmentByDepartmentArgs $) {
        this.billingAccountName = $.billingAccountName;
        this.billingRoleAssignmentName = $.billingRoleAssignmentName;
        this.departmentName = $.departmentName;
        this.principalId = $.principalId;
        this.principalTenantId = $.principalTenantId;
        this.roleDefinitionId = $.roleDefinitionId;
        this.userAuthenticationType = $.userAuthenticationType;
        this.userEmailAddress = $.userEmailAddress;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(BillingRoleAssignmentByDepartmentArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private BillingRoleAssignmentByDepartmentArgs $;

        public Builder() {
            $ = new BillingRoleAssignmentByDepartmentArgs();
        }

        public Builder(BillingRoleAssignmentByDepartmentArgs defaults) {
            $ = new BillingRoleAssignmentByDepartmentArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param billingAccountName The ID that uniquely identifies a billing account.
         * 
         * @return builder
         * 
         */
        public Builder billingAccountName(Output billingAccountName) {
            $.billingAccountName = billingAccountName;
            return this;
        }

        /**
         * @param billingAccountName The ID that uniquely identifies a billing account.
         * 
         * @return builder
         * 
         */
        public Builder billingAccountName(String billingAccountName) {
            return billingAccountName(Output.of(billingAccountName));
        }

        /**
         * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.
         * 
         * @return builder
         * 
         */
        public Builder billingRoleAssignmentName(@Nullable Output billingRoleAssignmentName) {
            $.billingRoleAssignmentName = billingRoleAssignmentName;
            return this;
        }

        /**
         * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.
         * 
         * @return builder
         * 
         */
        public Builder billingRoleAssignmentName(String billingRoleAssignmentName) {
            return billingRoleAssignmentName(Output.of(billingRoleAssignmentName));
        }

        /**
         * @param departmentName The ID that uniquely identifies a department.
         * 
         * @return builder
         * 
         */
        public Builder departmentName(Output departmentName) {
            $.departmentName = departmentName;
            return this;
        }

        /**
         * @param departmentName The ID that uniquely identifies a department.
         * 
         * @return builder
         * 
         */
        public Builder departmentName(String departmentName) {
            return departmentName(Output.of(departmentName));
        }

        /**
         * @param principalId The principal id of the user to whom the role was assigned.
         * 
         * @return builder
         * 
         */
        public Builder principalId(@Nullable Output principalId) {
            $.principalId = principalId;
            return this;
        }

        /**
         * @param principalId The principal id of the user to whom the role was assigned.
         * 
         * @return builder
         * 
         */
        public Builder principalId(String principalId) {
            return principalId(Output.of(principalId));
        }

        /**
         * @param principalTenantId The principal tenant id of the user to whom the role was assigned.
         * 
         * @return builder
         * 
         */
        public Builder principalTenantId(@Nullable Output principalTenantId) {
            $.principalTenantId = principalTenantId;
            return this;
        }

        /**
         * @param principalTenantId The principal tenant id of the user to whom the role was assigned.
         * 
         * @return builder
         * 
         */
        public Builder principalTenantId(String principalTenantId) {
            return principalTenantId(Output.of(principalTenantId));
        }

        /**
         * @param roleDefinitionId The ID of the role definition.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(@Nullable Output roleDefinitionId) {
            $.roleDefinitionId = roleDefinitionId;
            return this;
        }

        /**
         * @param roleDefinitionId The ID of the role definition.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(String roleDefinitionId) {
            return roleDefinitionId(Output.of(roleDefinitionId));
        }

        /**
         * @param userAuthenticationType The authentication type of the user, whether Organization or MSA, of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
         * 
         * @return builder
         * 
         */
        public Builder userAuthenticationType(@Nullable Output userAuthenticationType) {
            $.userAuthenticationType = userAuthenticationType;
            return this;
        }

        /**
         * @param userAuthenticationType The authentication type of the user, whether Organization or MSA, of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
         * 
         * @return builder
         * 
         */
        public Builder userAuthenticationType(String userAuthenticationType) {
            return userAuthenticationType(Output.of(userAuthenticationType));
        }

        /**
         * @param userEmailAddress The email address of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
         * 
         * @return builder
         * 
         */
        public Builder userEmailAddress(@Nullable Output userEmailAddress) {
            $.userEmailAddress = userEmailAddress;
            return this;
        }

        /**
         * @param userEmailAddress The email address of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.
         * 
         * @return builder
         * 
         */
        public Builder userEmailAddress(String userEmailAddress) {
            return userEmailAddress(Output.of(userEmailAddress));
        }

        public BillingRoleAssignmentByDepartmentArgs build() {
            if ($.billingAccountName == null) {
                throw new MissingRequiredPropertyException("BillingRoleAssignmentByDepartmentArgs", "billingAccountName");
            }
            if ($.departmentName == null) {
                throw new MissingRequiredPropertyException("BillingRoleAssignmentByDepartmentArgs", "departmentName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy