# ============LICENSE_START==========================================
# ===================================================================
# Copyright (c) 2018 AT&T
#
# 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.
#============LICENSE_END============================================

inputs:

  password:
    description: >
      Your manager password. If you do not provide one will be randomly generated, but it will not be displayed at the end.

  rpm:
    description: >
      If inputs.bootstrap is false, this is the CLI RPM to install and bootstrap with.
    default:  http://repository.cloudifysource.org/cloudify/18.3.23/community-release/cloudify-manager-install-community-18.3.23.rpm

  blueprints:
    default:
    - file: update-blueprint.yaml
      name: aws-example-network
      url: https://github.com/cloudify-examples/aws-example-network/archive/4.3.zip
    - file: simple-blueprint.yaml
      name: openstack-example-network
      url: https://github.com/cloudify-examples/openstack-example-network/archive/4.3.zip
    - file: simple-blueprint.yaml
      name: azure-example-network
      url: https://github.com/cloudify-examples/azure-example-network/archive/4.3.zip
    - file: simple-blueprint.yaml
      name: gcp-example-network
      url: https://github.com/cloudify-examples/gcp-example-network/archive/4.3.zip

node_types:

  cloudify.nodes.Manager.EnvironmentSetup:
    derived_from: cloudify.nodes.Root
    interfaces:
      cloudify.interfaces.lifecycle:
        create:
          implementation: fabric.fabric_plugin.tasks.run_task
          inputs:
            tasks_file:
              default: scripts/manager/tasks.py
            task_name:
              default: create
            task_properties:
              default:
                private_ip: { get_input: private_ip }
                public_ip: { get_input: public_ip }
                rpm: { get_input: rpm }
                secrets: { get_input: secrets }
                blueprints: { get_input: blueprints }
                password: { get_input: password }
            fabric_env:
              default:
                host_string: { get_input: public_ip }
                user: { get_input: cloudify_image_username }
                key_filename: { get_input: cloudify_key_file  }

node_templates:

  ManagerSetup:
    type: cloudify.nodes.Manager.EnvironmentSetup
    relationships:
      - type: cloudify.relationships.depends_on
        target: cloudify_host