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

name: vspgwc
accessor:
  username: xosadmin@opencord.org
  password: "@/opt/xos/services/vspgwc/credentials/xosadmin@opencord.org"
required_models:
  - VSPGWCService
  - VSPGWCVendor
  - VSPGWCTenant
dependency_graph: "/opt/xos/synchronizers/vspgwc/model-deps"
steps_dir: "/opt/xos/synchronizers/vspgwc/steps"
sys_dir: "/opt/xos/synchronizers/vspgwc/sys"
model_policies_dir: "/opt/xos/synchronizers/vspgwc/model_policies"
models_dir: "/opt/xos/synchronizers/vspgwc/models"
blueprints:
  - name: cord_5_0_blueprint
    graph:
      - name: VMMETenant
        links:
          - name: VHSSTenant
      - name: VSPGWCTenant
        links:
          - name: VMMETenant
          - name: VSPGWUTenant
      - name: VSPGWUTenant
      - name: VHSSTenant
        links:
          - name: HSSDBServiceInstance
      - name: HSSDBServiceInstance
  - name: cord_4_1_blueprint
    graph:
      - name: VSPGWUTenant
        links:
          - name: VENBServiceInstance
      - name: VENBServiceInstance
      - name: VSPGWCTenant
        links:
          - name: VENBServiceInstance
          - name: VSPGWUTenant
  - name: cord_5_p4_blueprint
    graph:
      - name: VMMETenant
        links:
          - name: VHSSTenant
      - name: VSPGWCTenant
        links:
          - name: VMMETenant
      - name: HSSTenant
        links:
          - name: HSSDBServiceInstance
      - name: HSSDBServiceInstance

