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

com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineGroupArgs Maven / Gradle / Ivy

The 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.sqlvirtualmachine;

import com.pulumi.azurenative.sqlvirtualmachine.enums.SqlVmGroupImageSku;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.WsfcDomainProfileArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final SqlVirtualMachineGroupArgs Empty = new SqlVirtualMachineGroupArgs();

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

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

    /**
     * Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016.
     * 
     */
    @Import(name="sqlImageOffer")
    private @Nullable Output sqlImageOffer;

    /**
     * @return SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016.
     * 
     */
    public Optional> sqlImageOffer() {
        return Optional.ofNullable(this.sqlImageOffer);
    }

    /**
     * SQL image sku.
     * 
     */
    @Import(name="sqlImageSku")
    private @Nullable Output> sqlImageSku;

    /**
     * @return SQL image sku.
     * 
     */
    public Optional>> sqlImageSku() {
        return Optional.ofNullable(this.sqlImageSku);
    }

    /**
     * Name of the SQL virtual machine group.
     * 
     */
    @Import(name="sqlVirtualMachineGroupName")
    private @Nullable Output sqlVirtualMachineGroupName;

    /**
     * @return Name of the SQL virtual machine group.
     * 
     */
    public Optional> sqlVirtualMachineGroupName() {
        return Optional.ofNullable(this.sqlVirtualMachineGroupName);
    }

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

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

    /**
     * Cluster Active Directory domain profile.
     * 
     */
    @Import(name="wsfcDomainProfile")
    private @Nullable Output wsfcDomainProfile;

    /**
     * @return Cluster Active Directory domain profile.
     * 
     */
    public Optional> wsfcDomainProfile() {
        return Optional.ofNullable(this.wsfcDomainProfile);
    }

    private SqlVirtualMachineGroupArgs() {}

    private SqlVirtualMachineGroupArgs(SqlVirtualMachineGroupArgs $) {
        this.location = $.location;
        this.resourceGroupName = $.resourceGroupName;
        this.sqlImageOffer = $.sqlImageOffer;
        this.sqlImageSku = $.sqlImageSku;
        this.sqlVirtualMachineGroupName = $.sqlVirtualMachineGroupName;
        this.tags = $.tags;
        this.wsfcDomainProfile = $.wsfcDomainProfile;
    }

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

    public static final class Builder {
        private SqlVirtualMachineGroupArgs $;

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

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

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

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

        /**
         * @param resourceGroupName Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sqlImageOffer SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016.
         * 
         * @return builder
         * 
         */
        public Builder sqlImageOffer(@Nullable Output sqlImageOffer) {
            $.sqlImageOffer = sqlImageOffer;
            return this;
        }

        /**
         * @param sqlImageOffer SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016.
         * 
         * @return builder
         * 
         */
        public Builder sqlImageOffer(String sqlImageOffer) {
            return sqlImageOffer(Output.of(sqlImageOffer));
        }

        /**
         * @param sqlImageSku SQL image sku.
         * 
         * @return builder
         * 
         */
        public Builder sqlImageSku(@Nullable Output> sqlImageSku) {
            $.sqlImageSku = sqlImageSku;
            return this;
        }

        /**
         * @param sqlImageSku SQL image sku.
         * 
         * @return builder
         * 
         */
        public Builder sqlImageSku(Either sqlImageSku) {
            return sqlImageSku(Output.of(sqlImageSku));
        }

        /**
         * @param sqlImageSku SQL image sku.
         * 
         * @return builder
         * 
         */
        public Builder sqlImageSku(String sqlImageSku) {
            return sqlImageSku(Either.ofLeft(sqlImageSku));
        }

        /**
         * @param sqlImageSku SQL image sku.
         * 
         * @return builder
         * 
         */
        public Builder sqlImageSku(SqlVmGroupImageSku sqlImageSku) {
            return sqlImageSku(Either.ofRight(sqlImageSku));
        }

        /**
         * @param sqlVirtualMachineGroupName Name of the SQL virtual machine group.
         * 
         * @return builder
         * 
         */
        public Builder sqlVirtualMachineGroupName(@Nullable Output sqlVirtualMachineGroupName) {
            $.sqlVirtualMachineGroupName = sqlVirtualMachineGroupName;
            return this;
        }

        /**
         * @param sqlVirtualMachineGroupName Name of the SQL virtual machine group.
         * 
         * @return builder
         * 
         */
        public Builder sqlVirtualMachineGroupName(String sqlVirtualMachineGroupName) {
            return sqlVirtualMachineGroupName(Output.of(sqlVirtualMachineGroupName));
        }

        /**
         * @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 wsfcDomainProfile Cluster Active Directory domain profile.
         * 
         * @return builder
         * 
         */
        public Builder wsfcDomainProfile(@Nullable Output wsfcDomainProfile) {
            $.wsfcDomainProfile = wsfcDomainProfile;
            return this;
        }

        /**
         * @param wsfcDomainProfile Cluster Active Directory domain profile.
         * 
         * @return builder
         * 
         */
        public Builder wsfcDomainProfile(WsfcDomainProfileArgs wsfcDomainProfile) {
            return wsfcDomainProfile(Output.of(wsfcDomainProfile));
        }

        public SqlVirtualMachineGroupArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SqlVirtualMachineGroupArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy