# 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
  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
