# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

map:
  name:
    type: str
  xos_dir:
    type: str
  logging:
    type: any
  wrappers:
    type: seq
    sequence:
    - type: str
  blueprints:
    type: seq
    sequence:
    - type: map
      map:
        name:
          type: str
          required: True
        graph:
          type: any
          required: True
        networks:
          type: seq
          sequence:
            - type: map
              map:
                name:
                  type: str
                permit_all_slices:
                  type: bool
                template:
                  type: str
                subnet:
                  type: str
                owner:
                  type: str
  dependency_graph:
    type: str
  link_graph:
    type: str
  steps_dir:
    type: str
  event_steps_dir:
    type: str
  pull_steps_dir:
    type: str
  sys_dir:
    type: str
  models_dir:
    type: str
  accessor:
    type: map
    required: False
    map:
      endpoint:
        type: str
      username:
        type: str
      password:
        type: str
      kind:
        type: str
        required: False
  kafka_bootstrap_servers:
    type: seq
    sequence:
      - type: str
  event_bus:
    type: map
    required: False
    map:
      endpoint:
        type: str
      kind:
        type: str
        required: False
  required_models:
    type: seq
    sequence:
      - type: str
  keep_temp_files:
    type: bool
  proxy_ssh:
    type: map
    map:
      enabled:
        type: bool
        required: True
      key:
        type: str
      user:
        type: str
  enable_watchers:
    type: bool
  model_policies_dir:
    type: str
  error_map_path:
    type: str
  feefie:
    type: map
    map:
      client_id:
        type: str
      user_id:
        type: str
  node_key:
    type: str
  config_dir:
    type: str
  backoff_disabled:
    type: bool
  images_directory:
    type: str
  nova:
    type: map
    map:
      enabled:
        type: bool
      ca_ssl_cert:
        type: str
      default_flavor:
        type: str
      default_security_group:
        type: str
