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

com.pulumi.azurenative.iotoperationsmq.inputs.DiskBackedMessageBufferSettingsArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.iotoperationsmq.inputs;

import com.pulumi.azurenative.iotoperationsmq.inputs.VolumeClaimSpecArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * DiskBackedMessageBufferSettings properties
 * 
 */
public final class DiskBackedMessageBufferSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final DiskBackedMessageBufferSettingsArgs Empty = new DiskBackedMessageBufferSettingsArgs();

    /**
     * Use the specified persistent volume claim template to mount a "generic ephemeral volume" for the message buffer. See <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes> for details.
     * 
     */
    @Import(name="ephemeralVolumeClaimSpec")
    private @Nullable Output ephemeralVolumeClaimSpec;

    /**
     * @return Use the specified persistent volume claim template to mount a "generic ephemeral volume" for the message buffer. See <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes> for details.
     * 
     */
    public Optional> ephemeralVolumeClaimSpec() {
        return Optional.ofNullable(this.ephemeralVolumeClaimSpec);
    }

    /**
     * The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir> for details.
     * 
     */
    @Import(name="maxSize", required=true)
    private Output maxSize;

    /**
     * @return The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir> for details.
     * 
     */
    public Output maxSize() {
        return this.maxSize;
    }

    /**
     * Use the specified persistent volume claim template to mount a persistent volume for the message buffer.
     * 
     */
    @Import(name="persistentVolumeClaimSpec")
    private @Nullable Output persistentVolumeClaimSpec;

    /**
     * @return Use the specified persistent volume claim template to mount a persistent volume for the message buffer.
     * 
     */
    public Optional> persistentVolumeClaimSpec() {
        return Optional.ofNullable(this.persistentVolumeClaimSpec);
    }

    private DiskBackedMessageBufferSettingsArgs() {}

    private DiskBackedMessageBufferSettingsArgs(DiskBackedMessageBufferSettingsArgs $) {
        this.ephemeralVolumeClaimSpec = $.ephemeralVolumeClaimSpec;
        this.maxSize = $.maxSize;
        this.persistentVolumeClaimSpec = $.persistentVolumeClaimSpec;
    }

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

    public static final class Builder {
        private DiskBackedMessageBufferSettingsArgs $;

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

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

        /**
         * @param ephemeralVolumeClaimSpec Use the specified persistent volume claim template to mount a "generic ephemeral volume" for the message buffer. See <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes> for details.
         * 
         * @return builder
         * 
         */
        public Builder ephemeralVolumeClaimSpec(@Nullable Output ephemeralVolumeClaimSpec) {
            $.ephemeralVolumeClaimSpec = ephemeralVolumeClaimSpec;
            return this;
        }

        /**
         * @param ephemeralVolumeClaimSpec Use the specified persistent volume claim template to mount a "generic ephemeral volume" for the message buffer. See <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes> for details.
         * 
         * @return builder
         * 
         */
        public Builder ephemeralVolumeClaimSpec(VolumeClaimSpecArgs ephemeralVolumeClaimSpec) {
            return ephemeralVolumeClaimSpec(Output.of(ephemeralVolumeClaimSpec));
        }

        /**
         * @param maxSize The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir> for details.
         * 
         * @return builder
         * 
         */
        public Builder maxSize(Output maxSize) {
            $.maxSize = maxSize;
            return this;
        }

        /**
         * @param maxSize The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir> for details.
         * 
         * @return builder
         * 
         */
        public Builder maxSize(String maxSize) {
            return maxSize(Output.of(maxSize));
        }

        /**
         * @param persistentVolumeClaimSpec Use the specified persistent volume claim template to mount a persistent volume for the message buffer.
         * 
         * @return builder
         * 
         */
        public Builder persistentVolumeClaimSpec(@Nullable Output persistentVolumeClaimSpec) {
            $.persistentVolumeClaimSpec = persistentVolumeClaimSpec;
            return this;
        }

        /**
         * @param persistentVolumeClaimSpec Use the specified persistent volume claim template to mount a persistent volume for the message buffer.
         * 
         * @return builder
         * 
         */
        public Builder persistentVolumeClaimSpec(VolumeClaimSpecArgs persistentVolumeClaimSpec) {
            return persistentVolumeClaimSpec(Output.of(persistentVolumeClaimSpec));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy