- release_tracks: [ALPHA, BETA, GA]

  help_text:
    brief: Delete a Privileged Access Manager (PAM) entitlement.
    description: |
      Delete a Privileged Access Manager (PAM) entitlement along with all grants associated with it.

      This command can fail for the following reasons:
        * There are non-terminal grants under the entitlement.
    examples: |
      The following command deletes an entitlement with a name of `sample-entitlement`, in a
      project named `sample-project`, and in location `global`:

      $ {command} sample-entitlement --project=sample-project --location=global

      The following command deletes an entitlement with a name of `sample-entitlement`, in a folder
      with ID ``FOLDER_ID'', and in location `global`:

      $ {command} sample-entitlement --folder=FOLDER_ID --location=global

      The following command deletes an entitlement with a name of `sample-entitlement`, in an
      organization with ID ``ORGANIZATION_ID'', and in location `global`:

      $ {command} sample-entitlement --organization=ORGANIZATION_ID --location=global

  request:
    ALPHA:
      api_version: v1alpha
    BETA:
      api_version: v1beta
    GA:
      api_version: v1
    collection:
    - privilegedaccessmanager.projects.locations.entitlements
    - privilegedaccessmanager.folders.locations.entitlements
    - privilegedaccessmanager.organizations.locations.entitlements
    modify_request_hooks:
    - googlecloudsdk.command_lib.pam.util:SetForceFieldInDeleteEntitlementRequest

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.pam.resources:entitlement
      help_text: |
        Name of the entitlement to delete.

  async:
    ALPHA:
      api_version: v1alpha
    BETA:
      api_version: v1beta
    collection:
    - privilegedaccessmanager.projects.locations.operations
    - privilegedaccessmanager.folders.locations.operations
    - privilegedaccessmanager.organizations.locations.operations

  input:
    confirmation_prompt: |
      All grants associated with the entitlement are also deleted upon deleting the entitlement.
