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