io.vertx.kotlin.amqpbridge.AmqpBridgeOptions.kt Maven / Gradle / Ivy
/*
* Copyright 2019 Red Hat, Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.vertx.kotlin.amqpbridge
import io.vertx.amqpbridge.AmqpBridgeOptions
import io.vertx.core.net.JdkSSLEngineOptions
import io.vertx.core.net.JksOptions
import io.vertx.core.net.OpenSSLEngineOptions
import io.vertx.core.net.PemKeyCertOptions
import io.vertx.core.net.PemTrustOptions
import io.vertx.core.net.PfxOptions
import io.vertx.core.net.ProxyOptions
import java.util.concurrent.TimeUnit
/**
* A function providing a DSL for building [io.vertx.amqpbridge.AmqpBridgeOptions] objects.
*
* Options for configuring the AmqpBridge.
*
* @param connectTimeout Set the connect timeout
* @param containerId Sets the value to use as the container-id field in the AMQP Open frame. Some servers and clients use this for the concept of a 'Client ID'. Defaults to null, which indicates a value will be generated by the bridge when the underlying connection is made.
* @param crlPaths Add a CRL path
* @param crlValues Add a CRL value
* @param enabledCipherSuites Add an enabled cipher suite, appended to the ordered suites.
* @param enabledSaslMechanisms
* @param enabledSecureTransportProtocols Sets the list of enabled SSL/TLS protocols.
* @param heartbeat
* @param hostnameVerificationAlgorithm Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String
* @param idleTimeout Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use [io.vertx.amqpbridge.AmqpBridgeOptions]
* @param idleTimeoutUnit Set the idle timeout unit. If not specified, default is seconds.
* @param jdkSslEngineOptions
* @param keyStoreOptions Set the key/cert options in jks format, aka Java keystore.
* @param localAddress Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.
* @param logActivity Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
* @param maxFrameSize
* @param metricsName Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
* @param openSslEngineOptions
* @param pemKeyCertOptions Set the key/cert store options in pem format.
* @param pemTrustOptions Set the trust options in pem format
* @param pfxKeyCertOptions Set the key/cert options in pfx format.
* @param pfxTrustOptions Set the trust options in pfx format
* @param proxyOptions Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
* @param receiveBufferSize Set the TCP receive buffer size
* @param reconnectAttempts Set the value of reconnect attempts
* @param reconnectInterval Set the reconnect interval
* @param replyHandlingSupport Sets whether the bridge should try to enable support for sending messages with a reply handler set, and replying to messages using the message reply methods. Defaults to true. If the server does not advertise support for 'anonymous sender' links then the bridge won't support reply handling regardless of this setting.
* @param reuseAddress Set the value of reuse address
* @param reusePort Set the value of reuse port. This is only supported by native transports.
* @param sendBufferSize Set the TCP send buffer size
* @param sniServerName
* @param soLinger Set whether SO_linger keep alive is enabled
* @param ssl Set whether SSL/TLS is enabled
* @param sslHandshakeTimeout Set the SSL handshake timeout, default time unit is seconds.
* @param sslHandshakeTimeoutUnit Set the SSL handshake timeout unit. If not specified, default is seconds.
* @param tcpCork Enable the TCP_CORK
option - only with linux native transport.
* @param tcpFastOpen Enable the TCP_FASTOPEN
option - only with linux native transport.
* @param tcpKeepAlive Set whether TCP keep alive is enabled
* @param tcpNoDelay Set whether TCP no delay is enabled
* @param tcpQuickAck Enable the TCP_QUICKACK
option - only with linux native transport.
* @param tcpUserTimeout Sets the TCP_USER_TIMEOUT
option - only with linux native transport.
* @param trafficClass Set the value of traffic class
* @param trustAll Set whether all server certificates should be trusted
* @param trustStoreOptions Set the trust options in jks format, aka Java truststore
* @param useAlpn Set the ALPN usage.
* @param usePooledBuffers Set whether Netty pooled buffers are enabled
* @param vhost Sets the value to use as the hostname field in the AMQP Open frame. Defaults to null, which indicates the hostname value given when starting the bridge will be used to populate the hostname field.
* @param virtualHost
*
*
* NOTE: This function has been automatically generated from the [io.vertx.amqpbridge.AmqpBridgeOptions original] using Vert.x codegen.
*/
fun amqpBridgeOptionsOf(
connectTimeout: Int? = null,
containerId: String? = null,
crlPaths: Iterable? = null,
crlValues: Iterable? = null,
enabledCipherSuites: Iterable? = null,
enabledSaslMechanisms: Iterable? = null,
enabledSecureTransportProtocols: Iterable? = null,
heartbeat: Int? = null,
hostnameVerificationAlgorithm: String? = null,
idleTimeout: Int? = null,
idleTimeoutUnit: TimeUnit? = null,
jdkSslEngineOptions: io.vertx.core.net.JdkSSLEngineOptions? = null,
keyStoreOptions: io.vertx.core.net.JksOptions? = null,
localAddress: String? = null,
logActivity: Boolean? = null,
maxFrameSize: Int? = null,
metricsName: String? = null,
openSslEngineOptions: io.vertx.core.net.OpenSSLEngineOptions? = null,
pemKeyCertOptions: io.vertx.core.net.PemKeyCertOptions? = null,
pemTrustOptions: io.vertx.core.net.PemTrustOptions? = null,
pfxKeyCertOptions: io.vertx.core.net.PfxOptions? = null,
pfxTrustOptions: io.vertx.core.net.PfxOptions? = null,
proxyOptions: io.vertx.core.net.ProxyOptions? = null,
receiveBufferSize: Int? = null,
reconnectAttempts: Int? = null,
reconnectInterval: Long? = null,
replyHandlingSupport: Boolean? = null,
reuseAddress: Boolean? = null,
reusePort: Boolean? = null,
sendBufferSize: Int? = null,
sniServerName: String? = null,
soLinger: Int? = null,
ssl: Boolean? = null,
sslHandshakeTimeout: Long? = null,
sslHandshakeTimeoutUnit: TimeUnit? = null,
tcpCork: Boolean? = null,
tcpFastOpen: Boolean? = null,
tcpKeepAlive: Boolean? = null,
tcpNoDelay: Boolean? = null,
tcpQuickAck: Boolean? = null,
tcpUserTimeout: Int? = null,
trafficClass: Int? = null,
trustAll: Boolean? = null,
trustStoreOptions: io.vertx.core.net.JksOptions? = null,
useAlpn: Boolean? = null,
usePooledBuffers: Boolean? = null,
vhost: String? = null,
virtualHost: String? = null): AmqpBridgeOptions = io.vertx.amqpbridge.AmqpBridgeOptions().apply {
if (connectTimeout != null) {
this.setConnectTimeout(connectTimeout)
}
if (containerId != null) {
this.setContainerId(containerId)
}
if (crlPaths != null) {
for (item in crlPaths) {
this.addCrlPath(item)
}
}
if (crlValues != null) {
for (item in crlValues) {
this.addCrlValue(item)
}
}
if (enabledCipherSuites != null) {
for (item in enabledCipherSuites) {
this.addEnabledCipherSuite(item)
}
}
if (enabledSaslMechanisms != null) {
for (item in enabledSaslMechanisms) {
this.addEnabledSaslMechanism(item)
}
}
if (enabledSecureTransportProtocols != null) {
this.setEnabledSecureTransportProtocols(enabledSecureTransportProtocols.toSet())
}
if (heartbeat != null) {
this.setHeartbeat(heartbeat)
}
if (hostnameVerificationAlgorithm != null) {
this.setHostnameVerificationAlgorithm(hostnameVerificationAlgorithm)
}
if (idleTimeout != null) {
this.setIdleTimeout(idleTimeout)
}
if (idleTimeoutUnit != null) {
this.setIdleTimeoutUnit(idleTimeoutUnit)
}
if (jdkSslEngineOptions != null) {
this.setJdkSslEngineOptions(jdkSslEngineOptions)
}
if (keyStoreOptions != null) {
this.setKeyStoreOptions(keyStoreOptions)
}
if (localAddress != null) {
this.setLocalAddress(localAddress)
}
if (logActivity != null) {
this.setLogActivity(logActivity)
}
if (maxFrameSize != null) {
this.setMaxFrameSize(maxFrameSize)
}
if (metricsName != null) {
this.setMetricsName(metricsName)
}
if (openSslEngineOptions != null) {
this.setOpenSslEngineOptions(openSslEngineOptions)
}
if (pemKeyCertOptions != null) {
this.setPemKeyCertOptions(pemKeyCertOptions)
}
if (pemTrustOptions != null) {
this.setPemTrustOptions(pemTrustOptions)
}
if (pfxKeyCertOptions != null) {
this.setPfxKeyCertOptions(pfxKeyCertOptions)
}
if (pfxTrustOptions != null) {
this.setPfxTrustOptions(pfxTrustOptions)
}
if (proxyOptions != null) {
this.setProxyOptions(proxyOptions)
}
if (receiveBufferSize != null) {
this.setReceiveBufferSize(receiveBufferSize)
}
if (reconnectAttempts != null) {
this.setReconnectAttempts(reconnectAttempts)
}
if (reconnectInterval != null) {
this.setReconnectInterval(reconnectInterval)
}
if (replyHandlingSupport != null) {
this.setReplyHandlingSupport(replyHandlingSupport)
}
if (reuseAddress != null) {
this.setReuseAddress(reuseAddress)
}
if (reusePort != null) {
this.setReusePort(reusePort)
}
if (sendBufferSize != null) {
this.setSendBufferSize(sendBufferSize)
}
if (sniServerName != null) {
this.setSniServerName(sniServerName)
}
if (soLinger != null) {
this.setSoLinger(soLinger)
}
if (ssl != null) {
this.setSsl(ssl)
}
if (sslHandshakeTimeout != null) {
this.setSslHandshakeTimeout(sslHandshakeTimeout)
}
if (sslHandshakeTimeoutUnit != null) {
this.setSslHandshakeTimeoutUnit(sslHandshakeTimeoutUnit)
}
if (tcpCork != null) {
this.setTcpCork(tcpCork)
}
if (tcpFastOpen != null) {
this.setTcpFastOpen(tcpFastOpen)
}
if (tcpKeepAlive != null) {
this.setTcpKeepAlive(tcpKeepAlive)
}
if (tcpNoDelay != null) {
this.setTcpNoDelay(tcpNoDelay)
}
if (tcpQuickAck != null) {
this.setTcpQuickAck(tcpQuickAck)
}
if (tcpUserTimeout != null) {
this.setTcpUserTimeout(tcpUserTimeout)
}
if (trafficClass != null) {
this.setTrafficClass(trafficClass)
}
if (trustAll != null) {
this.setTrustAll(trustAll)
}
if (trustStoreOptions != null) {
this.setTrustStoreOptions(trustStoreOptions)
}
if (useAlpn != null) {
this.setUseAlpn(useAlpn)
}
if (usePooledBuffers != null) {
this.setUsePooledBuffers(usePooledBuffers)
}
if (vhost != null) {
this.setVhost(vhost)
}
if (virtualHost != null) {
this.setVirtualHost(virtualHost)
}
}
/**
* A function providing a DSL for building [io.vertx.amqpbridge.AmqpBridgeOptions] objects.
*
* Options for configuring the AmqpBridge.
*
* @param connectTimeout Set the connect timeout
* @param containerId Sets the value to use as the container-id field in the AMQP Open frame. Some servers and clients use this for the concept of a 'Client ID'. Defaults to null, which indicates a value will be generated by the bridge when the underlying connection is made.
* @param crlPaths Add a CRL path
* @param crlValues Add a CRL value
* @param enabledCipherSuites Add an enabled cipher suite, appended to the ordered suites.
* @param enabledSaslMechanisms
* @param enabledSecureTransportProtocols Sets the list of enabled SSL/TLS protocols.
* @param heartbeat
* @param hostnameVerificationAlgorithm Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String
* @param idleTimeout Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use [io.vertx.amqpbridge.AmqpBridgeOptions]
* @param idleTimeoutUnit Set the idle timeout unit. If not specified, default is seconds.
* @param jdkSslEngineOptions
* @param keyStoreOptions Set the key/cert options in jks format, aka Java keystore.
* @param localAddress Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.
* @param logActivity Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
* @param maxFrameSize
* @param metricsName Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
* @param openSslEngineOptions
* @param pemKeyCertOptions Set the key/cert store options in pem format.
* @param pemTrustOptions Set the trust options in pem format
* @param pfxKeyCertOptions Set the key/cert options in pfx format.
* @param pfxTrustOptions Set the trust options in pfx format
* @param proxyOptions Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
* @param receiveBufferSize Set the TCP receive buffer size
* @param reconnectAttempts Set the value of reconnect attempts
* @param reconnectInterval Set the reconnect interval
* @param replyHandlingSupport Sets whether the bridge should try to enable support for sending messages with a reply handler set, and replying to messages using the message reply methods. Defaults to true. If the server does not advertise support for 'anonymous sender' links then the bridge won't support reply handling regardless of this setting.
* @param reuseAddress Set the value of reuse address
* @param reusePort Set the value of reuse port. This is only supported by native transports.
* @param sendBufferSize Set the TCP send buffer size
* @param sniServerName
* @param soLinger Set whether SO_linger keep alive is enabled
* @param ssl Set whether SSL/TLS is enabled
* @param sslHandshakeTimeout Set the SSL handshake timeout, default time unit is seconds.
* @param sslHandshakeTimeoutUnit Set the SSL handshake timeout unit. If not specified, default is seconds.
* @param tcpCork Enable the TCP_CORK
option - only with linux native transport.
* @param tcpFastOpen Enable the TCP_FASTOPEN
option - only with linux native transport.
* @param tcpKeepAlive Set whether TCP keep alive is enabled
* @param tcpNoDelay Set whether TCP no delay is enabled
* @param tcpQuickAck Enable the TCP_QUICKACK
option - only with linux native transport.
* @param tcpUserTimeout Sets the TCP_USER_TIMEOUT
option - only with linux native transport.
* @param trafficClass Set the value of traffic class
* @param trustAll Set whether all server certificates should be trusted
* @param trustStoreOptions Set the trust options in jks format, aka Java truststore
* @param useAlpn Set the ALPN usage.
* @param usePooledBuffers Set whether Netty pooled buffers are enabled
* @param vhost Sets the value to use as the hostname field in the AMQP Open frame. Defaults to null, which indicates the hostname value given when starting the bridge will be used to populate the hostname field.
* @param virtualHost
*
*
* NOTE: This function has been automatically generated from the [io.vertx.amqpbridge.AmqpBridgeOptions original] using Vert.x codegen.
*/
@Deprecated(
message = "This function will be removed in a future version",
replaceWith = ReplaceWith("amqpBridgeOptionsOf(connectTimeout, containerId, crlPaths, crlValues, enabledCipherSuites, enabledSaslMechanisms, enabledSecureTransportProtocols, heartbeat, hostnameVerificationAlgorithm, idleTimeout, idleTimeoutUnit, jdkSslEngineOptions, keyStoreOptions, localAddress, logActivity, maxFrameSize, metricsName, openSslEngineOptions, pemKeyCertOptions, pemTrustOptions, pfxKeyCertOptions, pfxTrustOptions, proxyOptions, receiveBufferSize, reconnectAttempts, reconnectInterval, replyHandlingSupport, reuseAddress, reusePort, sendBufferSize, sniServerName, soLinger, ssl, sslHandshakeTimeout, sslHandshakeTimeoutUnit, tcpCork, tcpFastOpen, tcpKeepAlive, tcpNoDelay, tcpQuickAck, tcpUserTimeout, trafficClass, trustAll, trustStoreOptions, useAlpn, usePooledBuffers, vhost, virtualHost)")
)
fun AmqpBridgeOptions(
connectTimeout: Int? = null,
containerId: String? = null,
crlPaths: Iterable? = null,
crlValues: Iterable? = null,
enabledCipherSuites: Iterable? = null,
enabledSaslMechanisms: Iterable? = null,
enabledSecureTransportProtocols: Iterable? = null,
heartbeat: Int? = null,
hostnameVerificationAlgorithm: String? = null,
idleTimeout: Int? = null,
idleTimeoutUnit: TimeUnit? = null,
jdkSslEngineOptions: io.vertx.core.net.JdkSSLEngineOptions? = null,
keyStoreOptions: io.vertx.core.net.JksOptions? = null,
localAddress: String? = null,
logActivity: Boolean? = null,
maxFrameSize: Int? = null,
metricsName: String? = null,
openSslEngineOptions: io.vertx.core.net.OpenSSLEngineOptions? = null,
pemKeyCertOptions: io.vertx.core.net.PemKeyCertOptions? = null,
pemTrustOptions: io.vertx.core.net.PemTrustOptions? = null,
pfxKeyCertOptions: io.vertx.core.net.PfxOptions? = null,
pfxTrustOptions: io.vertx.core.net.PfxOptions? = null,
proxyOptions: io.vertx.core.net.ProxyOptions? = null,
receiveBufferSize: Int? = null,
reconnectAttempts: Int? = null,
reconnectInterval: Long? = null,
replyHandlingSupport: Boolean? = null,
reuseAddress: Boolean? = null,
reusePort: Boolean? = null,
sendBufferSize: Int? = null,
sniServerName: String? = null,
soLinger: Int? = null,
ssl: Boolean? = null,
sslHandshakeTimeout: Long? = null,
sslHandshakeTimeoutUnit: TimeUnit? = null,
tcpCork: Boolean? = null,
tcpFastOpen: Boolean? = null,
tcpKeepAlive: Boolean? = null,
tcpNoDelay: Boolean? = null,
tcpQuickAck: Boolean? = null,
tcpUserTimeout: Int? = null,
trafficClass: Int? = null,
trustAll: Boolean? = null,
trustStoreOptions: io.vertx.core.net.JksOptions? = null,
useAlpn: Boolean? = null,
usePooledBuffers: Boolean? = null,
vhost: String? = null,
virtualHost: String? = null): AmqpBridgeOptions = io.vertx.amqpbridge.AmqpBridgeOptions().apply {
if (connectTimeout != null) {
this.setConnectTimeout(connectTimeout)
}
if (containerId != null) {
this.setContainerId(containerId)
}
if (crlPaths != null) {
for (item in crlPaths) {
this.addCrlPath(item)
}
}
if (crlValues != null) {
for (item in crlValues) {
this.addCrlValue(item)
}
}
if (enabledCipherSuites != null) {
for (item in enabledCipherSuites) {
this.addEnabledCipherSuite(item)
}
}
if (enabledSaslMechanisms != null) {
for (item in enabledSaslMechanisms) {
this.addEnabledSaslMechanism(item)
}
}
if (enabledSecureTransportProtocols != null) {
this.setEnabledSecureTransportProtocols(enabledSecureTransportProtocols.toSet())
}
if (heartbeat != null) {
this.setHeartbeat(heartbeat)
}
if (hostnameVerificationAlgorithm != null) {
this.setHostnameVerificationAlgorithm(hostnameVerificationAlgorithm)
}
if (idleTimeout != null) {
this.setIdleTimeout(idleTimeout)
}
if (idleTimeoutUnit != null) {
this.setIdleTimeoutUnit(idleTimeoutUnit)
}
if (jdkSslEngineOptions != null) {
this.setJdkSslEngineOptions(jdkSslEngineOptions)
}
if (keyStoreOptions != null) {
this.setKeyStoreOptions(keyStoreOptions)
}
if (localAddress != null) {
this.setLocalAddress(localAddress)
}
if (logActivity != null) {
this.setLogActivity(logActivity)
}
if (maxFrameSize != null) {
this.setMaxFrameSize(maxFrameSize)
}
if (metricsName != null) {
this.setMetricsName(metricsName)
}
if (openSslEngineOptions != null) {
this.setOpenSslEngineOptions(openSslEngineOptions)
}
if (pemKeyCertOptions != null) {
this.setPemKeyCertOptions(pemKeyCertOptions)
}
if (pemTrustOptions != null) {
this.setPemTrustOptions(pemTrustOptions)
}
if (pfxKeyCertOptions != null) {
this.setPfxKeyCertOptions(pfxKeyCertOptions)
}
if (pfxTrustOptions != null) {
this.setPfxTrustOptions(pfxTrustOptions)
}
if (proxyOptions != null) {
this.setProxyOptions(proxyOptions)
}
if (receiveBufferSize != null) {
this.setReceiveBufferSize(receiveBufferSize)
}
if (reconnectAttempts != null) {
this.setReconnectAttempts(reconnectAttempts)
}
if (reconnectInterval != null) {
this.setReconnectInterval(reconnectInterval)
}
if (replyHandlingSupport != null) {
this.setReplyHandlingSupport(replyHandlingSupport)
}
if (reuseAddress != null) {
this.setReuseAddress(reuseAddress)
}
if (reusePort != null) {
this.setReusePort(reusePort)
}
if (sendBufferSize != null) {
this.setSendBufferSize(sendBufferSize)
}
if (sniServerName != null) {
this.setSniServerName(sniServerName)
}
if (soLinger != null) {
this.setSoLinger(soLinger)
}
if (ssl != null) {
this.setSsl(ssl)
}
if (sslHandshakeTimeout != null) {
this.setSslHandshakeTimeout(sslHandshakeTimeout)
}
if (sslHandshakeTimeoutUnit != null) {
this.setSslHandshakeTimeoutUnit(sslHandshakeTimeoutUnit)
}
if (tcpCork != null) {
this.setTcpCork(tcpCork)
}
if (tcpFastOpen != null) {
this.setTcpFastOpen(tcpFastOpen)
}
if (tcpKeepAlive != null) {
this.setTcpKeepAlive(tcpKeepAlive)
}
if (tcpNoDelay != null) {
this.setTcpNoDelay(tcpNoDelay)
}
if (tcpQuickAck != null) {
this.setTcpQuickAck(tcpQuickAck)
}
if (tcpUserTimeout != null) {
this.setTcpUserTimeout(tcpUserTimeout)
}
if (trafficClass != null) {
this.setTrafficClass(trafficClass)
}
if (trustAll != null) {
this.setTrustAll(trustAll)
}
if (trustStoreOptions != null) {
this.setTrustStoreOptions(trustStoreOptions)
}
if (useAlpn != null) {
this.setUseAlpn(useAlpn)
}
if (usePooledBuffers != null) {
this.setUsePooledBuffers(usePooledBuffers)
}
if (vhost != null) {
this.setVhost(vhost)
}
if (virtualHost != null) {
this.setVirtualHost(virtualHost)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy