/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.camel.model.cloud; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; import org.apache.camel.spi.Metadata; import org.apache.camel.util.jsse.SSLContextParameters; @Metadata(label = "routing,cloud,service-discovery") @XmlRootElement(name = "consulServiceDiscovery") @XmlAccessorType(XmlAccessType.FIELD) public class ConsulServiceCallServiceDiscoveryConfiguration extends ServiceCallServiceDiscoveryConfiguration { @XmlAttribute private String url; @XmlAttribute private String datacenter; @XmlAttribute @Metadata(label = "security") private String aclToken; @XmlAttribute @Metadata(label = "security") private String userName; @XmlAttribute @Metadata(label = "security") private String password; @XmlAttribute private Long connectTimeoutMillis; @XmlAttribute private Long readTimeoutMillis; @XmlAttribute private Long writeTimeoutMillis; @XmlAttribute @Metadata(defaultValue = "10") private Integer blockSeconds = 10; @XmlTransient private SSLContextParameters sslContextParameters; public ConsulServiceCallServiceDiscoveryConfiguration() { this(null); } public ConsulServiceCallServiceDiscoveryConfiguration(ServiceCallDefinition parent) { super(parent, "consul-service-discovery"); } // ************************************************************************* // Getter/Setter // ************************************************************************* /** * The Consul agent URL */ public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } /** * @deprecated replaced by {@link #getDatacenter()} ()} */ @Deprecated public String getDc() { return datacenter; } /** * The data center * * @deprecated replaced by {@link #setDatacenter(String)} ()} */ @Deprecated public void setDc(String dc) { this.datacenter = dc; } public String getDatacenter() { return datacenter; } /** * The data center */ public void setDatacenter(String datacenter) { this.datacenter = datacenter; } public String getAclToken() { return aclToken; } /** * Sets the ACL token to be used with Consul */ public void setAclToken(String aclToken) { this.aclToken = aclToken; } public String getUserName() { return userName; } /** * Sets the username to be used for basic authentication */ public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } /** * Sets the password to be used for basic authentication */ public void setPassword(String password) { this.password = password; } public Long getConnectTimeoutMillis() { return connectTimeoutMillis; } /** * Connect timeout for OkHttpClient */ public void setConnectTimeoutMillis(Long connectTimeoutMillis) { this.connectTimeoutMillis = connectTimeoutMillis; } public Long getReadTimeoutMillis() { return readTimeoutMillis; } /** * Read timeout for OkHttpClient */ public void setReadTimeoutMillis(Long readTimeoutMillis) { this.readTimeoutMillis = readTimeoutMillis; } public Long getWriteTimeoutMillis() { return writeTimeoutMillis; } /** * Write timeout for OkHttpClient */ public void setWriteTimeoutMillis(Long writeTimeoutMillis) { this.writeTimeoutMillis = writeTimeoutMillis; } public Integer getBlockSeconds() { return blockSeconds; } /** * The seconds to wait for a watch event, default 10 seconds */ public void setBlockSeconds(Integer blockSeconds) { this.blockSeconds = blockSeconds; } public SSLContextParameters getSslContextParameters() { return sslContextParameters; } /** * To configure security using SSLContextParameters. */ public void setSslContextParameters(SSLContextParameters sslContextParameters) { this.sslContextParameters = sslContextParameters; } // ************************************************************************* // Fluent API // ************************************************************************* /** * The Consul agent URL */ public ConsulServiceCallServiceDiscoveryConfiguration url(String url) { setUrl(url); return this; } /** * The data center */ public ConsulServiceCallServiceDiscoveryConfiguration dc(String dc) { setDc(dc); return this; } /** * Sets the ACL token to be used with Consul */ public ConsulServiceCallServiceDiscoveryConfiguration aclToken(String aclToken) { setAclToken(aclToken); return this; } /** * Sets the username to be used for basic authentication */ public ConsulServiceCallServiceDiscoveryConfiguration userName(String userName) { setUserName(userName); return this; } /** * Sets the password to be used for basic authentication */ public ConsulServiceCallServiceDiscoveryConfiguration password(String password) { setPassword(password); return this; } /** * Connect timeout for OkHttpClient */ public ConsulServiceCallServiceDiscoveryConfiguration connectTimeoutMillis(Long connectTimeoutMillis) { setConnectTimeoutMillis(connectTimeoutMillis); return this; } /** * Read timeout for OkHttpClient */ public ConsulServiceCallServiceDiscoveryConfiguration readTimeoutMillis(Long readTimeoutMillis) { setReadTimeoutMillis(readTimeoutMillis); return this; } /** * Write timeout for OkHttpClient */ public ConsulServiceCallServiceDiscoveryConfiguration writeTimeoutMillis(Long writeTimeoutMillis) { setWriteTimeoutMillis(writeTimeoutMillis); return this; } /** * The seconds to wait for a watch event, default 10 seconds */ public ConsulServiceCallServiceDiscoveryConfiguration blockSeconds(Integer blockSeconds) { setBlockSeconds(blockSeconds); return this; } /** * To configure security using SSLContextParameters. */ public ConsulServiceCallServiceDiscoveryConfiguration sslContextParameters(SSLContextParameters sslContextParameters) { setSslContextParameters(sslContextParameters); return this; } }