- release_tracks: [GA, BETA, ALPHA]

  help_text:
    brief: |
      Update a Managed Microsoft Active Directory domain peering.
    description: |
      Update a Managed Microsoft Active Directory (AD) domain peering.

      This command can fail for the following reasons:
        * The active account does not have permission to access the given
          AD domain.
    examples: |
      The following command updates an AD domain peering ``my-peering'' with the label ``l1'' and ``l2''

        $ {command} my-peering --update-labels=l1=1,l2=2

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

  request: &request
    collection: managedidentities.projects.locations.global.peerings
    ALPHA:
      api_version: v1alpha1
      modify_request_hooks:
      - googlecloudsdk.command_lib.active_directory.peering_util:UpdatePatchRequest
      - googlecloudsdk.command_lib.active_directory.peering_util:UpdateLabels

    BETA:
      api_version: v1beta1
      modify_request_hooks:
      - googlecloudsdk.command_lib.active_directory.peering_util:UpdatePatchRequest
      - googlecloudsdk.command_lib.active_directory.peering_util:UpdateLabels

    GA:
      api_version: v1
      modify_request_hooks:
      - googlecloudsdk.command_lib.active_directory.peering_util:UpdatePatchRequest
      - googlecloudsdk.command_lib.active_directory.peering_util:UpdateLabels

    method: patch

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.active_directory.resources:peering
      help_text: |
        Name of the managed Managed Microsoft AD domain you want to delete.
    additional_arguments_hook: googlecloudsdk.command_lib.active_directory.flags:PeeringUpdateLabelsFlags
