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

com.pulumi.azurenative.resourceconnector.ApplianceArgs 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.resourceconnector;

import com.pulumi.azurenative.resourceconnector.enums.Distro;
import com.pulumi.azurenative.resourceconnector.inputs.AppliancePropertiesInfrastructureConfigArgs;
import com.pulumi.azurenative.resourceconnector.inputs.IdentityArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ApplianceArgs Empty = new ApplianceArgs();

    /**
     * Represents a supported Fabric/Infra. (AKSEdge etc...).
     * 
     */
    @Import(name="distro")
    private @Nullable Output> distro;

    /**
     * @return Represents a supported Fabric/Infra. (AKSEdge etc...).
     * 
     */
    public Optional>> distro() {
        return Optional.ofNullable(this.distro);
    }

    /**
     * Identity for the resource.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return Identity for the resource.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * Contains infrastructure information about the Appliance
     * 
     */
    @Import(name="infrastructureConfig")
    private @Nullable Output infrastructureConfig;

    /**
     * @return Contains infrastructure information about the Appliance
     * 
     */
    public Optional> infrastructureConfig() {
        return Optional.ofNullable(this.infrastructureConfig);
    }

    /**
     * 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);
    }

    /**
     * Certificates pair used to download MSI certificate from HIS. Can only be set once.
     * 
     */
    @Import(name="publicKey")
    private @Nullable Output publicKey;

    /**
     * @return Certificates pair used to download MSI certificate from HIS. Can only be set once.
     * 
     */
    public Optional> publicKey() {
        return Optional.ofNullable(this.publicKey);
    }

    /**
     * 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;
    }

    /**
     * Appliances name.
     * 
     */
    @Import(name="resourceName")
    private @Nullable Output resourceName;

    /**
     * @return Appliances name.
     * 
     */
    public Optional> resourceName() {
        return Optional.ofNullable(this.resourceName);
    }

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

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

    /**
     * Version of the Appliance
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Version of the Appliance
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private ApplianceArgs() {}

    private ApplianceArgs(ApplianceArgs $) {
        this.distro = $.distro;
        this.identity = $.identity;
        this.infrastructureConfig = $.infrastructureConfig;
        this.location = $.location;
        this.publicKey = $.publicKey;
        this.resourceGroupName = $.resourceGroupName;
        this.resourceName = $.resourceName;
        this.tags = $.tags;
        this.version = $.version;
    }

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

    public static final class Builder {
        private ApplianceArgs $;

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

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

        /**
         * @param distro Represents a supported Fabric/Infra. (AKSEdge etc...).
         * 
         * @return builder
         * 
         */
        public Builder distro(@Nullable Output> distro) {
            $.distro = distro;
            return this;
        }

        /**
         * @param distro Represents a supported Fabric/Infra. (AKSEdge etc...).
         * 
         * @return builder
         * 
         */
        public Builder distro(Either distro) {
            return distro(Output.of(distro));
        }

        /**
         * @param distro Represents a supported Fabric/Infra. (AKSEdge etc...).
         * 
         * @return builder
         * 
         */
        public Builder distro(String distro) {
            return distro(Either.ofLeft(distro));
        }

        /**
         * @param distro Represents a supported Fabric/Infra. (AKSEdge etc...).
         * 
         * @return builder
         * 
         */
        public Builder distro(Distro distro) {
            return distro(Either.ofRight(distro));
        }

        /**
         * @param identity Identity for the resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity Identity for the resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(IdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param infrastructureConfig Contains infrastructure information about the Appliance
         * 
         * @return builder
         * 
         */
        public Builder infrastructureConfig(@Nullable Output infrastructureConfig) {
            $.infrastructureConfig = infrastructureConfig;
            return this;
        }

        /**
         * @param infrastructureConfig Contains infrastructure information about the Appliance
         * 
         * @return builder
         * 
         */
        public Builder infrastructureConfig(AppliancePropertiesInfrastructureConfigArgs infrastructureConfig) {
            return infrastructureConfig(Output.of(infrastructureConfig));
        }

        /**
         * @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 publicKey Certificates pair used to download MSI certificate from HIS. Can only be set once.
         * 
         * @return builder
         * 
         */
        public Builder publicKey(@Nullable Output publicKey) {
            $.publicKey = publicKey;
            return this;
        }

        /**
         * @param publicKey Certificates pair used to download MSI certificate from HIS. Can only be set once.
         * 
         * @return builder
         * 
         */
        public Builder publicKey(String publicKey) {
            return publicKey(Output.of(publicKey));
        }

        /**
         * @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 resourceName Appliances name.
         * 
         * @return builder
         * 
         */
        public Builder resourceName(@Nullable Output resourceName) {
            $.resourceName = resourceName;
            return this;
        }

        /**
         * @param resourceName Appliances name.
         * 
         * @return builder
         * 
         */
        public Builder resourceName(String resourceName) {
            return resourceName(Output.of(resourceName));
        }

        /**
         * @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 version Version of the Appliance
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Version of the Appliance
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public ApplianceArgs build() {
            $.distro = Codegen.stringProp("distro").left(Distro.class).output().arg($.distro).def("AKSEdge").getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ApplianceArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy