---
$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://www.alexmond.org/spring-boot-config-json-schema-starter/current/boot-generic-config.yaml"
title: "Spring boot generic schema"
description: "Auto-generated schema from configuration metadata"
type: "object"
$defs:
  loggerLevel:
    type: "string"
    enum:
    - "TRACE"
    - "trace"
    - "DEBUG"
    - "debug"
    - "INFO"
    - "info"
    - "WARN"
    - "warn"
    - "ERROR"
    - "error"
    - "FATAL"
    - "fatal"
    - "OFF"
    - "off"
  loggerLevelProp:
    type: "object"
    additionalProperties:
      oneOf:
      - $ref: "#/$defs/loggerLevel"
      - $ref: "#/$defs/loggerLevelProp"
  java.util.Locale:
    type: "string"
    examples:
    - "en"
    - "en_US"
    - "en_GB"
    - "en_CA"
    - "fr"
    - "fr_FR"
    - "fr_CA"
    - "de"
    - "de_DE"
    - "it"
    - "it_IT"
    - "ja"
    - "ja_JP"
    - "ko"
    - "ko_KR"
    - "zh"
    - "zh_CN"
    - "zh_TW"
  java.nio.charset.Charset:
    type: "string"
    examples:
    - "UTF-8"
    - "UTF-16"
    - "UTF-16BE"
    - "UTF-16LE"
    - "ISO-8859-1"
    - "US-ASCII"
  com.zaxxer.hikari.pool.HikariPool:
    type: "object"
    $anchor: "com.zaxxer.hikari.pool.HikariPool"
    properties:
      add-connection-executor:
        type: "object"
      alive-bypass-window-ms:
        type: "integer"
      close-connection-executor:
        type: "object"
      connection-bag:
        type: "string"
      house-keeper-task:
        type: "string"
      house-keeping-executor-service:
        type: "object"
      housekeeping-period-ms:
        type: "integer"
      is-request-boundaries-enabled:
        type: "boolean"
      leak-task-factory:
        type: "object"
        $anchor: "com.zaxxer.hikari.pool.ProxyLeakTaskFactory"
        properties:
          executor-service:
            type: "object"
          leak-detection-threshold:
            type: "integer"
      life-time-variance-factor:
        type: "integer"
      pool-entry-creator:
        type: "object"
        $anchor: "com.zaxxer.hikari.pool.HikariPool:PoolEntryCreator"
        properties:
          logging-prefix:
            type: "string"
      pool-state:
        type: "integer"
      post-fill-pool-entry-creator:
        type: "object"
        $ref: "#/$defs/com.zaxxer.hikari.pool.HikariPool:PoolEntryCreator"
      suspend-resume-lock:
        type: "object"
        $anchor: "com.zaxxer.hikari.util.SuspendResumeLock"
        properties:
          acquisition-semaphore:
            type: "object"
  com.zaxxer.hikari.pool.HikariPool:PoolEntryCreator:
    type: "object"
    $anchor: "com.zaxxer.hikari.pool.HikariPool:PoolEntryCreator"
    properties:
      logging-prefix:
        type: "string"
  org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties:
    type: "object"
    $anchor: "org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
    properties:
      additional-properties:
        type: "object"
      all-of:
        type: "array"
        items:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      anchor:
        type: "string"
      any-of:
        type: "array"
        items:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      comment:
        type: "string"
      const-value:
        type: "object"
      contains:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      content-encoding:
        type: "string"
      content-media-type:
        type: "string"
      content-schema:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      default-value:
        type: "object"
      dependent-required:
        type: "object"
        additionalProperties:
          type: "object"
      dependent-schemas:
        type: "object"
        additionalProperties:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      deprecated:
        type: "boolean"
      description:
        type: "string"
      else-schema:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      enum-values:
        type: "array"
        items:
          type: "string"
      examples:
        type: "array"
        items:
          type: "string"
      exclusive-maximum:
        type: "number"
      exclusive-minimum:
        type: "number"
      format:
        type: "string"
        enum:
        - "DATE_TIME"
        - "date_time"
        - "TIME"
        - "time"
        - "DATE"
        - "date"
        - "DURATION"
        - "duration"
        - "EMAIL"
        - "email"
        - "IDN_EMAIL"
        - "idn_email"
        - "HOSTNAME"
        - "hostname"
        - "IDN_HOSTNAME"
        - "idn_hostname"
        - "IPV4"
        - "ipv4"
        - "IPV6"
        - "ipv6"
        - "URI"
        - "uri"
        - "URI_REFERENCE"
        - "uri_reference"
        - "IRI"
        - "iri"
        - "IRI_REFERENCE"
        - "iri_reference"
        - "UUID"
        - "uuid"
        - "JSON_POINTER"
        - "json_pointer"
        - "RELATIVE_JSON_POINTER"
        - "relative_json_pointer"
      html-description:
        type: "string"
      if-schema:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      items:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      max-contains:
        type: "integer"
      max-items:
        type: "integer"
      max-length:
        type: "integer"
      max-properties:
        type: "integer"
      maximum:
        type: "number"
      min-contains:
        type: "integer"
      min-items:
        type: "integer"
      min-length:
        type: "integer"
      min-properties:
        type: "integer"
      minimum:
        type: "number"
      multiple-of:
        type: "number"
      not:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      one-of:
        type: "array"
        items:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      pattern:
        type: "string"
      pattern-properties:
        type: "object"
        additionalProperties:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      prefix-items:
        type: "array"
        items:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      properties:
        type: "object"
        additionalProperties:
          type: "object"
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      property-names:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      read-only:
        type: "boolean"
      reference:
        type: "string"
      required-properties:
        type: "array"
        items:
          type: "string"
      then-schema:
        type: "object"
        $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      title:
        type: "string"
      type:
        type: "string"
        enum:
        - "STRING"
        - "string"
        - "NUMBER"
        - "number"
        - "INTEGER"
        - "integer"
        - "BOOLEAN"
        - "boolean"
        - "ARRAY"
        - "array"
        - "OBJECT"
        - "object"
        - "NULL"
        - "null"
      unique-items:
        type: "boolean"
      write-only:
        type: "boolean"
      x-deprecation:
        type: "object"
        $anchor: "org.alexmond.config.json.schema.jsonschemamodel.XDeprecation"
        properties:
          level:
            type: "string"
          reason:
            type: "string"
          replacement:
            type: "string"
          since:
            type: "string"
  org.springframework.boot.autoconfigure.ssl.JksSslBundleProperties:Store:
    type: "object"
    $anchor: "org.springframework.boot.autoconfigure.ssl.JksSslBundleProperties:Store"
    properties:
      location:
        type: "string"
      password:
        type: "string"
      provider:
        type: "string"
      type:
        type: "string"
  org.springframework.boot.autoconfigure.ssl.PemSslBundleProperties:Store:
    type: "object"
    $anchor: "org.springframework.boot.autoconfigure.ssl.PemSslBundleProperties:Store"
    properties:
      certificate:
        type: "string"
      private-key:
        type: "string"
      private-key-password:
        type: "string"
      type:
        type: "string"
      verify-keys:
        type: "boolean"
  org.springframework.boot.web.server.Cookie:
    type: "object"
    $anchor: "org.springframework.boot.web.server.Cookie"
    properties:
      domain:
        type: "string"
        description: "Domain for the cookie."
      http-only:
        type: "boolean"
        description: "Whether to use \"HttpOnly\" cookies for the cookie."
      max-age:
        type: "string"
        description: "Maximum age of the cookie. If a duration suffix is not specified,\
          \ seconds will be used. A positive value indicates when the cookie expires\
          \ relative to the current time. A value of 0 means the cookie should expire\
          \ immediately. A negative value means no \"Max-Age\"."
      name:
        type: "string"
        description: "Name for the cookie."
      partitioned:
        type: "boolean"
        description: "Whether the generated cookie carries the Partitioned attribute."
      path:
        type: "string"
        description: "Path of the cookie."
      same-site:
        type: "string"
        description: "SameSite setting for the cookie."
        enum:
        - "OMITTED"
        - "omitted"
        - "NONE"
        - "none"
        - "LAX"
        - "lax"
        - "STRICT"
        - "strict"
      secure:
        type: "boolean"
        description: "Whether to always mark the cookie as secure."
  org.springframework.boot.web.server.Ssl:
    type: "object"
    $anchor: "org.springframework.boot.web.server.Ssl"
    properties:
      bundle:
        type: "string"
        description: "Name of a configured SSL bundle."
      certificate:
        type: "string"
        description: "Path to a PEM-encoded SSL certificate file."
      certificate-private-key:
        type: "string"
        description: "Path to a PEM-encoded private key file for the SSL certificate."
      ciphers:
        type: "array"
        description: "Supported SSL ciphers."
        items:
          type: "string"
      client-auth:
        type: "string"
        description: "Client authentication mode. Requires a trust store."
        enum:
        - "NONE"
        - "none"
        - "WANT"
        - "want"
        - "NEED"
        - "need"
      enabled:
        type: "boolean"
        description: "Whether to enable SSL support."
        default: true
      enabled-protocols:
        type: "array"
        description: "Enabled SSL protocols."
        items:
          type: "string"
      key-alias:
        type: "string"
        description: "Alias that identifies the key in the key store."
      key-password:
        type: "string"
        description: "Password used to access the key in the key store."
      key-store:
        type: "string"
        description: "Path to the key store that holds the SSL certificate (typically\
          \ a jks file)."
      key-store-password:
        type: "string"
        description: "Password used to access the key store."
      key-store-provider:
        type: "string"
        description: "Provider for the key store."
      key-store-type:
        type: "string"
        description: "Type of the key store."
      protocol:
        type: "string"
        description: "SSL protocol to use."
        default: "TLS"
      server-name-bundles:
        type: "array"
        description: "Mapping of host names to SSL bundles for SNI configuration."
        items:
          type: "object"
          $anchor: "org.springframework.boot.web.server.Ssl:ServerNameSslBundle"
          properties:
            bundle:
              type: "string"
            server-name:
              type: "string"
      trust-certificate:
        type: "string"
        description: "Path to a PEM-encoded SSL certificate authority file."
      trust-certificate-private-key:
        type: "string"
        description: "Path to a PEM-encoded private key file for the SSL certificate\
          \ authority."
      trust-store:
        type: "string"
        description: "Trust store that holds SSL certificates."
      trust-store-password:
        type: "string"
        description: "Password used to access the trust store."
      trust-store-provider:
        type: "string"
        description: "Provider for the trust store."
      trust-store-type:
        type: "string"
        description: "Type of the trust store."
  org.springframework.boot.web.server.Ssl:ServerNameSslBundle:
    type: "object"
    $anchor: "org.springframework.boot.web.server.Ssl:ServerNameSslBundle"
    properties:
      bundle:
        type: "string"
      server-name:
        type: "string"
