- release_tracks: [ALPHA, BETA, GA]

  help_text:
    brief: Set the IAM policy binding for a KMS import job.
    description: |
      Sets the IAM policy for the given import job as defined in a JSON or YAML file.

      See https://cloud.google.com/iam/docs/managing-policies for details of
      the policy file format and contents.
    examples: |
      The following command will read an IAM policy defined in a JSON file
      'policy.json' and set it for the import job 'frodo' with the keyring
      'fellowship' and location 'global':

        $ {command} frodo policy.json --keyring=fellowship --location=global

      See https://cloud.google.com/iam/docs/managing-policies for details of the
      policy file format and contents.
  request:
    collection: cloudkms.projects.locations.keyRings.importJobs
    modify_request_hooks:
    - googlecloudsdk.command_lib.iam.hooks:UseMaxRequestedPolicyVersion:api_field=setIamPolicyRequest.policy.version
    - googlecloudsdk.command_lib.iam.hooks:AddVersionToUpdateMaskIfNotPresent:update_mask_path=setIamPolicyRequest.updateMask

  arguments:
    resource:
      help_text: The import job for which to set the IAM policy binding.
      spec: !REF googlecloudsdk.command_lib.kms.resources:import_job

  iam:
    policy_version: 3
