# 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 . # 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 [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 = gce_service_account_pem_file_path = gce_project_id = gce_zone = # Filter inventory based 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 # Filter inventory based on instance tags. Leave undefined to return instances regardless of tags. # example: Uncomment to only return inventory with the http-server or https-server tag #instance_tags = http-server,https-server [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