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

com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs Maven / Gradle / Ivy

// *** 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.azure.workloadssap.inputs;

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.Objects;


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

    public static final ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs Empty = new ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs();

    /**
     * A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="names", required=true)
    private Output> names;

    /**
     * @return A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.
     * 
     */
    public Output> names() {
        return this.names;
    }

    /**
     * The name of the Volume. Changing this forces a new resource to be created.
     * 
     * > **Note:** Possible value for Application Server and Central Server is `default`.
     * 
     * > **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.
     * 
     */
    @Import(name="volumeName", required=true)
    private Output volumeName;

    /**
     * @return The name of the Volume. Changing this forces a new resource to be created.
     * 
     * > **Note:** Possible value for Application Server and Central Server is `default`.
     * 
     * > **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.
     * 
     */
    public Output volumeName() {
        return this.volumeName;
    }

    private ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs() {}

    private ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs $) {
        this.names = $.names;
        this.volumeName = $.volumeName;
    }

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

    public static final class Builder {
        private ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs $;

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

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

        /**
         * @param names A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder names(Output> names) {
            $.names = names;
            return this;
        }

        /**
         * @param names A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder names(List names) {
            return names(Output.of(names));
        }

        /**
         * @param names A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder names(String... names) {
            return names(List.of(names));
        }

        /**
         * @param volumeName The name of the Volume. Changing this forces a new resource to be created.
         * 
         * > **Note:** Possible value for Application Server and Central Server is `default`.
         * 
         * > **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.
         * 
         * @return builder
         * 
         */
        public Builder volumeName(Output volumeName) {
            $.volumeName = volumeName;
            return this;
        }

        /**
         * @param volumeName The name of the Volume. Changing this forces a new resource to be created.
         * 
         * > **Note:** Possible value for Application Server and Central Server is `default`.
         * 
         * > **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.
         * 
         * @return builder
         * 
         */
        public Builder volumeName(String volumeName) {
            return volumeName(Output.of(volumeName));
        }

        public ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs build() {
            if ($.names == null) {
                throw new MissingRequiredPropertyException("ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs", "names");
            }
            if ($.volumeName == null) {
                throw new MissingRequiredPropertyException("ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs", "volumeName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy