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

com.pulumi.azurenative.iotoperationsmq.BrokerArgs 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.iotoperationsmq;

import com.pulumi.azurenative.iotoperationsmq.enums.BrokerMemoryProfile;
import com.pulumi.azurenative.iotoperationsmq.enums.RunMode;
import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerDiagnosticsArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.CardinalityArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.CertManagerCertOptionsArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.ContainerImageArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.DiskBackedMessageBufferSettingsArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.ExtendedLocationPropertyArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.NodeTolerationsArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final BrokerArgs Empty = new BrokerArgs();

    /**
     * The details of Authentication Docker Image.
     * 
     */
    @Import(name="authImage", required=true)
    private Output authImage;

    /**
     * @return The details of Authentication Docker Image.
     * 
     */
    public Output authImage() {
        return this.authImage;
    }

    /**
     * The details of Broker Docker Image.
     * 
     */
    @Import(name="brokerImage", required=true)
    private Output brokerImage;

    /**
     * @return The details of Broker Docker Image.
     * 
     */
    public Output brokerImage() {
        return this.brokerImage;
    }

    /**
     * Name of MQ broker resource
     * 
     */
    @Import(name="brokerName")
    private @Nullable Output brokerName;

    /**
     * @return Name of MQ broker resource
     * 
     */
    public Optional> brokerName() {
        return Optional.ofNullable(this.brokerName);
    }

    /**
     * The details of Node Tolerations for Broker Pods.
     * 
     */
    @Import(name="brokerNodeTolerations")
    private @Nullable Output brokerNodeTolerations;

    /**
     * @return The details of Node Tolerations for Broker Pods.
     * 
     */
    public Optional> brokerNodeTolerations() {
        return Optional.ofNullable(this.brokerNodeTolerations);
    }

    /**
     * The cardinality details of the broker.
     * 
     */
    @Import(name="cardinality")
    private @Nullable Output cardinality;

    /**
     * @return The cardinality details of the broker.
     * 
     */
    public Optional> cardinality() {
        return Optional.ofNullable(this.cardinality);
    }

    /**
     * The diagnostic details of the broker deployment.
     * 
     */
    @Import(name="diagnostics")
    private @Nullable Output diagnostics;

    /**
     * @return The diagnostic details of the broker deployment.
     * 
     */
    public Optional> diagnostics() {
        return Optional.ofNullable(this.diagnostics);
    }

    /**
     * The settings of the disk-backed message buffer.
     * 
     */
    @Import(name="diskBackedMessageBufferSettings")
    private @Nullable Output diskBackedMessageBufferSettings;

    /**
     * @return The settings of the disk-backed message buffer.
     * 
     */
    public Optional> diskBackedMessageBufferSettings() {
        return Optional.ofNullable(this.diskBackedMessageBufferSettings);
    }

    /**
     * The setting to enable or disable encryption of internal Traffic.
     * 
     */
    @Import(name="encryptInternalTraffic")
    private @Nullable Output encryptInternalTraffic;

    /**
     * @return The setting to enable or disable encryption of internal Traffic.
     * 
     */
    public Optional> encryptInternalTraffic() {
        return Optional.ofNullable(this.encryptInternalTraffic);
    }

    /**
     * Extended Location
     * 
     */
    @Import(name="extendedLocation", required=true)
    private Output extendedLocation;

    /**
     * @return Extended Location
     * 
     */
    public Output extendedLocation() {
        return this.extendedLocation;
    }

    /**
     * The details of Health Manager Docker Image.
     * 
     */
    @Import(name="healthManagerImage", required=true)
    private Output healthManagerImage;

    /**
     * @return The details of Health Manager Docker Image.
     * 
     */
    public Output healthManagerImage() {
        return this.healthManagerImage;
    }

    /**
     * The details of Node Tolerations for Health Manager Pods.
     * 
     */
    @Import(name="healthManagerNodeTolerations")
    private @Nullable Output healthManagerNodeTolerations;

    /**
     * @return The details of Node Tolerations for Health Manager Pods.
     * 
     */
    public Optional> healthManagerNodeTolerations() {
        return Optional.ofNullable(this.healthManagerNodeTolerations);
    }

    /**
     * Details of the internal CA cert that will be used to secure communication between pods.
     * 
     */
    @Import(name="internalCerts")
    private @Nullable Output internalCerts;

    /**
     * @return Details of the internal CA cert that will be used to secure communication between pods.
     * 
     */
    public Optional> internalCerts() {
        return Optional.ofNullable(this.internalCerts);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Memory profile of broker.
     * 
     */
    @Import(name="memoryProfile")
    private @Nullable Output> memoryProfile;

    /**
     * @return Memory profile of broker.
     * 
     */
    public Optional>> memoryProfile() {
        return Optional.ofNullable(this.memoryProfile);
    }

    /**
     * The Running Mode of the Broker Deployment.
     * 
     */
    @Import(name="mode", required=true)
    private Output> mode;

    /**
     * @return The Running Mode of the Broker Deployment.
     * 
     */
    public Output> mode() {
        return this.mode;
    }

    /**
     * Name of MQ resource
     * 
     */
    @Import(name="mqName", required=true)
    private Output mqName;

    /**
     * @return Name of MQ resource
     * 
     */
    public Output mqName() {
        return this.mqName;
    }

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

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

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

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

    private BrokerArgs() {}

    private BrokerArgs(BrokerArgs $) {
        this.authImage = $.authImage;
        this.brokerImage = $.brokerImage;
        this.brokerName = $.brokerName;
        this.brokerNodeTolerations = $.brokerNodeTolerations;
        this.cardinality = $.cardinality;
        this.diagnostics = $.diagnostics;
        this.diskBackedMessageBufferSettings = $.diskBackedMessageBufferSettings;
        this.encryptInternalTraffic = $.encryptInternalTraffic;
        this.extendedLocation = $.extendedLocation;
        this.healthManagerImage = $.healthManagerImage;
        this.healthManagerNodeTolerations = $.healthManagerNodeTolerations;
        this.internalCerts = $.internalCerts;
        this.location = $.location;
        this.memoryProfile = $.memoryProfile;
        this.mode = $.mode;
        this.mqName = $.mqName;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private BrokerArgs $;

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

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

        /**
         * @param authImage The details of Authentication Docker Image.
         * 
         * @return builder
         * 
         */
        public Builder authImage(Output authImage) {
            $.authImage = authImage;
            return this;
        }

        /**
         * @param authImage The details of Authentication Docker Image.
         * 
         * @return builder
         * 
         */
        public Builder authImage(ContainerImageArgs authImage) {
            return authImage(Output.of(authImage));
        }

        /**
         * @param brokerImage The details of Broker Docker Image.
         * 
         * @return builder
         * 
         */
        public Builder brokerImage(Output brokerImage) {
            $.brokerImage = brokerImage;
            return this;
        }

        /**
         * @param brokerImage The details of Broker Docker Image.
         * 
         * @return builder
         * 
         */
        public Builder brokerImage(ContainerImageArgs brokerImage) {
            return brokerImage(Output.of(brokerImage));
        }

        /**
         * @param brokerName Name of MQ broker resource
         * 
         * @return builder
         * 
         */
        public Builder brokerName(@Nullable Output brokerName) {
            $.brokerName = brokerName;
            return this;
        }

        /**
         * @param brokerName Name of MQ broker resource
         * 
         * @return builder
         * 
         */
        public Builder brokerName(String brokerName) {
            return brokerName(Output.of(brokerName));
        }

        /**
         * @param brokerNodeTolerations The details of Node Tolerations for Broker Pods.
         * 
         * @return builder
         * 
         */
        public Builder brokerNodeTolerations(@Nullable Output brokerNodeTolerations) {
            $.brokerNodeTolerations = brokerNodeTolerations;
            return this;
        }

        /**
         * @param brokerNodeTolerations The details of Node Tolerations for Broker Pods.
         * 
         * @return builder
         * 
         */
        public Builder brokerNodeTolerations(NodeTolerationsArgs brokerNodeTolerations) {
            return brokerNodeTolerations(Output.of(brokerNodeTolerations));
        }

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

        /**
         * @param cardinality The cardinality details of the broker.
         * 
         * @return builder
         * 
         */
        public Builder cardinality(CardinalityArgs cardinality) {
            return cardinality(Output.of(cardinality));
        }

        /**
         * @param diagnostics The diagnostic details of the broker deployment.
         * 
         * @return builder
         * 
         */
        public Builder diagnostics(@Nullable Output diagnostics) {
            $.diagnostics = diagnostics;
            return this;
        }

        /**
         * @param diagnostics The diagnostic details of the broker deployment.
         * 
         * @return builder
         * 
         */
        public Builder diagnostics(BrokerDiagnosticsArgs diagnostics) {
            return diagnostics(Output.of(diagnostics));
        }

        /**
         * @param diskBackedMessageBufferSettings The settings of the disk-backed message buffer.
         * 
         * @return builder
         * 
         */
        public Builder diskBackedMessageBufferSettings(@Nullable Output diskBackedMessageBufferSettings) {
            $.diskBackedMessageBufferSettings = diskBackedMessageBufferSettings;
            return this;
        }

        /**
         * @param diskBackedMessageBufferSettings The settings of the disk-backed message buffer.
         * 
         * @return builder
         * 
         */
        public Builder diskBackedMessageBufferSettings(DiskBackedMessageBufferSettingsArgs diskBackedMessageBufferSettings) {
            return diskBackedMessageBufferSettings(Output.of(diskBackedMessageBufferSettings));
        }

        /**
         * @param encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
         * 
         * @return builder
         * 
         */
        public Builder encryptInternalTraffic(@Nullable Output encryptInternalTraffic) {
            $.encryptInternalTraffic = encryptInternalTraffic;
            return this;
        }

        /**
         * @param encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
         * 
         * @return builder
         * 
         */
        public Builder encryptInternalTraffic(Boolean encryptInternalTraffic) {
            return encryptInternalTraffic(Output.of(encryptInternalTraffic));
        }

        /**
         * @param extendedLocation Extended Location
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation Extended Location
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationPropertyArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @param healthManagerImage The details of Health Manager Docker Image.
         * 
         * @return builder
         * 
         */
        public Builder healthManagerImage(Output healthManagerImage) {
            $.healthManagerImage = healthManagerImage;
            return this;
        }

        /**
         * @param healthManagerImage The details of Health Manager Docker Image.
         * 
         * @return builder
         * 
         */
        public Builder healthManagerImage(ContainerImageArgs healthManagerImage) {
            return healthManagerImage(Output.of(healthManagerImage));
        }

        /**
         * @param healthManagerNodeTolerations The details of Node Tolerations for Health Manager Pods.
         * 
         * @return builder
         * 
         */
        public Builder healthManagerNodeTolerations(@Nullable Output healthManagerNodeTolerations) {
            $.healthManagerNodeTolerations = healthManagerNodeTolerations;
            return this;
        }

        /**
         * @param healthManagerNodeTolerations The details of Node Tolerations for Health Manager Pods.
         * 
         * @return builder
         * 
         */
        public Builder healthManagerNodeTolerations(NodeTolerationsArgs healthManagerNodeTolerations) {
            return healthManagerNodeTolerations(Output.of(healthManagerNodeTolerations));
        }

        /**
         * @param internalCerts Details of the internal CA cert that will be used to secure communication between pods.
         * 
         * @return builder
         * 
         */
        public Builder internalCerts(@Nullable Output internalCerts) {
            $.internalCerts = internalCerts;
            return this;
        }

        /**
         * @param internalCerts Details of the internal CA cert that will be used to secure communication between pods.
         * 
         * @return builder
         * 
         */
        public Builder internalCerts(CertManagerCertOptionsArgs internalCerts) {
            return internalCerts(Output.of(internalCerts));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param memoryProfile Memory profile of broker.
         * 
         * @return builder
         * 
         */
        public Builder memoryProfile(@Nullable Output> memoryProfile) {
            $.memoryProfile = memoryProfile;
            return this;
        }

        /**
         * @param memoryProfile Memory profile of broker.
         * 
         * @return builder
         * 
         */
        public Builder memoryProfile(Either memoryProfile) {
            return memoryProfile(Output.of(memoryProfile));
        }

        /**
         * @param memoryProfile Memory profile of broker.
         * 
         * @return builder
         * 
         */
        public Builder memoryProfile(String memoryProfile) {
            return memoryProfile(Either.ofLeft(memoryProfile));
        }

        /**
         * @param memoryProfile Memory profile of broker.
         * 
         * @return builder
         * 
         */
        public Builder memoryProfile(BrokerMemoryProfile memoryProfile) {
            return memoryProfile(Either.ofRight(memoryProfile));
        }

        /**
         * @param mode The Running Mode of the Broker Deployment.
         * 
         * @return builder
         * 
         */
        public Builder mode(Output> mode) {
            $.mode = mode;
            return this;
        }

        /**
         * @param mode The Running Mode of the Broker Deployment.
         * 
         * @return builder
         * 
         */
        public Builder mode(Either mode) {
            return mode(Output.of(mode));
        }

        /**
         * @param mode The Running Mode of the Broker Deployment.
         * 
         * @return builder
         * 
         */
        public Builder mode(String mode) {
            return mode(Either.ofLeft(mode));
        }

        /**
         * @param mode The Running Mode of the Broker Deployment.
         * 
         * @return builder
         * 
         */
        public Builder mode(RunMode mode) {
            return mode(Either.ofRight(mode));
        }

        /**
         * @param mqName Name of MQ resource
         * 
         * @return builder
         * 
         */
        public Builder mqName(Output mqName) {
            $.mqName = mqName;
            return this;
        }

        /**
         * @param mqName Name of MQ resource
         * 
         * @return builder
         * 
         */
        public Builder mqName(String mqName) {
            return mqName(Output.of(mqName));
        }

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

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

        /**
         * @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));
        }

        public BrokerArgs build() {
            if ($.authImage == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "authImage");
            }
            if ($.brokerImage == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "brokerImage");
            }
            $.encryptInternalTraffic = Codegen.booleanProp("encryptInternalTraffic").output().arg($.encryptInternalTraffic).def(true).getNullable();
            if ($.extendedLocation == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "extendedLocation");
            }
            if ($.healthManagerImage == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "healthManagerImage");
            }
            $.memoryProfile = Codegen.stringProp("memoryProfile").left(BrokerMemoryProfile.class).output().arg($.memoryProfile).def("medium").getNullable();
            if ($.mode == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "mode");
            }
            if ($.mqName == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "mqName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("BrokerArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy