- release_tracks: [ALPHA, BETA, GA]

  command_type: LIST

  help_text:
    brief: Search and list all Privileged Access Manager (PAM) entitlements in a parent for which you are a requester/approver.
    description: Search and list all Privileged Access Manager (PAM) entitlements in a project/folder/organization location for which you are a requester/approver.
    examples: |
      The following command searches for and lists all entitlements for which you are a requester,
      in a project named `sample-project`, and in location `global`:

      $ {command} --project=sample-project --location=global --caller-access-type=grant-requester

      The following command searches for and lists all entitlements for which you are an approver,
      in a project named `sample-project`, and in location `global`:

      $ {command} --project=sample-project --location=global --caller-access-type=grant-approver

      The following command searches for and lists all entitlements for which you are a requester,
      in a folder with ID ``FOLDER_ID'', and in location `global`:

      $ {command} --folder=FOLDER_ID --location=global --caller-access-type=grant-requester

      The following command searches for and lists all entitlements for which you are an approver,
      in a folder with ID ``FOLDER_ID'', and in location `global`:

      $ {command} --folder=FOLDER_ID --location=global --caller-access-type=grant-approver

      The following command searches for and lists all entitlements for which you are a requester,
      in an organization with ID ``ORGANIZATION_ID'', and in location `global`:

      $ {command} --organization=ORGANIZATION_ID --location=global --caller-access-type=grant-requester

      The following command searches for and lists all entitlements for which you are an approver,
      in an organization with ID ``ORGANIZATION_ID'', and in location `global`:

      $ {command} --organization=ORGANIZATION_ID --location=global --caller-access-type=grant-approver

  request:
    ALPHA:
      api_version: v1alpha
    BETA:
      api_version: v1beta
    GA:
      api_version: v1
    method: search
    collection:
    - privilegedaccessmanager.projects.locations.entitlements
    - privilegedaccessmanager.folders.locations.entitlements
    - privilegedaccessmanager.organizations.locations.entitlements

  arguments:
    params:
    - arg_name: location
      resource_spec: !REF googlecloudsdk.command_lib.pam.resources:location
      is_parent_resource: true
      is_primary_resource: true
      is_positional: false
      required: true
      help_text: |
        Location of the entitlements.
    - api_field: callerAccessType
      arg_name: caller-access-type
      required: true
      choices:
      - arg_value: grant-requester
        enum_value: GRANT_REQUESTER
      - arg_value: grant-approver
        enum_value: GRANT_APPROVER
      help_text: |
        Search for entitlements based on whether you are a requester or approver.
