HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //lib/google-cloud-sdk/lib/surface/spanner/databases/add_iam_policy_binding.yaml
release_tracks: [ALPHA, BETA, GA]

help_text:
  brief: Add IAM policy binding to a Cloud Spanner database.
  description: |
    Add an IAM policy binding to a Cloud Spanner database. One binding consists of a member,
      a role, and an optional condition.

  examples: |
    To add an IAM policy binding for the role of 'roles/editor' for the user 'test-user@gmail.com'
    with database 'my-database' and instance 'my-instance', run:

      $ {command} my-database --instance='my-instance' --member='user:test-user@gmail.com' --role='roles/editor'

    To add an IAM policy binding which expires at the end of the year 2018 for the role of
    'roles/spanner.databaseAdmin' and the user 'test-user@gmail.com' with database 'my-database' and instance 'my-instance', run:

      $ {command} my-database --instance='my-instance' --member='user:test-user@gmail.com' --role='roles/spanner.databaseAdmin' --condition='expression=request.time < timestamp("2019-01-01T00:00:00Z"),title=expires_end_of_2018,description=Expires at midnight on 2018-12-31'

    See https://cloud.google.com/iam/docs/managing-policies for details of
    policy role and member types.

request:
  collection: spanner.projects.instances.databases

arguments:
  resource:
    help_text: The Cloud Spanner database to which to add the IAM policy binding.
    spec: !REF googlecloudsdk.command_lib.spanner.resources:database

iam:
  enable_condition: true
  policy_version: 3
  get_iam_policy_version_path: getIamPolicyRequest.options.requestedPolicyVersion