# -*- coding: utf-8 -*- #
# Copyright 2025 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
  - ALPHA
  auto_generated: true
  help_text:
    brief: Exports data from Managed Lustre instance to Cloud Storage.
    description: |
      Exports data from Managed Lustre instance to Cloud Storage.
    examples: |-
      To export data from `my-instance` to `gs://my-bucket` storage  run:

      $ {command} my-instance --location=us-central-a --gcs-path-uri=gs://my-bucket --lustre-path='/path/to/lustre/dir'
  arguments:
    params:
    - arg_name: lustre-path
      api_field: exportDataRequest.lustrePath.path
      required: false
      repeated: false
      help_text: |-
        The root directory path to the Managed Lustre file system. Must start with
        `/`. Default is `/`. If you're importing data into Managed Lustre, any
        path other than the default must already exist on the file system.
    - arg_name: gcs-path-uri
      api_field: exportDataRequest.gcsPath.uri
      required: true
      repeated: false
      help_text: |-
        The URI to a Cloud Storage bucket, or a path within a bucket, using the
        format `gs://<bucket_name>/<optional_path_inside_bucket>/`. If a path
        inside the bucket is specified, it must end with a forward slash (`/`).
    - help_text: |-
        The name of the Managed Lustre instance in the format
        `projects/{project}/locations/{location}/instances/{instance}`.
      is_positional: true
      is_primary_resource: true
      resource_spec: !REF googlecloudsdk.command_lib.lustre.v1alpha_resources:projects_locations_instances
      required: true
    - arg_name: request-id
      api_field: exportDataRequest.requestId
      required: false
      repeated: false
      help_text: |-
        UUID to identify requests.
    - arg_name: service-account
      help_text: |-
        User-specified service account used to perform the transfer.
        If unspecified, the Managed Lustre service agent is used.
      is_positional: false
      is_primary_resource: false
      resource_spec: !REF googlecloudsdk.command_lib.lustre.v1alpha_resources:projects_service_accounts
      resource_method_params:
        exportDataRequest.serviceAccount: '{__relative_name__}'
      required: false
  request:
    api_version: v1alpha
    collection:
    - lustre.projects.locations.instances
    method: exportData
  async:
    collection:
    - lustre.projects.locations.operations
    extract_resource_result: false
  command_type: GENERIC
