- release_tracks: [ALPHA, BETA]
  help_text:
    brief: |
      Enable domain migration permissions on a Managed Microsoft AD domain.
    description: |
      Enable domain migration permissions on a Managed Microsoft AD domain.

      This command can fail for the following reasons:
        * The specified domain doesn't exist.
        * The specified domain is either being created or updated.
        * The active account doesn't have permission to enable migration permissions on the specified domain.

    examples: |
      The following command enables migration permissions on the domain
      `my-domain.com` in project `my-project` for two on-premises domains `onprem-domain-1.com` and
      `onprem-domain-2.com`, with SID Filtering disabled for `onprem-domain-1.com`.

      $ {command} my-domain.com --onprem-domains=onprem-domain-1.com,onprem-domain-2.com --disable-sid-filtering-domains=onprem-domain-1.com  --project=my-project --async

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

  request:
    collection: managedidentities.projects.locations.global.domains
    method: enableMigration
    ALPHA:
      api_version: v1alpha1
    BETA:
      api_version: v1beta1
    modify_request_hooks:
    - googlecloudsdk.command_lib.active_directory.migration_util:UpdateOnPremSIDDetails

  input:
    confirmation_prompt: |
      You are about to enable SID History migration permissions
      on Managed Microsoft AD domain [{__name__}] in [{projectsId}].

  arguments:
    resource:
      help_text: |
        Name of the Managed Microsoft AD domain on which you want to enable migration permissions.
      spec: !REF googlecloudsdk.command_lib.active_directory.resources:domain

    params:
    - arg_name: onprem-domains
      required: true
      type: "googlecloudsdk.calliope.arg_parsers:ArgList:"
      help_text: |
        List of trusted domains that are being migrated.
    - arg_name: disable-sid-filtering-domains
      type: "googlecloudsdk.calliope.arg_parsers:ArgList:"
      help_text: |
        List of migrating domains on which SID Filtering must be disabled. The list is empty by default.
