release_tracks: [ALPHA, BETA, GA]
help_text:
  brief: Update a Pub/Sub Lite topic.
  description: Update a Pub/Sub Lite topic.
  examples: |
    To update a Pub/Sub Lite topic, run:

        $ {command} mytopic \
            --location=us-central1-a \
            --per-partition-publish-mib=10

request:
  collection: pubsublite.admin.projects.locations.topics
  method: patch
  modify_request_hooks:
  - googlecloudsdk.command_lib.pubsub.lite_util:UpdateAdminRequest
  - googlecloudsdk.command_lib.pubsub.lite_util:ConfirmPartitionsUpdate
  - googlecloudsdk.command_lib.pubsub.lite_util:AddTopicReservationResource

arguments:
  resource:
    help_text: Topic to update.
    spec: !REF googlecloudsdk.command_lib.pubsub.resources:lite_topic
    command_level_fallthroughs:
      location:
      - arg_name: 'zone'

  params:
  - _REF_: googlecloudsdk.command_lib.pubsub.flags:zone
  - group:
      required: true
      params:
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:per-partition-publish-mib
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:per-partition-subscribe-mib
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:per-partition-bytes
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:message-retention-period
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:partitions
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:topic-throughput-reservation-name
