(cloud-gce)= # The Google GCE cloud and Juju This document describes details specific to using your existing Google GCE cloud with Juju. > See more: [Google GCE](https://cloud.google.com/compute) When using this cloud with Juju, it is important to keep in mind that it is a (1) machine cloud and (2) not some other cloud. > See more: {ref}`cloud-differences` As the differences related to (1) are already documented generically in the rest of the docs, here we record just those that follow from (2). ## Requirements: Permissions: Service Account Key Admin, Compute Instance Admin, and Compute Security Admin.
See more: [Google \| Compute Engine IAM roles and permissions](https://cloud.google.com/compute/docs/access/iam). ## Notes on `juju add-cloud` Type in Juju: `gce` Name in Juju: `google` ## Notes on `juju add-credential` ### Authentication types #### `oauth2` Attributes: - client-id: client ID (required) - client-email: client e-mail address (required) - private-key: client secret (required) - project-id: project ID (required) #### `jsonfile` Attributes: - file: path to the .json file containing a service account key for your project Path (required) ### If you want to use environment variables: `CLOUDSDK_COMPUTE_REGION`

- `GOOGLE_APPLICATION_CREDENTIALS=` ## Cloud-specific model configuration keys ### base-image-path Base path to look for machine disk images. | | | |---------------|---------------| | type | string | | default value | schema.omit{} | | immutable | false | | mandatory | false | ## Supported constraints | {ref}`CONSTRAINT ` | | |----------------------------------------|-----------------------------------------------------| | conflicting: | `instance-type` vs. `[arch, cores, cpu-power, mem]` | | supported? | | | - {ref}`constraint-allocate-public-ip` | ✓ | | - {ref}`constraint-arch` | ✓ | | - {ref}`constraint-container` | ✓ | | - {ref}`constraint-cores` | ✓ | | - {ref}`constraint-cpu-power` | ✓ | | - {ref}`constraint-image-id` | ✕ | | - {ref}`constraint-instance-role` | ✕ | | - {ref}`constraint-instance-type` | ✓ | | - {ref}`constraint-mem` | ✓ | | - {ref}`constraint-root-disk` | ✓ | | - {ref}`constraint-root-disk-source` | ✕ | | - {ref}`constraint-spaces` | ✕ | | - {ref}`constraint-tags` | ✕ | | - {ref}`constraint-virt-type` | ✕ | | - {ref}`constraint-zones` | ✓ | ## Supported placement directives | {ref}`PLACEMENT DIRECTIVE ` | | |--------------------------------------------------|----------| | {ref}`placement-directive-machine` | TBA | | {ref}`placement-directive-subnet` | ✕ | | {ref}`placement-directive-system-id` | ✕ | | {ref}`placement-directive-zone` | ✓ |