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

com.pulumi.azurenative.managedservices.inputs.AuthorizationArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.managedservices.inputs;

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


/**
 * The Azure Active Directory principal identifier and Azure built-in role that describes the access the principal will receive on the delegated resource in the managed tenant.
 * 
 */
public final class AuthorizationArgs extends com.pulumi.resources.ResourceArgs {

    public static final AuthorizationArgs Empty = new AuthorizationArgs();

    /**
     * The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other principals.
     * 
     */
    @Import(name="delegatedRoleDefinitionIds")
    private @Nullable Output> delegatedRoleDefinitionIds;

    /**
     * @return The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other principals.
     * 
     */
    public Optional>> delegatedRoleDefinitionIds() {
        return Optional.ofNullable(this.delegatedRoleDefinitionIds);
    }

    /**
     * The identifier of the Azure Active Directory principal.
     * 
     */
    @Import(name="principalId", required=true)
    private Output principalId;

    /**
     * @return The identifier of the Azure Active Directory principal.
     * 
     */
    public Output principalId() {
        return this.principalId;
    }

    /**
     * The display name of the Azure Active Directory principal.
     * 
     */
    @Import(name="principalIdDisplayName")
    private @Nullable Output principalIdDisplayName;

    /**
     * @return The display name of the Azure Active Directory principal.
     * 
     */
    public Optional> principalIdDisplayName() {
        return Optional.ofNullable(this.principalIdDisplayName);
    }

    /**
     * The identifier of the Azure built-in role that defines the permissions that the Azure Active Directory principal will have on the projected scope.
     * 
     */
    @Import(name="roleDefinitionId", required=true)
    private Output roleDefinitionId;

    /**
     * @return The identifier of the Azure built-in role that defines the permissions that the Azure Active Directory principal will have on the projected scope.
     * 
     */
    public Output roleDefinitionId() {
        return this.roleDefinitionId;
    }

    private AuthorizationArgs() {}

    private AuthorizationArgs(AuthorizationArgs $) {
        this.delegatedRoleDefinitionIds = $.delegatedRoleDefinitionIds;
        this.principalId = $.principalId;
        this.principalIdDisplayName = $.principalIdDisplayName;
        this.roleDefinitionId = $.roleDefinitionId;
    }

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

    public static final class Builder {
        private AuthorizationArgs $;

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

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

        /**
         * @param delegatedRoleDefinitionIds The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other principals.
         * 
         * @return builder
         * 
         */
        public Builder delegatedRoleDefinitionIds(@Nullable Output> delegatedRoleDefinitionIds) {
            $.delegatedRoleDefinitionIds = delegatedRoleDefinitionIds;
            return this;
        }

        /**
         * @param delegatedRoleDefinitionIds The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other principals.
         * 
         * @return builder
         * 
         */
        public Builder delegatedRoleDefinitionIds(List delegatedRoleDefinitionIds) {
            return delegatedRoleDefinitionIds(Output.of(delegatedRoleDefinitionIds));
        }

        /**
         * @param delegatedRoleDefinitionIds The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other principals.
         * 
         * @return builder
         * 
         */
        public Builder delegatedRoleDefinitionIds(String... delegatedRoleDefinitionIds) {
            return delegatedRoleDefinitionIds(List.of(delegatedRoleDefinitionIds));
        }

        /**
         * @param principalId The identifier of the Azure Active Directory principal.
         * 
         * @return builder
         * 
         */
        public Builder principalId(Output principalId) {
            $.principalId = principalId;
            return this;
        }

        /**
         * @param principalId The identifier of the Azure Active Directory principal.
         * 
         * @return builder
         * 
         */
        public Builder principalId(String principalId) {
            return principalId(Output.of(principalId));
        }

        /**
         * @param principalIdDisplayName The display name of the Azure Active Directory principal.
         * 
         * @return builder
         * 
         */
        public Builder principalIdDisplayName(@Nullable Output principalIdDisplayName) {
            $.principalIdDisplayName = principalIdDisplayName;
            return this;
        }

        /**
         * @param principalIdDisplayName The display name of the Azure Active Directory principal.
         * 
         * @return builder
         * 
         */
        public Builder principalIdDisplayName(String principalIdDisplayName) {
            return principalIdDisplayName(Output.of(principalIdDisplayName));
        }

        /**
         * @param roleDefinitionId The identifier of the Azure built-in role that defines the permissions that the Azure Active Directory principal will have on the projected scope.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(Output roleDefinitionId) {
            $.roleDefinitionId = roleDefinitionId;
            return this;
        }

        /**
         * @param roleDefinitionId The identifier of the Azure built-in role that defines the permissions that the Azure Active Directory principal will have on the projected scope.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(String roleDefinitionId) {
            return roleDefinitionId(Output.of(roleDefinitionId));
        }

        public AuthorizationArgs build() {
            if ($.principalId == null) {
                throw new MissingRequiredPropertyException("AuthorizationArgs", "principalId");
            }
            if ($.roleDefinitionId == null) {
                throw new MissingRequiredPropertyException("AuthorizationArgs", "roleDefinitionId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy