/*
 * 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.kafkaconnector.ganglia;

import java.util.Map;
import javax.annotation.Generated;
import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
import org.apache.kafka.common.config.ConfigDef;

@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
public class CamelGangliaSinkConnectorConfig extends CamelSinkConnectorConfig {

    public static final String CAMEL_SINK_GANGLIA_PATH_HOST_CONF = "camel.sink.path.host";
    public static final String CAMEL_SINK_GANGLIA_PATH_HOST_DOC = "Host name for Ganglia server";
    public static final String CAMEL_SINK_GANGLIA_PATH_HOST_DEFAULT = "239.2.11.71";
    public static final String CAMEL_SINK_GANGLIA_PATH_PORT_CONF = "camel.sink.path.port";
    public static final String CAMEL_SINK_GANGLIA_PATH_PORT_DOC = "Port for Ganglia server";
    public static final Integer CAMEL_SINK_GANGLIA_PATH_PORT_DEFAULT = 8649;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_DMAX_CONF = "camel.sink.endpoint.dmax";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_DMAX_DOC = "Minumum time in seconds before Ganglia will purge the metric value if it expires. Set to 0 and the value will remain in Ganglia indefinitely until a gmond agent restart.";
    public static final Integer CAMEL_SINK_GANGLIA_ENDPOINT_DMAX_DEFAULT = 0;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_GROUP_NAME_CONF = "camel.sink.endpoint.groupName";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_GROUP_NAME_DOC = "The group that the metric belongs to.";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_GROUP_NAME_DEFAULT = "java";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_LAZY_START_PRODUCER_DOC = "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.";
    public static final Boolean CAMEL_SINK_GANGLIA_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_METRIC_NAME_CONF = "camel.sink.endpoint.metricName";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_METRIC_NAME_DOC = "The name to use for the metric.";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_METRIC_NAME_DEFAULT = "metric";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_MODE_CONF = "camel.sink.endpoint.mode";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_MODE_DOC = "Send the UDP metric packets using MULTICAST or UNICAST One of: [MULTICAST] [UNICAST]";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_MODE_DEFAULT = "MULTICAST";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_PREFIX_CONF = "camel.sink.endpoint.prefix";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_PREFIX_DOC = "Prefix the metric name with this string and an underscore.";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_PREFIX_DEFAULT = null;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SLOPE_CONF = "camel.sink.endpoint.slope";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SLOPE_DOC = "The slope One of: [ZERO] [POSITIVE] [NEGATIVE] [BOTH]";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SLOPE_DEFAULT = "BOTH";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SPOOF_HOSTNAME_CONF = "camel.sink.endpoint.spoofHostname";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SPOOF_HOSTNAME_DOC = "Spoofing information IP:hostname";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SPOOF_HOSTNAME_DEFAULT = null;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TMAX_CONF = "camel.sink.endpoint.tmax";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TMAX_DOC = "Maximum time in seconds that the value can be considered current. After this, Ganglia considers the value to have expired.";
    public static final Integer CAMEL_SINK_GANGLIA_ENDPOINT_TMAX_DEFAULT = 60;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TTL_CONF = "camel.sink.endpoint.ttl";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TTL_DOC = "If using multicast, set the TTL of the packets";
    public static final Integer CAMEL_SINK_GANGLIA_ENDPOINT_TTL_DEFAULT = 5;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TYPE_CONF = "camel.sink.endpoint.type";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TYPE_DOC = "The type of value One of: [STRING] [INT8] [UINT8] [INT16] [UINT16] [INT32] [UINT32] [FLOAT] [DOUBLE]";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_TYPE_DEFAULT = "STRING";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_UNITS_CONF = "camel.sink.endpoint.units";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_UNITS_DOC = "Any unit of measurement that qualifies the metric, e.g. widgets, litres, bytes. Do not include a prefix such as k (kilo) or m (milli), other tools may scale the units later. The value should be unscaled.";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_UNITS_DEFAULT = null;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_WIRE_FORMAT_31XCONF = "camel.sink.endpoint.wireFormat31x";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_WIRE_FORMAT_31XDOC = "Use the wire format of Ganglia 3.1.0 and later versions. Set this to false to use Ganglia 3.0.x or earlier.";
    public static final Boolean CAMEL_SINK_GANGLIA_ENDPOINT_WIRE_FORMAT_31XDEFAULT = true;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
    public static final Boolean CAMEL_SINK_GANGLIA_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
    public static final String CAMEL_SINK_GANGLIA_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
    public static final Boolean CAMEL_SINK_GANGLIA_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.ganglia.lazyStartProducer";
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_LAZY_START_PRODUCER_DOC = "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.";
    public static final Boolean CAMEL_SINK_GANGLIA_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.ganglia.basicPropertyBinding";
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
    public static final Boolean CAMEL_SINK_GANGLIA_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_CONFIGURATION_CONF = "camel.component.ganglia.configuration";
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_CONFIGURATION_DOC = "To use the shared configuration";
    public static final String CAMEL_SINK_GANGLIA_COMPONENT_CONFIGURATION_DEFAULT = null;

    public CamelGangliaSinkConnectorConfig(
            ConfigDef config,
            Map<String, String> parsedConfig) {
        super(config, parsedConfig);
    }

    public CamelGangliaSinkConnectorConfig(Map<String, String> parsedConfig) {
        this(conf(), parsedConfig);
    }

    public static ConfigDef conf() {
        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
        conf.define(CAMEL_SINK_GANGLIA_PATH_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_PATH_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_PATH_HOST_DOC);
        conf.define(CAMEL_SINK_GANGLIA_PATH_PORT_CONF, ConfigDef.Type.INT, CAMEL_SINK_GANGLIA_PATH_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_PATH_PORT_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_DMAX_CONF, ConfigDef.Type.INT, CAMEL_SINK_GANGLIA_ENDPOINT_DMAX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_DMAX_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_GROUP_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_GROUP_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_GROUP_NAME_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GANGLIA_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_LAZY_START_PRODUCER_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_METRIC_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_METRIC_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_METRIC_NAME_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_MODE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_MODE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_MODE_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_PREFIX_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_SLOPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_SLOPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_SLOPE_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_SPOOF_HOSTNAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_SPOOF_HOSTNAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_SPOOF_HOSTNAME_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_TMAX_CONF, ConfigDef.Type.INT, CAMEL_SINK_GANGLIA_ENDPOINT_TMAX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_TMAX_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_TTL_CONF, ConfigDef.Type.INT, CAMEL_SINK_GANGLIA_ENDPOINT_TTL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_TTL_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_TYPE_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_UNITS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_ENDPOINT_UNITS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_UNITS_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_WIRE_FORMAT_31XCONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GANGLIA_ENDPOINT_WIRE_FORMAT_31XDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_WIRE_FORMAT_31XDOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GANGLIA_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
        conf.define(CAMEL_SINK_GANGLIA_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GANGLIA_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_ENDPOINT_SYNCHRONOUS_DOC);
        conf.define(CAMEL_SINK_GANGLIA_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GANGLIA_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_COMPONENT_LAZY_START_PRODUCER_DOC);
        conf.define(CAMEL_SINK_GANGLIA_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GANGLIA_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
        conf.define(CAMEL_SINK_GANGLIA_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GANGLIA_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GANGLIA_COMPONENT_CONFIGURATION_DOC);
        return conf;
    }
}