
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ  ej                  ej                  j                  ej                  j                        ej                   G d dej                                      Z ej                  ej                  j                        ej                   G d d	e                    Zy
)z)The command group for the PAM Grants CLI.    )absolute_import)division)unicode_literals)basec                       e Zd ZdZy)AlphaBetaGrantsa  Manage Privileged Access Manager (PAM) grants.

  The `gcloud pam grants` command group lets you manage Privileged Access
  Manager (PAM) grants.

  ## EXAMPLES

  To create a new grant against an entitlement with the full name
  ``ENTITLEMENT_NAME'', a requested duration of `1 hour 30 minutes`, a
  justification of `some justification`, and two additional email recipients
  `abc@example.com` and `xyz@example.com`, run:

      $ {command} create --entitlement=ENTITLEMENT_NAME
      --requested-duration=5400s
      --justification="some justification"
      --additional-email-recipients=abc@example.com,xyz@example.com

  To describe a grant with the full name ``GRANT_NAME'', run:

      $ {command} describe GRANT_NAME

  To list all grants associated with an entitlement with the full name
  ``ENTITLEMENT_NAME'', run:

      $ {command} list --entitlement=ENTITLEMENT_NAME

  To deny a grant with the full name ``GRANT_NAME'' and a reason
  `denial reason`, run:

      $ {command} deny GRANT_NAME --reason="denial reason"

  To approve a grant with the full name ``GRANT_NAME'' and a reason
  `approval reason`, run:

      $ {command} approve GRANT_NAME --reason="approval reason"

  To revoke a grant with the full name ``GRANT_NAME'' and a reason
  `revoke reason`, run:

      $ {command} revoke GRANT_NAME --reason="revoke reason"

  To search for and list all grants that you have created that are associated
  with an entitlement with the full name ``ENTITLEMENT_NAME'', run:

      $ {command} search --entitlement=ENTITLEMENT_NAME
      --caller-relationship=had-created

  To search for and list all grants that you have approved or denied, that are
  associated with an entitlement with the full name ``ENTITLEMENT_NAME'', run:

      $ {command} search --entitlement=ENTITLEMENT_NAME
      --caller-relationship=had-approved

  To search for and list all grants that you can approve that are associated
  with an entitlement with the full name ``ENTITLEMENT_NAME'', run:

      $ {command} search --entitlement=ENTITLEMENT_NAME
      --caller-relationship=can-approve

  To withdraw a grant with the full name ``GRANT_NAME'', run:

      $ {command} withdraw GRANT_NAME
  N__name__
__module____qualname____doc__     "lib/surface/pam/grants/__init__.pyr   r      s    >r   r   c                       e Zd ZdZy)GAGrantsa.  Manage Privileged Access Manager (PAM) grants.

  The `gcloud pam grants` command group lets you manage Privileged Access
  Manager (PAM) grants.

  ## EXAMPLES

  To create a new grant against an entitlement with the full name
  ``ENTITLEMENT_NAME'', a requested duration of `1 hour 30 minutes`, a
  justification of `some justification`, and two additional email recipients
  `abc@example.com` and `xyz@example.com`, run:

      $ {command} create --entitlement=ENTITLEMENT_NAME
      --requested-duration=5400s
      --justification="some justification"
      --additional-email-recipients=abc@example.com,xyz@example.com

  To describe a grant with the full name ``GRANT_NAME'', run:

      $ {command} describe GRANT_NAME

  To list all grants associated with an entitlement with the full name
  ``ENTITLEMENT_NAME'', run:

      $ {command} list --entitlement=ENTITLEMENT_NAME

  To deny a grant with the full name ``GRANT_NAME'' and a reason
  `denial reason`, run:

      $ {command} deny GRANT_NAME --reason="denial reason"

  To approve a grant with the full name ``GRANT_NAME'' and a reason
  `approval reason`, run:

      $ {command} approve GRANT_NAME --reason="approval reason"

  To revoke a grant with the full name ``GRANT_NAME'' and a reason
  `revoke reason`, run:

      $ {command} revoke GRANT_NAME --reason="revoke reason"

  To search for and list all grants that you have created that are associated
  with an entitlement with the full name ``ENTITLEMENT_NAME'', run:

      $ {command} search --entitlement=ENTITLEMENT_NAME
      --caller-relationship=had-created

  To search for and list all grants that you have approved or denied, that are
  associated with an entitlement with the full name ``ENTITLEMENT_NAME'', run:

      $ {command} search --entitlement=ENTITLEMENT_NAME
      --caller-relationship=had-approved

  To search for and list all grants that you can approve that are associated
  with an entitlement with the full name ``ENTITLEMENT_NAME'', run:

      $ {command} search --entitlement=ENTITLEMENT_NAME
      --caller-relationship=can-approve

  Nr	   r   r   r   r   r   ]   s    ;r   r   N)r   
__future__r   r   r   googlecloudsdk.callioper   ReleaseTracksReleaseTrackALPHABETAUniverseCompatibleGroupr   GAr   r   r   r   <module>r      s     0 &  ' ( D%%++T->->-C-CD?djj ?  E?D D%%(()< <  *<r   