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

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

There is a newer version: 2.89.2
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.azurenative.managedservices.inputs.JustInTimeAccessPolicyArgs;
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;


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

    public static final EligibleAuthorizationArgs Empty = new EligibleAuthorizationArgs();

    /**
     * The just-in-time access policy setting.
     * 
     */
    @Import(name="justInTimeAccessPolicy")
    private @Nullable Output justInTimeAccessPolicy;

    /**
     * @return The just-in-time access policy setting.
     * 
     */
    public Optional> justInTimeAccessPolicy() {
        return Optional.ofNullable(this.justInTimeAccessPolicy);
    }

    /**
     * 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 EligibleAuthorizationArgs() {}

    private EligibleAuthorizationArgs(EligibleAuthorizationArgs $) {
        this.justInTimeAccessPolicy = $.justInTimeAccessPolicy;
        this.principalId = $.principalId;
        this.principalIdDisplayName = $.principalIdDisplayName;
        this.roleDefinitionId = $.roleDefinitionId;
    }

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

    public static final class Builder {
        private EligibleAuthorizationArgs $;

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

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

        /**
         * @param justInTimeAccessPolicy The just-in-time access policy setting.
         * 
         * @return builder
         * 
         */
        public Builder justInTimeAccessPolicy(@Nullable Output justInTimeAccessPolicy) {
            $.justInTimeAccessPolicy = justInTimeAccessPolicy;
            return this;
        }

        /**
         * @param justInTimeAccessPolicy The just-in-time access policy setting.
         * 
         * @return builder
         * 
         */
        public Builder justInTimeAccessPolicy(JustInTimeAccessPolicyArgs justInTimeAccessPolicy) {
            return justInTimeAccessPolicy(Output.of(justInTimeAccessPolicy));
        }

        /**
         * @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 EligibleAuthorizationArgs build() {
            if ($.principalId == null) {
                throw new MissingRequiredPropertyException("EligibleAuthorizationArgs", "principalId");
            }
            if ($.roleDefinitionId == null) {
                throw new MissingRequiredPropertyException("EligibleAuthorizationArgs", "roleDefinitionId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy