<h5 dir="auto">ISSUE TYPE</h5>
<ul dir="auto">
<li>Bug Report</li>
</ul>
<h5 dir="auto">COMPONENT NAME</h5>
<p dir="auto">modules/cloud/google/gce.py</p>
<h5 dir="auto">ANSIBLE VERSION</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ansible 2.0.1.0
  config file = 
  configured module search path = Default w/o overrides"><pre class="notranslate"><code class="notranslate">ansible 2.0.1.0
  config file = 
  configured module search path = Default w/o overrides
</code></pre></div>
<h5 dir="auto">CONFIGURATION</h5>
<p dir="auto">Python 2.7.10 from virtualenv and using apache-libcloud==1.5.0</p>
<h5 dir="auto">OS / ENVIRONMENT</h5>
<p dir="auto">OS X 10.10.5</p>
<h5 dir="auto">SUMMARY</h5>
<p dir="auto">Attempting to duplicate instance creation from example at <a href="http://docs.ansible.com/ansible/guide_gce.html" rel="nofollow">http://docs.ansible.com/ansible/guide_gce.html</a>.</p>
<h5 dir="auto">STEPS TO REPRODUCE</h5>
<p dir="auto">Please note I am able to interact with google cloud using apache-libcloud with same credentials.</p>
<p dir="auto">&lt;---hosts file---&gt;<br>
localhost ansible_connection=local</p>
<p dir="auto">&lt;---playbook.yml---&gt;</p>
<div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="---
- name: Create instance(s)
  hosts: localhost
  connection: local
  gather_facts: no

  vars:
    service_account_email: ...@developer.gserviceaccount.com
    credentials_file: /Users...json
    project_id: ...238
    machine_type: n1-standard-1
    image: debian-7

  tasks:

   - name: Launch instances
     gce:
         instance_names: dev
         machine_type: &quot;{{ machine_type }}&quot;
         image: &quot;{{ image }}&quot;
         service_account_email: &quot;{{ service_account_email }}&quot;
         credentials_file: &quot;{{ credentials_file }}&quot;
         project_id: &quot;{{ project_id }}&quot;"><pre class="notranslate">---
- <span class="pl-ent">name</span>: <span class="pl-s">Create instance(s)</span>
  <span class="pl-ent">hosts</span>: <span class="pl-s">localhost</span>
  <span class="pl-ent">connection</span>: <span class="pl-s">local</span>
  <span class="pl-ent">gather_facts</span>: <span class="pl-s">no</span>

  <span class="pl-ent">vars</span>:
    <span class="pl-ent">service_account_email</span>: <span class="pl-s">...@developer.gserviceaccount.com</span>
    <span class="pl-ent">credentials_file</span>: <span class="pl-s">/Users...json</span>
    <span class="pl-ent">project_id</span>: <span class="pl-s">...238</span>
    <span class="pl-ent">machine_type</span>: <span class="pl-s">n1-standard-1</span>
    <span class="pl-ent">image</span>: <span class="pl-s">debian-7</span>

  <span class="pl-ent">tasks</span>:

   - <span class="pl-ent">name</span>: <span class="pl-s">Launch instances</span>
     <span class="pl-ent">gce</span>:
         <span class="pl-ent">instance_names</span>: <span class="pl-s">dev</span>
         <span class="pl-ent">machine_type</span>: <span class="pl-s"><span class="pl-pds">"</span>{{ machine_type }}<span class="pl-pds">"</span></span>
         <span class="pl-ent">image</span>: <span class="pl-s"><span class="pl-pds">"</span>{{ image }}<span class="pl-pds">"</span></span>
         <span class="pl-ent">service_account_email</span>: <span class="pl-s"><span class="pl-pds">"</span>{{ service_account_email }}<span class="pl-pds">"</span></span>
         <span class="pl-ent">credentials_file</span>: <span class="pl-s"><span class="pl-pds">"</span>{{ credentials_file }}<span class="pl-pds">"</span></span>
         <span class="pl-ent">project_id</span>: <span class="pl-s"><span class="pl-pds">"</span>{{ project_id }}<span class="pl-pds">"</span></span></pre></div>
<p dir="auto">Command is: ansible-playbook -i hosts playbook.yml -vvvv</p>
<h5 dir="auto">EXPECTED RESULTS</h5>
<p dir="auto">Something indicating success; undocumented!</p>
<h5 dir="auto">ACTUAL RESULTS</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="PLAY [Create instance(s)] ******************************************************

TASK [Launch instances] ********************************************************
task path: /Users/me/ansible/me/guide_gce/as_of_010617.yml:16
ESTABLISH LOCAL CONNECTION FOR USER: me
localhost EXEC /bin/sh -c '( umask 22 &amp;&amp; mkdir -p &quot;` echo $HOME/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591 `&quot; &amp;&amp; echo &quot;` echo $HOME/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591 `&quot; )'
localhost PUT /var/folders/h1/bg76tk196rz065b81p1d28ch0000gn/T/tmpp7fYZZ TO /Users/me/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591/gce
localhost EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /Users/me/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591/gce; rm -rf &quot;/Users/me/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591/&quot; &gt; /dev/null 2&gt;&amp;1'
fatal: [localhost]: FAILED! =&gt; {&quot;changed&quot;: false, &quot;failed&quot;: true, &quot;invocation&quot;: {&quot;module_args&quot;: &lt;OMITTED&gt;
&quot;module_name&quot;: &quot;gce&quot;}, &quot;msg&quot;: &quot;unsupported parameter for module: credentials_file&quot;}

NO MORE HOSTS LEFT *************************************************************
	to retry, use: --limit @as_of_010617.retry

PLAY RECAP *********************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1   "><pre class="notranslate"><code class="notranslate">PLAY [Create instance(s)] ******************************************************

TASK [Launch instances] ********************************************************
task path: /Users/me/ansible/me/guide_gce/as_of_010617.yml:16
ESTABLISH LOCAL CONNECTION FOR USER: me
localhost EXEC /bin/sh -c '( umask 22 &amp;&amp; mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591 `" &amp;&amp; echo "` echo $HOME/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591 `" )'
localhost PUT /var/folders/h1/bg76tk196rz065b81p1d28ch0000gn/T/tmpp7fYZZ TO /Users/me/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591/gce
localhost EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /Users/me/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591/gce; rm -rf "/Users/me/.ansible/tmp/ansible-tmp-1483722674.82-53534914954591/" &gt; /dev/null 2&gt;&amp;1'
fatal: [localhost]: FAILED! =&gt; {"changed": false, "failed": true, "invocation": {"module_args": &lt;OMITTED&gt;
"module_name": "gce"}, "msg": "unsupported parameter for module: credentials_file"}

NO MORE HOSTS LEFT *************************************************************
	to retry, use: --limit @as_of_010617.retry

PLAY RECAP *********************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1   
</code></pre></div>
<p dir="auto">Documentation of the <code class="notranslate">copy</code> module suggests in the example that <em>owner</em>, <em>group</em>, and <em>mode</em> can be specified, even though these options aren't explicitly mentioned.</p>
<p dir="auto">Looking through the source of <code class="notranslate">library/copy</code> suggests they aren't supported.</p>
<p dir="auto">I feel they ought to be.</p>