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

com.pulumi.azurenative.iotoperations.inputs.DataFlowEndpointMqttArgs Maven / Gradle / Ivy

The 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.iotoperations.inputs;

import com.pulumi.azurenative.iotoperations.enums.BrokerProtocolType;
import com.pulumi.azurenative.iotoperations.enums.MqttRetainType;
import com.pulumi.azurenative.iotoperations.inputs.TlsPropertiesArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Broker endpoint properties
 * 
 */
public final class DataFlowEndpointMqttArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataFlowEndpointMqttArgs Empty = new DataFlowEndpointMqttArgs();

    /**
     * Client ID prefix. Client ID generated by the dataflow is <prefix>-TBD. Optional; no prefix if omitted.
     * 
     */
    @Import(name="clientIdPrefix")
    private @Nullable Output clientIdPrefix;

    /**
     * @return Client ID prefix. Client ID generated by the dataflow is <prefix>-TBD. Optional; no prefix if omitted.
     * 
     */
    public Optional> clientIdPrefix() {
        return Optional.ofNullable(this.clientIdPrefix);
    }

    /**
     * Host of the Broker in the form of <hostname>:<port>. Optional; connects to Broker if omitted.
     * 
     */
    @Import(name="host")
    private @Nullable Output host;

    /**
     * @return Host of the Broker in the form of <hostname>:<port>. Optional; connects to Broker if omitted.
     * 
     */
    public Optional> host() {
        return Optional.ofNullable(this.host);
    }

    /**
     * Broker KeepAlive for connection in seconds.
     * 
     */
    @Import(name="keepAliveSeconds")
    private @Nullable Output keepAliveSeconds;

    /**
     * @return Broker KeepAlive for connection in seconds.
     * 
     */
    public Optional> keepAliveSeconds() {
        return Optional.ofNullable(this.keepAliveSeconds);
    }

    /**
     * The max number of messages to keep in flight. For subscribe, this is the receive maximum. For publish, this is the maximum number of messages to send before waiting for an ack.
     * 
     */
    @Import(name="maxInflightMessages")
    private @Nullable Output maxInflightMessages;

    /**
     * @return The max number of messages to keep in flight. For subscribe, this is the receive maximum. For publish, this is the maximum number of messages to send before waiting for an ack.
     * 
     */
    public Optional> maxInflightMessages() {
        return Optional.ofNullable(this.maxInflightMessages);
    }

    /**
     * Enable or disable websockets.
     * 
     */
    @Import(name="protocol")
    private @Nullable Output> protocol;

    /**
     * @return Enable or disable websockets.
     * 
     */
    public Optional>> protocol() {
        return Optional.ofNullable(this.protocol);
    }

    /**
     * Qos for Broker connection.
     * 
     */
    @Import(name="qos")
    private @Nullable Output qos;

    /**
     * @return Qos for Broker connection.
     * 
     */
    public Optional> qos() {
        return Optional.ofNullable(this.qos);
    }

    /**
     * Whether or not to keep the retain setting.
     * 
     */
    @Import(name="retain")
    private @Nullable Output> retain;

    /**
     * @return Whether or not to keep the retain setting.
     * 
     */
    public Optional>> retain() {
        return Optional.ofNullable(this.retain);
    }

    /**
     * Session expiry in seconds.
     * 
     */
    @Import(name="sessionExpirySeconds")
    private @Nullable Output sessionExpirySeconds;

    /**
     * @return Session expiry in seconds.
     * 
     */
    public Optional> sessionExpirySeconds() {
        return Optional.ofNullable(this.sessionExpirySeconds);
    }

    /**
     * TLS configuration.
     * 
     */
    @Import(name="tls")
    private @Nullable Output tls;

    /**
     * @return TLS configuration.
     * 
     */
    public Optional> tls() {
        return Optional.ofNullable(this.tls);
    }

    private DataFlowEndpointMqttArgs() {}

    private DataFlowEndpointMqttArgs(DataFlowEndpointMqttArgs $) {
        this.clientIdPrefix = $.clientIdPrefix;
        this.host = $.host;
        this.keepAliveSeconds = $.keepAliveSeconds;
        this.maxInflightMessages = $.maxInflightMessages;
        this.protocol = $.protocol;
        this.qos = $.qos;
        this.retain = $.retain;
        this.sessionExpirySeconds = $.sessionExpirySeconds;
        this.tls = $.tls;
    }

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

    public static final class Builder {
        private DataFlowEndpointMqttArgs $;

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

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

        /**
         * @param clientIdPrefix Client ID prefix. Client ID generated by the dataflow is <prefix>-TBD. Optional; no prefix if omitted.
         * 
         * @return builder
         * 
         */
        public Builder clientIdPrefix(@Nullable Output clientIdPrefix) {
            $.clientIdPrefix = clientIdPrefix;
            return this;
        }

        /**
         * @param clientIdPrefix Client ID prefix. Client ID generated by the dataflow is <prefix>-TBD. Optional; no prefix if omitted.
         * 
         * @return builder
         * 
         */
        public Builder clientIdPrefix(String clientIdPrefix) {
            return clientIdPrefix(Output.of(clientIdPrefix));
        }

        /**
         * @param host Host of the Broker in the form of <hostname>:<port>. Optional; connects to Broker if omitted.
         * 
         * @return builder
         * 
         */
        public Builder host(@Nullable Output host) {
            $.host = host;
            return this;
        }

        /**
         * @param host Host of the Broker in the form of <hostname>:<port>. Optional; connects to Broker if omitted.
         * 
         * @return builder
         * 
         */
        public Builder host(String host) {
            return host(Output.of(host));
        }

        /**
         * @param keepAliveSeconds Broker KeepAlive for connection in seconds.
         * 
         * @return builder
         * 
         */
        public Builder keepAliveSeconds(@Nullable Output keepAliveSeconds) {
            $.keepAliveSeconds = keepAliveSeconds;
            return this;
        }

        /**
         * @param keepAliveSeconds Broker KeepAlive for connection in seconds.
         * 
         * @return builder
         * 
         */
        public Builder keepAliveSeconds(Integer keepAliveSeconds) {
            return keepAliveSeconds(Output.of(keepAliveSeconds));
        }

        /**
         * @param maxInflightMessages The max number of messages to keep in flight. For subscribe, this is the receive maximum. For publish, this is the maximum number of messages to send before waiting for an ack.
         * 
         * @return builder
         * 
         */
        public Builder maxInflightMessages(@Nullable Output maxInflightMessages) {
            $.maxInflightMessages = maxInflightMessages;
            return this;
        }

        /**
         * @param maxInflightMessages The max number of messages to keep in flight. For subscribe, this is the receive maximum. For publish, this is the maximum number of messages to send before waiting for an ack.
         * 
         * @return builder
         * 
         */
        public Builder maxInflightMessages(Integer maxInflightMessages) {
            return maxInflightMessages(Output.of(maxInflightMessages));
        }

        /**
         * @param protocol Enable or disable websockets.
         * 
         * @return builder
         * 
         */
        public Builder protocol(@Nullable Output> protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param protocol Enable or disable websockets.
         * 
         * @return builder
         * 
         */
        public Builder protocol(Either protocol) {
            return protocol(Output.of(protocol));
        }

        /**
         * @param protocol Enable or disable websockets.
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            return protocol(Either.ofLeft(protocol));
        }

        /**
         * @param protocol Enable or disable websockets.
         * 
         * @return builder
         * 
         */
        public Builder protocol(BrokerProtocolType protocol) {
            return protocol(Either.ofRight(protocol));
        }

        /**
         * @param qos Qos for Broker connection.
         * 
         * @return builder
         * 
         */
        public Builder qos(@Nullable Output qos) {
            $.qos = qos;
            return this;
        }

        /**
         * @param qos Qos for Broker connection.
         * 
         * @return builder
         * 
         */
        public Builder qos(Integer qos) {
            return qos(Output.of(qos));
        }

        /**
         * @param retain Whether or not to keep the retain setting.
         * 
         * @return builder
         * 
         */
        public Builder retain(@Nullable Output> retain) {
            $.retain = retain;
            return this;
        }

        /**
         * @param retain Whether or not to keep the retain setting.
         * 
         * @return builder
         * 
         */
        public Builder retain(Either retain) {
            return retain(Output.of(retain));
        }

        /**
         * @param retain Whether or not to keep the retain setting.
         * 
         * @return builder
         * 
         */
        public Builder retain(String retain) {
            return retain(Either.ofLeft(retain));
        }

        /**
         * @param retain Whether or not to keep the retain setting.
         * 
         * @return builder
         * 
         */
        public Builder retain(MqttRetainType retain) {
            return retain(Either.ofRight(retain));
        }

        /**
         * @param sessionExpirySeconds Session expiry in seconds.
         * 
         * @return builder
         * 
         */
        public Builder sessionExpirySeconds(@Nullable Output sessionExpirySeconds) {
            $.sessionExpirySeconds = sessionExpirySeconds;
            return this;
        }

        /**
         * @param sessionExpirySeconds Session expiry in seconds.
         * 
         * @return builder
         * 
         */
        public Builder sessionExpirySeconds(Integer sessionExpirySeconds) {
            return sessionExpirySeconds(Output.of(sessionExpirySeconds));
        }

        /**
         * @param tls TLS configuration.
         * 
         * @return builder
         * 
         */
        public Builder tls(@Nullable Output tls) {
            $.tls = tls;
            return this;
        }

        /**
         * @param tls TLS configuration.
         * 
         * @return builder
         * 
         */
        public Builder tls(TlsPropertiesArgs tls) {
            return tls(Output.of(tls));
        }

        public DataFlowEndpointMqttArgs build() {
            $.host = Codegen.stringProp("host").output().arg($.host).def("aio-mq-dmqtt-frontend:1883").getNullable();
            $.keepAliveSeconds = Codegen.integerProp("keepAliveSeconds").output().arg($.keepAliveSeconds).def(60).getNullable();
            $.maxInflightMessages = Codegen.integerProp("maxInflightMessages").output().arg($.maxInflightMessages).def(100).getNullable();
            $.protocol = Codegen.stringProp("protocol").left(BrokerProtocolType.class).output().arg($.protocol).def("Mqtt").getNullable();
            $.qos = Codegen.integerProp("qos").output().arg($.qos).def(1).getNullable();
            $.retain = Codegen.stringProp("retain").left(MqttRetainType.class).output().arg($.retain).def("Keep").getNullable();
            $.sessionExpirySeconds = Codegen.integerProp("sessionExpirySeconds").output().arg($.sessionExpirySeconds).def(3600).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy