| #!/usr/bin/python |
| # Copyright 2013 Google Inc. |
| # |
| # This file is part of Ansible |
| # |
| # Ansible is free software: you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation, either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # Ansible is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with Ansible. If not, see <http://www.gnu.org/licenses/>. |
| |
| # The GCE inventory script has the following dependencies: |
| # 1. A valid Google Cloud Platform account with Google Compute Engine |
| # enabled. See https://cloud.google.com |
| # 2. An OAuth2 Service Account flow should be enabled. This will generate |
| # a private key file that the inventory script will use for API request |
| # authorization. See https://developers.google.com/accounts/docs/OAuth2 |
| # 3. Convert the private key from PKCS12 to PEM format |
| # $ openssl pkcs12 -in pkey.pkcs12 -passin pass:notasecret \ |
| # > -nodes -nocerts | openssl rsa -out pkey.pem |
| # 4. The libcloud (>=0.13.3) python libray. See http://libcloud.apache.org |
| # |
| # (See ansible/test/gce_tests.py comments for full install instructions) |
| # |
| # Author: Eric Johnson <erjohnso@google.com> |
| |
| [gce] |
| # GCE Service Account configuration information can be stored in the |
| # libcloud 'secrets.py' file. Ideally, the 'secrets.py' file will already |
| # exist in your PYTHONPATH and be picked up automatically with an import |
| # statement in the inventory script. However, you can specify an absolute |
| # path to the secrets.py file with 'libcloud_secrets' parameter. |
| libcloud_secrets = |
| |
| # If you are not going to use a 'secrets.py' file, you can set the necessary |
| # authorization parameters here. |
| gce_service_account_email_address = '{{ service_account_email }}' |
| gce_service_account_pem_file_path = '{{ ssh_private_key_file }}' |
| gce_project_id = '{{ project_id }}' |
| gce_zone = '{{ gce_zone | default("us-east1-b") }}' |
| |
| [inventory] |
| # The 'inventory_ip_type' parameter specifies whether 'ansible_ssh_host' should |
| # contain the instance internal or external address. Values may be either |
| # 'internal' or 'external'. If 'external' is specified but no external instance |
| # address exists, the internal address will be used. |
| # The INVENTORY_IP_TYPE environment variable will override this value. |
| inventory_ip_type = {{ inventory_id_type | default('internal') }} |