# -*- 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: Create a space
    description: Create a space.
    examples: |-
      To create the space `my-space` in project `my-project` and location `us-central1`, run:

        $ {command} my-space --project=my-project --location=us-central1

      Or run:

        $ {command} projects/my-project/locations/us-central1/spaces/my-space

      To create the space `my-space` in project `my-project` and location `us-central1` with display name, description, and enable google templates, run:

        $ {command} my-space --project=my-project --location=us-central1 --display-name=my-display-name --description=my-description --enable-gcp-shared-templates
  arguments:
    params:
    - group:
        mutex: true
        help_text: |-
          Arguments for the  enable gcp shared templates.
        params:
        - arg_name: enable-gcp-shared-templates
          api_field: space.enableGcpSharedTemplates
          action: store_true
          required: false
          type: bool
          help_text: |-
            Flag to enable Google opinionated shared templates.
          default: null
    - help_text: |-
        Identifier. The space name.
      is_positional: true
      is_primary_resource: true
      request_id_field: spaceId
      resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces
      required: true
    - arg_name: display-name
      api_field: space.displayName
      required: false
      repeated: false
      help_text: |-
        Display name for the space.
    - arg_name: description
      api_field: space.description
      required: false
      repeated: false
      help_text: |-
        Description for the space.
    - arg_name: gcs-bucket
      api_field: space.gcsBucket
      required: false
      repeated: false
      help_text: |-
        An existing Google Cloud Storage bucket that you want to use instead of
        creating a new bucket during ADC setup.
        If not provided, a default bucket is created during setup.
        The bucket must exist in the same project as the space.
        If the bucket name does not exist in the same project as the space, the
        request fails with an INVALID_ARGUMENT error.
        If you do not have access to the bucket, the request fails with a
        PERMISSION_DENIED error.
        Format: {$bucket_name}
        For example, if the Cloud Storage bucket URI is gs:\/\/{$bucket_name}, the
        format is {$bucket_name}.
    - arg_name: tags
      api_field: space.tags
      required: false
      repeated: true
      help_text: |-
        Tags are key/values bound to space resource.
        Example: `"123/environment": "production"
          "123/costCenter": "marketing"`. For more information on tag creation and management, see
        https://cloud.google.com/resource-manager/docs/tags/tags-overview.
      spec:
      - api_field: key
      - api_field: value
  request:
    api_version: v1alpha
    collection:
    - designcenter.projects.locations.spaces