properties:
  health:
    type: "object"
    properties:
      config:
        type: "object"
        $anchor: "org.springframework.cloud.config.client.ConfigClientHealthProperties"
        properties:
          time-to-live:
            type: "string"
            description: "Time to live for cached result. Default 5 min."
            default: "5m"
  json-config-schema:
    type: "object"
    $anchor: "org.alexmond.config.json.schema.config.JsonConfigSchemaConfig"
    description: "JSON Schema configuration properties"
    properties:
      additional-exclude-classes:
        type: "array"
        description: "Additional class names to be excluded from schema generation.\
          \ This list can be used to specify custom classes that should be excluded\
          \ beyond the default exclusions. Classes specified here will be combined\
          \ with the default excludeClasses list."
        items:
          type: "string"
      additional-properties:
        type: "array"
        description: "List of additional property paths to include"
        default: "logging"
        items:
          type: "string"
      all-excluded-classes:
        type: "array"
        items:
          type: "string"
      allow-additional-properties:
        type: "boolean"
        description: "Allow additional properties not defined in schema, currently\
          \ not supported by intellij"
        default: true
      description:
        type: "string"
        description: "Schema description"
        default: "Auto-generated schema from configuration metadata"
      enable-anchor-refs:
        type: "boolean"
        description: "Enable JSON Schema anchor references"
        default: false
      enable-definition-refs:
        type: "boolean"
        description: "Enable JSON Schema definition references"
        default: true
      exclude-anchors:
        type: "array"
        description: "List of classes to exclude from anchor generation"
        default: "##default"
        items:
          type: "string"
      exclude-classes:
        type: "array"
        description: "A list of fully qualified class names that should be excluded\
          \ from schema generation. By default, includes ObjectMapper and ClassLoader\
          \ classes to prevent processing of system-level classes that aren't relevant\
          \ to configuration."
        items:
          type: "string"
      json-schema-properties-map:
        type: "object"
        description: "Map of property names or java objects to their type definitions.\
          \ Used to store custom type mappings and property configurations that override\
          \ or extend the default schema generation behavior."
        additionalProperties:
          $ref: "#/$defs/org.alexmond.config.json.schema.jsonschemamodel.JsonSchemaProperties"
      missing-type-log:
        type: "boolean"
        description: "Enable logging for missing type information"
        default: false
      schema-id:
        type: "string"
        description: "Schema identifier urn, or url"
        default: "urn:uuid:your-schema-id"
      schema-spec:
        type: "string"
        description: "JSON Schema specification URL"
        default: "https://json-schema.org/draft/2020-12/schema"
      title:
        type: "string"
        description: "Schema title"
        default: "Spring Boot Configuration Properties"
      use-openapi:
        type: "boolean"
        description: "Enable OpenAPI annotations processing"
        default: true
      use-validation:
        type: "boolean"
        description: "Enable validation annotations processing"
        default: true
  logging:
    type: "object"
    properties:
      charset:
        type: "object"
        properties:
          console:
            $ref: "#/$defs/java.nio.charset.Charset"
            description: "Charset to use for console output."
          file:
            $ref: "#/$defs/java.nio.charset.Charset"
            description: "Charset to use for file output."
      config:
        type: "string"
        description: "Location of the logging configuration file. For instance, `classpath:logback.xml`\
          \ for Logback."
      console:
        type: "object"
        properties:
          enabled:
            type: "boolean"
            description: "Whether to enable console-based logging."
      exception-conversion-word:
        type: "string"
        description: "Conversion word used when logging exceptions."
        default: "%wEx"
      file:
        type: "object"
        properties:
          clean-history-on-start:
            type: "boolean"
            description: "Whether to clean the archive log files on startup. Only\
              \ supported with the default logback setup."
            deprecated: true
            default: false
            x-deprecation:
              replacement: "logging.logback.rollingpolicy.clean-history-on-start"
              since: "2.4.0"
          max-history:
            type: "integer"
            description: "Maximum number of archive log files to keep. Only supported\
              \ with the default logback setup."
            deprecated: true
            default: 7
            x-deprecation:
              replacement: "logging.logback.rollingpolicy.max-history"
              since: "2.4.0"
          max-size:
            type: "string"
            description: "Maximum log file size. Only supported with the default logback\
              \ setup."
            deprecated: true
            default: "10MB"
            x-deprecation:
              replacement: "logging.logback.rollingpolicy.max-file-size"
              since: "2.4.0"
          name:
            type: "string"
            description: "Log file name (for instance, `myapp.log`). Names can be\
              \ an exact location or relative to the current directory."
          path:
            type: "string"
            description: "Location of the log file. For instance, `/var/log`."
          total-size-cap:
            type: "string"
            description: "Total size of log backups to be kept. Only supported with\
              \ the default logback setup."
            deprecated: true
            default: "0B"
            x-deprecation:
              replacement: "logging.logback.rollingpolicy.total-size-cap"
              since: "2.4.0"
      group:
        type: "object"
        description: "Log groups to quickly change multiple loggers at the same time.\
          \ For instance, `logging.group.db=org.hibernate,org.springframework.jdbc`."
        additionalProperties:
          type: "object"
      include-application-group:
        type: "boolean"
        description: "Whether to include the application group in the logs."
        default: true
      include-application-name:
        type: "boolean"
        description: "Whether to include the application name in the logs."
        default: true
      level:
        $ref: "#/$defs/loggerLevelProp"
        description: "Log levels severity mapping. For instance, `logging.level.org.springframework=DEBUG`."
      log4j2:
        type: "object"
        properties:
          config:
            type: "object"
            properties:
              override:
                type: "array"
                description: "Overriding configuration files used to create a composite\
                  \ configuration. Can be prefixed with 'optional:' to only load the\
                  \ override if it exists."
                items:
                  type: "string"
      logback:
        type: "object"
        properties:
          rollingpolicy:
            type: "object"
            properties:
              clean-history-on-start:
                type: "boolean"
                description: "Whether to clean the archive log files on startup."
                default: false
              file-name-pattern:
                type: "string"
                description: "Pattern for rolled-over log file names."
                default: "${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz"
              max-file-size:
                type: "string"
                description: "Maximum log file size."
                default: "10MB"
              max-history:
                type: "integer"
                description: "Maximum number of archive log files to keep."
                default: 7
              total-size-cap:
                type: "string"
                description: "Total size of log backups to be kept."
                default: "0B"
      pattern:
        type: "object"
        properties:
          console:
            type: "string"
            description: "Appender pattern for output to the console. Its default\
              \ value varies according to the logging system."
          correlation:
            type: "string"
            description: "Appender pattern for log correlation. Its default value\
              \ varies according to the logging system."
          dateformat:
            type: "string"
            description: "Appender pattern for log date format."
            default: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
          file:
            type: "string"
            description: "Appender pattern for output to a file. Its default value\
              \ varies according to the logging system."
          level:
            type: "string"
            description: "Appender pattern for log level."
            default: "%5p"
          rolling-file-name:
            type: "string"
            description: "Pattern for rolled-over log file names. Supported only with\
              \ the default Logback setup."
            deprecated: true
            default: "${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz"
            x-deprecation:
              replacement: "logging.logback.rollingpolicy.file-name-pattern"
              since: "2.4.0"
      register-shutdown-hook:
        type: "boolean"
        description: "Register a shutdown hook for the logging system when it is initialized.\
          \ Disabled automatically when deployed as a war file."
        default: true
      structured:
        type: "object"
        properties:
          ecs:
            type: "object"
            properties:
              service:
                type: "object"
                properties:
                  environment:
                    type: "string"
                    description: "Structured ECS service environment."
                  name:
                    type: "string"
                    description: "Structured ECS service name (defaults to 'spring.application.name')."
                  node-name:
                    type: "string"
                    description: "Structured ECS service node name."
                  version:
                    type: "string"
                    description: "Structured ECS service version (defaults to 'spring.application.version')."
          format:
            type: "object"
            properties:
              console:
                type: "string"
                description: "Structured logging format for output to the console.\
                  \ Must be either a format id or a fully qualified class name."
                examples:
                - "ecs"
                - "gelf"
                - "logstash"
              file:
                type: "string"
                description: "Structured logging format for output to a file. Must\
                  \ be either a format id or a fully qualified class name."
                examples:
                - "ecs"
                - "gelf"
                - "logstash"
          gelf:
            type: "object"
            properties:
              host:
                type: "string"
                description: "Structured GELF host (defaults to 'spring.application.name')."
              service:
                type: "object"
                properties:
                  version:
                    type: "string"
                    description: "Structured GELF service version (defaults to 'spring.application.version')."
          json:
            type: "object"
            properties:
              add:
                type: "object"
                description: "Additional members that should be added to structured\
                  \ logging JSON"
              context:
                type: "object"
                properties:
                  include:
                    type: "boolean"
                    description: "Whether context data should be included in the JSON."
                  prefix:
                    type: "string"
                    description: "The prefix to use when inserting context data."
              customizer:
                type: "array"
                description: "Fully qualified class names of StructuredLoggingJsonMembersCustomizer\
                  \ implementations"
                items:
                  type: "object"
              exclude:
                type: "array"
                description: "Member paths that should be excluded from structured\
                  \ logging JSON"
                items:
                  type: "string"
              include:
                type: "array"
                description: "Member paths that should be included in structured logging\
                  \ JSON"
                items:
                  type: "string"
              rename:
                type: "object"
                description: "Mapping between member paths and an alternative name\
                  \ that should be used in structured logging JSON"
              stacktrace:
                type: "object"
                properties:
                  include-common-frames:
                    type: "boolean"
                    description: "Whether common frames should be included."
                  include-hashes:
                    type: "boolean"
                    description: "Whether stack trace hashes should be included."
                  max-length:
                    type: "integer"
                    description: "Maximum length to print."
                  max-throwable-depth:
                    type: "integer"
                    description: "Maximum throwable depth to print."
                  printer:
                    type: "string"
                    description: "Name of the printer to use. Can be 'standard', 'logging-system',\
                      \ or the fully-qualified class name of a StackTracePrinter.\
                      \ When not specified 'logging-system' or 'standard' will be\
                      \ used depending if other properties are set."
                    examples:
                    - "standard"
                    - "logging-system"
                  root:
                    type: "string"
                    description: "Root ordering (root first or root last)."
      threshold:
        type: "object"
        properties:
          console:
            $ref: "#/$defs/loggerLevel"
            description: "Log level threshold for console output."
            default: "TRACE"
          file:
            $ref: "#/$defs/loggerLevel"
            description: "Log level threshold for file output."
            default: "TRACE"
  management:
    type: "object"
    properties:
      endpoint:
        type: "object"
        properties:
          health:
            type: "object"
            $anchor: "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointProperties"
            properties:
              access:
                type: "string"
                description: "Permitted level of access for the health endpoint."
                default: "unrestricted"
                enum:
                - "NONE"
                - "none"
                - "READ_ONLY"
                - "read_only"
                - "UNRESTRICTED"
                - "unrestricted"
              cache:
                type: "object"
                $anchor: "org.springframework.boot.health.actuate.endpoint.HealthEndpoint"
                properties:
                  time-to-live:
                    type: "string"
                    description: "Maximum time that a response can be cached."
                    default: "0ms"
              group:
                type: "object"
                description: "Health endpoint groups."
                additionalProperties:
                  type: "object"
                  $anchor: "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointProperties$Group"
                  properties:
                    additional-path:
                      type: "string"
                    exclude:
                      type: "array"
                      items:
                        type: "string"
                    include:
                      type: "array"
                      items:
                        type: "string"
                    show-details:
                      type: "string"
                      enum:
                      - "NEVER"
                      - "never"
                      - "WHEN_AUTHORIZED"
                      - "when_authorized"
                      - "ALWAYS"
                      - "always"
              logging:
                type: "object"
                $anchor: "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointProperties:Logging"
                properties:
                  slow-indicator-threshold:
                    type: "string"
                    description: "Threshold after which a warning will be logged for\
                      \ slow health indicators."
                    default: "10s"
              probes:
                type: "object"
                properties:
                  add-additional-paths:
                    type: "boolean"
                    description: "Whether to make the liveness and readiness health\
                      \ groups available on the main server port."
                    default: false
                  enabled:
                    type: "boolean"
                    description: "Whether to enable liveness and readiness probes."
                    default: true
              roles:
                type: "array"
                description: "Roles used to determine whether a user is authorized\
                  \ to be shown details. When empty, all authenticated users are authorized."
                items:
                  type: "string"
              show-components:
                type: "string"
                description: "When to show components. If not specified the 'show-details'\
                  \ setting will be used."
                enum:
                - "NEVER"
                - "never"
                - "WHEN_AUTHORIZED"
                - "when_authorized"
                - "ALWAYS"
                - "always"
              show-details:
                type: "string"
                description: "When to show full health details."
                default: "never"
                enum:
                - "NEVER"
                - "never"
                - "WHEN_AUTHORIZED"
                - "when_authorized"
                - "ALWAYS"
                - "always"
              status:
                type: "object"
                $anchor: "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthProperties:Status"
                properties:
                  http-mapping:
                    type: "object"
                    description: "Mapping of health statuses to HTTP status codes.\
                      \ By default, registered health statuses map to sensible defaults\
                      \ (for example, UP maps to 200)."
                  order:
                    type: "array"
                    description: "List of health statuses in order of severity."
                    default:
                    - "DOWN"
                    - "OUT_OF_SERVICE"
                    - "UP"
                    - "UNKNOWN"
                    items:
                      type: "string"
              validate-group-membership:
                type: "boolean"
                description: "Whether to validate health group membership on startup.\
                  \ Validation fails if a group includes or excludes a health contributor\
                  \ that does not exist."
                default: true
      endpoints:
        type: "object"
        properties:
          web:
            type: "object"
            $anchor: "org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties"
            properties:
              base-path:
                type: "string"
                description: "Base path for Web endpoints. Relative to the servlet\
                  \ context path (server.servlet.context-path) or WebFlux base path\
                  \ (spring.webflux.base-path) when the management server is sharing\
                  \ the main server port. Relative to the management server base path\
                  \ (management.server.base-path) when a separate management server\
                  \ port (management.server.port) is configured."
                default: "/actuator"
              cors:
                type: "object"
                $anchor: "org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties"
                properties:
                  allow-credentials:
                    type: "boolean"
                    description: "Whether credentials are supported. When not set,\
                      \ credentials are not supported."
                  allowed-headers:
                    type: "array"
                    description: "List of headers to allow in a request. '*' allows\
                      \ all headers."
                    examples:
                    - "*"
                    items:
                      type: "string"
                  allowed-methods:
                    type: "array"
                    description: "List of methods to allow. '*' allows all methods.\
                      \ When not set, defaults to GET."
                    examples:
                    - "*"
                    items:
                      type: "string"
                  allowed-origin-patterns:
                    type: "array"
                    description: "List of origin patterns to allow. Unlike allowed\
                      \ origins which only supports '*', origin patterns are more\
                      \ flexible (for example 'https://*.example.com') and can be\
                      \ used when credentials are allowed. When no allowed origin\
                      \ patterns or allowed origins are set, CORS support is disabled."
                    items:
                      type: "string"
                  allowed-origins:
                    type: "array"
                    description: "List of origins to allow. '*' allows all origins.\
                      \ When credentials are allowed, '*' cannot be used and origin\
                      \ patterns should be configured instead. When no allowed origins\
                      \ or allowed origin patterns are set, CORS support is disabled."
                    examples:
                    - "*"
                    items:
                      type: "string"
                  exposed-headers:
                    type: "array"
                    description: "List of headers to include in a response."
                    items:
                      type: "string"
                  max-age:
                    type: "string"
                    description: "How long the response from a pre-flight request\
                      \ can be cached by clients. If a duration suffix is not specified,\
                      \ seconds will be used."
                    default: "1800s"
              discovery:
                type: "object"
                $anchor: "org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties:Discovery"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Whether the discovery page is enabled."
                    default: true
              exposure:
                type: "object"
                $anchor: "org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties:Exposure"
                properties:
                  exclude:
                    type: "array"
                    description: "Endpoint IDs that should be excluded or '*' for\
                      \ all."
                    items:
                      type: "string"
                  include:
                    type: "array"
                    description: "Endpoint IDs that should be included or '*' for\
                      \ all."
                    default:
                    - "health"
                    items:
                      type: "string"
              path-mapping:
                type: "object"
                description: "Mapping between endpoint IDs and the path that should\
                  \ expose them."
      health:
        type: "object"
        properties:
          db:
            type: "object"
            $anchor: "org.springframework.boot.jdbc.autoconfigure.health.DataSourceHealthIndicatorProperties"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable database health check."
                default: true
              ignore-routing-data-sources:
                type: "boolean"
                description: "Whether to ignore AbstractRoutingDataSources when creating\
                  \ database health indicators."
                default: false
          diskspace:
            type: "object"
            $anchor: "org.springframework.boot.health.autoconfigure.application.DiskSpaceHealthIndicatorProperties"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable disk space health check."
                default: true
              path:
                type: "string"
                description: "Path used to compute the available disk space."
              threshold:
                type: "string"
                description: "Minimum disk space that should be available."
                default: "10MB"
          ssl:
            type: "object"
            $anchor: "org.springframework.boot.health.autoconfigure.application.SslHealthIndicatorProperties"
            properties:
              certificate-validity-warning-threshold:
                type: "string"
                description: "If an SSL Certificate will be invalid within the time\
                  \ span defined by this threshold, it should trigger a warning."
                default: "14d"
              enabled:
                type: "boolean"
                description: "Whether to enable SSL certificate health check."
                default: true
      info:
        type: "object"
        $anchor: "org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties"
        properties:
          build:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable build info."
                default: true
          defaults:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable default info contributors."
                default: true
          env:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable environment info."
                default: false
          git:
            type: "object"
            $anchor: "org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties:Git"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable git info."
                default: true
              mode:
                type: "string"
                description: "Mode to use to expose git information."
                default: "simple"
                enum:
                - "FULL"
                - "full"
                - "SIMPLE"
                - "simple"
          java:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable Java info."
                default: false
          os:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable Operating System info."
                default: false
          process:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable process info."
                default: false
          ssl:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable SSL certificate info."
                default: false
      metrics:
        type: "object"
        $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties"
        properties:
          data:
            type: "object"
            $anchor: "org.springframework.boot.data.autoconfigure.metrics.DataMetricsProperties"
            properties:
              repository:
                type: "object"
                $anchor: "org.springframework.boot.data.autoconfigure.metrics.DataMetricsProperties:Repository"
                properties:
                  autotime:
                    type: "object"
                    $anchor: "org.springframework.boot.data.autoconfigure.metrics.DataMetricsProperties:Repository:Autotime"
                    properties:
                      enabled:
                        type: "boolean"
                        description: "Whether to enable auto-timing."
                        default: true
                      percentiles:
                        type: "array"
                        description: "Percentiles for which additional time series\
                          \ should be published."
                        items:
                          type: "object"
                      percentiles-histogram:
                        type: "boolean"
                        description: "Whether to publish percentile histograms."
                        default: false
                  metric-name:
                    type: "string"
                    description: "Name of the metric for sent requests."
                    default: "spring.data.repository.invocations"
          distribution:
            type: "object"
            $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:Distribution"
            properties:
              buffer-length:
                type: "object"
                description: "Number of histograms for meter IDs starting with the\
                  \ specified name to keep in the ring buffer. The longest match wins,\
                  \ the key `all` can also be used to configure all meters."
              expiry:
                type: "object"
                description: "Maximum amount of time that samples for meter IDs starting\
                  \ with the specified name are accumulated to decaying distribution\
                  \ statistics before they are reset and rotated. The longest match\
                  \ wins, the key `all` can also be used to configure all meters."
              maximum-expected-value:
                type: "object"
                description: "Maximum value that meter IDs starting with the specified\
                  \ name are expected to observe. The longest match wins. Values can\
                  \ be specified as a double or as a Duration value (for timer meters,\
                  \ defaulting to ms if no unit specified)."
              minimum-expected-value:
                type: "object"
                description: "Minimum value that meter IDs starting with the specified\
                  \ name are expected to observe. The longest match wins. Values can\
                  \ be specified as a double or as a Duration value (for timer meters,\
                  \ defaulting to ms if no unit specified)."
              percentiles:
                type: "array"
                description: "Specific computed non-aggregable percentiles to ship\
                  \ to the backend for meter IDs starting-with the specified name.\
                  \ The longest match wins, the key 'all' can also be used to configure\
                  \ all meters."
                items:
                  type: "object"
              percentiles-histogram:
                type: "object"
                description: "Whether meter IDs starting with the specified name should\
                  \ publish percentile histograms. For monitoring systems that support\
                  \ aggregable percentile calculation based on a histogram, this can\
                  \ be set to true. For other systems, this has no effect. The longest\
                  \ match wins, the key 'all' can also be used to configure all meters."
              slo:
                type: "array"
                description: "Specific service-level objective boundaries for meter\
                  \ IDs starting with the specified name. The longest match wins.\
                  \ Counters will be published for each specified boundary. Values\
                  \ can be specified as a double or as a Duration value (for timer\
                  \ meters, defaulting to ms if no unit specified)."
                items:
                  type: "object"
          enable:
            type: "object"
            description: "Whether meter IDs starting with the specified name should\
              \ be enabled. The longest match wins, the key 'all' can also be used\
              \ to configure all meters."
          observations:
            type: "object"
            $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:Observations"
            properties:
              ignored-meters:
                type: "array"
                description: "Meters that should be ignored when recoding observations."
                items:
                  type: "string"
                  enum:
                  - "LONG_TASK_TIMER"
                  - "long_task_timer"
          system:
            type: "object"
            $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:System"
            properties:
              diskspace:
                type: "object"
                $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:System:Diskspace"
                properties:
                  paths:
                    type: "array"
                    description: "List of paths to report disk metrics for."
                    default:
                    - "."
                    items:
                      type: "string"
          tags:
            type: "object"
            description: "Common tags that are applied to every meter."
          use-global-registry:
            type: "boolean"
            description: "Whether auto-configured MeterRegistry implementations should\
              \ be bound to the global static registry on Metrics. For testing, set\
              \ this to 'false' to maximize test independence."
            default: true
          web:
            type: "object"
            $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:Web"
            properties:
              client:
                type: "object"
                $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:Web:Client"
                properties:
                  max-uri-tags:
                    type: "integer"
                    description: "Maximum number of unique URI tag values allowed.\
                      \ After the max number of tag values is reached, metrics with\
                      \ additional tag values are denied by filter."
                    default: 100
              server:
                type: "object"
                $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties:Web:Server"
                properties:
                  max-uri-tags:
                    type: "integer"
                    description: "Maximum number of unique URI tag values allowed.\
                      \ After the max number of tag values is reached, metrics with\
                      \ additional tag values are denied by filter."
                    default: 100
      observations:
        type: "object"
        $anchor: "org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties"
        properties:
          annotations:
            type: "object"
            properties:
              enabled:
                type: "boolean"
                description: "Whether auto-configuration of Micrometer annotations\
                  \ is enabled."
                default: false
          enable:
            type: "object"
            description: "Whether observations starting with the specified name should\
              \ be enabled. The longest match wins, the key 'all' can also be used\
              \ to configure all observations."
          http:
            type: "object"
            $anchor: "org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties:Http"
            properties:
              client:
                type: "object"
                $anchor: "org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties:Http:Client"
                properties:
                  requests:
                    type: "object"
                    $anchor: "org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties:Http:Client:ClientRequests"
                    properties:
                      name:
                        type: "string"
                        description: "Name of the observation for client requests."
                        default: "http.client.requests"
              server:
                type: "object"
                $anchor: "org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties:Http:Server"
                properties:
                  requests:
                    type: "object"
                    $anchor: "org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties:Http:Server:ServerRequests"
                    properties:
                      name:
                        type: "string"
                        description: "Name of the observation for server requests."
                        default: "http.server.requests"
          key-values:
            type: "object"
            description: "Common key-values that are applied to every observation."
      server:
        type: "object"
        $anchor: "org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties"
        properties:
          add-application-context-header:
            type: "boolean"
            description: "Add the \"X-Application-Context\" HTTP header in each response."
            default: false
          address:
            type: "string"
            description: "Network address to which the management endpoints should\
              \ bind. Requires a custom management.server.port."
          base-path:
            type: "string"
            description: "Management endpoint base path (for instance, '/management').\
              \ Requires a custom management.server.port."
            default: ""
          port:
            type: "integer"
            description: "Management endpoint HTTP port (uses the same port as the\
              \ application by default). Configure a different port to use management-specific\
              \ SSL."
          ssl:
            $ref: "#/$defs/org.springframework.boot.web.server.Ssl"
          tomcat:
            type: "object"
            $anchor: "org.springframework.boot.tomcat.autoconfigure.actuate.web.server.TomcatManagementServerProperties"
            properties:
              accesslog:
                type: "object"
                $anchor: "org.springframework.boot.tomcat.autoconfigure.actuate.web.server.TomcatManagementServerProperties:Accesslog"
                properties:
                  prefix:
                    type: "string"
                    description: "Management log file name prefix."
                    default: "management_"
      simple:
        type: "object"
        properties:
          metrics:
            type: "object"
            properties:
              export:
                type: "object"
                $anchor: "org.springframework.boot.micrometer.metrics.autoconfigure.export.simple.SimpleProperties"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Whether exporting of metrics to this backend is\
                      \ enabled."
                    default: true
                  mode:
                    type: "string"
                    description: "Counting mode."
                    default: "cumulative"
                    enum:
                    - "CUMULATIVE"
                    - "cumulative"
                    - "STEP"
                    - "step"
                  step:
                    type: "string"
                    description: "Step size (i.e. reporting frequency) to use."
                    default: "1m"
  server:
    type: "object"
    $anchor: "org.springframework.boot.web.server.autoconfigure.ServerProperties"
    properties:
      address:
        type: "string"
        description: "Network address to which the server should bind."
      compression:
        type: "object"
        $anchor: "org.springframework.boot.web.server.Compression"
        properties:
          enabled:
            type: "boolean"
            description: "Whether response compression is enabled."
            default: false
          excluded-user-agents:
            type: "array"
            description: "Comma-separated list of user agents for which responses\
              \ should not be compressed."
            items:
              type: "string"
          mime-types:
            type: "array"
            description: "Comma-separated list of MIME types that should be compressed."
            default:
            - "text/html"
            - "text/xml"
            - "text/plain"
            - "text/css"
            - "text/javascript"
            - "application/javascript"
            - "application/json"
            - "application/xml"
            items:
              type: "string"
          min-response-size:
            type: "string"
            description: "Minimum \"Content-Length\" value that is required for compression\
              \ to be performed."
            default: "2KB"
      forward-headers-strategy:
        type: "string"
        description: "Strategy for handling X-Forwarded-* headers."
        enum:
        - "NATIVE"
        - "native"
        - "FRAMEWORK"
        - "framework"
        - "NONE"
        - "none"
      http2:
        type: "object"
        $anchor: "org.springframework.boot.web.server.Http2"
        properties:
          enabled:
            type: "boolean"
            description: "Whether to enable HTTP/2 support, if the current environment\
              \ supports it."
            default: false
      max-http-request-header-size:
        type: "string"
        description: "Maximum size of the HTTP request header. Refer to the documentation\
          \ for your chosen embedded server for details of exactly how this limit\
          \ is applied. For example, Netty applies the limit separately to each individual\
          \ header in the request whereas Tomcat applies the limit to the combined\
          \ size of the request line and all of the header names and values in the\
          \ request."
        default: "8KB"
      mime-mappings:
        type: "object"
        $anchor: "org.springframework.boot.web.server.MimeMappings"
        properties:
          map:
            type: "object"
            additionalProperties:
              type: "object"
              $anchor: "org.springframework.boot.web.server.MimeMappings$Mapping"
              properties:
                extension:
                  type: "string"
                mime-type:
                  type: "string"
      port:
        type: "integer"
        description: "Server HTTP port."
        default: 8080
      reactive:
        type: "object"
        $anchor: "org.springframework.boot.web.server.autoconfigure.ServerProperties:Reactive"
        properties:
          session:
            type: "object"
            $anchor: "org.springframework.boot.web.server.autoconfigure.ServerProperties:Reactive:Session"
            properties:
              cookie:
                type: "object"
                $ref: "#/$defs/org.springframework.boot.web.server.Cookie"
                properties:
                  domain:
                    type: "string"
                    description: "Domain for the cookie."
                  http-only:
                    type: "boolean"
                    description: "Whether to use \"HttpOnly\" cookies for the cookie."
                  max-age:
                    type: "string"
                    description: "Maximum age of the cookie. If a duration suffix\
                      \ is not specified, seconds will be used. A positive value indicates\
                      \ when the cookie expires relative to the current time. A value\
                      \ of 0 means the cookie should expire immediately. A negative\
                      \ value means no \"Max-Age\"."
                  name:
                    type: "string"
                    description: "Name for the cookie."
                  partitioned:
                    type: "boolean"
                    description: "Whether the generated cookie carries the Partitioned\
                      \ attribute."
                  path:
                    type: "string"
                    description: "Path of the cookie."
                  same-site:
                    type: "string"
                    description: "SameSite setting for the cookie."
                    enum:
                    - "OMITTED"
                    - "omitted"
                    - "NONE"
                    - "none"
                    - "LAX"
                    - "lax"
                    - "STRICT"
                    - "strict"
                  secure:
                    type: "boolean"
                    description: "Whether to always mark the cookie as secure."
              max-sessions:
                type: "integer"
                description: "Maximum number of sessions that can be stored."
                default: 10000
              timeout:
                type: "string"
                description: "Session timeout. If a duration suffix is not specified,\
                  \ seconds will be used."
                default: "30m"
      server-header:
        type: "string"
        description: "Value to use for the Server response header (if empty, no header\
          \ is sent)."
      servlet:
        type: "object"
        $anchor: "org.springframework.boot.web.server.autoconfigure.ServerProperties:Servlet"
        properties:
          application-display-name:
            type: "string"
            description: "Display name of the application."
            default: "application"
          context-parameters:
            type: "object"
            description: "Servlet context init parameters."
          context-path:
            type: "string"
            description: "Context path of the application."
          encoding:
            type: "object"
            $anchor: "org.springframework.boot.web.server.autoconfigure.ServerProperties:Encoding"
            properties:
              mapping:
                type: "object"
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "Mapping of locale to charset for response encoding."
          jsp:
            type: "object"
            $anchor: "org.springframework.boot.web.server.servlet.Jsp"
            properties:
              class-name:
                type: "string"
                description: "Class name of the servlet to use for JSPs. If registered\
                  \ is true and this class\n\t * is on the classpath then it will\
                  \ be registered."
                default: "org.apache.jasper.servlet.JspServlet"
              init-parameters:
                type: "object"
                description: "Init parameters used to configure the JSP servlet."
              registered:
                type: "boolean"
                description: "Whether the JSP servlet is registered."
                default: true
          register-default-servlet:
            type: "boolean"
            description: "Whether to register the default Servlet with the container."
            default: false
          session:
            type: "object"
            $anchor: "org.springframework.boot.web.server.servlet.Session"
            properties:
              cookie:
                $ref: "#/$defs/org.springframework.boot.web.server.Cookie"
              persistent:
                type: "boolean"
                description: "Whether to persist session data between restarts."
                default: false
              session-store-directory:
                type: "object"
                $anchor: "org.springframework.boot.web.server.servlet.SessionStoreDirectory"
                properties:
                  directory:
                    type: "string"
              store-dir:
                type: "string"
                description: "Directory used to store session data."
              timeout:
                type: "string"
                description: "Session timeout. If a duration suffix is not specified,\
                  \ seconds will be used."
                default: "30m"
              tracking-modes:
                type: "array"
                description: "Session tracking modes."
                items:
                  type: "string"
                  enum:
                  - "COOKIE"
                  - "cookie"
                  - "URL"
                  - "url"
                  - "SSL"
                  - "ssl"
      shutdown:
        type: "string"
        description: "Type of shutdown that the server will support."
        default: "graceful"
        enum:
        - "GRACEFUL"
        - "graceful"
        - "IMMEDIATE"
        - "immediate"
      ssl:
        type: "object"
        $ref: "#/$defs/org.springframework.boot.web.server.Ssl"
        properties:
          bundle:
            type: "string"
            description: "Name of a configured SSL bundle."
          certificate:
            type: "string"
            description: "Path to a PEM-encoded SSL certificate file."
          certificate-private-key:
            type: "string"
            description: "Path to a PEM-encoded private key file for the SSL certificate."
          ciphers:
            type: "array"
            description: "Supported SSL ciphers."
            items:
              type: "string"
          client-auth:
            type: "string"
            description: "Client authentication mode. Requires a trust store."
            enum:
            - "NONE"
            - "none"
            - "WANT"
            - "want"
            - "NEED"
            - "need"
          enabled:
            type: "boolean"
            description: "Whether to enable SSL support."
            default: true
          enabled-protocols:
            type: "array"
            description: "Enabled SSL protocols."
            items:
              type: "string"
          key-alias:
            type: "string"
            description: "Alias that identifies the key in the key store."
          key-password:
            type: "string"
            description: "Password used to access the key in the key store."
          key-store:
            type: "string"
            description: "Path to the key store that holds the SSL certificate (typically\
              \ a jks file)."
          key-store-password:
            type: "string"
            description: "Password used to access the key store."
          key-store-provider:
            type: "string"
            description: "Provider for the key store."
          key-store-type:
            type: "string"
            description: "Type of the key store."
          protocol:
            type: "string"
            description: "SSL protocol to use."
            default: "TLS"
          server-name-bundles:
            type: "array"
            description: "Mapping of host names to SSL bundles for SNI configuration."
            items:
              type: "object"
              $ref: "#/$defs/org.springframework.boot.web.server.Ssl:ServerNameSslBundle"
          trust-certificate:
            type: "string"
            description: "Path to a PEM-encoded SSL certificate authority file."
          trust-certificate-private-key:
            type: "string"
            description: "Path to a PEM-encoded private key file for the SSL certificate\
              \ authority."
          trust-store:
            type: "string"
            description: "Trust store that holds SSL certificates."
          trust-store-password:
            type: "string"
            description: "Password used to access the trust store."
          trust-store-provider:
            type: "string"
            description: "Provider for the trust store."
          trust-store-type:
            type: "string"
            description: "Type of the trust store."
      tomcat:
        type: "object"
        $anchor: "org.springframework.boot.tomcat.autoconfigure.TomcatServerProperties"
        properties:
          accept-count:
            type: "integer"
            description: "Maximum queue length for incoming connection requests when\
              \ all possible request processing threads are in use."
            default: 100
          accesslog:
            type: "object"
            $anchor: "org.springframework.boot.tomcat.autoconfigure.TomcatServerProperties:Accesslog"
            properties:
              buffered:
                type: "boolean"
                description: "Whether to buffer output such that it is flushed only\
                  \ periodically."
                default: true
              check-exists:
                type: "boolean"
                description: "Whether to check for log file existence so it can be\
                  \ recreated if an external process has renamed it."
                default: false
              condition-if:
                type: "string"
                description: "Whether logging of the request will only be enabled\
                  \ if \"ServletRequest.getAttribute(conditionIf)\" does not yield\
                  \ null."
              condition-unless:
                type: "string"
                description: "Whether logging of the request will only be enabled\
                  \ if \"ServletRequest.getAttribute(conditionUnless)\" yield null."
              directory:
                type: "string"
                description: "Directory in which log files are created. Can be absolute\
                  \ or relative to the Tomcat base dir."
                default: "logs"
              enabled:
                type: "boolean"
                description: "Enable access log."
                default: false
              encoding:
                type: "string"
                description: "Character set used by the log file. Default to the system\
                  \ default character set."
              file-date-format:
                type: "string"
                description: "Date format to place in the log file name."
                default: ".yyyy-MM-dd"
              ipv6-canonical:
                type: "boolean"
                description: "Whether to use IPv6 canonical representation format\
                  \ as defined by RFC 5952."
                default: false
              locale:
                type: "string"
                description: "Locale used to format timestamps in log entries and\
                  \ in log file name suffix. Default to the default locale of the\
                  \ Java process."
              max-days:
                type: "integer"
                description: "Number of days to retain the access log files before\
                  \ they are removed."
                default: -1
              pattern:
                type: "string"
                description: "Format pattern for access logs."
                default: "common"
              prefix:
                type: "string"
                description: "Log file name prefix."
                default: "access_log"
              rename-on-rotate:
                type: "boolean"
                description: "Whether to defer inclusion of the date stamp in the\
                  \ file name until rotate time."
                default: false
              request-attributes-enabled:
                type: "boolean"
                description: "Set request attributes for the IP address, Hostname,\
                  \ protocol, and port used for the request."
                default: false
              rotate:
                type: "boolean"
                description: "Whether to enable access log rotation."
                default: true
              suffix:
                type: "string"
                description: "Log file name suffix."
                default: ".log"
          additional-tld-skip-patterns:
            type: "array"
            description: "List of additional patterns that match jars to ignore for\
              \ TLD scanning. The special '?' and '*' characters can be used in the\
              \ pattern to match one and only one character and zero or more characters\
              \ respectively."
            items:
              type: "string"
          background-processor-delay:
            type: "string"
            description: "Delay between the invocation of backgroundProcess methods.\
              \ If a duration suffix is not specified, seconds will be used."
            default: "10s"
          basedir:
            type: "string"
            description: "Tomcat base directory. If not specified, a temporary directory\
              \ is used."
          connection-timeout:
            type: "string"
            description: "Amount of time the connector will wait, after accepting\
              \ a connection, for the request URI line to be presented."
          keep-alive-timeout:
            type: "string"
            description: "Time to wait for another HTTP request before the connection\
              \ is closed. When not set the connectionTimeout is used. When set to\
              \ -1 there will be no timeout."
          max-connections:
            type: "integer"
            description: "Maximum number of connections that the server accepts and\
              \ processes at any given time. Once the limit has been reached, the\
              \ operating system may still accept connections based on the \"acceptCount\"\
              \ property."
            default: 8192
          max-http-form-post-size:
            type: "string"
            description: "Maximum size of the form content in any HTTP post request."
            default: "2MB"
          max-http-response-header-size:
            type: "string"
            description: "Maximum size of the HTTP response header."
            default: "8KB"
          max-keep-alive-requests:
            type: "integer"
            description: "Maximum number of HTTP requests that can be pipelined before\
              \ the connection is closed. When set to 0 or 1, keep-alive and pipelining\
              \ are disabled. When set to -1, an unlimited number of pipelined or\
              \ keep-alive requests are allowed."
            default: 100
          max-parameter-count:
            type: "integer"
            description: "Maximum number of parameters (GET plus POST) that will be\
              \ automatically parsed by the container. A value of less than 0 means\
              \ no limit."
            default: 1000
          max-part-count:
            type: "integer"
            description: "Maximum total number of parts permitted in a multipart/form-data\
              \ request. Requests that exceed this limit will be rejected. A value\
              \ of less than 0 means no limit."
            default: 50
          max-part-header-size:
            type: "string"
            description: "Maximum per-part header size permitted in a multipart/form-data\
              \ request. Requests that exceed this limit will be rejected. A value\
              \ of less than 0 means no limit."
            default: "512B"
          max-swallow-size:
            type: "string"
            description: "Maximum amount of request body to swallow."
            default: "2MB"
          mbeanregistry:
            type: "object"
            $anchor: "org.springframework.boot.tomcat.autoconfigure.TomcatServerProperties:Mbeanregistry"
            properties:
              enabled:
                type: "boolean"
                description: "Whether Tomcat's MBean Registry should be enabled."
                default: false
          processor-cache:
            type: "integer"
            description: "Maximum number of idle processors that will be retained\
              \ in the cache and reused with a subsequent request. When set to -1\
              \ the cache will be unlimited with a theoretical maximum size equal\
              \ to the maximum number of connections."
            default: 200
          redirect-context-root:
            type: "boolean"
            description: "Whether requests to the context root should be redirected\
              \ by appending a / to the path. When using SSL terminated at a proxy,\
              \ this property should be set to false."
            default: true
          relaxed-path-chars:
            type: "array"
            description: "List of additional unencoded characters that should be allowed\
              \ in URI paths. Only \"< > [ \\ ] ^ ` { | }\" are allowed."
            examples:
            - "<"
            - ">"
            - "["
            - "\\"
            - "]"
            - "^"
            - "`"
            - "{"
            - "|"
            - "}"
            items:
              type: "string"
          relaxed-query-chars:
            type: "array"
            description: "List of additional unencoded characters that should be allowed\
              \ in URI query strings. Only \"< > [ \\ ] ^ ` { | }\" are allowed."
            examples:
            - "<"
            - ">"
            - "["
            - "\\"
            - "]"
            - "^"
            - "`"
            - "{"
            - "|"
            - "}"
            items:
              type: "string"
          remoteip:
            type: "object"
            $anchor: "org.springframework.boot.tomcat.autoconfigure.TomcatServerProperties:Remoteip"
            properties:
              host-header:
                type: "string"
                description: "Name of the HTTP header from which the remote host is\
                  \ extracted."
                default: "X-Forwarded-Host"
              internal-proxies:
                type: "string"
                description: "Internal proxies that are to be trusted. Can be set\
                  \ as a comma separate list of CIDR or as a regular expression."
                default: "192.168.0.0/16, 172.16.0.0/12, 169.254.0.0/16, fc00::/7,\
                  \ 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, fe80::/10, ::1/128"
              port-header:
                type: "string"
                description: "Name of the HTTP header used to override the original\
                  \ port value."
                default: "X-Forwarded-Port"
              protocol-header:
                type: "string"
                description: "Header that holds the incoming protocol, usually named\
                  \ \"X-Forwarded-Proto\"."
              protocol-header-https-value:
                type: "string"
                description: "Value of the protocol header indicating whether the\
                  \ incoming request uses SSL."
                default: "https"
              remote-ip-header:
                type: "string"
                description: "Name of the HTTP header from which the remote IP is\
                  \ extracted. For instance, 'X-FORWARDED-FOR'."
              trusted-proxies:
                type: "string"
                description: "Regular expression defining proxies that are trusted\
                  \ when they appear in the \"remote-ip-header\" header."
          resource:
            type: "object"
            $anchor: "org.springframework.boot.tomcat.autoconfigure.TomcatServerProperties:Resource"
            properties:
              allow-caching:
                type: "boolean"
                description: "Whether static resource caching is permitted for this\
                  \ web application."
                default: true
              cache-max-size:
                type: "string"
                description: "Maximum size of the static resource cache."
                default: "10MB"
              cache-ttl:
                type: "string"
                description: "Time-to-live of the static resource cache."
                default: "5s"
          threads:
            type: "object"
            $anchor: "org.springframework.boot.tomcat.autoconfigure.TomcatServerProperties:Threads"
            properties:
              max:
                type: "integer"
                description: "Maximum amount of worker threads. Doesn't have an effect\
                  \ if virtual threads are enabled."
                default: 200
              max-queue-capacity:
                type: "integer"
                description: "Maximum capacity of the thread pool's backing queue.\
                  \ This setting only has an effect if the value is greater than 0."
                default: 2147483647
              min-spare:
                type: "integer"
                description: "Minimum amount of worker threads. Doesn't have an effect\
                  \ if virtual threads are enabled."
                default: 10
          uri-encoding:
            $ref: "#/$defs/java.nio.charset.Charset"
            description: "Character encoding to use to decode the URI."
            default: "UTF-8"
          use-apr:
            type: "string"
            description: "Whether to use APR."
            default: "never"
            enum:
            - "ALWAYS"
            - "always"
            - "WHEN_AVAILABLE"
            - "when_available"
            - "NEVER"
            - "never"
          use-relative-redirects:
            type: "boolean"
            description: "Whether HTTP 1.1 and later location headers generated by\
              \ a call to sendRedirect will use relative or absolute redirects."
            default: false
  spring:
    type: "object"
    properties:
      cloud:
        type: "object"
        properties:
          compatibility-verifier:
            type: "object"
            $anchor: "org.springframework.cloud.configuration.CompatibilityVerifierProperties"
            properties:
              compatible-boot-versions:
                type: "array"
                description: "Default accepted versions for the Spring Boot dependency.\
                  \ You can set {@code x} for the patch version if you don't want\
                  \ to specify a concrete value. Example: {@code 3.5.x}"
                default: "4.0.x"
                items:
                  type: "string"
              enabled:
                type: "boolean"
                description: "Enables creation of Spring Cloud compatibility verification."
                default: false
          config:
            type: "object"
            $anchor: "org.springframework.cloud.config.client.ConfigClientProperties"
            properties:
              allow-override:
                type: "boolean"
                description: "Flag to indicate that {@link #isOverrideSystemProperties()\
                  \ systemPropertiesOverride} can be used. Set to false to prevent\
                  \ users from changing the default accidentally. Default true."
                default: true
              charset:
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "The charset to read the resource from the config server."
                default: "UTF-8"
              discovery:
                type: "object"
                $anchor: "org.springframework.cloud.config.client.ConfigClientProperties:Discovery"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Flag to indicate that config server discovery is\
                      \ enabled (config server URL will be looked up via discovery)."
                    default: false
                  service-id:
                    type: "string"
                    description: "Service id to locate config server."
                    default: "configserver"
              enabled:
                type: "boolean"
                description: "Flag to say that remote configuration is enabled. Default\
                  \ true;"
                default: true
              fail-fast:
                type: "boolean"
                description: "Flag to indicate that failure to connect to the server\
                  \ is fatal (default false)."
                default: false
              headers:
                type: "object"
                description: "Additional headers used to create the client request."
              initialize-on-context-refresh:
                type: "boolean"
                description: "Flag to initialize bootstrap configuration on context\
                  \ refresh event. Default false."
                default: false
              label:
                type: "string"
                description: "The label name to use to pull remote configuration properties.\
                  \ The default is set on the server (generally \"main\" for a git\
                  \ based server)."
              media-type:
                type: "string"
                description: "The Accept header media type to send to config server."
              multiple-uri-strategy:
                type: "string"
                description: "The strategy to use when call to server fails and there\
                  \ are multiple URLs configured on the uri property (default {@link\
                  \ MultipleUriStrategy#ALWAYS})."
                default: "always"
                enum:
                - "ALWAYS"
                - "always"
                - "CONNECTION_TIMEOUT_ONLY"
                - "connection_timeout_only"
              name:
                type: "string"
                description: "Name of application used to fetch remote properties."
              override-none:
                type: "boolean"
                description: "Flag to indicate that when {@link #setAllowOverride(boolean)\
                  \ allowOverride} is true, external properties should take lowest\
                  \ priority and should not override any existing property sources\
                  \ (including local config files). Default false. This will only\
                  \ have an effect when using config first bootstrap."
                default: false
              override-system-properties:
                type: "boolean"
                description: "Flag to indicate that the external properties should\
                  \ override system properties. Default true."
                default: true
              password:
                type: "string"
                description: "The password to use (HTTP Basic) when contacting the\
                  \ remote server."
              profile:
                type: "string"
                description: "The default profile to use when fetching remote configuration\
                  \ (comma-separated). Default is \"default\"."
                default: "default"
              request-connect-timeout:
                type: "integer"
                description: "timeout on waiting to connect to the Config Server."
              request-read-timeout:
                type: "integer"
                description: "timeout on waiting to read data from the Config Server."
              retry:
                type: "object"
                $anchor: "org.springframework.cloud.config.client.RetryProperties"
                properties:
                  initial-interval:
                    type: "integer"
                    description: "Initial retry interval in milliseconds."
                    default: 1000
                  max-attempts:
                    type: "integer"
                    description: "Maximum number of attempts."
                    default: 6
                  max-interval:
                    type: "integer"
                    description: "Maximum interval for backoff."
                    default: 2000
                  multiplier:
                    type: "number"
                    description: "Multiplier for next interval."
                    default: 1.1
                  use-random-policy:
                    type: "boolean"
                    description: "Use a random exponential backoff policy."
                    default: false
              send-all-labels:
                type: "boolean"
                description: "If set to true the client will send all labels to the\
                  \ server instead of sending one at a time. Support for this would\
                  \ require a config server version of 4.2.0 or higher."
                default: false
              send-state:
                type: "boolean"
                description: "Flag to indicate whether to send state. Default true."
                default: true
              tls:
                type: "object"
                $anchor: "org.springframework.cloud.configuration.TlsProperties"
                description: "TLS properties."
                properties:
                  enabled:
                    type: "boolean"
                  key-password:
                    type: "string"
                  key-store:
                    type: "string"
                  key-store-password:
                    type: "string"
                  key-store-type:
                    type: "string"
                  trust-store:
                    type: "string"
                  trust-store-password:
                    type: "string"
                  trust-store-type:
                    type: "string"
              token:
                type: "string"
                description: "Security Token passed thru to underlying environment\
                  \ repository."
              uri:
                type: "array"
                description: "The URI of the remote server (default http://localhost:8888)."
                default:
                - "http://localhost:8888"
                items:
                  type: "string"
              username:
                type: "string"
                description: "The username to use (HTTP Basic) when contacting the\
                  \ remote server."
          discovery:
            type: "object"
            properties:
              client:
                type: "object"
                properties:
                  health-indicator:
                    type: "object"
                    $anchor: "org.springframework.cloud.client.discovery.health.DiscoveryClientHealthIndicatorProperties"
                    properties:
                      enabled:
                        type: "boolean"
                        default: true
                      include-description:
                        type: "boolean"
                        default: false
                      use-services-query:
                        type: "boolean"
                        description: "Whether or not the indicator should use {@link\
                          \ DiscoveryClient#getServices} to check its health. When\
                          \ set to {@code false} the indicator instead uses the lighter\
                          \ {@link DiscoveryClient#probe()}. This can be helpful in\
                          \ large deployments where the number of services returned\
                          \ makes the operation unnecessarily heavy."
                        default: true
                  simple:
                    type: "object"
                    $anchor: "org.springframework.cloud.client.discovery.simple.reactive.SimpleReactiveDiscoveryProperties"
                    properties:
                      instances:
                        type: "object"
                        additionalProperties:
                          type: "object"
                      local:
                        type: "object"
                        $anchor: "org.springframework.cloud.client.discovery.simple.InstanceProperties"
                        properties:
                          host:
                            type: "string"
                          instance-id:
                            type: "string"
                          metadata:
                            type: "object"
                          port:
                            type: "integer"
                            default: 0
                          secure:
                            type: "boolean"
                            default: false
                          service-id:
                            type: "string"
                          uri:
                            type: "string"
                            format: "uri"
                      order:
                        type: "integer"
          inetutils:
            type: "object"
            $anchor: "org.springframework.cloud.commons.util.InetUtilsProperties"
            properties:
              default-hostname:
                type: "string"
                description: "The default hostname. Used in case of errors."
                default: "localhost"
              default-ip-address:
                type: "string"
                description: "The default IP address. Used in case of errors."
                default: "127.0.0.1"
              ignored-interfaces:
                type: "array"
                description: "List of Java regular expressions for network interfaces\
                  \ that will be ignored."
                items:
                  type: "string"
              preferred-networks:
                type: "array"
                description: "List of Java regular expressions for network addresses\
                  \ that will be preferred."
                items:
                  type: "string"
              timeout-seconds:
                type: "integer"
                description: "Timeout, in seconds, for calculating hostname."
                default: 1
              use-only-site-local-interfaces:
                type: "boolean"
                description: "Whether to use only interfaces with site local addresses.\
                  \ See {@link InetAddress#isSiteLocalAddress()} for more details."
                default: false
          refresh:
            type: "object"
            $anchor: "org.springframework.cloud.autoconfigure.RefreshAutoConfiguration:RefreshProperties"
            properties:
              additional-property-sources-to-retain:
                type: "array"
                description: "Additional property sources to retain during a refresh.\
                  \ Typically only system property sources are retained. This property\
                  \ allows property sources, such as property sources created by EnvironmentPostProcessors\
                  \ to be retained as well."
                items:
                  type: "string"
              enabled:
                type: "boolean"
                description: "Enables autoconfiguration for the refresh scope and\
                  \ associated features."
                default: "true"
              extra-refreshable:
                type: "array"
                description: "Additional bean names or class names for beans to post\
                  \ process into refresh scope."
                default: true
                items:
                  type: "string"
              never-refreshable:
                type: "string"
                description: "Comma separated list of bean names or class names for\
                  \ beans to never be refreshed or rebound."
                default: true
              on-restart:
                type: "object"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Enable refreshing context on start."
                    default: true
          service-registry:
            type: "object"
            properties:
              auto-registration:
                type: "object"
                $anchor: "org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Whether service auto-registration is enabled. Defaults\
                      \ to true."
                    default: true
                  fail-fast:
                    type: "boolean"
                    description: "Whether startup fails if there is no AutoServiceRegistration.\
                      \ Defaults to false."
                    default: false
                  register-management:
                    type: "boolean"
                    description: "Whether to register the management as a service.\
                      \ Defaults to true."
                    default: true
      data:
        type: "object"
        properties:
          web:
            type: "object"
            $anchor: "org.springframework.boot.data.autoconfigure.web.DataWebProperties"
            properties:
              pageable:
                type: "object"
                $anchor: "org.springframework.boot.data.autoconfigure.web.DataWebProperties:Pageable"
                properties:
                  default-page-size:
                    type: "integer"
                    description: "Default page size."
                    default: 20
                  max-page-size:
                    type: "integer"
                    description: "Maximum page size to be accepted."
                    default: 2000
                  one-indexed-parameters:
                    type: "boolean"
                    description: "Whether to expose and assume 1-based page number\
                      \ indexes. Defaults to \"false\", meaning a page number of 0\
                      \ in the request equals the first page."
                    default: false
                  page-parameter:
                    type: "string"
                    description: "Page index parameter name."
                    default: "page"
                  prefix:
                    type: "string"
                    description: "General prefix to be prepended to the page number\
                      \ and page size parameters."
                    default: ""
                  qualifier-delimiter:
                    type: "string"
                    description: "Delimiter to be used between the qualifier and the\
                      \ actual page number and size properties."
                    default: "_"
                  serialization-mode:
                    type: "string"
                    description: "Configures how to render Spring Data Pageable instances."
                    default: "direct"
                    enum:
                    - "DIRECT"
                    - "direct"
                    - "VIA_DTO"
                    - "via_dto"
                  size-parameter:
                    type: "string"
                    description: "Page size parameter name."
                    default: "size"
              sort:
                type: "object"
                $anchor: "org.springframework.boot.data.autoconfigure.web.DataWebProperties:Sort"
                properties:
                  sort-parameter:
                    type: "string"
                    description: "Sort parameter name."
                    default: "sort"
      datasource:
        type: "object"
        $anchor: "org.springframework.boot.jdbc.autoconfigure.DataSourceProperties"
        properties:
          dbcp2:
            type: "string"
            properties:
              abandoned-usage-tracking:
                type: "boolean"
              access-to-underlying-connection-allowed:
                type: "boolean"
              auto-commit-on-return:
                type: "boolean"
              cache-state:
                type: "boolean"
              clear-statement-pool-on-return:
                type: "boolean"
              connection-factory-class-name:
                type: "string"
              connection-init-sqls:
                type: "array"
                items:
                  type: "string"
              default-auto-commit:
                type: "boolean"
              default-catalog:
                type: "string"
              default-query-timeout:
                type: "integer"
                deprecated: true
              default-read-only:
                type: "boolean"
              default-schema:
                type: "string"
              default-transaction-isolation:
                type: "integer"
              disconnection-ignore-sql-codes:
                type: "array"
                items:
                  type: "string"
              disconnection-sql-codes:
                type: "array"
                items:
                  type: "string"
              driver-class-name:
                type: "string"
              duration-between-eviction-runs:
                type: "string"
              enable-auto-commit-on-return:
                type: "boolean"
                deprecated: true
              eviction-policy-class-name:
                type: "string"
              fast-fail-validation:
                type: "boolean"
              initial-size:
                type: "integer"
              jmx-name:
                type: "string"
              lifo:
                type: "boolean"
              log-abandoned:
                type: "boolean"
              log-expired-connections:
                type: "boolean"
              login-timeout:
                type: "integer"
              max-conn-lifetime-millis:
                type: "integer"
                deprecated: true
              max-idle:
                type: "integer"
              max-open-prepared-statements:
                type: "integer"
              max-total:
                type: "integer"
              max-wait-millis:
                type: "integer"
                deprecated: true
              min-evictable-idle-time-millis:
                type: "integer"
                deprecated: true
              min-idle:
                type: "integer"
              num-tests-per-eviction-run:
                type: "integer"
              password:
                type: "string"
              pool-prepared-statements:
                type: "boolean"
              remove-abandoned-on-borrow:
                type: "boolean"
              remove-abandoned-on-maintenance:
                type: "boolean"
              remove-abandoned-timeout:
                type: "integer"
                deprecated: true
              rollback-on-return:
                type: "boolean"
              soft-min-evictable-idle-time-millis:
                type: "integer"
                deprecated: true
              test-on-borrow:
                type: "boolean"
              test-on-create:
                type: "boolean"
              test-on-return:
                type: "boolean"
              test-while-idle:
                type: "boolean"
              time-between-eviction-runs-millis:
                type: "integer"
                deprecated: true
              url:
                type: "string"
              username:
                type: "string"
              validation-query:
                type: "string"
              validation-query-timeout:
                type: "integer"
                deprecated: true
          driver-class-name:
            type: "string"
            description: "Fully qualified name of the JDBC driver. Auto-detected based\
              \ on the URL by default."
          embedded-database-connection:
            type: "string"
            description: "Connection details for an embedded database. Defaults to\
              \ the most suitable embedded database that is available on the classpath."
            enum:
            - "NONE"
            - "none"
            - "H2"
            - "h2"
            - "DERBY"
            - "derby"
            - "HSQLDB"
            - "hsqldb"
          generate-unique-name:
            type: "boolean"
            description: "Whether to generate a random datasource name."
            default: true
          hikari:
            type: "object"
            $anchor: "com.zaxxer.hikari.HikariDataSource"
            properties:
              allow-pool-suspension:
                type: "boolean"
              auto-commit:
                type: "boolean"
              catalog:
                type: "string"
              connection-init-sql:
                type: "string"
              connection-test-query:
                type: "string"
              connection-timeout:
                type: "integer"
              credentials-provider-class-name:
                type: "string"
              data-source-class-name:
                type: "string"
              data-source-j-n-d-i:
                type: "string"
              data-source-properties:
                type: "object"
                additionalProperties:
                  type: "object"
              driver-class-name:
                type: "string"
              exception-override-class-name:
                type: "string"
              fast-path-pool:
                $ref: "#/$defs/com.zaxxer.hikari.pool.HikariPool"
              health-check-properties:
                type: "object"
                additionalProperties:
                  type: "object"
              health-check-registry:
                type: "object"
              idle-timeout:
                type: "integer"
              initialization-fail-timeout:
                type: "integer"
              is-shutdown:
                type: "boolean"
              isolate-internal-queries:
                type: "boolean"
              jdbc-url:
                type: "string"
              keepalive-time:
                type: "integer"
              leak-detection-threshold:
                type: "integer"
              login-timeout:
                type: "integer"
              max-lifetime:
                type: "integer"
              maximum-pool-size:
                type: "integer"
              metric-registry:
                type: "object"
              minimum-idle:
                type: "integer"
              password:
                type: "string"
              pool:
                type: "object"
                $ref: "#/$defs/com.zaxxer.hikari.pool.HikariPool"
              pool-name:
                type: "string"
              read-only:
                type: "boolean"
              register-mbeans:
                type: "boolean"
              schema:
                type: "string"
              transaction-isolation:
                type: "string"
              username:
                type: "string"
              validation-timeout:
                type: "integer"
          jndi-name:
            type: "string"
            description: "JNDI location of the datasource. Class, url, username and\
              \ password are ignored when set."
          name:
            type: "string"
            description: "Datasource name to use if \"generate-unique-name\" is false.\
              \ Defaults to \"testdb\" when using an embedded database, otherwise\
              \ null."
          oracleucp:
            type: "string"
            properties:
              abandoned-connection-timeout:
                type: "integer"
              commit-on-connection-return:
                type: "boolean"
              connection-factory-class-name:
                type: "string"
              connection-factory-properties:
                type: "object"
                additionalProperties:
                  type: "object"
              connection-harvest-max-count:
                type: "integer"
              connection-harvest-trigger-count:
                type: "integer"
              connection-labeling-high-cost:
                type: "integer"
              connection-pool-name:
                type: "string"
              connection-properties:
                type: "object"
                additionalProperties:
                  type: "object"
              connection-repurpose-threshold:
                type: "integer"
              connection-validation-timeout:
                type: "integer"
              connection-wait-duration:
                type: "string"
              connection-wait-timeout:
                type: "integer"
                deprecated: true
              connection-wait-timeout-while-service-down:
                type: "integer"
              create-connection-in-borrow-thread:
                type: "boolean"
              data-source-name:
                type: "string"
              database-name:
                type: "string"
              description:
                type: "string"
              fast-connection-failover-enabled:
                type: "boolean"
              high-cost-connection-reuse-threshold:
                type: "integer"
              inactive-connection-timeout:
                type: "integer"
              initial-pool-size:
                type: "integer"
              login-timeout:
                type: "integer"
              max-connection-reuse-count:
                type: "integer"
              max-connection-reuse-time:
                type: "integer"
              max-connections-per-shard:
                type: "integer"
              max-idle-time:
                type: "integer"
              max-pool-size:
                type: "integer"
              max-statements:
                type: "integer"
              min-idle:
                type: "integer"
              min-pool-size:
                type: "integer"
              network-protocol:
                type: "string"
              o-n-s-configuration:
                type: "string"
              pdb-roles:
                type: "object"
                additionalProperties:
                  type: "object"
              port-number:
                type: "integer"
              property-cycle:
                type: "integer"
              query-timeout:
                type: "integer"
              read-only-instance-allowed:
                type: "boolean"
              role-name:
                type: "string"
              s-q-l-for-validate-connection:
                type: "string"
              seconds-to-trust-idle-connection:
                type: "integer"
              server-name:
                type: "string"
              sharding-mode:
                type: "boolean"
              time-to-live-connection-timeout:
                type: "integer"
              timeout-check-interval:
                type: "integer"
              u-r-l:
                type: "string"
              user:
                type: "string"
              validate-connection-on-borrow:
                type: "boolean"
          password:
            type: "string"
            description: "Login password of the database."
          tomcat:
            type: "string"
            properties:
              abandon-when-percentage-full:
                type: "integer"
              access-to-underlying-connection-allowed:
                type: "boolean"
              alternate-username-allowed:
                type: "boolean"
              commit-on-return:
                type: "boolean"
              connection-properties:
                type: "string"
              data-source:
                type: "object"
              data-source-j-n-d-i:
                type: "string"
              db-properties:
                type: "object"
                additionalProperties:
                  type: "object"
              default-auto-commit:
                type: "boolean"
              default-catalog:
                type: "string"
              default-read-only:
                type: "boolean"
              default-transaction-isolation:
                type: "integer"
              driver-class-name:
                type: "string"
              fair-queue:
                type: "boolean"
              ignore-exception-on-pre-load:
                type: "boolean"
              init-s-q-l:
                type: "string"
              initial-size:
                type: "integer"
              jdbc-interceptors:
                type: "string"
              jmx-enabled:
                type: "boolean"
              log-abandoned:
                type: "boolean"
              log-validation-errors:
                type: "boolean"
              login-timeout:
                type: "integer"
              max-active:
                type: "integer"
              max-age:
                type: "integer"
              max-idle:
                type: "integer"
              max-wait:
                type: "integer"
              min-evictable-idle-time-millis:
                type: "integer"
              min-idle:
                type: "integer"
              name:
                type: "string"
              num-tests-per-eviction-run:
                type: "integer"
              password:
                type: "string"
              propagate-interrupt-state:
                type: "boolean"
              remove-abandoned:
                type: "boolean"
              remove-abandoned-timeout:
                type: "integer"
              rollback-on-return:
                type: "boolean"
              suspect-timeout:
                type: "integer"
              test-on-borrow:
                type: "boolean"
              test-on-connect:
                type: "boolean"
              test-on-return:
                type: "boolean"
              test-while-idle:
                type: "boolean"
              time-between-eviction-runs-millis:
                type: "integer"
              url:
                type: "string"
              use-disposable-connection-facade:
                type: "boolean"
              use-equals:
                type: "boolean"
              use-lock:
                type: "boolean"
              use-statement-facade:
                type: "boolean"
              username:
                type: "string"
              validation-interval:
                type: "integer"
              validation-query:
                type: "string"
              validation-query-timeout:
                type: "integer"
              validator-class-name:
                type: "string"
          type:
            type: "string"
            description: "Fully qualified name of the DataSource implementation to\
              \ use. By default, a connection pool implementation is auto-detected\
              \ from the classpath."
          unique-name:
            type: "string"
          url:
            type: "string"
            description: "JDBC URL of the database."
          username:
            type: "string"
            description: "Login username of the database."
          xa:
            type: "object"
            $anchor: "org.springframework.boot.jdbc.autoconfigure.DataSourceProperties:Xa"
            properties:
              data-source-class-name:
                type: "string"
                description: "XA datasource fully qualified name."
              properties:
                type: "object"
                description: "Properties to pass to the XA data source."
      http:
        type: "object"
        properties:
          clients:
            type: "object"
            properties:
              connect-timeout:
                type: "string"
                description: "Default connect timeout for a client HTTP request."
              imperative:
                type: "object"
                $anchor: "org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientsProperties"
                properties:
                  factory:
                    type: "string"
                    description: "Default factory used for a client HTTP request."
                    enum:
                    - "HTTP_COMPONENTS"
                    - "http_components"
                    - "JETTY"
                    - "jetty"
                    - "REACTOR"
                    - "reactor"
                    - "JDK"
                    - "jdk"
                    - "SIMPLE"
                    - "simple"
              reactive:
                type: "object"
                $anchor: "org.springframework.boot.http.client.autoconfigure.reactive.ReactiveHttpClientsProperties"
                properties:
                  connector:
                    type: "string"
                    description: "Default connector used for a client HTTP request."
                    enum:
                    - "REACTOR"
                    - "reactor"
                    - "JETTY"
                    - "jetty"
                    - "HTTP_COMPONENTS"
                    - "http_components"
                    - "JDK"
                    - "jdk"
              read-timeout:
                type: "string"
                description: "Default read timeout for a client HTTP request."
              redirects:
                type: "string"
                description: "Handling for HTTP redirects."
                enum:
                - "FOLLOW_WHEN_POSSIBLE"
                - "follow_when_possible"
                - "FOLLOW"
                - "follow"
                - "DONT_FOLLOW"
                - "dont_follow"
              ssl:
                type: "object"
                $anchor: "org.springframework.boot.http.client.autoconfigure.HttpClientSettingsProperties:Ssl"
                properties:
                  bundle:
                    type: "string"
                    description: "SSL bundle to use."
          converters:
            type: "object"
            $anchor: "org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersProperties"
            properties:
              preferred-json-mapper:
                type: "string"
                description: "Preferred JSON mapper to use for HTTP message conversion.\
                  \ By default, auto-detected according to the environment. Supported\
                  \ values are 'jackson', 'jackson2' (deprecated), 'gson' and 'jsonb'.\
                  \ When other JSON mapping libraries are present, use a custom HttpMessageConverters\
                  \ bean to control the preferred mapper."
                default: "jackson"
                examples:
                - "gson"
                - "jackson"
                - "jackson2"
                - "jsonb"
              string-encoding-charset:
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "Charset to use for String conversion."
                default: "UTF-8"
      info:
        type: "object"
        $anchor: "org.springframework.boot.autoconfigure.info.ProjectInfoProperties"
        properties:
          build:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.info.ProjectInfoProperties:Build"
            properties:
              encoding:
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "File encoding."
                default: "UTF-8"
              location:
                type: "string"
                description: "Location of the generated build-info.properties file."
                default: "classpath:META-INF/build-info.properties"
          git:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.info.ProjectInfoProperties:Git"
            properties:
              encoding:
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "File encoding."
                default: "UTF-8"
              location:
                type: "string"
                description: "Location of the generated git.properties file."
                default: "classpath:git.properties"
      jackson:
        type: "object"
        $anchor: "org.springframework.boot.jackson.autoconfigure.JacksonProperties"
        properties:
          cbor:
            type: "object"
            $anchor: "org.springframework.boot.jackson.autoconfigure.JacksonCborProperties"
            properties:
              read:
                type: "object"
                description: "Jackson on/off token reader features that are specific\
                  \ to CBOR."
              write:
                type: "object"
                description: "Jackson on/off token writer features that are specific\
                  \ to CBOR."
          constructor-detector:
            type: "string"
            description: "Strategy to use to auto-detect constructor, and in particular\
              \ behavior with single-argument constructors."
            default: "default"
            enum:
            - "DEFAULT"
            - "default"
            - "USE_PROPERTIES_BASED"
            - "use_properties_based"
            - "USE_DELEGATING"
            - "use_delegating"
            - "EXPLICIT_ONLY"
            - "explicit_only"
          datatype:
            type: "object"
            $anchor: "org.springframework.boot.jackson.autoconfigure.JacksonProperties:Datatype"
            properties:
              datetime:
                type: "object"
                description: "Jackson on/off features for DateTimes."
              enum:
                type: "object"
                description: "Jackson on/off features for enums."
              enum-features:
                type: "object"
              json-node:
                type: "object"
                description: "Jackson on/off features for JsonNodes."
          date-format:
            type: "string"
            description: "Date format string or a fully-qualified date format class\
              \ name. For instance, 'yyyy-MM-dd HH:mm:ss'."
          default-leniency:
            type: "boolean"
            description: "Global default setting (if any) for leniency."
          default-property-inclusion:
            type: "string"
            description: "Controls the inclusion of properties during serialization.\
              \ Configured with one of the values in Jackson's JsonInclude.Include\
              \ enumeration."
            enum:
            - "ALWAYS"
            - "always"
            - "NON_NULL"
            - "non_null"
            - "NON_ABSENT"
            - "non_absent"
            - "NON_EMPTY"
            - "non_empty"
            - "NON_DEFAULT"
            - "non_default"
            - "CUSTOM"
            - "custom"
            - "USE_DEFAULTS"
            - "use_defaults"
          deserialization:
            type: "object"
            description: "Jackson on/off features that affect the way Java objects\
              \ are deserialized."
          find-and-add-modules:
            type: "boolean"
            description: "Whether to find and add modules to the auto-configured JsonMapper.Builder\
              \ using MapperBuilder.findAndAddModules(ClassLoader)."
            default: true
          json:
            type: "object"
            $anchor: "org.springframework.boot.jackson.autoconfigure.JacksonProperties:Json"
            properties:
              read:
                type: "object"
                description: "Jackson on/off token reader features that are specific\
                  \ to JSON."
              write:
                type: "object"
                description: "Jackson on/off token writer features that are specific\
                  \ to JSON."
          locale:
            $ref: "#/$defs/java.util.Locale"
            description: "Locale used for formatting."
          mapper:
            type: "object"
            description: "Jackson general purpose on/off features."
          property-naming-strategy:
            type: "string"
            description: "One of the constants on Jackson's PropertyNamingStrategies.\
              \ Can also be a fully-qualified class name of a PropertyNamingStrategy\
              \ implementation."
          serialization:
            type: "object"
            description: "Jackson on/off features that affect the way Java objects\
              \ are serialized."
          time-zone:
            type: "string"
            description: "Time zone used when formatting dates. For instance, \"America/Los_Angeles\"\
              \ or \"GMT+10\"."
          use-jackson2-defaults:
            type: "boolean"
            description: "Whether to configure Jackson 3 with the same defaults as\
              \ Spring Boot previously used for Jackson 2."
            default: false
          visibility:
            type: "object"
            description: "Jackson visibility thresholds that can be used to limit\
              \ which methods (and fields) are auto-detected."
          xml:
            type: "object"
            $anchor: "org.springframework.boot.jackson.autoconfigure.JacksonXmlProperties"
            properties:
              read:
                type: "object"
                description: "Jackson on/off token reader features that are specific\
                  \ to XML."
              write:
                type: "object"
                description: "Jackson on/off token writer features that are specific\
                  \ to XML."
      jdbc:
        type: "object"
        $anchor: "org.springframework.boot.jdbc.autoconfigure.JdbcProperties"
        properties:
          template:
            type: "object"
            $anchor: "org.springframework.boot.jdbc.autoconfigure.JdbcProperties:Template"
            properties:
              fetch-size:
                type: "integer"
                description: "Number of rows that should be fetched from the database\
                  \ when more rows are needed. Use -1 to use the JDBC driver's default\
                  \ configuration."
                default: -1
              ignore-warnings:
                type: "boolean"
                description: "Whether to ignore JDBC statement warnings (SQLWarning).\
                  \ When set to false, throw an SQLWarningException instead."
                default: true
              max-rows:
                type: "integer"
                description: "Maximum number of rows. Use -1 to use the JDBC driver's\
                  \ default configuration."
                default: -1
              query-timeout:
                type: "string"
                description: "Query timeout. Default is to use the JDBC driver's default\
                  \ configuration. If a duration suffix is not specified, seconds\
                  \ will be used."
              results-map-case-insensitive:
                type: "boolean"
                description: "Whether execution of a CallableStatement will return\
                  \ the results in a Map that uses case-insensitive names for the\
                  \ parameters."
                default: false
              skip-results-processing:
                type: "boolean"
                description: "Whether results processing should be skipped. Can be\
                  \ used to optimize callable statement processing when we know that\
                  \ no results are being passed back."
                default: false
              skip-undeclared-results:
                type: "boolean"
                description: "Whether undeclared results should be skipped."
                default: false
      jmx:
        type: "object"
        $anchor: "org.springframework.boot.autoconfigure.jmx.JmxProperties"
        properties:
          enabled:
            type: "boolean"
            description: "Expose Spring's management beans to the JMX domain."
            default: false
      jpa:
        type: "object"
        $anchor: "org.springframework.boot.jpa.autoconfigure.JpaProperties"
        properties:
          database:
            type: "string"
            description: "Target database to operate on, auto-detected by default.\
              \ Can be alternatively set using the \"databasePlatform\" property."
            enum:
            - "DEFAULT"
            - "default"
            - "DB2"
            - "db2"
            - "DERBY"
            - "derby"
            - "H2"
            - "h2"
            - "HANA"
            - "hana"
            - "HSQL"
            - "hsql"
            - "INFORMIX"
            - "informix"
            - "MYSQL"
            - "mysql"
            - "ORACLE"
            - "oracle"
            - "POSTGRESQL"
            - "postgresql"
            - "SQL_SERVER"
            - "sql_server"
            - "SYBASE"
            - "sybase"
          database-platform:
            type: "string"
            description: "Name of the target database to operate on, auto-detected\
              \ by default. Can be alternatively set using the \"Database\" enum."
          defer-datasource-initialization:
            type: "boolean"
            description: "Whether to defer DataSource initialization until after any\
              \ EntityManagerFactory beans have been created and initialized."
            default: false
          generate-ddl:
            type: "boolean"
            description: "Whether to initialize the schema on startup."
            default: false
          hibernate:
            type: "object"
            $anchor: "org.springframework.boot.hibernate.autoconfigure.HibernateProperties"
            properties:
              ddl-auto:
                type: "string"
                description: "DDL mode. This is actually a shortcut for the \"hibernate.hbm2ddl.auto\"\
                  \ property. Defaults to \"create-drop\" when using an embedded database\
                  \ and no schema manager was detected. Otherwise, defaults to \"\
                  none\"."
                examples:
                - "create"
                - "create-drop"
                - "create-only"
                - "drop"
                - "none"
                - "truncate"
                - "update"
                - "validate"
              naming:
                type: "object"
                $anchor: "org.springframework.boot.hibernate.autoconfigure.HibernateProperties:Naming"
                properties:
                  implicit-strategy:
                    type: "string"
                    description: "Fully qualified name of the implicit naming strategy."
                  physical-strategy:
                    type: "string"
                    description: "Fully qualified name of the physical naming strategy."
          mapping-resources:
            type: "array"
            description: "Mapping resources (equivalent to \"mapping-file\" entries\
              \ in persistence.xml)."
            items:
              type: "string"
          open-in-view:
            type: "boolean"
            description: "Register OpenEntityManagerInViewInterceptor. Binds a JPA\
              \ EntityManager to the thread for the entire processing of the request."
            default: true
          properties:
            type: "object"
            description: "Additional native properties to set on the JPA provider."
          show-sql:
            type: "boolean"
            description: "Whether to enable logging of SQL statements."
            default: false
      lifecycle:
        type: "object"
        $anchor: "org.springframework.boot.autoconfigure.context.LifecycleProperties"
        properties:
          timeout-per-shutdown-phase:
            type: "string"
            description: "Timeout for the shutdown of any phase (group of SmartLifecycle\
              \ beans with the same 'phase' value)."
            default: "30s"
      mvc:
        type: "object"
        $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties"
        properties:
          apiversion:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Apiversion"
            properties:
              default:
                type: "string"
                description: "Default version that should be used for each request."
              default-version:
                type: "string"
              detect-supported:
                type: "boolean"
                description: "Whether supported versions should be detected from controllers."
              required:
                type: "boolean"
                description: "Whether the API version is required with each request."
              supported:
                type: "array"
                description: "Supported versions."
                items:
                  type: "string"
              use:
                type: "object"
                $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Apiversion:Use"
                properties:
                  header:
                    type: "string"
                    description: "Use the HTTP header with the given name to obtain\
                      \ the version."
                  media-type-parameter:
                    type: "object"
                    description: "Use the media type parameter with the given name\
                      \ to obtain the version."
                  path-segment:
                    type: "integer"
                    description: "Use the path segment at the given index to obtain\
                      \ the version."
                  query-parameter:
                    type: "string"
                    description: "Use the query parameter with the given name to obtain\
                      \ the version."
          async:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Async"
            properties:
              request-timeout:
                type: "string"
                description: "Amount of time before asynchronous request handling\
                  \ times out. If this value is not set, the default timeout of the\
                  \ underlying implementation is used."
          contentnegotiation:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Contentnegotiation"
            properties:
              default-content-types:
                type: "array"
                description: "List of default content types to be used when no specific\
                  \ content type is requested."
                items:
                  type: "string"
              favor-parameter:
                type: "boolean"
                description: "Whether a request parameter (\"format\" by default)\
                  \ should be used to determine the requested media type."
                default: false
              media-types:
                type: "object"
                description: "Map file extensions to media types for content negotiation.\
                  \ For instance, yml to text/yaml."
              parameter-name:
                type: "string"
                description: "Query parameter name to use when \"favor-parameter\"\
                  \ is enabled."
          dispatch-options-request:
            type: "boolean"
            description: "Whether to dispatch OPTIONS requests to the FrameworkServlet\
              \ doService method."
            default: true
          dispatch-trace-request:
            type: "boolean"
            description: "Whether to dispatch TRACE requests to the FrameworkServlet\
              \ doService method."
            default: false
          format:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Format"
            properties:
              date:
                type: "string"
                description: "Date format to use, for example 'dd/MM/yyyy'. Used for\
                  \ formatting of java.util.Date and java.time.LocalDate."
                examples:
                - "dd/MM/yyyy"
                - "iso"
              date-time:
                type: "string"
                description: "Date-time format to use, for example 'yyyy-MM-dd HH:mm:ss'.\
                  \ Used for formatting of java.time's LocalDateTime, OffsetDateTime,\
                  \ and ZonedDateTime."
                examples:
                - "yyyy-MM-dd HH:mm:ss"
                - "iso"
                - "iso-offset"
              time:
                type: "string"
                description: "Time format to use, for example 'HH:mm:ss'. Used for\
                  \ formatting of java.time's LocalTime and OffsetTime."
                examples:
                - "HH:mm:ss"
                - "iso"
                - "iso-offset"
          formcontent:
            type: "object"
            properties:
              filter:
                type: "object"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Whether to enable Spring's FormContentFilter."
                    default: true
          hiddenmethod:
            type: "object"
            properties:
              filter:
                type: "object"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Whether to enable Spring's HiddenHttpMethodFilter."
                    default: false
          log-request-details:
            type: "boolean"
            description: "Whether logging of (potentially sensitive) request details\
              \ at DEBUG and TRACE level is allowed."
            default: false
          log-resolved-exception:
            type: "boolean"
            description: "Whether to enable warn logging of exceptions resolved by\
              \ a \"HandlerExceptionResolver\", except for \"DefaultHandlerExceptionResolver\"\
              ."
            default: false
          message-codes-resolver-format:
            type: "string"
            description: "Formatting strategy for message codes. For instance, 'PREFIX_ERROR_CODE'."
            enum:
            - "PREFIX_ERROR_CODE"
            - "prefix_error_code"
            - "POSTFIX_ERROR_CODE"
            - "postfix_error_code"
          pathmatch:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Pathmatch"
            properties:
              matching-strategy:
                type: "string"
                description: "Choice of strategy for matching request paths against\
                  \ registered mappings."
                default: "path-pattern-parser"
                enum:
                - "ANT_PATH_MATCHER"
                - "ant_path_matcher"
                - "PATH_PATTERN_PARSER"
                - "path_pattern_parser"
          problemdetails:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Problemdetails"
            properties:
              enabled:
                type: "boolean"
                description: "Whether RFC 9457 Problem Details support should be enabled."
                default: false
          publish-request-handled-events:
            type: "boolean"
            description: "Whether to publish a ServletRequestHandledEvent at the end\
              \ of each request."
            default: true
          servlet:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:Servlet"
            properties:
              load-on-startup:
                type: "integer"
                description: "Load on startup priority of the dispatcher servlet."
                default: -1
              path:
                type: "string"
                description: "Path of the dispatcher servlet. Setting a custom value\
                  \ for this property is not compatible with the PathPatternParser\
                  \ matching strategy."
                default: "/"
          static-path-pattern:
            type: "string"
            description: "Path pattern used for static resources."
            default: "/**"
          view:
            type: "object"
            $anchor: "org.springframework.boot.webmvc.autoconfigure.WebMvcProperties:View"
            properties:
              prefix:
                type: "string"
                description: "Spring MVC view prefix."
              suffix:
                type: "string"
                description: "Spring MVC view suffix."
          webjars-path-pattern:
            type: "string"
            description: "Path pattern used for WebJar assets."
            default: "/webjars/**"
      servlet:
        type: "object"
        properties:
          encoding:
            type: "object"
            $anchor: "org.springframework.boot.servlet.autoconfigure.ServletEncodingProperties"
            properties:
              charset:
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "Charset of HTTP requests and responses. Added to the\
                  \ \"Content-Type\" header if not set explicitly."
                default: "UTF-8"
              enabled:
                type: "boolean"
                description: "Whether to enable Servlet HTTP encoding support."
                default: true
              force:
                type: "boolean"
                description: "Whether to force the encoding to the configured charset\
                  \ on HTTP requests and responses."
              force-request:
                type: "boolean"
                description: "Whether to force the encoding to the configured charset\
                  \ on HTTP requests. Defaults to true when \"force\" has not been\
                  \ specified."
              force-response:
                type: "boolean"
                description: "Whether to force the encoding to the configured charset\
                  \ on HTTP responses."
          multipart:
            type: "object"
            $anchor: "org.springframework.boot.servlet.autoconfigure.MultipartProperties"
            properties:
              enabled:
                type: "boolean"
                description: "Whether to enable support of multipart uploads."
                default: true
              file-size-threshold:
                type: "string"
                description: "Threshold after which files are written to disk."
                default: "0B"
              location:
                type: "string"
                description: "Intermediate location of uploaded files."
              max-file-size:
                type: "string"
                description: "Max file size."
                default: "1MB"
              max-request-size:
                type: "string"
                description: "Max request size."
                default: "10MB"
              resolve-lazily:
                type: "boolean"
                description: "Whether to resolve the multipart request lazily at the\
                  \ time of file or parameter access."
                default: false
              strict-servlet-compliance:
                type: "boolean"
                description: "Whether to resolve the multipart request strictly complying\
                  \ with the Servlet specification, only to be used for \"multipart/form-data\"\
                  \ requests."
                default: false
      sql:
        type: "object"
        properties:
          init:
            type: "object"
            $anchor: "org.springframework.boot.sql.autoconfigure.init.SqlInitializationProperties"
            properties:
              continue-on-error:
                type: "boolean"
                description: "Whether initialization should continue when an error\
                  \ occurs."
                default: false
              data-locations:
                type: "array"
                description: "Locations of the data (DML) scripts to apply to the\
                  \ database."
                items:
                  type: "string"
              enabled:
                type: "boolean"
                description: "Whether basic script-based initialization of an SQL\
                  \ database is enabled."
                deprecated: true
                default: true
                x-deprecation:
                  replacement: "spring.sql.init.mode"
                  since: "2.5.1"
                  level: "WARNING"
              encoding:
                $ref: "#/$defs/java.nio.charset.Charset"
                description: "Encoding of the schema and data scripts."
              mode:
                type: "string"
                description: "Mode to apply when determining whether initialization\
                  \ should be performed."
                default: "embedded"
                enum:
                - "ALWAYS"
                - "always"
                - "EMBEDDED"
                - "embedded"
                - "NEVER"
                - "never"
              password:
                type: "string"
                description: "Password of the database to use when applying initialization\
                  \ scripts (if different)."
              platform:
                type: "string"
                description: "Platform to use in the default schema or data script\
                  \ locations, schema-${platform}.sql and data-${platform}.sql."
                default: "all"
              schema-locations:
                type: "array"
                description: "Locations of the schema (DDL) scripts to apply to the\
                  \ database."
                items:
                  type: "string"
              separator:
                type: "string"
                description: "Statement separator in the schema and data scripts."
                default: ";"
              username:
                type: "string"
                description: "Username of the database to use when applying initialization\
                  \ scripts (if different)."
      ssl:
        type: "object"
        $anchor: "org.springframework.boot.autoconfigure.ssl.SslProperties"
        properties:
          bundle:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.ssl.SslProperties:Bundles"
            properties:
              jks:
                type: "object"
                description: "Java keystore SSL trust material."
                additionalProperties:
                  type: "object"
                  $anchor: "org.springframework.boot.autoconfigure.ssl.JksSslBundleProperties"
                  properties:
                    keystore:
                      $ref: "#/$defs/org.springframework.boot.autoconfigure.ssl.JksSslBundleProperties:Store"
                    truststore:
                      type: "object"
                      $ref: "#/$defs/org.springframework.boot.autoconfigure.ssl.JksSslBundleProperties:Store"
              pem:
                type: "object"
                description: "PEM-encoded SSL trust material."
                additionalProperties:
                  type: "object"
                  $anchor: "org.springframework.boot.autoconfigure.ssl.PemSslBundleProperties"
                  properties:
                    keystore:
                      $ref: "#/$defs/org.springframework.boot.autoconfigure.ssl.PemSslBundleProperties:Store"
                    truststore:
                      type: "object"
                      $ref: "#/$defs/org.springframework.boot.autoconfigure.ssl.PemSslBundleProperties:Store"
              watch:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.ssl.SslProperties:Bundles:Watch"
                properties:
                  file:
                    type: "object"
                    $anchor: "org.springframework.boot.autoconfigure.ssl.SslProperties:Bundles:Watch:File"
                    properties:
                      quiet-period:
                        type: "string"
                        description: "Quiet period, after which changes are detected."
                        default: "10s"
      task:
        type: "object"
        properties:
          execution:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.task.TaskExecutionProperties"
            properties:
              mode:
                type: "string"
                description: "Determine when the task executor is to be created."
                default: "auto"
                enum:
                - "AUTO"
                - "auto"
                - "FORCE"
                - "force"
              pool:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.task.TaskExecutionProperties:Pool"
                properties:
                  allow-core-thread-timeout:
                    type: "boolean"
                    description: "Whether core threads are allowed to time out. This\
                      \ enables dynamic growing and shrinking of the pool. Doesn't\
                      \ have an effect if virtual threads are enabled."
                    default: true
                  core-size:
                    type: "integer"
                    description: "Core number of threads. Doesn't have an effect if\
                      \ virtual threads are enabled."
                    default: 8
                  keep-alive:
                    type: "string"
                    description: "Time limit for which threads may remain idle before\
                      \ being terminated. Doesn't have an effect if virtual threads\
                      \ are enabled."
                    default: "60s"
                  max-size:
                    type: "integer"
                    description: "Maximum allowed number of threads. If tasks are\
                      \ filling up the queue, the pool can expand up to that size\
                      \ to accommodate the load. Ignored if the queue is unbounded.\
                      \ Doesn't have an effect if virtual threads are enabled."
                  queue-capacity:
                    type: "integer"
                    description: "Queue capacity. An unbounded capacity does not increase\
                      \ the pool and therefore ignores the \"max-size\" property.\
                      \ Doesn't have an effect if virtual threads are enabled."
                  shutdown:
                    type: "object"
                    $anchor: "org.springframework.boot.autoconfigure.task.TaskExecutionProperties:Pool:Shutdown"
                    properties:
                      accept-tasks-after-context-close:
                        type: "boolean"
                        description: "Whether to accept further tasks after the application\
                          \ context close phase has begun."
                        default: false
              shutdown:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.task.TaskExecutionProperties:Shutdown"
                properties:
                  await-termination:
                    type: "boolean"
                    description: "Whether the executor should wait for scheduled tasks\
                      \ to complete on shutdown."
                    default: false
                  await-termination-period:
                    type: "string"
                    description: "Maximum time the executor should wait for remaining\
                      \ tasks to complete."
              simple:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.task.TaskExecutionProperties:Simple"
                properties:
                  cancel-remaining-tasks-on-close:
                    type: "boolean"
                    description: "Whether to cancel remaining tasks on close. Only\
                      \ recommended if threads are commonly expected to be stuck."
                    default: false
                  concurrency-limit:
                    type: "integer"
                    description: "Set the maximum number of parallel accesses allowed.\
                      \ -1 indicates no concurrency limit at all."
                  reject-tasks-when-limit-reached:
                    type: "boolean"
                    description: "Whether to reject tasks when the concurrency limit\
                      \ has been reached."
                    default: false
              thread-name-prefix:
                type: "string"
                description: "Prefix to use for the names of newly created threads."
                default: "task-"
          scheduling:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.task.TaskSchedulingProperties"
            properties:
              pool:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.task.TaskSchedulingProperties:Pool"
                properties:
                  size:
                    type: "integer"
                    description: "Maximum allowed number of threads. Doesn't have\
                      \ an effect if virtual threads are enabled."
                    default: 1
              shutdown:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.task.TaskSchedulingProperties:Shutdown"
                properties:
                  await-termination:
                    type: "boolean"
                    description: "Whether the executor should wait for scheduled tasks\
                      \ to complete on shutdown."
                    default: false
                  await-termination-period:
                    type: "string"
                    description: "Maximum time the executor should wait for remaining\
                      \ tasks to complete."
              simple:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.task.TaskSchedulingProperties:Simple"
                properties:
                  concurrency-limit:
                    type: "integer"
                    description: "Set the maximum number of parallel accesses allowed.\
                      \ -1 indicates no concurrency limit at all."
              thread-name-prefix:
                type: "string"
                description: "Prefix to use for the names of newly created threads."
                default: "scheduling-"
      transaction:
        type: "object"
        $anchor: "org.springframework.boot.transaction.autoconfigure.TransactionProperties"
        properties:
          default-timeout:
            type: "string"
            description: "Default transaction timeout. If a duration suffix is not\
              \ specified, seconds will be used."
          rollback-on-commit-failure:
            type: "boolean"
            description: "Whether to roll back on commit failures."
      web:
        type: "object"
        $anchor: "org.springframework.boot.autoconfigure.web.WebProperties"
        properties:
          error:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.web.ErrorProperties"
            properties:
              include-binding-errors:
                type: "string"
                description: "When to include \"errors\" attribute."
                default: "never"
                enum:
                - "NEVER"
                - "never"
                - "ALWAYS"
                - "always"
                - "ON_PARAM"
                - "on_param"
              include-exception:
                type: "boolean"
                description: "Include the \"exception\" attribute."
                default: false
              include-message:
                type: "string"
                description: "When to include \"message\" attribute."
                default: "never"
                enum:
                - "NEVER"
                - "never"
                - "ALWAYS"
                - "always"
                - "ON_PARAM"
                - "on_param"
              include-path:
                type: "string"
                description: "When to include \"path\" attribute."
                default: "always"
                enum:
                - "NEVER"
                - "never"
                - "ALWAYS"
                - "always"
                - "ON_PARAM"
                - "on_param"
              include-stacktrace:
                type: "string"
                description: "When to include the \"trace\" attribute."
                default: "never"
                enum:
                - "NEVER"
                - "never"
                - "ALWAYS"
                - "always"
                - "ON_PARAM"
                - "on_param"
              path:
                type: "string"
                description: "Path of the error controller."
                default: "/error"
              whitelabel:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.web.ErrorProperties:Whitelabel"
                properties:
                  enabled:
                    type: "boolean"
                    description: "Whether to enable the default error page displayed\
                      \ in browsers in case of a server error."
                    default: true
          locale:
            $ref: "#/$defs/java.util.Locale"
            description: "Locale to use. By default, this locale is overridden by\
              \ the \"Accept-Language\" header."
          locale-resolver:
            type: "string"
            description: "Define how the locale should be resolved."
            default: "accept-header"
            enum:
            - "FIXED"
            - "fixed"
            - "ACCEPT_HEADER"
            - "accept_header"
          resources:
            type: "object"
            $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources"
            properties:
              add-mappings:
                type: "boolean"
                description: "Whether to enable default resource handling."
                default: true
              cache:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources:Cache"
                properties:
                  cachecontrol:
                    type: "object"
                    $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources:Cache:Cachecontrol"
                    properties:
                      cache-private:
                        type: "boolean"
                        description: "Indicate that the response message is intended\
                          \ for a single user and must not be stored by a shared cache."
                      cache-public:
                        type: "boolean"
                        description: "Indicate that any cache may store the response."
                      customized:
                        type: "boolean"
                      max-age:
                        type: "string"
                        description: "Maximum time the response should be cached,\
                          \ in seconds if no duration suffix is not specified."
                      must-revalidate:
                        type: "boolean"
                        description: "Indicate that once it has become stale, a cache\
                          \ must not use the response without re-validating it with\
                          \ the server."
                      no-cache:
                        type: "boolean"
                        description: "Indicate that the cached response can be reused\
                          \ only if re-validated with the server."
                      no-store:
                        type: "boolean"
                        description: "Indicate to not cache the response in any case."
                      no-transform:
                        type: "boolean"
                        description: "Indicate intermediaries (caches and others)\
                          \ that they should not transform the response content."
                      proxy-revalidate:
                        type: "boolean"
                        description: "Same meaning as the \"must-revalidate\" directive,\
                          \ except that it does not apply to private caches."
                      s-max-age:
                        type: "string"
                        description: "Maximum time the response should be cached by\
                          \ shared caches, in seconds if no duration suffix is not\
                          \ specified."
                      stale-if-error:
                        type: "string"
                        description: "Maximum time the response may be used when errors\
                          \ are encountered, in seconds if no duration suffix is not\
                          \ specified."
                      stale-while-revalidate:
                        type: "string"
                        description: "Maximum time the response can be served after\
                          \ it becomes stale, in seconds if no duration suffix is\
                          \ not specified."
                  customized:
                    type: "boolean"
                  period:
                    type: "string"
                    description: "Cache period for the resources served by the resource\
                      \ handler. If a duration suffix is not specified, seconds will\
                      \ be used. Can be overridden by the 'spring.web.resources.cache.cachecontrol'\
                      \ properties."
                  use-last-modified:
                    type: "boolean"
                    description: "Whether we should use the \"lastModified\" metadata\
                      \ of the files in HTTP caching headers."
                    default: true
              chain:
                type: "object"
                $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources:Chain"
                properties:
                  cache:
                    type: "boolean"
                    description: "Whether to enable caching in the Resource chain."
                    default: true
                  compressed:
                    type: "boolean"
                    description: "Whether to enable resolution of already compressed\
                      \ resources (gzip, brotli). Checks for a resource name with\
                      \ the '.gz' or '.br' file extensions."
                    default: false
                  customized:
                    type: "boolean"
                  enabled:
                    type: "boolean"
                    description: "Whether to enable the Spring Resource Handling chain.\
                      \ By default, disabled unless at least one strategy has been\
                      \ enabled."
                  strategy:
                    type: "object"
                    $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources:Chain:Strategy"
                    properties:
                      content:
                        type: "object"
                        $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources:Chain:Strategy:Content"
                        properties:
                          customized:
                            type: "boolean"
                          enabled:
                            type: "boolean"
                            description: "Whether to enable the content Version Strategy."
                            default: false
                          paths:
                            type: "array"
                            description: "List of patterns to apply to the content\
                              \ Version Strategy."
                            default:
                            - "/**"
                            items:
                              type: "string"
                      fixed:
                        type: "object"
                        $anchor: "org.springframework.boot.autoconfigure.web.WebProperties:Resources:Chain:Strategy:Fixed"
                        properties:
                          customized:
                            type: "boolean"
                          enabled:
                            type: "boolean"
                            description: "Whether to enable the fixed Version Strategy."
                            default: false
                          paths:
                            type: "array"
                            description: "List of patterns to apply to the fixed Version\
                              \ Strategy."
                            default:
                            - "/**"
                            items:
                              type: "string"
                          version:
                            type: "string"
                            description: "Version string to use for the fixed Version\
                              \ Strategy."
              customized:
                type: "boolean"
              static-locations:
                type: "array"
                description: "Locations of static resources. Defaults to classpath:[/META-INF/resources/,\
                  \ /resources/, /static/, /public/]."
                default:
                - "classpath:/META-INF/resources/"
                - "classpath:/resources/"
                - "classpath:/static/"
                - "classpath:/public/"
                items:
                  type: "string"
additionalProperties: true
