Apigee OPDK Installation to add Second Data Center to an Existing Data Center
=============================================================================

# Ansible Roles

The following ansible roles will be installed with the requirements.yml file:

* [apigee-opdk-setup-apigee-user](https://github.com/carlosfrias/apigee-opdk-setup-apigee-user)
* [apigee-opdk-setup-os-common](https://github.com/carlosfrias/apigee-opdk-setup-os-common)
* [apigee-opdk-setup-os-ds](https://github.com/carlosfrias/apigee-opdk-setup-os-ds)
* [apigee-opdk-setup-os-minimum](https://github.com/carlosfrias/apigee-opdk-setup-os-minimum)
* [apigee-opdk-setup-default-settings](https://github.com/carlosfrias/apigee-opdk-setup-default-settings)
* [apigee-opdk-time-sync](https://github.com/carlosfrias/apigee-opdk-time-sync)
* [apigee-opdk-setup-openjdk](https://github.com/carlosfrias/apigee-opdk-setup-openjdk)
* [apigee-opdk-setup-bootstrap](https://github.com/carlosfrias/apigee-opdk-setup-bootstrap)
* [apigee-opdk-setup-silent-installation-config](https://github.com/carlosfrias/apigee-opdk-setup-silent-installation-config)
* [apigee-opdk-setup-component](https://github.com/carlosfrias/apigee-opdk-setup-component)
* [apigee-opdk-setup-component-installer](https://github.com/carlosfrias/apigee-opdk-setup-component-installer)
* [apigee-opdk-setup-selinux-disable](https://github.com/carlosfrias/apigee-opdk-setup-selinux-disable)
* [apigee-opdk-shutdown-iptables](https://github.com/carlosfrias/apigee-opdk-shutdown-iptables)
* [apigee-opdk-setup-org-config](https://github.com/carlosfrias/apigee-opdk-setup-org-config)
* [apigee-opdk-setup-org](https://github.com/carlosfrias/apigee-opdk-setup-org)
* [apigee-opdk-setup-validate](https://github.com/carlosfrias/apigee-opdk-setup-validate)
* [apigee-opdk-setup-validate-cleanup](https://github.com/carlosfrias/apigee-opdk-setup-validate-cleanup)
* [apigee-opdk-setup-apigee-log-files](https://github.com/carlosfrias/apigee-opdk-setup-apigee-log-files)
* [fetch-files](https://github.com/carlosfrias/apigee-fetch-files)

<!-- BEGIN Google Required Disclaimer -->

# Not Google Product Clause

This is not an officially supported Google product.
<!-- END Google Required Disclaimer -->
<!-- BEGIN Google How To Contribute -->
# How to Contribute

We'd love to accept your patches and contributions to this project. Please review our [guidelines](CONTRIBUTION.md).
<!-- END Google How To Contribute -->
