release_tracks: [ALPHA, BETA, GA]
help_text:
  brief: Create a Pub/Sub Lite subscription.
  description: Create a Pub/Sub Lite subscription.
  examples: |
    To create a Pub/Sub Lite subscription, run:

        $ {command} mysubscription \
            --location=us-central1-a \
            --topic=mytopic

    To create a Pub/Sub Lite subscription at the offset of the oldest retained message, run:

        $ {command} mysubscription \
            --location=us-central1-a \
            --topic=mytopic \
            --starting-offset=beginning

    To create a Pub/Sub Lite subscription that exports messages from a Pub/Sub Lite topic to a
    Pub/Sub topic, run:

        $ {command} mysubscription \
            --location=us-central1-a \
            --topic=mytopic
            --export-pubsub-topic=pubsubtopic

request:
  collection: pubsublite.admin.projects.locations.subscriptions
  method: create
  issue_request_hook: googlecloudsdk.command_lib.pubsub.lite_util:ExecuteCreateSubscriptionRequest

arguments:
  resource:
    help_text: Identifies the Cloud zone this command will be executed on.
    spec: !REF googlecloudsdk.command_lib.pubsub.resources:location
    is_parent_resource: true
    is_positional: false
    command_level_fallthroughs:
      location:
      - arg_name: 'zone'

  params:
  - _REF_: googlecloudsdk.command_lib.pubsub.flags:zone
  - _REF_: googlecloudsdk.command_lib.pubsub.flags:subscription-name
    required: true
  - _REF_: googlecloudsdk.command_lib.pubsub.flags:subscription-topic-name
    required: true
  - _REF_: googlecloudsdk.command_lib.pubsub.flags:delivery-requirement
    default: deliver-immediately
  - group:
      mutex: true
      params:
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:starting-offset
        default: end
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:publish-time
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:event-time
  - group:
      params:
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:export-desired-state
        default: active
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:export-pubsub-topic
        required: true
      - _REF_: googlecloudsdk.command_lib.pubsub.flags:export-dead-letter-topic
