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

import java.util.Map;
import javax.annotation.Generated;
import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
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 CamelIbmcossourceSourceConnectorConfig
        extends
            CamelSourceConnectorConfig {

    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_BUCKET_NAME_CONF = "camel.kamelet.ibm-cos-source.bucketName";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_BUCKET_NAME_DOC = "The IBM COS Bucket name.";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_BUCKET_NAME_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_API_KEY_CONF = "camel.kamelet.ibm-cos-source.apiKey";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_API_KEY_DOC = "IBM Cloud API Key for authentication.";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_API_KEY_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_SERVICE_INSTANCE_ID_CONF = "camel.kamelet.ibm-cos-source.serviceInstanceId";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_SERVICE_INSTANCE_ID_DOC = "IBM COS Service Instance ID (CRN).";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_SERVICE_INSTANCE_ID_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_ENDPOINT_URL_CONF = "camel.kamelet.ibm-cos-source.endpointUrl";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_ENDPOINT_URL_DOC = "IBM COS Endpoint URL (e.g., https://s3.us-south.cloud-object-storage.appdomain.cloud). Example: https://s3.us-south.cloud-object-storage.appdomain.cloud";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_ENDPOINT_URL_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_LOCATION_CONF = "camel.kamelet.ibm-cos-source.location";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_LOCATION_DOC = "IBM COS Location/Region (e.g., us-south, eu-gb). Example: us-south";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_LOCATION_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELETE_AFTER_READ_CONF = "camel.kamelet.ibm-cos-source.deleteAfterRead";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELETE_AFTER_READ_DOC = "Specifies to delete objects after consuming them.";
    public static final Boolean CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELETE_AFTER_READ_DEFAULT = true;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MOVE_AFTER_READ_CONF = "camel.kamelet.ibm-cos-source.moveAfterRead";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MOVE_AFTER_READ_DOC = "Move objects from IBM COS bucket to a different bucket after they have been retrieved.";
    public static final Boolean CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MOVE_AFTER_READ_DEFAULT = false;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_CONF = "camel.kamelet.ibm-cos-source.destinationBucket";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_DOC = "Define the destination bucket where an object must be moved when moveAfterRead is set to true.";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_PREFIX_CONF = "camel.kamelet.ibm-cos-source.destinationBucketPrefix";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_PREFIX_DOC = "Define the destination bucket prefix to use when an object must be moved, and moveAfterRead is set to true.";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_PREFIX_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_SUFFIX_CONF = "camel.kamelet.ibm-cos-source.destinationBucketSuffix";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_SUFFIX_DOC = "Define the destination bucket suffix to use when an object must be moved, and moveAfterRead is set to true.";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_SUFFIX_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_AUTO_CREATE_BUCKET_CONF = "camel.kamelet.ibm-cos-source.autoCreateBucket";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_AUTO_CREATE_BUCKET_DOC = "Specifies to automatically create the IBM COS bucket.";
    public static final Boolean CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_AUTO_CREATE_BUCKET_DEFAULT = false;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_PREFIX_CONF = "camel.kamelet.ibm-cos-source.prefix";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_PREFIX_DOC = "The IBM COS bucket prefix to consider while searching. Example: folder/";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_PREFIX_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELIMITER_CONF = "camel.kamelet.ibm-cos-source.delimiter";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELIMITER_DOC = "The delimiter to use for listing objects.";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELIMITER_DEFAULT = null;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_BODY_CONF = "camel.kamelet.ibm-cos-source.includeBody";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_BODY_DOC = "If true, the object body is included in the exchange. If false, only headers are set.";
    public static final Boolean CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_BODY_DEFAULT = true;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_FOLDERS_CONF = "camel.kamelet.ibm-cos-source.includeFolders";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_FOLDERS_DOC = "Include folders/directories when listing objects.";
    public static final Boolean CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_FOLDERS_DEFAULT = true;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELAY_CONF = "camel.kamelet.ibm-cos-source.delay";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELAY_DOC = "The number of milliseconds before the next poll of the selected bucket.";
    public static final Integer CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELAY_DEFAULT = 500;
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MAX_MESSAGES_PER_POLL_CONF = "camel.kamelet.ibm-cos-source.maxMessagesPerPoll";
    public static final String CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MAX_MESSAGES_PER_POLL_DOC = "Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.";
    public static final Integer CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MAX_MESSAGES_PER_POLL_DEFAULT = 10;

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

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

    public static ConfigDef conf() {
        ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_BUCKET_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_BUCKET_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_BUCKET_NAME_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_API_KEY_CONF, ConfigDef.Type.PASSWORD, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_API_KEY_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_API_KEY_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_SERVICE_INSTANCE_ID_CONF, ConfigDef.Type.PASSWORD, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_SERVICE_INSTANCE_ID_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_SERVICE_INSTANCE_ID_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_ENDPOINT_URL_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_ENDPOINT_URL_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_ENDPOINT_URL_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_LOCATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_LOCATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_LOCATION_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELETE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELETE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELETE_AFTER_READ_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MOVE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MOVE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MOVE_AFTER_READ_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_PREFIX_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_SUFFIX_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_SUFFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DESTINATION_BUCKET_SUFFIX_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_AUTO_CREATE_BUCKET_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_PREFIX_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELIMITER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELIMITER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELIMITER_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_BODY_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_FOLDERS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_FOLDERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_INCLUDE_FOLDERS_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELAY_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_DELAY_DOC);
        conf.define(CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MAX_MESSAGES_PER_POLL_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MAX_MESSAGES_PER_POLL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_IBMCOSSOURCE_KAMELET_MAX_MESSAGES_PER_POLL_DOC);
        return conf;
    }
}