- release_tracks: [ALPHA, BETA, GA]

  help_text:
    brief: |
      Restore a domain from the specified backup.
    description: |
      Restore a Managed Microsoft AD domain to a previous point in time when the
      backup was taken.

      This command can fail for the following reasons:
        * The specified domain doesn't exist.
        * The specified backup doesn't exist.
        * The active account doesn't have permission to restore the specified domain.

    examples: |
      To restore the domain `my-domain.com` from backup `my-backup`, run:

        $ {command} my-domain.com --backup=my-backup --async

  async:
    collection: managedidentities.projects.locations.global.operations

  request:
    collection: managedidentities.projects.locations.global.domains
    ALPHA:
      api_version: v1alpha1
    BETA:
      api_version: v1beta1
    GA:
      api_version: v1
    method: restore

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.active_directory.resources:domain
      help_text: |
        Name of the Managed Microsoft AD domain you want to restore.
    params:
    - arg_name: backup
      required: true
      api_field: restoreDomainRequest.backupId
      help_text: |
        Name of the domain backup from which you want to restore the Managed Microsoft AD domain.
