puppetlabs/puppetlabs-gce_compute — pull request #23 by rcoleman (2013-12-26 02:25:41+00:00)
Title: Gce v1 & PE Provisioning

This PR combines PR #21 and #22 to add support for the general availability of Google Compute Engine (gcloud v1) and adds the ability to provision Puppet Enterprise (masters and agents).

The only conflict was around newly introduced metadata. #21 introduces puppet_master and puppet_service as parameters to gce_instance which inject metadata during `gcutil addinstance` to be used by the bootstrap script (files/puppet-community.sh). #22 introduces a more generic metadata parameter that is used for the same purpose and a startupscript parameter that allows one to specify a bootstrap script.

I'm not comfortable enough with the gce_instance interface to make this PR a 1.0.0 release so I'll stick with Eric's 0.3.0 release. We need to sort out which pieces of classification/bootstrap data should have dedicated parameters and which should be used through the generic metadata parameter. My inclination is to only have dedicated parameters for classification data used by both bootstrap scripts.

Be aware that commit 9e8d9d6 (specifically [here](https://github.com/puppetlabs/puppetlabs-gce_compute/commit/9e8d9d6eacabc9520bab44776169b35bce44eebb#diff-944262246a06998ae820466f1a42b04dL172)) reverses the expectation for module_repos to be more consistent with other Puppet resource types.

I'd still like to commit an improvement to the docs and maybe some additional tests before merging and releasing.