{"properties": [
  {
    "name": "security.basic.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable basic authentication.",
    "defaultValue": true,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.filter-dispatcher-types",
    "type": "java.util.Set<java.lang.String>",
    "description": "Security filter chain dispatcher types.",
    "deprecation": {
      "replacement": "spring.security.filter.dispatcher-types",
      "level": "error"
    }
  },
  {
    "name": "security.filter-order",
    "type": "java.lang.Integer",
    "description": "Security filter chain order.",
    "defaultValue": 0,
    "deprecation": {
      "replacement": "spring.security.filter.order",
      "level": "error"
    }
  },
  {
    "name": "server.error.include-stacktrace",
    "defaultValue": "never"
  },
  {
    "name": "server.error.whitelabel.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable the default error page displayed in browsers in case of a server error.",
    "defaultValue": true
  },
  {
    "name": "spring.aop.auto",
    "type": "java.lang.Boolean",
    "description": "Add @EnableAspectJAutoProxy.",
    "defaultValue": true
  },
  {
    "name": "spring.aop.proxy-target-class",
    "type": "java.lang.Boolean",
    "description": "Whether subclass-based (CGLIB) proxies are to be created (true) as opposed to standard Java interface-based proxies (false).",
    "defaultValue": true
  },
  {
    "name": "spring.application.admin.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable admin features for the application.",
    "defaultValue": false
  },
  {
    "name": "spring.application.admin.jmx-name",
    "type": "java.lang.String",
    "description": "JMX name of the application admin MBean.",
    "defaultValue": "org.springframework.boot:type=Admin,name=SpringApplication"
  },
  {
    "name": "spring.autoconfigure.exclude",
    "type": "java.util.List<java.lang.Class>",
    "description": "Auto-configuration classes to exclude."
  },
  {
    "name": "spring.batch.job.enabled",
    "type": "java.lang.Boolean",
    "description": "Execute all Spring Batch jobs in the context on startup.",
    "defaultValue": true
  },
  {
    "name": "spring.dao.exceptiontranslation.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable the PersistenceExceptionTranslationPostProcessor.",
    "defaultValue": true
  },
  {
    "name": "spring.datasource.jmx-enabled",
    "type": "java.lang.Boolean",
    "description": "Enable JMX support (if provided by the underlying pool).",
    "defaultValue": false
  },
  {
    "name": "spring.data.cassandra.compression",
    "defaultValue": "none"
  },
  {
    "name": "spring.data.cassandra.reactive-repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Cassandra reactive repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.couchbase.consistency",
    "defaultValue": "read-your-own-writes"
  },
  {
    "name": "spring.data.cassandra.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Cassandra repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.couchbase.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Couchbase repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.elasticsearch.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Elasticsearch repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.jpa.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable JPA repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.ldap.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable LDAP repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.mongodb.reactive-repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Mongo reactive repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.mongodb.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Mongo repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.neo4j.open-in-view",
    "type": "java.lang.Boolean",
    "description": "Register OpenSessionInViewInterceptor. Binds a Neo4j Session to the thread for the entire processing of the request.",
    "defaultValue": false
  },
  {
    "name": "spring.data.neo4j.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Neo4j repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.redis.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Redis repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.data.rest.detection-strategy",
    "defaultValue": "default"
  },
  {
    "name": "spring.data.solr.repositories.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Solr repositories.",
    "defaultValue": true
  },
  {
    "name": "spring.elasticsearch.jest.uris",
    "defaultValue": [
      "http://localhost:9200"
    ]
  },
  {
    "name": "spring.freemarker.prefix",
    "defaultValue": ""
  },
  {
    "name": "spring.freemarker.suffix",
    "defaultValue": ".ftl"
  },
  {
    "name": "spring.groovy.template.prefix",
    "defaultValue": ""
  },
  {
    "name": "spring.groovy.template.suffix",
    "defaultValue": ".tpl"
  },
  {
    "name": "spring.http.encoding.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable http encoding support.",
    "defaultValue": true
  },
  {
    "name": "spring.http.converters.preferred-json-mapper",
    "type": "java.lang.String",
    "description": "Preferred JSON mapper to use for HTTP message conversion, auto-detected according to the environment by default."
  },
  {
    "name": "spring.jersey.type",
    "defaultValue": "servlet"
  },
  {
    "name": "spring.jmx.default-domain",
    "type": "java.lang.String",
    "description": "JMX domain name."
  },
  {
    "name": "spring.jmx.enabled",
    "type": "java.lang.Boolean",
    "description": "Expose management beans to the JMX domain.",
    "defaultValue": true
  },
  {
    "name": "spring.jmx.server",
    "type": "java.lang.String",
    "description": "MBeanServer bean name.",
    "defaultValue": "mbeanServer"
  },
  {
    "name": "spring.jpa.open-in-view",
    "type": "java.lang.Boolean",
    "description": "Register OpenEntityManagerInViewInterceptor. Binds a JPA EntityManager to the thread for the entire processing of the request.",
    "defaultValue": true
  },
  {
    "name": "spring.jta.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable JTA support.",
    "defaultValue": true
  },
  {
    "name": "spring.jta.bitronix.properties.allow-multiple-lrc",
    "description": "Allow multiple LRC resources to be enlisted into the same transaction.",
    "defaultValue": false
  },
  {
    "name": "spring.jta.bitronix.properties.asynchronous2-pc",
    "description": "Enable asynchronously execution of two phase commit.",
    "defaultValue": false
  },
  {
    "name": "spring.jta.bitronix.properties.background-recovery-interval",
    "description": "Interval in minutes at which to run the recovery process in the background.",
    "defaultValue": 1,
    "deprecation": {
      "replacement": "spring.jta.bitronix.properties.background-recovery-interval-seconds"
    }
  },
  {
    "name": "spring.jta.bitronix.properties.background-recovery-interval-seconds",
    "description": "Interval in seconds at which to run the recovery process in the background.",
    "defaultValue": 60
  },
  {
    "name": "spring.jta.bitronix.properties.current-node-only-recovery",
    "description": "Recover only the current node. Should be enabled if you run multiple instances of the transaction manager on the same JMS and JDBC resources.",
    "defaultValue": true
  },
  {
    "name": "spring.jta.bitronix.properties.debug-zero-resource-transaction",
    "description": "Log the creation and commit call stacks of transactions executed without a single enlisted resource.",
    "defaultValue": false
  },
  {
    "name": "spring.jta.bitronix.properties.default-transaction-timeout",
    "description": "Default transaction timeout in seconds.",
    "defaultValue": 60
  },
  {
    "name": "spring.jta.bitronix.properties.disable-jmx",
    "description": "Enable JMX support.",
    "defaultValue": false
  },
  {
    "name": "spring.jta.bitronix.properties.exception-analyzer",
    "description": "Set the fully qualified name of the exception analyzer implementation to use."
  },
  {
    "name": "spring.jta.bitronix.properties.filter-log-status",
    "description": "Enable filtering of logs so that only mandatory logs are written.",
    "defaultValue": false
  },
  {
    "name": "spring.jta.bitronix.properties.force-batching-enabled",
    "description": " Set if disk forces are batched.",
    "defaultValue": true
  },
  {
    "name": "spring.jta.bitronix.properties.forced-write-enabled",
    "description": "Set if logs are forced to disk.",
    "defaultValue": true
  },
  {
    "name": "spring.jta.bitronix.properties.graceful-shutdown-interval",
    "description": "Maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown time.",
    "defaultValue": 60
  },
  {
    "name": "spring.jta.bitronix.properties.jndi-transaction-synchronization-registry-name",
    "description": "JNDI name of the TransactionSynchronizationRegistry."
  },
  {
    "name": "spring.jta.bitronix.properties.jndi-user-transaction-name",
    "description": "JNDI name of the UserTransaction."
  },
  {
    "name": "spring.jta.bitronix.properties.journal",
    "description": "Name of the journal. Can be 'disk', 'null' or a class name.",
    "defaultValue": "disk"
  },
  {
    "name": "spring.jta.bitronix.properties.log-part1-filename",
    "description": "Name of the first fragment of the journal.",
    "defaultValue": "btm1.tlog"
  },
  {
    "name": "spring.jta.bitronix.properties.log-part2-filename",
    "description": "Name of the second fragment of the journal.",
    "defaultValue": "btm2.tlog"
  },
  {
    "name": "spring.jta.bitronix.properties.max-log-size-in-mb",
    "description": "Maximum size in megabytes of the journal fragments.",
    "defaultValue": 2
  },
  {
    "name": "spring.jta.bitronix.properties.resource-configuration-filename",
    "description": "ResourceLoader configuration file name."
  },
  {
    "name": "spring.jta.bitronix.properties.server-id",
    "description": "ASCII ID that must uniquely identify this TM instance. Default to the machine's IP address."
  },
  {
    "name": "spring.jta.bitronix.properties.skip-corrupted-logs",
    "description": "Skip corrupted transactions log entries. Use only at last resort when all you have to recover is a pair of corrupted files.",
    "defaultValue": false
  },
  {
    "name": "spring.jta.bitronix.properties.warn-about-zero-resource-transaction",
    "description": "Log a warning for transactions executed without a single enlisted resource.",
    "defaultValue": true
  },
  {
    "name": "spring.kafka.jaas.control-flag",
    "defaultValue": "required"
  },
  {
    "name": "spring.kafka.listener.type",
    "defaultValue": "single"
  },
  {
    "name": "spring.mobile.devicedelegatingviewresolver.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable device view resolver.",
    "defaultValue": false
  },
  {
    "name": "spring.mobile.sitepreference.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable SitePreferenceHandler.",
    "defaultValue": true
  },
  {
    "name": "spring.mustache.prefix",
    "defaultValue": "classpath:/templates/"
  },
  {
    "name": "spring.mustache.suffix",
    "defaultValue": ".html"
  },
  {
    "name": "spring.mvc.favicon.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable resolution of favicon.ico.",
    "defaultValue": true
  },
  {
    "name": "spring.mvc.formcontent.putfilter.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable Spring's HttpPutFormContentFilter.",
    "defaultValue": true
  },
  {
    "name": "spring.mvc.locale-resolver",
    "defaultValue": "accept-header"
  },
  {
    "name": "spring.quartz.job-store-type",
    "defaultValue": "memory"
  },
  {
    "name": "spring.rabbitmq.cache.connection.mode",
    "defaultValue": "channel"
  },
  {
    "name": "spring.rabbitmq.dynamic",
    "type": "java.lang.Boolean",
    "description": "Create an AmqpAdmin bean.",
    "defaultValue": true
  },
  {
    "name": "spring.security.filter.dispatcher-types",
    "defaultValue": [
      "async",
      "error",
      "request"
    ]
  },
  {
    "name": "spring.session.hazelcast.flush-mode",
    "defaultValue": "on-save"
  },
  {
    "name": "spring.session.servlet.filter-dispatcher-types",
    "defaultValue": [
      "async",
      "error",
      "request"
    ]
  },
  {
    "name": "spring.session.redis.flush-mode",
    "defaultValue": "on-save"
  },
  {
    "name": "spring.social.auto-connection-views",
    "type": "java.lang.Boolean",
    "description": "Enable the connection status view for supported providers.",
    "defaultValue": false
  },
  {
    "name": "flyway.baseline-description",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.baseline-description",
      "level": "error"
    }
  },
  {
    "name": "flyway.baseline-on-migrate",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "spring.flyway.baseline-on-migrate",
      "level": "error"
    }
  },
  {
    "name": "flyway.baseline-version",
    "type": "org.flywaydb.core.api.MigrationVersion",
    "deprecation": {
      "replacement": "spring.flyway.baseline-version",
      "level": "error"
    }
  },
  {
    "name": "flyway.check-location",
    "type": "java.lang.Boolean",
    "description": "Check that migration scripts location exists.",
    "defaultValue": false,
    "deprecation": {
      "replacement": "spring.flyway.check-location",
      "level": "error"
    }
  },
  {
    "name": "flyway.clean-on-validation-error",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "spring.flyway.clean-on-validation-error",
      "level": "error"
    }
  },
  {
    "name": "flyway.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable flyway.",
    "defaultValue": true,
    "deprecation": {
      "replacement": "spring.flyway.enabled",
      "level": "error"
    }
  },
  {
    "name": "flyway.encoding",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.encoding",
      "level": "error"
    }
  },
  {
    "name": "flyway.ignore-failed-future-migration",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "spring.flyway.ignore-failed-future-migration",
      "level": "error"
    }
  },
  {
    "name": "flyway.init-description",
    "type": "java.lang.String",
    "deprecation": {
      "level": "error"
    }
  },
  {
    "name": "flyway.init-on-migrate",
    "type": "java.lang.Boolean",
    "deprecation": {
      "level": "error"
    }
  },
  {
    "name": "flyway.init-sqls",
    "type": "java.util.List<java.lang.String>",
    "description": "SQL statements to execute to initialize a connection immediately after obtaining\n it.",
    "deprecation": {
      "replacement": "spring.flyway.init-sqls",
      "level": "error"
    }
  },
  {
    "name": "flyway.init-version",
    "type": "org.flywaydb.core.api.MigrationVersion",
    "deprecation": {
      "level": "error"
    }
  },
  {
    "name": "flyway.locations",
    "type": "java.util.List<java.lang.String>",
    "description": "Locations of migrations scripts. Can contain the special \"{vendor}\" placeholder to\n use vendor-specific locations.",
    "deprecation": {
      "replacement": "spring.flyway.locations",
      "level": "error"
    }
  },
  {
    "name": "flyway.out-of-order",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "spring.flyway.out-of-order",
      "level": "error"
    }
  },
  {
    "name": "flyway.password",
    "type": "java.lang.String",
    "description": "Login password of the database to migrate.",
    "deprecation": {
      "replacement": "spring.flyway.password",
      "level": "error"
    }
  },
  {
    "name": "flyway.placeholder-prefix",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.placeholder-prefix",
      "level": "error"
    }
  },
  {
    "name": "flyway.placeholder-replacement",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "spring.flyway.placeholder-replacement",
      "level": "error"
    }
  },
  {
    "name": "flyway.placeholder-suffix",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.placeholder-suffix",
      "level": "error"
    }
  },
  {
    "name": "flyway.placeholders",
    "type": "java.util.Map<java.lang.String,java.lang.String>",
    "deprecation": {
      "replacement": "spring.flyway.placeholders",
      "level": "error"
    }
  },
  {
    "name": "flyway.schemas",
    "type": "java.lang.String[]",
    "deprecation": {
      "replacement": "spring.flyway.schemas",
      "level": "error"
    }
  },
  {
    "name": "flyway.sql-migration-prefix",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.sql-migration-prefix",
      "level": "error"
    }
  },
  {
    "name": "flyway.sql-migration-separator",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.sql-migration-separator",
      "level": "error"
    }
  },
  {
    "name": "flyway.sql-migration-suffix",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.sql-migration-suffix",
      "level": "error"
    }
  },
  {
    "name": "flyway.table",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "spring.flyway.table",
      "level": "error"
    }
  },
  {
    "name": "flyway.target",
    "type": "org.flywaydb.core.api.MigrationVersion",
    "deprecation": {
      "replacement": "spring.flyway.target",
      "level": "error"
    }
  },
  {
    "name": "flyway.url",
    "type": "java.lang.String",
    "description": "JDBC url of the database to migrate. If not set, the primary configured data source\n is used.",
    "deprecation": {
      "replacement": "spring.flyway.url",
      "level": "error"
    }
  },
  {
    "name": "flyway.user",
    "type": "java.lang.String",
    "description": "Login user of the database to migrate.",
    "deprecation": {
      "replacement": "spring.flyway.user",
      "level": "error"
    }
  },
  {
    "name": "flyway.validate-on-migrate",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "spring.flyway.validate-on-migrate",
      "level": "error"
    }
  },
  {
    "name": "liquibase.change-log",
    "type": "java.lang.String",
    "description": "Change log configuration path.",
    "defaultValue": "classpath:/db/changelog/db.changelog-master.yaml",
    "deprecation": {
      "replacement": "spring.liquibase.change-log",
      "level": "error"
    }
  },
  {
    "name": "liquibase.check-change-log-location",
    "type": "java.lang.Boolean",
    "description": "Check the change log location exists.",
    "defaultValue": true,
    "deprecation": {
      "replacement": "spring.liquibase.check-change-log-location",
      "level": "error"
    }
  },
  {
    "name": "liquibase.contexts",
    "type": "java.lang.String",
    "description": "Comma-separated list of runtime contexts to use.",
    "deprecation": {
      "replacement": "spring.liquibase.contexts",
      "level": "error"
    }
  },
  {
    "name": "liquibase.default-schema",
    "type": "java.lang.String",
    "description": "Default database schema.",
    "deprecation": {
      "replacement": "spring.liquibase.default-schema",
      "level": "error"
    }
  },
  {
    "name": "liquibase.drop-first",
    "type": "java.lang.Boolean",
    "description": "Drop the database schema first.",
    "defaultValue": false,
    "deprecation": {
      "replacement": "spring.liquibase.drop-first",
      "level": "error"
    }
  },
  {
    "name": "liquibase.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable liquibase support.",
    "defaultValue": true,
    "deprecation": {
      "replacement": "spring.liquibase.enabled",
      "level": "error"
    }
  },
  {
    "name": "liquibase.labels",
    "type": "java.lang.String",
    "description": "Comma-separated list of runtime labels to use.",
    "deprecation": {
      "replacement": "spring.liquibase.labels",
      "level": "error"
    }
  },
  {
    "name": "liquibase.parameters",
    "type": "java.util.Map<java.lang.String,java.lang.String>",
    "description": "Change log parameters.",
    "deprecation": {
      "replacement": "spring.liquibase.parameters",
      "level": "error"
    }
  },
  {
    "name": "liquibase.password",
    "type": "java.lang.String",
    "description": "Login password of the database to migrate.",
    "deprecation": {
      "replacement": "spring.liquibase.password",
      "level": "error"
    }
  },
  {
    "name": "liquibase.rollback-file",
    "type": "java.io.File",
    "description": "File to which rollback SQL will be written when an update is performed.",
    "deprecation": {
      "replacement": "spring.liquibase.rollback-file",
      "level": "error"
    }
  },
  {
    "name": "liquibase.url",
    "type": "java.lang.String",
    "description": "JDBC url of the database to migrate. If not set, the primary configured data source\n is used.",
    "deprecation": {
      "replacement": "spring.liquibase.url",
      "level": "error"
    }
  },
  {
    "name": "liquibase.user",
    "type": "java.lang.String",
    "description": "Login user of the database to migrate.",
    "deprecation": {
      "replacement": "spring.liquibase.user",
      "level": "error"
    }
  },
  {
    "name": "security.basic.authorize-mode",
    "description": "Security authorize mode to apply.",
    "defaultValue": "role",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.basic.path",
    "type": "java.lang.String[]",
    "description": "Comma-separated list of paths to secure.",
    "defaultValue": [
      "/**"
    ],
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.basic.realm",
    "type": "java.lang.String",
    "description": "HTTP basic realm name.",
    "defaultValue": "Spring",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.enable-csrf",
    "type": "java.lang.Boolean",
    "description": "Enable Cross Site Request Forgery support.",
    "defaultValue": false,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.cache",
    "type": "java.lang.Boolean",
    "description": "Enable cache control HTTP headers.",
    "defaultValue": true,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.content-security-policy",
    "type": "java.lang.String",
    "description": "Value for content security policy header.",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.content-security-policy-mode",
    "description": "Content security policy mode.",
    "defaultValue": "default",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.content-type",
    "type": "java.lang.Boolean",
    "description": "Enable \"X-Content-Type-Options\" header.",
    "defaultValue": true,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.frame",
    "type": "java.lang.Boolean",
    "description": "Enable \"X-Frame-Options\" header.",
    "defaultValue": true,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.hsts",
    "description": "HTTP Strict Transport Security (HSTS) mode (none, domain, all).",
    "defaultValue": "all",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.headers.xss",
    "type": "java.lang.Boolean",
    "description": "Enable cross site scripting (XSS) protection.",
    "defaultValue": true,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.ignored",
    "type": "java.util.List<java.lang.String>",
    "description": "Comma-separated list of paths to exclude from the default secured paths.",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.require-ssl",
    "type": "java.lang.Boolean",
    "description": "Enable secure channel for all requests.",
    "defaultValue": false,
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.sessions",
    "type": "org.springframework.security.config.http.SessionCreationPolicy",
    "description": "Session creation policy (always, never, if_required, stateless).",
    "defaultValue": "stateless",
    "deprecation": {
      "reason": "The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead.",
      "level": "error"
    }
  },
  {
    "name": "security.user.name",
    "type": "java.lang.String",
    "description": "Default user name.",
    "defaultValue": "user",
    "deprecation": {
      "reason": "The default user is no longer customizable. You can, for instance, define a bean of type UserDetailsService.",
      "level": "error"
    }
  },
  {
    "name": "security.user.password",
    "type": "java.lang.String",
    "description": "Password for the default user name.",
    "deprecation": {
      "reason": "The default user is no longer customizable. You can, for instance, define a bean of type UserDetailsService.",
      "level": "error"
    }
  },
  {
    "name": "security.user.role",
    "type": "java.util.List<java.lang.String>",
    "description": "Granted roles for the default user name.",
    "deprecation": {
      "reason": "The default user is no longer customizable. You can, for instance, define a bean of type UserDetailsService.",
      "level": "error"
    }
  },
  {
    "name": "server.context-parameters",
    "type": "java.util.Map<java.lang.String,java.lang.String>",
    "description": "ServletContext parameters.",
    "deprecation": {
      "replacement": "server.servlet.context-parameters",
      "level": "error"
    }
  },
  {
    "name": "server.context-path",
    "type": "java.lang.String",
    "description": "Context path of the application.",
    "deprecation": {
      "replacement": "server.servlet.context-path",
      "level": "error"
    }
  },
  {
    "name": "server.jsp-servlet.class-name",
    "type": "java.lang.String",
    "deprecation": {
      "replacement": "server.servlet.jsp.class-name",
      "level": "error"
    }
  },
  {
    "name": "server.jsp-servlet.init-parameters",
    "type": "java.util.Map<java.lang.String,java.lang.String>",
    "deprecation": {
      "replacement": "server.servlet.jsp.init-parameters",
      "level": "error"
    }
  },
  {
    "name": "server.jsp-servlet.registered",
    "type": "java.lang.Boolean",
    "deprecation": {
      "replacement": "server.servlet.jsp.registered",
      "level": "error"
    }
  },
  {
    "name": "server.max-http-post-size",
    "type": "java.lang.Integer",
    "description": "Maximum size in bytes of the HTTP post content.",
    "defaultValue": 0,
    "deprecation": {
      "reason": "Use dedicated property for each container.",
      "level": "error"
    }
  },
  {
    "name": "server.servlet-path",
    "type": "java.lang.String",
    "description": "Path of the main dispatcher servlet.",
    "defaultValue": "/",
    "deprecation": {
      "replacement": "server.servlet.path",
      "level": "error"
    }
  },
  {
    "name": "server.undertow.buffers-per-region",
    "type": "java.lang.Integer",
    "description": "Number of buffer per region.",
    "deprecation": {
      "level": "error"
    }
  },
  {
    "name": "spring.batch.initializer.enabled",
    "type": "java.lang.Boolean",
    "description": "Create the required batch tables on startup if necessary. Enabled automatically\n if no custom table prefix is set or if a custom schema is configured.",
    "deprecation": {
      "replacement": "spring.batch.initialize-schema",
      "level": "error"
    }
  },
  {
    "name": "spring.data.neo4j.compiler",
    "type": "java.lang.String",
    "description": "Compiler to use.",
    "deprecation": {
      "reason": "Not supported anymore as of Neo4j 3.",
      "level": "error"
    }
  },
  {
    "name": "spring.http.multipart.enabled",
    "type": "java.lang.Boolean",
    "description": "Enable support of multipart uploads.",
    "defaultValue": true,
    "deprecation": {
      "replacement": "spring.servlet.multipart.enabled",
      "level": "error"
    }
  },
  {
    "name": "spring.http.multipart.file-size-threshold",
    "type": "java.lang.String",
    "description": "Threshold after which files will be written to disk. Values can use the suffixes\n \"MB\" or \"KB\" to indicate megabytes or kilobytes respectively.",
    "defaultValue": "0",
    "deprecation": {
      "replacement": "spring.servlet.multipart.file-size-threshold",
      "level": "error"
    }
  },
  {
    "name": "spring.http.multipart.location",
    "type": "java.lang.String",
    "description": "Intermediate location of uploaded files.",
    "deprecation": {
      "replacement": "spring.servlet.multipart.location",
      "level": "error"
    }
  },
  {
    "name": "spring.http.multipart.max-file-size",
    "type": "java.lang.String",
    "description": "Max file size. Values can use the suffixes \"MB\" or \"KB\" to indicate megabytes or\n kilobytes respectively.",
    "defaultValue": "1MB",
    "deprecation": {
      "replacement": "spring.servlet.multipart.max-file-size",
      "level": "error"
    }
  },
  {
    "name": "spring.http.multipart.max-request-size",
    "type": "java.lang.String",
    "description": "Max request size. Values can use the suffixes \"MB\" or \"KB\" to indicate megabytes or\n kilobytes respectively.",
    "defaultValue": "10MB",
    "deprecation": {
      "replacement": "spring.servlet.multipart.max-request-size",
      "level": "error"
    }
  },
  {
    "name": "spring.http.multipart.resolve-lazily",
    "type": "java.lang.Boolean",
    "description": "Whether to resolve the multipart request lazily at the time of file or parameter\n access.",
    "defaultValue": false,
    "deprecation": {
      "replacement": "spring.servlet.multipart.resolve-lazily",
      "level": "error"
    }
  },
  {
    "name": "spring.jpa.hibernate.naming.strategy",
    "type": "java.lang.String",
    "description": "Hibernate 4 naming strategy fully qualified name. Not supported with Hibernate\n 5.",
    "deprecation": {
      "reason": "Auto-configuration for Hibernate 4 is no longer provided.",
      "level": "error"
    }
  },
  {
    "name": "spring.redis.pool.max-active",
    "type": "java.lang.Integer",
    "description": "Max number of connections that can be allocated by the pool at a given time.\n Use a negative value for no limit.",
    "defaultValue": 8,
    "deprecation": {
      "replacement": "spring.redis.jedis.pool.max-idle",
      "level": "error"
    }
  },
  {
    "name": "spring.redis.pool.max-idle",
    "type": "java.lang.Integer",
    "description": "Max number of \"idle\" connections in the pool. Use a negative value to indicate\n an unlimited number of idle connections.",
    "defaultValue": 8,
    "deprecation": {
      "replacement": "spring.redis.jedis.pool.max-idle",
      "level": "error"
    }
  },
  {
    "name": "spring.redis.pool.max-wait",
    "type": "java.lang.Integer",
    "description": "Maximum amount of time (in milliseconds) a connection allocation should block\n before throwing an exception when the pool is exhausted. Use a negative value\n to block indefinitely.",
    "defaultValue": -1,
    "deprecation": {
      "replacement": "spring.redis.jedis.pool.max-wait",
      "level": "error"
    }
  },
  {
    "name": "spring.redis.pool.min-idle",
    "type": "java.lang.Integer",
    "description": "Target for the minimum number of idle connections to maintain in the pool. This\n setting only has an effect if it is positive.",
    "defaultValue": 0,
    "deprecation": {
      "replacement": "spring.redis.jedis.pool.min-idle",
      "level": "error"
    }
  },
  {
    "name": "spring.sendgrid.password",
    "type": "java.lang.String",
    "description": "SendGrid password.",
    "deprecation": {
      "reason": "The use of a username and password is no longer supported (Use spring.sendgrid.api-key instead).",
      "level": "error"
    }
  },
  {
    "name": "spring.sendgrid.username",
    "type": "java.lang.String",
    "description": "SendGrid username. Alternative to api key.",
    "deprecation": {
      "reason": "The use of a username and password is no longer supported (Use spring.sendgrid.api-key instead).",
      "level": "error"
    }
  },
  {
    "name": "spring.session.jdbc.initializer.enabled",
    "type": "java.lang.Boolean",
    "description": "Create the required session tables on startup if necessary. Enabled\n automatically if the default table name is set or a custom schema is\n configured.",
    "deprecation": {
      "replacement": "spring.session.jdbc.initialize-schema",
      "level": "error"
    }
  },
  {
    "name": "spring.thymeleaf.content-type",
    "type": "org.springframework.util.MimeType",
    "description": "Content-Type value.",
    "defaultValue": "text/html",
    "deprecation": {
      "replacement": "spring.thymeleaf.servlet.content-type",
      "level": "error"
    }
  },
  {
    "name": "spring.thymeleaf.prefix",
    "defaultValue": "classpath:/templates/"
  },
  {
    "name": "spring.thymeleaf.suffix",
    "defaultValue": ".html"
  },
  {
    "name": "spring.webservices.wsdl-locations",
    "type": "java.util.List<java.lang.String>",
    "description": "Comma-separated list of locations of WSDLs and accompanying XSDs to be exposed as beans."
  }
],"hints": [
  {
    "name": "spring.liquibase.change-log",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "org.springframework.core.io.Resource"
        }
      }
    ]
  },
  {
    "name": "server.servlet.jsp.class-name",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "javax.servlet.http.HttpServlet"
        }
      }
    ]
  },
  {
    "name": "spring.cache.jcache.provider",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "javax.cache.spi.CachingProvider"
        }
      }
    ]
  },
  {
    "name": "spring.data.cassandra.schema-action",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "org.springframework.data.cassandra.config.SchemaAction"
        }
      }
    ]
  },
  {
    "name": "spring.data.mongodb.field-naming-strategy",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "org.springframework.data.mapping.model.FieldNamingStrategy"
        }
      }
    ]
  },
  {
    "name": "spring.datasource.data",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "java.util.List<org.springframework.core.io.Resource>"
        }
      }
    ]
  },
  {
    "name": "spring.datasource.driver-class-name",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "java.sql.Driver"
        }
      }
    ]
  },
  {
    "name": "spring.datasource.schema",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "java.util.List<org.springframework.core.io.Resource>"
        }
      }
    ]
  },
  {
    "name": "spring.datasource.xa.data-source-class-name",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "javax.sql.XADataSource"
        }
      }
    ]
  },
  {
    "name": "spring.kafka.consumer.auto-offset-reset",
    "values": [
      {
        "value": "earliest",
        "description": "Automatically reset the offset to the earliest offset."
      },
      {
        "value": "latest",
        "description": "Automatically reset the offset to the latest offset."
      },
      {
        "value": "none",
        "description": "Throw exception to the consumer if no previous offset is found for the consumer's group."
      },
      {
        "value": "exception",
        "description": "Throw exception to the consumer."
      }
    ],
    "providers": [
      {
        "name": "any"
      }
    ]
  },
  {
    "name": "spring.kafka.consumer.key-deserializer",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "org.apache.kafka.common.serialization.Deserializer"
        }
      }
    ]
  },
  {
    "name": "spring.kafka.consumer.value-deserializer",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "org.apache.kafka.common.serialization.Deserializer"
        }
      }
    ]
  },
  {
    "name": "spring.kafka.producer.key-serializer",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "org.apache.kafka.common.serialization.Serializer"
        }
      }
    ]
  },
  {
    "name": "spring.kafka.producer.value-serializer",
    "providers": [
      {
        "name": "handle-as",
        "parameters": {
          "target": "org.apache.kafka.common.serialization.Serializer"
        }
      }
    ]
  },
  {
    "name": "spring.http.converters.preferred-json-mapper",
    "values": [
      {
        "value": "gson"
      },
      {
        "value": "jackson"
      },
      {
        "value": "jsonb"
      }
    ],
    "providers": [
      {
        "name": "any"
      }
    ]
  },
  {
    "name": "spring.jmx.server",
    "providers": [
      {
        "name": "spring-bean-reference",
        "parameters": {
          "target": "javax.management.MBeanServer"
        }
      }
    ]
  },
  {
    "name": "spring.jpa.hibernate.ddl-auto",
    "values": [
      {
        "value": "none",
        "description": "Disable DDL handling."
      },
      {
        "value": "validate",
        "description": "Validate the schema, make no changes to the database."
      },
      {
        "value": "update",
        "description": "Update the schema if necessary."
      },
      {
        "value": "create",
        "description": "Create the schema and destroy previous data."
      },
      {
        "value": "create-drop",
        "description": "Create and then destroy the schema at the end of the session."
      }
    ]
  },
  {
    "name": "spring.jpa.hibernate.naming.implicit-strategy",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "org.hibernate.boot.model.naming.ImplicitNamingStrategy"
        }
      }
    ]
  },
  {
    "name": "spring.jpa.hibernate.naming.physical-strategy",
    "providers": [
      {
        "name": "class-reference",
        "parameters": {
          "target": "org.hibernate.boot.model.naming.PhysicalNamingStrategy"
        }
      }
    ]
  }
]}

