# 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.
# This option will be deprecated in a future release.
#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_id }}
gce_service_account_pem_file_path={{ credentials_file }}
gce_project_id={{ gcloud_project }}
gce_zone={{ gcloud_region }}

# Filter inventory based on on state. Leave undefined to return instances regardless of state.
# example: Uncomment to only return inventory in the running or provisioning state
#instance_states = RUNNING,PROVISIONING


#[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 =

#[cache]
# directory in which cache should be created
#cache_path = ~/.ansible/tmp

# The number of seconds a cache file is considered valid. After this many
# seconds, a new API call will be made, and the cache file will be updated.
# To disable the cache, set this value to 0
#cache_max_age = 300
