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

com.pulumi.azurenative.networkcloud.BmcKeySetArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.networkcloud;

import com.pulumi.azurenative.networkcloud.enums.BmcKeySetPrivilegeLevel;
import com.pulumi.azurenative.networkcloud.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.networkcloud.inputs.KeySetUserArgs;
import com.pulumi.core.Either;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final BmcKeySetArgs Empty = new BmcKeySetArgs();

    /**
     * The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.
     * 
     */
    @Import(name="azureGroupId", required=true)
    private Output azureGroupId;

    /**
     * @return The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.
     * 
     */
    public Output azureGroupId() {
        return this.azureGroupId;
    }

    /**
     * The name of the baseboard management controller key set.
     * 
     */
    @Import(name="bmcKeySetName")
    private @Nullable Output bmcKeySetName;

    /**
     * @return The name of the baseboard management controller key set.
     * 
     */
    public Optional> bmcKeySetName() {
        return Optional.ofNullable(this.bmcKeySetName);
    }

    /**
     * The name of the cluster.
     * 
     */
    @Import(name="clusterName", required=true)
    private Output clusterName;

    /**
     * @return The name of the cluster.
     * 
     */
    public Output clusterName() {
        return this.clusterName;
    }

    /**
     * The date and time after which the users in this key set will be removed from the baseboard management controllers.
     * 
     */
    @Import(name="expiration", required=true)
    private Output expiration;

    /**
     * @return The date and time after which the users in this key set will be removed from the baseboard management controllers.
     * 
     */
    public Output expiration() {
        return this.expiration;
    }

    /**
     * The extended location of the cluster associated with the resource.
     * 
     */
    @Import(name="extendedLocation", required=true)
    private Output extendedLocation;

    /**
     * @return The extended location of the cluster associated with the resource.
     * 
     */
    public Output extendedLocation() {
        return this.extendedLocation;
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The access level allowed for the users in this key set.
     * 
     */
    @Import(name="privilegeLevel", required=true)
    private Output> privilegeLevel;

    /**
     * @return The access level allowed for the users in this key set.
     * 
     */
    public Output> privilegeLevel() {
        return this.privilegeLevel;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The unique list of permitted users.
     * 
     */
    @Import(name="userList", required=true)
    private Output> userList;

    /**
     * @return The unique list of permitted users.
     * 
     */
    public Output> userList() {
        return this.userList;
    }

    private BmcKeySetArgs() {}

    private BmcKeySetArgs(BmcKeySetArgs $) {
        this.azureGroupId = $.azureGroupId;
        this.bmcKeySetName = $.bmcKeySetName;
        this.clusterName = $.clusterName;
        this.expiration = $.expiration;
        this.extendedLocation = $.extendedLocation;
        this.location = $.location;
        this.privilegeLevel = $.privilegeLevel;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.userList = $.userList;
    }

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

    public static final class Builder {
        private BmcKeySetArgs $;

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

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

        /**
         * @param azureGroupId The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.
         * 
         * @return builder
         * 
         */
        public Builder azureGroupId(Output azureGroupId) {
            $.azureGroupId = azureGroupId;
            return this;
        }

        /**
         * @param azureGroupId The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.
         * 
         * @return builder
         * 
         */
        public Builder azureGroupId(String azureGroupId) {
            return azureGroupId(Output.of(azureGroupId));
        }

        /**
         * @param bmcKeySetName The name of the baseboard management controller key set.
         * 
         * @return builder
         * 
         */
        public Builder bmcKeySetName(@Nullable Output bmcKeySetName) {
            $.bmcKeySetName = bmcKeySetName;
            return this;
        }

        /**
         * @param bmcKeySetName The name of the baseboard management controller key set.
         * 
         * @return builder
         * 
         */
        public Builder bmcKeySetName(String bmcKeySetName) {
            return bmcKeySetName(Output.of(bmcKeySetName));
        }

        /**
         * @param clusterName The name of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

        /**
         * @param expiration The date and time after which the users in this key set will be removed from the baseboard management controllers.
         * 
         * @return builder
         * 
         */
        public Builder expiration(Output expiration) {
            $.expiration = expiration;
            return this;
        }

        /**
         * @param expiration The date and time after which the users in this key set will be removed from the baseboard management controllers.
         * 
         * @return builder
         * 
         */
        public Builder expiration(String expiration) {
            return expiration(Output.of(expiration));
        }

        /**
         * @param extendedLocation The extended location of the cluster associated with the resource.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation The extended location of the cluster associated with the resource.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param privilegeLevel The access level allowed for the users in this key set.
         * 
         * @return builder
         * 
         */
        public Builder privilegeLevel(Output> privilegeLevel) {
            $.privilegeLevel = privilegeLevel;
            return this;
        }

        /**
         * @param privilegeLevel The access level allowed for the users in this key set.
         * 
         * @return builder
         * 
         */
        public Builder privilegeLevel(Either privilegeLevel) {
            return privilegeLevel(Output.of(privilegeLevel));
        }

        /**
         * @param privilegeLevel The access level allowed for the users in this key set.
         * 
         * @return builder
         * 
         */
        public Builder privilegeLevel(String privilegeLevel) {
            return privilegeLevel(Either.ofLeft(privilegeLevel));
        }

        /**
         * @param privilegeLevel The access level allowed for the users in this key set.
         * 
         * @return builder
         * 
         */
        public Builder privilegeLevel(BmcKeySetPrivilegeLevel privilegeLevel) {
            return privilegeLevel(Either.ofRight(privilegeLevel));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param userList The unique list of permitted users.
         * 
         * @return builder
         * 
         */
        public Builder userList(Output> userList) {
            $.userList = userList;
            return this;
        }

        /**
         * @param userList The unique list of permitted users.
         * 
         * @return builder
         * 
         */
        public Builder userList(List userList) {
            return userList(Output.of(userList));
        }

        /**
         * @param userList The unique list of permitted users.
         * 
         * @return builder
         * 
         */
        public Builder userList(KeySetUserArgs... userList) {
            return userList(List.of(userList));
        }

        public BmcKeySetArgs build() {
            if ($.azureGroupId == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "azureGroupId");
            }
            if ($.clusterName == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "clusterName");
            }
            if ($.expiration == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "expiration");
            }
            if ($.extendedLocation == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "extendedLocation");
            }
            if ($.privilegeLevel == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "privilegeLevel");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "resourceGroupName");
            }
            if ($.userList == null) {
                throw new MissingRequiredPropertyException("BmcKeySetArgs", "userList");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy