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

com.pulumi.alicloud.eds.BundleArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.eds;

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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final BundleArgs Empty = new BundleArgs();

    /**
     * The name of the bundle.
     * 
     */
    @Import(name="bundleName")
    private @Nullable Output bundleName;

    /**
     * @return The name of the bundle.
     * 
     */
    public Optional> bundleName() {
        return Optional.ofNullable(this.bundleName);
    }

    /**
     * The description of the bundle.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the bundle.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The desktop type. You can call `alicloud.eds.getDesktopTypes` to query desktop type.
     * 
     */
    @Import(name="desktopType", required=true)
    private Output desktopType;

    /**
     * @return The desktop type. You can call `alicloud.eds.getDesktopTypes` to query desktop type.
     * 
     */
    public Output desktopType() {
        return this.desktopType;
    }

    /**
     * The ID of the image.
     * 
     */
    @Import(name="imageId", required=true)
    private Output imageId;

    /**
     * @return The ID of the image.
     * 
     */
    public Output imageId() {
        return this.imageId;
    }

    /**
     * The language. Valid values: `zh-CN`, `zh-HK`, `en-US`, `ja-JP`.
     * 
     */
    @Import(name="language")
    private @Nullable Output language;

    /**
     * @return The language. Valid values: `zh-CN`, `zh-HK`, `en-US`, `ja-JP`.
     * 
     */
    public Optional> language() {
        return Optional.ofNullable(this.language);
    }

    /**
     * The root disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
     * 
     */
    @Import(name="rootDiskPerformanceLevel")
    private @Nullable Output rootDiskPerformanceLevel;

    /**
     * @return The root disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
     * 
     */
    public Optional> rootDiskPerformanceLevel() {
        return Optional.ofNullable(this.rootDiskPerformanceLevel);
    }

    /**
     * The root disk size gib.
     * 
     */
    @Import(name="rootDiskSizeGib", required=true)
    private Output rootDiskSizeGib;

    /**
     * @return The root disk size gib.
     * 
     */
    public Output rootDiskSizeGib() {
        return this.rootDiskSizeGib;
    }

    /**
     * The user disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
     * 
     */
    @Import(name="userDiskPerformanceLevel")
    private @Nullable Output userDiskPerformanceLevel;

    /**
     * @return The user disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
     * 
     */
    public Optional> userDiskPerformanceLevel() {
        return Optional.ofNullable(this.userDiskPerformanceLevel);
    }

    /**
     * The size of the data disk. Currently, only one data disk can be set. Unit: GiB.
     * - The size of the data disk that supports the setting corresponds to the specification. For more information, see [Overview of Desktop Specifications](https://help.aliyun.com/document_detail/188609.htm?spm=a2c4g.11186623.0.0.6406297bE0U5DG).
     * - The data disk size (user_disk_size_gib) set in the template must be greater than the data disk size (data_disk_size) in the mirror.
     * 
     */
    @Import(name="userDiskSizeGibs", required=true)
    private Output> userDiskSizeGibs;

    /**
     * @return The size of the data disk. Currently, only one data disk can be set. Unit: GiB.
     * - The size of the data disk that supports the setting corresponds to the specification. For more information, see [Overview of Desktop Specifications](https://help.aliyun.com/document_detail/188609.htm?spm=a2c4g.11186623.0.0.6406297bE0U5DG).
     * - The data disk size (user_disk_size_gib) set in the template must be greater than the data disk size (data_disk_size) in the mirror.
     * 
     */
    public Output> userDiskSizeGibs() {
        return this.userDiskSizeGibs;
    }

    private BundleArgs() {}

    private BundleArgs(BundleArgs $) {
        this.bundleName = $.bundleName;
        this.description = $.description;
        this.desktopType = $.desktopType;
        this.imageId = $.imageId;
        this.language = $.language;
        this.rootDiskPerformanceLevel = $.rootDiskPerformanceLevel;
        this.rootDiskSizeGib = $.rootDiskSizeGib;
        this.userDiskPerformanceLevel = $.userDiskPerformanceLevel;
        this.userDiskSizeGibs = $.userDiskSizeGibs;
    }

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

    public static final class Builder {
        private BundleArgs $;

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

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

        /**
         * @param bundleName The name of the bundle.
         * 
         * @return builder
         * 
         */
        public Builder bundleName(@Nullable Output bundleName) {
            $.bundleName = bundleName;
            return this;
        }

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

        /**
         * @param description The description of the bundle.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the bundle.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param desktopType The desktop type. You can call `alicloud.eds.getDesktopTypes` to query desktop type.
         * 
         * @return builder
         * 
         */
        public Builder desktopType(Output desktopType) {
            $.desktopType = desktopType;
            return this;
        }

        /**
         * @param desktopType The desktop type. You can call `alicloud.eds.getDesktopTypes` to query desktop type.
         * 
         * @return builder
         * 
         */
        public Builder desktopType(String desktopType) {
            return desktopType(Output.of(desktopType));
        }

        /**
         * @param imageId The ID of the image.
         * 
         * @return builder
         * 
         */
        public Builder imageId(Output imageId) {
            $.imageId = imageId;
            return this;
        }

        /**
         * @param imageId The ID of the image.
         * 
         * @return builder
         * 
         */
        public Builder imageId(String imageId) {
            return imageId(Output.of(imageId));
        }

        /**
         * @param language The language. Valid values: `zh-CN`, `zh-HK`, `en-US`, `ja-JP`.
         * 
         * @return builder
         * 
         */
        public Builder language(@Nullable Output language) {
            $.language = language;
            return this;
        }

        /**
         * @param language The language. Valid values: `zh-CN`, `zh-HK`, `en-US`, `ja-JP`.
         * 
         * @return builder
         * 
         */
        public Builder language(String language) {
            return language(Output.of(language));
        }

        /**
         * @param rootDiskPerformanceLevel The root disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
         * 
         * @return builder
         * 
         */
        public Builder rootDiskPerformanceLevel(@Nullable Output rootDiskPerformanceLevel) {
            $.rootDiskPerformanceLevel = rootDiskPerformanceLevel;
            return this;
        }

        /**
         * @param rootDiskPerformanceLevel The root disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
         * 
         * @return builder
         * 
         */
        public Builder rootDiskPerformanceLevel(String rootDiskPerformanceLevel) {
            return rootDiskPerformanceLevel(Output.of(rootDiskPerformanceLevel));
        }

        /**
         * @param rootDiskSizeGib The root disk size gib.
         * 
         * @return builder
         * 
         */
        public Builder rootDiskSizeGib(Output rootDiskSizeGib) {
            $.rootDiskSizeGib = rootDiskSizeGib;
            return this;
        }

        /**
         * @param rootDiskSizeGib The root disk size gib.
         * 
         * @return builder
         * 
         */
        public Builder rootDiskSizeGib(Integer rootDiskSizeGib) {
            return rootDiskSizeGib(Output.of(rootDiskSizeGib));
        }

        /**
         * @param userDiskPerformanceLevel The user disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
         * 
         * @return builder
         * 
         */
        public Builder userDiskPerformanceLevel(@Nullable Output userDiskPerformanceLevel) {
            $.userDiskPerformanceLevel = userDiskPerformanceLevel;
            return this;
        }

        /**
         * @param userDiskPerformanceLevel The user disk performance level. Valid values: `PL0`, `PL1`, `PL2`, `PL3`.
         * 
         * @return builder
         * 
         */
        public Builder userDiskPerformanceLevel(String userDiskPerformanceLevel) {
            return userDiskPerformanceLevel(Output.of(userDiskPerformanceLevel));
        }

        /**
         * @param userDiskSizeGibs The size of the data disk. Currently, only one data disk can be set. Unit: GiB.
         * - The size of the data disk that supports the setting corresponds to the specification. For more information, see [Overview of Desktop Specifications](https://help.aliyun.com/document_detail/188609.htm?spm=a2c4g.11186623.0.0.6406297bE0U5DG).
         * - The data disk size (user_disk_size_gib) set in the template must be greater than the data disk size (data_disk_size) in the mirror.
         * 
         * @return builder
         * 
         */
        public Builder userDiskSizeGibs(Output> userDiskSizeGibs) {
            $.userDiskSizeGibs = userDiskSizeGibs;
            return this;
        }

        /**
         * @param userDiskSizeGibs The size of the data disk. Currently, only one data disk can be set. Unit: GiB.
         * - The size of the data disk that supports the setting corresponds to the specification. For more information, see [Overview of Desktop Specifications](https://help.aliyun.com/document_detail/188609.htm?spm=a2c4g.11186623.0.0.6406297bE0U5DG).
         * - The data disk size (user_disk_size_gib) set in the template must be greater than the data disk size (data_disk_size) in the mirror.
         * 
         * @return builder
         * 
         */
        public Builder userDiskSizeGibs(List userDiskSizeGibs) {
            return userDiskSizeGibs(Output.of(userDiskSizeGibs));
        }

        /**
         * @param userDiskSizeGibs The size of the data disk. Currently, only one data disk can be set. Unit: GiB.
         * - The size of the data disk that supports the setting corresponds to the specification. For more information, see [Overview of Desktop Specifications](https://help.aliyun.com/document_detail/188609.htm?spm=a2c4g.11186623.0.0.6406297bE0U5DG).
         * - The data disk size (user_disk_size_gib) set in the template must be greater than the data disk size (data_disk_size) in the mirror.
         * 
         * @return builder
         * 
         */
        public Builder userDiskSizeGibs(Integer... userDiskSizeGibs) {
            return userDiskSizeGibs(List.of(userDiskSizeGibs));
        }

        public BundleArgs build() {
            if ($.desktopType == null) {
                throw new MissingRequiredPropertyException("BundleArgs", "desktopType");
            }
            if ($.imageId == null) {
                throw new MissingRequiredPropertyException("BundleArgs", "imageId");
            }
            if ($.rootDiskSizeGib == null) {
                throw new MissingRequiredPropertyException("BundleArgs", "rootDiskSizeGib");
            }
            if ($.userDiskSizeGibs == null) {
                throw new MissingRequiredPropertyException("BundleArgs", "userDiskSizeGibs");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy