> For the complete documentation index, see [llms.txt](https://docs.cloudplans.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudplans.io/organization/credentials/automations/gcp.md).

# GCP

{% code overflow="wrap" fullWidth="true" %}

```hcl
resource "google_project_iam_custom_role" "cloudplans_role" {
  role_id     = "cloudplans_role"
  title       = "Cloud Plans Role"
  description = "This is a custom role created via Terraform for CloudPlans"
  permissions = ["compute.autoscalers.get","compute.autoscalers.list","compute.autoscalers.update","compute.healthChecks.get","compute.healthChecks.list","compute.instanceGroups.get","compute.instanceGroups.list","compute.instanceGroups.update","compute.instances.get","compute.instances.list","compute.instances.reset","compute.instances.start","compute.instances.stop","compute.instances.suspend","compute.nodeGroups.get","compute.nodeGroups.list","compute.nodeGroups.update"]
}

data "google_iam_policy" "cloudplans_role_policy_binding" {
  binding {
    role = google_project_iam_custom_role.cloudplans_role.name

    members = [
      "cloudplanssa@cloudplans.iam.gserviceaccount.com",
    ]
  }
}

resource "google_service_account_iam_policy" "cloudplans_role_binding" {
  service_account_id = "cloudplanssa@cloudplans.iam.gserviceaccount.com"
  policy_data        = data.google_iam_policy.cloudplans_role_policy_binding.policy_data
}
```

{% endcode %}
