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

com.pulumi.azurenative.vmwarecloudsimple.DedicatedCloudNodeArgs 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.vmwarecloudsimple;

import com.pulumi.azurenative.vmwarecloudsimple.inputs.SkuArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DedicatedCloudNodeArgs Empty = new DedicatedCloudNodeArgs();

    /**
     * Availability Zone id, e.g. "az1"
     * 
     */
    @Import(name="availabilityZoneId", required=true)
    private Output availabilityZoneId;

    /**
     * @return Availability Zone id, e.g. "az1"
     * 
     */
    public Output availabilityZoneId() {
        return this.availabilityZoneId;
    }

    /**
     * dedicated cloud node name
     * 
     */
    @Import(name="dedicatedCloudNodeName")
    private @Nullable Output dedicatedCloudNodeName;

    /**
     * @return dedicated cloud node name
     * 
     */
    public Optional> dedicatedCloudNodeName() {
        return Optional.ofNullable(this.dedicatedCloudNodeName);
    }

    /**
     * SKU's id
     * 
     */
    @Import(name="id", required=true)
    private Output id;

    /**
     * @return SKU's id
     * 
     */
    public Output id() {
        return this.id;
    }

    /**
     * Azure region
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

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

    /**
     * SKU's name
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return SKU's name
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * count of nodes to create
     * 
     */
    @Import(name="nodesCount", required=true)
    private Output nodesCount;

    /**
     * @return count of nodes to create
     * 
     */
    public Output nodesCount() {
        return this.nodesCount;
    }

    /**
     * Placement Group id, e.g. "n1"
     * 
     */
    @Import(name="placementGroupId", required=true)
    private Output placementGroupId;

    /**
     * @return Placement Group id, e.g. "n1"
     * 
     */
    public Output placementGroupId() {
        return this.placementGroupId;
    }

    /**
     * purchase id
     * 
     */
    @Import(name="purchaseId", required=true)
    private Output purchaseId;

    /**
     * @return purchase id
     * 
     */
    public Output purchaseId() {
        return this.purchaseId;
    }

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

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

    /**
     * Dedicated Cloud Nodes SKU
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return Dedicated Cloud Nodes SKU
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

    /**
     * Dedicated Cloud Nodes tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

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

    private DedicatedCloudNodeArgs() {}

    private DedicatedCloudNodeArgs(DedicatedCloudNodeArgs $) {
        this.availabilityZoneId = $.availabilityZoneId;
        this.dedicatedCloudNodeName = $.dedicatedCloudNodeName;
        this.id = $.id;
        this.location = $.location;
        this.name = $.name;
        this.nodesCount = $.nodesCount;
        this.placementGroupId = $.placementGroupId;
        this.purchaseId = $.purchaseId;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private DedicatedCloudNodeArgs $;

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

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

        /**
         * @param availabilityZoneId Availability Zone id, e.g. "az1"
         * 
         * @return builder
         * 
         */
        public Builder availabilityZoneId(Output availabilityZoneId) {
            $.availabilityZoneId = availabilityZoneId;
            return this;
        }

        /**
         * @param availabilityZoneId Availability Zone id, e.g. "az1"
         * 
         * @return builder
         * 
         */
        public Builder availabilityZoneId(String availabilityZoneId) {
            return availabilityZoneId(Output.of(availabilityZoneId));
        }

        /**
         * @param dedicatedCloudNodeName dedicated cloud node name
         * 
         * @return builder
         * 
         */
        public Builder dedicatedCloudNodeName(@Nullable Output dedicatedCloudNodeName) {
            $.dedicatedCloudNodeName = dedicatedCloudNodeName;
            return this;
        }

        /**
         * @param dedicatedCloudNodeName dedicated cloud node name
         * 
         * @return builder
         * 
         */
        public Builder dedicatedCloudNodeName(String dedicatedCloudNodeName) {
            return dedicatedCloudNodeName(Output.of(dedicatedCloudNodeName));
        }

        /**
         * @param id SKU's id
         * 
         * @return builder
         * 
         */
        public Builder id(Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id SKU's id
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

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

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

        /**
         * @param name SKU's name
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name SKU's name
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param nodesCount count of nodes to create
         * 
         * @return builder
         * 
         */
        public Builder nodesCount(Output nodesCount) {
            $.nodesCount = nodesCount;
            return this;
        }

        /**
         * @param nodesCount count of nodes to create
         * 
         * @return builder
         * 
         */
        public Builder nodesCount(Integer nodesCount) {
            return nodesCount(Output.of(nodesCount));
        }

        /**
         * @param placementGroupId Placement Group id, e.g. "n1"
         * 
         * @return builder
         * 
         */
        public Builder placementGroupId(Output placementGroupId) {
            $.placementGroupId = placementGroupId;
            return this;
        }

        /**
         * @param placementGroupId Placement Group id, e.g. "n1"
         * 
         * @return builder
         * 
         */
        public Builder placementGroupId(String placementGroupId) {
            return placementGroupId(Output.of(placementGroupId));
        }

        /**
         * @param purchaseId purchase id
         * 
         * @return builder
         * 
         */
        public Builder purchaseId(Output purchaseId) {
            $.purchaseId = purchaseId;
            return this;
        }

        /**
         * @param purchaseId purchase id
         * 
         * @return builder
         * 
         */
        public Builder purchaseId(String purchaseId) {
            return purchaseId(Output.of(purchaseId));
        }

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

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

        /**
         * @param sku Dedicated Cloud Nodes SKU
         * 
         * @return builder
         * 
         */
        public Builder sku(@Nullable Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku Dedicated Cloud Nodes SKU
         * 
         * @return builder
         * 
         */
        public Builder sku(SkuArgs sku) {
            return sku(Output.of(sku));
        }

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

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

        public DedicatedCloudNodeArgs build() {
            if ($.availabilityZoneId == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "availabilityZoneId");
            }
            if ($.id == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "id");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "name");
            }
            if ($.nodesCount == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "nodesCount");
            }
            if ($.placementGroupId == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "placementGroupId");
            }
            if ($.purchaseId == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "purchaseId");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("DedicatedCloudNodeArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy