release_tracks: [ALPHA, BETA, GA]
help_text:
  brief: Remove IAM policy binding of a subscription
  description: |
    Remove an IAM policy binding of a Cloud Pub/Sub Subscription.

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

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

    The following command will remove an IAM policy binding for the role of
    'roles/editor' from all authenticated users on subscription
    'my-subscription':

      $ {command} my-subscription --member='allAuthenticatedUsers' \
          --role='roles/editor'

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

request:
  collection: pubsub.projects.subscriptions

arguments:
  resource:
    help_text: The subscription to remove the IAM policy binding from.
    spec: !REF googlecloudsdk.command_lib.pubsub.resources:subscription

ALPHA:
  help_text:
    brief: Remove IAM policy binding of a subscription.
    description: |
      Remove an IAM policy binding from the IAM policy of a Cloud Pub/Sub Subscription. One binding consists of a member,
      a role, and an optional condition.

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

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

      The following command will remove an IAM policy binding for the role of
      'roles/editor' from all authenticated users on subscription
      'my-subscription':

        $ {command} my-subscription --member='allAuthenticatedUsers' \
            --role='roles/editor'

      To remove an IAM policy binding which expires at the end of the year 2018 for the role of
      'roles/pubsub.subscriber' and the user 'test-user@gmail.com' with subscription 'my-subscription', run:

        $ {command} my-subscription --member='user:test-user@gmail.com' --role='roles/pubsub.subscriber' --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.

  iam:
    enable_condition: true
