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

com.pulumi.azurenative.networkcloud.BareMetalMachineKeySetArgs 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.BareMetalMachineKeySetPrivilegeLevel;
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 BareMetalMachineKeySetArgs extends com.pulumi.resources.ResourceArgs {

    public static final BareMetalMachineKeySetArgs Empty = new BareMetalMachineKeySetArgs();

    /**
     * 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 bare metal machine key set.
     * 
     */
    @Import(name="bareMetalMachineKeySetName")
    private @Nullable Output bareMetalMachineKeySetName;

    /**
     * @return The name of the bare metal machine key set.
     * 
     */
    public Optional> bareMetalMachineKeySetName() {
        return Optional.ofNullable(this.bareMetalMachineKeySetName);
    }

    /**
     * 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 bare metal machines.
     * 
     */
    @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 bare metal machines.
     * 
     */
    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 list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
     * 
     */
    @Import(name="jumpHostsAllowed", required=true)
    private Output> jumpHostsAllowed;

    /**
     * @return The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
     * 
     */
    public Output> jumpHostsAllowed() {
        return this.jumpHostsAllowed;
    }

    /**
     * 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 name of the group that users will be assigned to on the operating system of the machines.
     * 
     */
    @Import(name="osGroupName")
    private @Nullable Output osGroupName;

    /**
     * @return The name of the group that users will be assigned to on the operating system of the machines.
     * 
     */
    public Optional> osGroupName() {
        return Optional.ofNullable(this.osGroupName);
    }

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

    private BareMetalMachineKeySetArgs(BareMetalMachineKeySetArgs $) {
        this.azureGroupId = $.azureGroupId;
        this.bareMetalMachineKeySetName = $.bareMetalMachineKeySetName;
        this.clusterName = $.clusterName;
        this.expiration = $.expiration;
        this.extendedLocation = $.extendedLocation;
        this.jumpHostsAllowed = $.jumpHostsAllowed;
        this.location = $.location;
        this.osGroupName = $.osGroupName;
        this.privilegeLevel = $.privilegeLevel;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.userList = $.userList;
    }

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

    public static final class Builder {
        private BareMetalMachineKeySetArgs $;

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

        public Builder(BareMetalMachineKeySetArgs defaults) {
            $ = new BareMetalMachineKeySetArgs(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 bareMetalMachineKeySetName The name of the bare metal machine key set.
         * 
         * @return builder
         * 
         */
        public Builder bareMetalMachineKeySetName(@Nullable Output bareMetalMachineKeySetName) {
            $.bareMetalMachineKeySetName = bareMetalMachineKeySetName;
            return this;
        }

        /**
         * @param bareMetalMachineKeySetName The name of the bare metal machine key set.
         * 
         * @return builder
         * 
         */
        public Builder bareMetalMachineKeySetName(String bareMetalMachineKeySetName) {
            return bareMetalMachineKeySetName(Output.of(bareMetalMachineKeySetName));
        }

        /**
         * @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 bare metal machines.
         * 
         * @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 bare metal machines.
         * 
         * @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 jumpHostsAllowed The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
         * 
         * @return builder
         * 
         */
        public Builder jumpHostsAllowed(Output> jumpHostsAllowed) {
            $.jumpHostsAllowed = jumpHostsAllowed;
            return this;
        }

        /**
         * @param jumpHostsAllowed The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
         * 
         * @return builder
         * 
         */
        public Builder jumpHostsAllowed(List jumpHostsAllowed) {
            return jumpHostsAllowed(Output.of(jumpHostsAllowed));
        }

        /**
         * @param jumpHostsAllowed The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
         * 
         * @return builder
         * 
         */
        public Builder jumpHostsAllowed(String... jumpHostsAllowed) {
            return jumpHostsAllowed(List.of(jumpHostsAllowed));
        }

        /**
         * @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 osGroupName The name of the group that users will be assigned to on the operating system of the machines.
         * 
         * @return builder
         * 
         */
        public Builder osGroupName(@Nullable Output osGroupName) {
            $.osGroupName = osGroupName;
            return this;
        }

        /**
         * @param osGroupName The name of the group that users will be assigned to on the operating system of the machines.
         * 
         * @return builder
         * 
         */
        public Builder osGroupName(String osGroupName) {
            return osGroupName(Output.of(osGroupName));
        }

        /**
         * @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(BareMetalMachineKeySetPrivilegeLevel 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 BareMetalMachineKeySetArgs build() {
            if ($.azureGroupId == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "azureGroupId");
            }
            if ($.clusterName == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "clusterName");
            }
            if ($.expiration == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "expiration");
            }
            if ($.extendedLocation == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "extendedLocation");
            }
            if ($.jumpHostsAllowed == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "jumpHostsAllowed");
            }
            if ($.privilegeLevel == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "privilegeLevel");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "resourceGroupName");
            }
            if ($.userList == null) {
                throw new MissingRequiredPropertyException("BareMetalMachineKeySetArgs", "userList");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy