(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