{
    "tasks.max": "{{ env['MAX_TASKS'] }}",
    "topic": "{{ env['KAFKA_TOPIC'] }}",
    "connector.class": "org.neo4j.connectors.kafka.source.Neo4jConnector",
    "key.converter": "{{ env['NEO4J_KEY_CONVERTER'] }}",
    "value.converter": "{{ env['NEO4J_VALUE_CONVERTER'] }}",
    "key.converter.schemas.enable": "{{ env['NEO4J_KEY_CONVERTER_SCHEMAS_ENABLE'] }}",
    "value.converter.schemas.enable": "{{ env['NEO4J_VALUE_CONVERTER_SCHEMAS_ENABLE'] }}",
    
    "neo4j.source-strategy": "QUERY",
    "neo4j.query.topic": "{{ env['KAFKA_TOPIC'] }}",
    "neo4j.query": "{{ env['NEO4J_QUERY'] }}",
    "neo4j.query.streaming-property": "{{ env['TRACKING_PROPERTY_NAME'] }}",
    "neo4j.query.poll-duration": "{{ env['NEO4J_POLL_MAX_DURATION'] }}",
    "neo4j.query.poll-interval": "{{ env['NEO4J_POLL_INTERVAL'] }}",
    "neo4j.query.timeout": "{{ env['NEO4J_QUERY_TIMEOUT'] }}",
    "neo4j.start-from": "{{ env['NEO4J_START_FROM'] }}",
    "neo4j.ignore-stored-offset": "{{ env['NEO4J_IGNORE_STORED_OFFSET'] }}",
    "neo4j.batch-size": "{{ env['NEO4J_BATCH_SIZE'] }}",
    "neo4j.payload-mode": "{{ env['NEO4J_PAYLOAD_MODE'] }}",
    "neo4j.uri": "{{ env['NEO4J_SERVER_URI'] }}",
    "neo4j.database": "{{ env['NEO4J_DATABASE_NAME'] }}",
    "neo4j.security.encrypted": "{{ env['NEO4J_ENCRYPTION_ENABLED'] }}",
    "neo4j.authentication.type": "BASIC",
    {% if env['AWS_SECRETS_MANAGER'] == 'true' -%}
    "neo4j.authentication.basic.username": "${aws:{{ env['Environment'] }}/{{ env['SERVICE_NAME'] }}/NEO4J_CREDENTIALS:username}",
    "neo4j.authentication.basic.password": "${aws:{{ env['Environment'] }}/{{ env['SERVICE_NAME'] }}/NEO4J_CREDENTIALS:password}",
    "config.providers": "aws",
    "config.providers.aws.class": "io.lenses.connect.secrets.providers.AWSSecretProvider",
    "config.providers.aws.param.aws.auth.method": "default",
    "config.providers.aws.param.aws.access.key": "dummy-client-key",
    "config.providers.aws.param.aws.secret.key": "dummy-secret-key",
    "config.providers.aws.param.aws.region": "{{ env['AWS_REGION'] }}",
    {% else -%}
    "neo4j.authentication.basic.username": "{{ env['NEO4J_USERNAME'] }}",
    "neo4j.authentication.basic.password": "{{ env['NEO4J_PASSWORD'] }}",
    {% endif -%}
    "errors.retry.timeout": "-1",
    "errors.retry.delay.max.ms": "1000",
    "errors.tolerance": "all",
    "errors.log.enable": true,
    "errors.log.include.messages": true
    {% if env['EXTRACT_VALUE_TO_KEY'] -%}
    ,
    "transforms": "{{ env['TRANSFORMS'] }}",
    "transforms.valueToKey.type": "org.apache.kafka.connect.transforms.ValueToKey",
    "transforms.valueToKey.fields": "{{ env['EXTRACT_VALUE_TO_KEY'] }}",
    "transforms.extractField.type": "org.apache.kafka.connect.transforms.ExtractField$Key",
    "transforms.extractField.field": "{{ env['EXTRACT_VALUE_TO_KEY'] }}"
    {% endif -%}
    {% if env['DROP_MESSAGE'] == 'true' -%}
    ,
    "transforms.dropMessage.type": "io.confluent.connect.transforms.Drop$Value"
    {% endif -%}
}
