Apigee OPDK Setup Component
=========

This roles is used to setup individual Apigee OPDK components. 

Requirements
------------

The installation of Apigee OPDK requires root access. Credentials must also be supplied to override the empty placeholders
provided here. It is recommended that credentials be consolidated into a single credentials.yml file that can be stored 
separately. It is assumed that files containing credentials are stored in the ~/.apigee folder. 

Role Variables
--------------

Variable defaults are managed in the role opdk-setup-default-settings:

Path to the Apigee setup script

     apigee_setup: 
     
Name of the installation profile to invoke

     profile: '' 
     
Path to the silent installation file
     
     opdk_installation_config_file: ''
     
Version of OPDK to install
     
     opdk_version: '4.16.09'
     
Email of the Apigee user
     
     opdk_user_email: ''
     
Password of the Apigee user
     
     opdk_user_pass: ''
     
     

Dependencies
------------

This role depends on the following roles:

* opdk-setup-default-settings


Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: servers
      roles:
         - { role: username.rolename, x: 42 }

License
-------

BSD

Author Information
------------------

An optional section for the role authors to include contact information, or a website (HTML is not allowed).
