# -*- coding: utf-8 -*- #
# Copyright 2024 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
  hidden: true
  help_text:
    brief: Create dataproc gdc service instance.
    description: |
      Create dataproc gdc service instance.
    examples: |-
      Creates service instance.

      $ {command} my-instance --location=my-location --project=my-project --gdce-cluster=my-cluster
  arguments:
    params:
    - group:
        mutex: true
        help_text: |-
          Arguments for the target.
        params:
        - group:
            required: false
            help_text: |2-

              Gdce cluster information.
            params:
            - arg_name: gdce-cluster
              help_text: |-
                Gdce cluster resource id.
              is_positional: false
              resource_spec: !REF googlecloudsdk.command_lib.dataproc_gdc.default_resources:project_location_cluster
              resource_method_params:
                serviceInstance.gdceCluster.gdceCluster: '{__relative_name__}'
              required: true
    - help_text: |-
        Identifier. The name of the service instance.
      is_positional: true
      request_id_field: serviceInstanceId
      resource_spec: !REF googlecloudsdk.command_lib.dataproc_gdc.v1alpha1_resources:project_location_service_instance
      required: true
    - arg_name: display-name
      api_field: serviceInstance.displayName
      required: false
      repeated: false
      help_text: |-
        User-provided human-readable name to be used in user interfaces.
    - arg_name: labels
      api_field: serviceInstance.labels
      required: false
      repeated: true
      help_text: |-
        The labels to associate with this service instance. Labels may be used for
        filtering and billing tracking.
      spec:
      - api_field: key
      - api_field: value
    - arg_name: annotations
      api_field: serviceInstance.annotations
      required: false
      repeated: true
      help_text: |-
        The annotations to associate with this service instance. Annotations may be
        used to store client information, but are not used by the server.
      spec:
      - api_field: key
      - api_field: value
    - arg_name: service-account
      api_field: serviceInstance.serviceAccount
      required: false
      repeated: false
      help_text: |-
        Requested service account to associate with ServiceInstance.
  request:
    api_version: v1alpha1
    collection:
    - dataprocgdc.projects.locations.serviceInstances
  async:
    collection:
    - dataprocgdc.projects.locations.operations
