File: //snap/google-cloud-cli/394/lib/surface/compute/instances/add_iam_policy_binding.yaml
release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Add IAM policy binding to a Compute Engine instance.
description: |
Add an IAM policy binding to the IAM policy of a Compute Engine instance. One binding consists of a member,
a role, and an optional condition.
examples: |
To add an IAM policy binding for the role of 'roles/compute.securityAdmin' for the user 'test-user@gmail.com'
with instance 'my-instance' and zone 'ZONE', run:
$ {command} my-instance --zone=ZONE --member='user:test-user@gmail.com' --role='roles/compute.securityAdmin'
To add an IAM policy binding which expires at the end of the year 2018 for the role of
'roles/compute.securityAdmin' and the user 'test-user@gmail.com' with instance 'my-instance' and zone 'ZONE', run:
$ {command} my-instance --zone=ZONE --member='user:test-user@gmail.com' --role='roles/compute.securityAdmin' --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: compute.instances
use_relative_name: false
api_version: v1
BETA:
api_version: beta
ALPHA:
api_version: alpha
arguments:
resource:
help_text: The instance for which to add IAM policy binding to.
spec: !REF googlecloudsdk.command_lib.compute.resources:instance
iam:
set_iam_policy_request_path: zoneSetPolicyRequest
message_type_overrides:
policy: Policy
set_iam_policy_request: ComputeInstancesSetIamPolicyRequest
enable_condition: true
policy_version: 3
get_iam_policy_version_path: optionsRequestedPolicyVersion