Skip to main content

google_project_iam_binding resource

[edit on GitHub]

Syntax

A google_project_iam_binding is used to test a Google Project Iam Bindings

Examples

describe google_project_iam_binding(project: "project", role: "roles/editor") do
  it { should exist }
  its('members') { should include 'user:testuser@example.com' }
end

This resource supports IAM conditions. Specifying a condition in the constructor matches only bindings with that condition. condition has three possible fields, title, expression and description. If any of these fields are unspecified they will not be matched.

describe google_project_iam_binding(project: "project", role: "roles/browser", condition: { title: "my title" }) do
  it { should exist }
  its('members.count'){ should cmp 1 }
  its('members') { should include 'user:testuser@example.com' }
  its('condition.title') {should cmp 'my title' }
  its('condition.expression') { should cmp "request.time < timestamp('2020-10-01T00:00:00.000Z')" }
end

Properties

Properties that can be accessed from the google_project_iam_binding resource:

role
Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner.
members
Specifies the identities requesting access for a Cloud Platform resource.
condition
Contains information about when this binding is to be applied.
expression
Textual representation of an expression in Common Expression Language syntax.
title
An optional title for the expression, i.e. a short string describing its purpose.
description
An optional description of the expression. This is a longer text which describes the expression.

GCP Permissions

Ensure the Cloud Resource Manager API is enabled for the current project.

Was this page helpful?