feat: Add new gcloud commands, API clients, and third-party libraries across various services.

This commit is contained in:
2026-01-01 20:26:35 +01:00
parent 5e23cbece0
commit a19e592eb7
25221 changed files with 8324611 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
# -*- 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
"""Manage space resources."""
from googlecloudsdk.calliope import base
from surface.design_center.spaces import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class SpacesAlpha(extensions.SpacesAlpha):
"""Manage space resources."""
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.Autogenerated
class SpacesGa(extensions.SpacesGa):
"""Manage space resources."""

View File

@@ -0,0 +1,31 @@
# -*- 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
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class SpacesAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class SpacesBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class SpacesGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,101 @@
# -*- 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

View File

@@ -0,0 +1,101 @@
# -*- 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:
- GA
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.v1_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: v1
collection:
- designcenter.projects.locations.spaces

View File

@@ -0,0 +1,56 @@
# -*- 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: Delete a space
description: Delete a space.
examples: |-
To delete 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
If your space contains child resources such as application templates, applications, catalogs, shared templates, force delete the space. To force delete the space `my-space` in project `my-project` and location `us-central1`, run:
$ {command} my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The space name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the space's children are also deleted. If false, the
space is only deleted if it has no children.
default: null
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces

View File

@@ -0,0 +1,56 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Delete a space
description: Delete a space.
examples: |-
To delete 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
If your space contains child resources such as application templates, applications, catalogs, shared templates, force delete the space. To force delete the space `my-space` in project `my-project` and location `us-central1`, run:
$ {command} my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The space name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the space's children are also deleted. If false, the
space is only deleted if it has no children.
default: null
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces

View File

@@ -0,0 +1,43 @@
# -*- 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: Describe a space
description: Describe a space.
examples: |-
To describe 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
arguments:
params:
- help_text: |-
The space name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Describe a space
description: Describe a space.
examples: |-
To describe 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
arguments:
params:
- help_text: |-
The space name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces

View File

@@ -0,0 +1,61 @@
# -*- 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: List spaces
description: List spaces.
examples: |-
To list all spaces in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1
Or run:
$ {command} --location=projects/my-project/locations/us-central1
To filter and list spaces that contains `my-space` prefix in the display name in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --filter="displayName:my-space*"
To list up to 10 spaces in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --limit=10
To list up to 5 pages of spaces in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --page-size=5
To list spaces sorted by display name in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --sort-by=displayName
arguments:
params:
- help_text: |-
The name of the parent resource, for which spaces are listed.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces
response:
id_field: name

View File

@@ -0,0 +1,61 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: List spaces
description: List spaces.
examples: |-
To list all spaces in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1
Or run:
$ {command} --location=projects/my-project/locations/us-central1
To filter and list spaces that contains `my-space` prefix in the display name in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --filter="displayName:my-space*"
To list up to 10 spaces in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --limit=10
To list up to 5 pages of spaces in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --page-size=5
To list spaces sorted by display name in project `my-project` and location `us-central1`, run:
$ {command} --project=my-project --location=us-central1 --sort-by=displayName
arguments:
params:
- help_text: |-
The name of the parent resource, for which spaces are listed.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces
response:
id_field: name

View File

@@ -0,0 +1,93 @@
# -*- 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: Update a space
description: Update a space.
examples: |-
To update the display name to `My New Space Name` in the space `my-space` in project `my-project` and location `us-central1`, run:
$ {command} my-space --project=my-project --location=us-central1 --display-name="My New Space Name"
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space --display-name="My New Space Name"
To disable google templates in the space `my-space` in project `my-project` and location `us-central1` , run:
$ {command} my-space --project=my-project --location=us-central1 --no-enable-gcp-shared-templates
To update the display name, description, and enable google templates in the space `my-space` in project `my-project` and location `us-central1`, run:
$ {command} my-space --project=my-project --location=us-central1 --display-name="My Updated Space" --description="Updated 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_false
required: false
type: bool
help_text: |-
Flag to enable Google opinionated shared templates.
- help_text: |-
Identifier. The space name.
is_positional: true
is_primary_resource: true
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}.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces
update:
read_modify_update: true

View File

@@ -0,0 +1,93 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Update a space
description: Update a space.
examples: |-
To update the display name to `My New Space Name` in the space `my-space` in project `my-project` and location `us-central1`, run:
$ {command} my-space --project=my-project --location=us-central1 --display-name="My New Space Name"
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space --display-name="My New Space Name"
To disable google templates in the space `my-space` in project `my-project` and location `us-central1` , run:
$ {command} my-space --project=my-project --location=us-central1 --no-enable-gcp-shared-templates
To update the display name, description, and enable google templates in the space `my-space` in project `my-project` and location `us-central1`, run:
$ {command} my-space --project=my-project --location=us-central1 --display-name="My Updated Space" --description="Updated 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_false
required: false
type: bool
help_text: |-
Flag to enable Google opinionated shared templates.
- help_text: |-
Identifier. The space name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_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}.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces
update:
read_modify_update: true

View File

@@ -0,0 +1,33 @@
# -*- 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
"""Manage application template resources."""
from googlecloudsdk.calliope import base
from surface.design_center.spaces.application_templates import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class ApplicationTemplatesAlpha(extensions.ApplicationTemplatesAlpha):
"""Manage application template resources."""
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.Autogenerated
class ApplicationTemplatesGa(extensions.ApplicationTemplatesGa):
"""Manage application template resources."""

View File

@@ -0,0 +1,31 @@
# -*- 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
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class ApplicationTemplatesAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class ApplicationTemplatesBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class ApplicationTemplatesGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,45 @@
# -*- 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: Commit an application template
description: Commits an application template to create a new revision.
examples: |-
To commit the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
arguments:
params:
- help_text: |-
The name of the application template.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates
method: commit
command_type: GENERIC

View File

@@ -0,0 +1,45 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Commit an application template
description: Commits an application template to create a new revision.
examples: |-
To commit the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
arguments:
params:
- help_text: |-
The name of the application template.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates
method: commit
command_type: GENERIC

View File

@@ -0,0 +1,133 @@
# -*- 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 an application template
description: Create an application template.
examples: |-
To create the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To create the application template `my-app-template` with a display name of `My App Template` and description of `My app template description`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --display-name="My App Template" --description="My app template description"
To create the application template `my-app-template` with application parameters key-value pair of `project_id:my-project` and `region:us-central1`, run the following shorthand example:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --application-parameters=key=project_id,value=my-project --application-parameters=key=region,value=us-central1
Or run the following JSON example:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --application-parameters='[{"key": "project_id", "value": "my-project"}, {"key": "region", "value": "us-central1"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --application-parameters=my-parameters.yaml
arguments:
params:
- help_text: |-
Identifier. Application template name.
is_positional: true
is_primary_resource: true
request_id_field: applicationTemplateId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
- arg_name: display-name
api_field: applicationTemplate.displayName
required: false
repeated: false
help_text: |-
Application template display name.
- arg_name: description
api_field: applicationTemplate.description
required: false
repeated: false
help_text: |-
Application template description.
- arg_name: application-parameters
api_field: applicationTemplate.applicationParameters
required: false
repeated: true
help_text: |-
Parameters to apply to all components in an application. You can specify
projectID and region.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: composition-type
api_field: applicationTemplate.compositionType
required: false
help_text: |-
The composition type of the applicationTemplate: STANDARD OR COMPOSITE.
This is a create time only param. In future, we may support conversion from
STANDARD to COMPOSITE.
choices:
- arg_value: standard
enum_value: STANDARD
help_text: |-
ApplicationCompositionType is STANDARD. The applicationTemplate or
application is composed of components only of type service/workload/asset
and has a single root module in terraform code.
- arg_value: composite
enum_value: COMPOSITE
help_text: |-
ApplicationCompositionType is COMPOSITE. The template is composed of
STANDARD applicationTemplate(s) and might be having multiple root modules
in terraform code.
- arg_name: root-input-variables
api_field: applicationTemplate.rootInputVariables
required: false
repeated: true
help_text: |-
Root level input variables of the application template.
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
- arg_name: root-output-variables
api_field: applicationTemplate.rootOutputVariables
required: false
repeated: true
help_text: |-
Root level output variables of the application template.
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates

View File

@@ -0,0 +1,133 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Create an application template
description: Create an application template.
examples: |-
To create the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To create the application template `my-app-template` with a display name of `My App Template` and description of `My app template description`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --display-name="My App Template" --description="My app template description"
To create the application template `my-app-template` with application parameters key-value pair of `project_id:my-project` and `region:us-central1`, run the following shorthand example:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --application-parameters=key=project_id,value=my-project --application-parameters=key=region,value=us-central1
Or run the following JSON example:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --application-parameters='[{"key": "project_id", "value": "my-project"}, {"key": "region", "value": "us-central1"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --application-parameters=my-parameters.yaml
arguments:
params:
- help_text: |-
Identifier. Application template name.
is_positional: true
is_primary_resource: true
request_id_field: applicationTemplateId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
- arg_name: display-name
api_field: applicationTemplate.displayName
required: false
repeated: false
help_text: |-
Application template display name.
- arg_name: description
api_field: applicationTemplate.description
required: false
repeated: false
help_text: |-
Application template description.
- arg_name: application-parameters
api_field: applicationTemplate.applicationParameters
required: false
repeated: true
help_text: |-
Parameters to apply to all components in an application. You can specify
projectID and region.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: composition-type
api_field: applicationTemplate.compositionType
required: false
help_text: |-
The composition type of the applicationTemplate: STANDARD OR COMPOSITE.
This is a create time only param. In future, we may support conversion from
STANDARD to COMPOSITE.
choices:
- arg_value: standard
enum_value: STANDARD
help_text: |-
ApplicationCompositionType is STANDARD. The applicationTemplate or
application is composed of components only of type service/workload/asset
and has a single root module in terraform code.
- arg_value: composite
enum_value: COMPOSITE
help_text: |-
ApplicationCompositionType is COMPOSITE. The template is composed of
STANDARD applicationTemplate(s) and might be having multiple root modules
in terraform code.
- arg_name: root-input-variables
api_field: applicationTemplate.rootInputVariables
required: false
repeated: true
help_text: |-
Root level input variables of the application template.
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
- arg_name: root-output-variables
api_field: applicationTemplate.rootOutputVariables
required: false
repeated: true
help_text: |-
Root level output variables of the application template.
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates

View File

@@ -0,0 +1,56 @@
# -*- 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: Delete an application template
description: Delete an application template.
examples: |-
To delete the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
If your application template contains child resources such as revisions, components, force delete the application template. To force delete the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The application template name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the application template's children are also deleted. If
false, the application template is only deleted if it has no children.
default: null
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates

View File

@@ -0,0 +1,56 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Delete an application template
description: Delete an application template.
examples: |-
To delete the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
If your application template contains child resources such as revisions, components, force delete the application template. To force delete the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The application template name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the application template's children are also deleted. If
false, the application template is only deleted if it has no children.
default: null
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates

View File

@@ -0,0 +1,43 @@
# -*- 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: Describe an application template
description: Describe an application template.
examples: |-
To describe the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
arguments:
params:
- help_text: |-
The application template name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Describe an application template
description: Describe an application template.
examples: |-
To describe the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
arguments:
params:
- help_text: |-
The application template name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates

View File

@@ -0,0 +1,120 @@
# -*- 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: Generate IaC for an application template
description: Generates Terraform files for an application template.
examples: |-
To generate IaC for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To generate IaC for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1` and save to cloud storage bucket `my-bucket`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --gcs-uri=gs://my-bucket
To generate IaC for the application template `my-app-template` in Terraform format in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --iac-format=terraform
arguments:
params:
- help_text: |-
The name of the application template.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
- arg_name: iac-format
api_field: generateApplicationTemplateIaCRequest.iacFormat
required: false
help_text: |-
The IaC format to generate.
choices:
- arg_value: terraform
enum_value: TERRAFORM
help_text: |-
IaC format is Terraform.
- arg_value: helm
enum_value: HELM
help_text: |-
IaC format is HELM.
- arg_name: gcs-uri
api_field: generateApplicationTemplateIaCRequest.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI to write the generated IaC to.
DEPRECATED: Use the 'artifact_location' field instead.
- group:
mutex: true
help_text: |-
Arguments for the location.
params:
- group:
api_field: generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig
required: false
help_text: |-
Through Developer Connect, defines a location where content such as
Infrastructure as Code (IaC) is stored.
params:
- arg_name: developer-connect-export-config-repo-uri
help_text: |-
The Developer Connect Git repository link, formatted as
`projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_connections_git_repository_links
resource_method_params:
generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig.developerConnectRepoUri: '{__relative_name__}'
required: true
- arg_name: developer-connect-export-config-branch
api_field: generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig.branch
required: false
repeated: false
help_text: |-
The branch in repo to which the content such as Infrastructure as Code
(IaC) should be written to. If empty, ADC will create a branch and push the
changes.
- arg_name: developer-connect-export-config-dir
api_field: generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig.dir
required: true
repeated: false
help_text: |-
Directory, relative to the source repo, where content such as
Infrastructure as Code (IaC) will be stored.
This must be a relative path.To specify the root directory, use '/'.
If the path or any subdirectories do not exist, they will be created.
- arg_name: artifact-location-gcs-uri
api_field: generateApplicationTemplateIaCRequest.artifactLocation.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI for storing the generated IaC.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates
method: generate
command_type: GENERIC

View File

@@ -0,0 +1,120 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Generate IaC for an application template
description: Generates Terraform files for an application template.
examples: |-
To generate IaC for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To generate IaC for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1` and save to cloud storage bucket `my-bucket`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --gcs-uri=gs://my-bucket
To generate IaC for the application template `my-app-template` in Terraform format in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --iac-format=terraform
arguments:
params:
- help_text: |-
The name of the application template.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
- arg_name: iac-format
api_field: generateApplicationTemplateIaCRequest.iacFormat
required: false
help_text: |-
The IaC format to generate.
choices:
- arg_value: terraform
enum_value: TERRAFORM
help_text: |-
IaC format is Terraform.
- arg_value: helm
enum_value: HELM
help_text: |-
IaC format is HELM.
- arg_name: gcs-uri
api_field: generateApplicationTemplateIaCRequest.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI to write the generated IaC to.
DEPRECATED: Use the 'artifact_location' field instead.
- group:
mutex: true
help_text: |-
Arguments for the location.
params:
- group:
api_field: generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig
required: false
help_text: |-
Through Developer Connect, defines a location where content such as
Infrastructure as Code (IaC) is stored.
params:
- arg_name: developer-connect-export-config-repo-uri
help_text: |-
The Developer Connect Git repository link, formatted as
`projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_connections_git_repository_links
resource_method_params:
generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig.developerConnectRepoUri: '{__relative_name__}'
required: true
- arg_name: developer-connect-export-config-branch
api_field: generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig.branch
required: false
repeated: false
help_text: |-
The branch in repo to which the content such as Infrastructure as Code
(IaC) should be written to. If empty, ADC will create a branch and push the
changes.
- arg_name: developer-connect-export-config-dir
api_field: generateApplicationTemplateIaCRequest.artifactLocation.developerConnectExportConfig.dir
required: true
repeated: false
help_text: |-
Directory, relative to the source repo, where content such as
Infrastructure as Code (IaC) will be stored.
This must be a relative path.To specify the root directory, use '/'.
If the path or any subdirectories do not exist, they will be created.
- arg_name: artifact-location-gcs-uri
api_field: generateApplicationTemplateIaCRequest.artifactLocation.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI for storing the generated IaC.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates
method: generate
command_type: GENERIC

View File

@@ -0,0 +1,63 @@
# -*- 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: Import to an application template
description: Imports to an existing application template from a given shared template or application template revision.
examples: |-
To import from a shared template revision to the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
To import from an application template revision to the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --application-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/another-app-template/revisions/rev2
arguments:
params:
- arg_name: application-template-revision-uri
help_text: |-
The source URI for application template revision.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_revisions
resource_method_params:
importApplicationTemplateRequest.applicationTemplateRevisionUri: '{__relative_name__}'
required: false
- arg_name: shared-template-revision-uri
help_text: |-
The source URI for catalog template.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_shared_templates_revisions
resource_method_params:
importApplicationTemplateRequest.sharedTemplateRevisionUri: '{__relative_name__}'
required: false
- help_text: |-
The name of the application template.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates
method: import
command_type: GENERIC

View File

@@ -0,0 +1,63 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Import to an application template
description: Imports to an existing application template from a given shared template or application template revision.
examples: |-
To import from a shared template revision to the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
To import from an application template revision to the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --application-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/another-app-template/revisions/rev2
arguments:
params:
- arg_name: application-template-revision-uri
help_text: |-
The source URI for application template revision.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_revisions
resource_method_params:
importApplicationTemplateRequest.applicationTemplateRevisionUri: '{__relative_name__}'
required: false
- arg_name: shared-template-revision-uri
help_text: |-
The source URI for catalog template.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_shared_templates_revisions
resource_method_params:
importApplicationTemplateRequest.sharedTemplateRevisionUri: '{__relative_name__}'
required: false
- help_text: |-
The name of the application template.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates
method: import
command_type: GENERIC

View File

@@ -0,0 +1,53 @@
# -*- 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: List application templates
description: List application templates in a given space.
examples: |-
To list all application templates in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --space=projects/my-project/locations/us-central1/spaces/my-space
To filter and list application templates with a display name of `my-app-template` prefix in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --filter="displayName:my-app-template*"
To list up to 10 application templates in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --limit=10
arguments:
params:
- help_text: |-
The parent resource from which to list application templates.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates
response:
id_field: name

View File

@@ -0,0 +1,53 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: List application templates
description: List application templates in a given space.
examples: |-
To list all application templates in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --space=projects/my-project/locations/us-central1/spaces/my-space
To filter and list application templates with a display name of `my-app-template` prefix in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --filter="displayName:my-app-template*"
To list up to 10 application templates in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --limit=10
arguments:
params:
- help_text: |-
The parent resource from which to list application templates.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates
response:
id_field: name

View File

@@ -0,0 +1,133 @@
# -*- 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: Update an application template
description: Update an application template.
examples: |-
To update the display name to `My New App Template Name` for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --display-name="My New App Template Name"
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template --display-name="My New App Template Name"
To clear the application parameters for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --clear-application-parameters
To add an application parameter key-value pair of `project_id:new-project` to the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --add-application-parameters=key=project_id,value=new-project
To remove an application parameter key-value pair of `project_id:new-project` from the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --remove-application-parameters=key=project_id,value=my-project
arguments:
params:
- help_text: |-
Identifier. Application template name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
- arg_name: display-name
api_field: applicationTemplate.displayName
required: false
repeated: false
help_text: |-
Application template display name.
- arg_name: description
api_field: applicationTemplate.description
required: false
repeated: false
help_text: |-
Application template description.
- arg_name: application-parameters
api_field: applicationTemplate.applicationParameters
required: false
repeated: true
help_text: |-
Parameters to apply to all components in an application. You can specify
projectID and region.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: composition-type
api_field: applicationTemplate.compositionType
required: false
help_text: |-
The composition type of the applicationTemplate: STANDARD OR COMPOSITE.
This is a create time only param. In future, we may support conversion from
STANDARD to COMPOSITE.
choices:
- arg_value: standard
enum_value: STANDARD
help_text: |-
ApplicationCompositionType is STANDARD. The applicationTemplate or
application is composed of components only of type service/workload/asset
and has a single root module in terraform code.
- arg_value: composite
enum_value: COMPOSITE
help_text: |-
ApplicationCompositionType is COMPOSITE. The template is composed of
STANDARD applicationTemplate(s) and might be having multiple root modules
in terraform code.
- arg_name: root-input-variables
api_field: applicationTemplate.rootInputVariables
required: false
repeated: true
help_text: |-
Root level input variables of the application template.
clearable: true
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
- arg_name: root-output-variables
api_field: applicationTemplate.rootOutputVariables
required: false
repeated: true
help_text: |-
Root level output variables of the application template.
clearable: true
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates
update:
read_modify_update: true

View File

@@ -0,0 +1,133 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Update an application template
description: Update an application template.
examples: |-
To update the display name to `My New App Template Name` for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --display-name="My New App Template Name"
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template --display-name="My New App Template Name"
To clear the application parameters for the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --clear-application-parameters
To add an application parameter key-value pair of `project_id:new-project` to the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --add-application-parameters=key=project_id,value=new-project
To remove an application parameter key-value pair of `project_id:new-project` from the application template `my-app-template` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-app-template --space=my-space --project=my-project --location=us-central1 --remove-application-parameters=key=project_id,value=my-project
arguments:
params:
- help_text: |-
Identifier. Application template name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
- arg_name: display-name
api_field: applicationTemplate.displayName
required: false
repeated: false
help_text: |-
Application template display name.
- arg_name: description
api_field: applicationTemplate.description
required: false
repeated: false
help_text: |-
Application template description.
- arg_name: application-parameters
api_field: applicationTemplate.applicationParameters
required: false
repeated: true
help_text: |-
Parameters to apply to all components in an application. You can specify
projectID and region.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: composition-type
api_field: applicationTemplate.compositionType
required: false
help_text: |-
The composition type of the applicationTemplate: STANDARD OR COMPOSITE.
This is a create time only param. In future, we may support conversion from
STANDARD to COMPOSITE.
choices:
- arg_value: standard
enum_value: STANDARD
help_text: |-
ApplicationCompositionType is STANDARD. The applicationTemplate or
application is composed of components only of type service/workload/asset
and has a single root module in terraform code.
- arg_value: composite
enum_value: COMPOSITE
help_text: |-
ApplicationCompositionType is COMPOSITE. The template is composed of
STANDARD applicationTemplate(s) and might be having multiple root modules
in terraform code.
- arg_name: root-input-variables
api_field: applicationTemplate.rootInputVariables
required: false
repeated: true
help_text: |-
Root level input variables of the application template.
clearable: true
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
- arg_name: root-output-variables
api_field: applicationTemplate.rootOutputVariables
required: false
repeated: true
help_text: |-
Root level output variables of the application template.
clearable: true
spec:
- api_field: variable
help_text: |-
Name of the variable.
- api_field: componentUri
help_text: |-
Component to which this variable belongs.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates
update:
read_modify_update: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,33 @@
# -*- 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
"""Manage component resources."""
from googlecloudsdk.calliope import base
from surface.design_center.spaces.application_templates.components import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class ComponentsAlpha(extensions.ComponentsAlpha):
"""Manage component resources."""
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.Autogenerated
class ComponentsGa(extensions.ComponentsGa):
"""Manage component resources."""

View File

@@ -0,0 +1,31 @@
# -*- 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
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class ComponentsAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class ComponentsBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class ComponentsGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,102 @@
# -*- 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 component
description: Create a component in an application template.
examples: |-
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template revision, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a google shared template `google-shared-template` and revision `rev1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=google/google-shared-template/revisions/rev1
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a google shared template `google-shared-template` with its latest revision, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=google/google-shared-template
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template `my-shared-template` and revision `rev1` present in the same space, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=my-shared-template/revisions/rev1
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template `my-shared-template` with its latest revision present in the same space, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=my-shared-template
To create the component `my-component` with a display name `My Component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template revision, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --display-name="My Component"
To create the component `my-component` with parameter key value pair of `region:us-central1` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --parameters=key=region,value=us-central1
Or run the following JSON example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --parameters='[{"key": "region", "value": "us-central1"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --parameters=my-parameters.yaml
arguments:
params:
- help_text: |-
Identifier. The component name.
is_positional: true
is_primary_resource: true
request_id_field: componentId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
required: true
- arg_name: shared-template-revision-uri
api_field: component.sharedTemplateRevisionUri
required: true
repeated: false
help_text: |-
The shared template used to generate the component.
- arg_name: parameters
api_field: component.parameters
required: false
repeated: true
help_text: |-
The component parameters.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: display-name
api_field: component.displayName
required: false
repeated: false
help_text: |-
The component display name.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components

View File

@@ -0,0 +1,102 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Create a component
description: Create a component in an application template.
examples: |-
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template revision, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a google shared template `google-shared-template` and revision `rev1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=google/google-shared-template/revisions/rev1
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a google shared template `google-shared-template` with its latest revision, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=google/google-shared-template
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template `my-shared-template` and revision `rev1` present in the same space, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=my-shared-template/revisions/rev1
To create the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template `my-shared-template` with its latest revision present in the same space, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=my-shared-template
To create the component `my-component` with a display name `My Component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` using a shared template revision, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --display-name="My Component"
To create the component `my-component` with parameter key value pair of `region:us-central1` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --parameters=key=region,value=us-central1
Or run the following JSON example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --parameters='[{"key": "region", "value": "us-central1"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --shared-template-revision-uri=projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1 --parameters=my-parameters.yaml
arguments:
params:
- help_text: |-
Identifier. The component name.
is_positional: true
is_primary_resource: true
request_id_field: componentId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
required: true
- arg_name: shared-template-revision-uri
api_field: component.sharedTemplateRevisionUri
required: true
repeated: false
help_text: |-
The shared template used to generate the component.
- arg_name: parameters
api_field: component.parameters
required: false
repeated: true
help_text: |-
The component parameters.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: display-name
api_field: component.displayName
required: false
repeated: false
help_text: |-
The component display name.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components

View File

@@ -0,0 +1,56 @@
# -*- 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: Delete a component
description: Delete a component in an application template.
examples: |-
To delete the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component
If your component contains child resources such as connections, force delete the component. To force delete the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The component name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the component's children are also deleted. If false, the
component is only deleted if it has no children.
default: null
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components

View File

@@ -0,0 +1,56 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Delete a component
description: Delete a component in an application template.
examples: |-
To delete the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component
If your component contains child resources such as connections, force delete the component. To force delete the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The component name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the component's children are also deleted. If false, the
component is only deleted if it has no children.
default: null
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components

View File

@@ -0,0 +1,43 @@
# -*- 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: Describe a component
description: Describe a component in an application template.
examples: |-
To describe the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component
arguments:
params:
- help_text: |-
The component name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Describe a component
description: Describe a component in an application template.
examples: |-
To describe the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component
arguments:
params:
- help_text: |-
The component name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components

View File

@@ -0,0 +1,57 @@
# -*- 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: List components
description: List components in an application template.
examples: |-
To list all components in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --application-template=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To filter and list components that contain a `my-component` prefix in the display name in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --filter="displayName:my-component*"
To list up to 10 components in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --limit=10
To list components sorted by display name in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --sort-by=displayName
arguments:
params:
- help_text: |-
The parent resource from which the list of components is requested.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components
response:
id_field: name

View File

@@ -0,0 +1,57 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: List components
description: List components in an application template.
examples: |-
To list all components in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --application-template=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To filter and list components that contain a `my-component` prefix in the display name in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --filter="displayName:my-component*"
To list up to 10 components in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --limit=10
To list components sorted by display name in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --sort-by=displayName
arguments:
params:
- help_text: |-
The parent resource from which the list of components is requested.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components
response:
id_field: name

View File

@@ -0,0 +1,98 @@
# -*- 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: Update a component
description: Update a component in an application template.
examples: |-
To update the display name to `My New Component Name` in the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --display-name="My New Component Name"
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component --display-name="My New Component Name"
To update the parameters with new key-value pairs of `project_id:new-project` and `service_name:new-service` for the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --parameters=key=project_id,value=new-project --add-parameters=key=service_name,value=new-service
Or run the following JSON example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --parameters='[{"key": "project_id", "value": "new-project"}, {"key": "service_name", "value": "new-service"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --parameters=my-parameters.yaml
To add new parameters key-value pair of `project_id:new-project` and `service_name:new-service` to the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --add-parameters=key=project_id,value=new-project --add-parameters=key=service_name,value=new-service
Or run the following JSON example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --add-parameters='[{"key": "project_id", "value": "new-project"}, {"key": "service_name", "value": "new-service"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --add-parameters=my-parameters.yaml
To clear all parameters from the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --clear-parameters
To remove an existing parameter key-value pair of `project_id:new-project` from the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --remove-parameters=key=project_id,value=my-project
arguments:
params:
- help_text: |-
Identifier. The component name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
required: true
- arg_name: parameters
api_field: component.parameters
required: false
repeated: true
help_text: |-
The component parameters.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: display-name
api_field: component.displayName
required: false
repeated: false
help_text: |-
The component display name.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components
update:
read_modify_update: true

View File

@@ -0,0 +1,98 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Update a component
description: Update a component in an application template.
examples: |-
To update the display name to `My New Component Name` in the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --display-name="My New Component Name"
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component --display-name="My New Component Name"
To update the parameters with new key-value pairs of `project_id:new-project` and `service_name:new-service` for the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --parameters=key=project_id,value=new-project --add-parameters=key=service_name,value=new-service
Or run the following JSON example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --parameters='[{"key": "project_id", "value": "new-project"}, {"key": "service_name", "value": "new-service"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --parameters=my-parameters.yaml
To add new parameters key-value pair of `project_id:new-project` and `service_name:new-service` to the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --add-parameters=key=project_id,value=new-project --add-parameters=key=service_name,value=new-service
Or run the following JSON example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --add-parameters='[{"key": "project_id", "value": "new-project"}, {"key": "service_name", "value": "new-service"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --add-parameters=my-parameters.yaml
To clear all parameters from the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --clear-parameters
To remove an existing parameter key-value pair of `project_id:new-project` from the component `my-component` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --remove-parameters=key=project_id,value=my-project
arguments:
params:
- help_text: |-
Identifier. The component name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
required: true
- arg_name: parameters
api_field: component.parameters
required: false
repeated: true
help_text: |-
The component parameters.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: display-name
api_field: component.displayName
required: false
repeated: false
help_text: |-
The component display name.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components
update:
read_modify_update: true

View File

@@ -0,0 +1,33 @@
# -*- 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
"""Manage connection resources."""
from googlecloudsdk.calliope import base
from surface.design_center.spaces.application_templates.components.connections import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class ConnectionsAlpha(extensions.ConnectionsAlpha):
"""Manage connection resources."""
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.Autogenerated
class ConnectionsGa(extensions.ConnectionsGa):
"""Manage connection resources."""

View File

@@ -0,0 +1,31 @@
# -*- 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
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class ConnectionsAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class ConnectionsBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class ConnectionsGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,99 @@
# -*- 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 connection
description: Create a connection between components in an application template.
examples: |-
To create the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` with a destination component `other-component`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component
Or run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-component
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-component
To create the connection `my-connection` with a parameter key-value pair of `type:connection-type` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` with a destination component `other-component`, run the following shorthand example:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component --parameters=key=type,value=connection-type
Or run the following JSON example:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component --parameters='[{"key": "type", "value": "connection-type"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component --parameters=my-parameters.yaml
arguments:
params:
- help_text: |-
Identifier. The connection name.
is_positional: true
is_primary_resource: true
request_id_field: connectionId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components_connections
required: true
- arg_name: destination-component-uri
help_text: |-
The destination component URI used to generate the connection.
Format is
`projects/$project/locations/$location/spaces/$space/applicationTemplates/$application_template/components/$component`
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
resource_method_params:
connection.destinationComponentUri: '{__relative_name__}'
required: true
- arg_name: source-component-parameters
api_field: connection.sourceComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the source component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: destination-component-parameters
api_field: connection.destinationComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the destination component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections

View File

@@ -0,0 +1,99 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Create a connection
description: Create a connection between components in an application template.
examples: |-
To create the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` with a destination component `other-component`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component
Or run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-component
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-component
To create the connection `my-connection` with a parameter key-value pair of `type:connection-type` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1` with a destination component `other-component`, run the following shorthand example:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component --parameters=key=type,value=connection-type
Or run the following JSON example:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component --parameters='[{"key": "type", "value": "connection-type"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-component --parameters=my-parameters.yaml
arguments:
params:
- help_text: |-
Identifier. The connection name.
is_positional: true
is_primary_resource: true
request_id_field: connectionId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components_connections
required: true
- arg_name: destination-component-uri
help_text: |-
The destination component URI used to generate the connection.
Format is
`projects/$project/locations/$location/spaces/$space/applicationTemplates/$application_template/components/$component`
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
resource_method_params:
connection.destinationComponentUri: '{__relative_name__}'
required: true
- arg_name: source-component-parameters
api_field: connection.sourceComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the source component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: destination-component-parameters
api_field: connection.destinationComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the destination component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections

View File

@@ -0,0 +1,43 @@
# -*- 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: Delete a connection
description: Delete a connection between components in an application template.
examples: |-
To delete the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection
arguments:
params:
- help_text: |-
The connection name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components_connections
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Delete a connection
description: Delete a connection between components in an application template.
examples: |-
To delete the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection
arguments:
params:
- help_text: |-
The connection name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components_connections
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections

View File

@@ -0,0 +1,43 @@
# -*- 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: Describe a connection
description: Describe a connection between components in an application template.
examples: |-
To describe the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection
arguments:
params:
- help_text: |-
Name of the resource
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components_connections
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Describe a connection
description: Describe a connection between components in an application template.
examples: |-
To describe the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection
arguments:
params:
- help_text: |-
Name of the resource
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components_connections
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections

View File

@@ -0,0 +1,45 @@
# -*- 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: List connections
description: List connections in a component of an application template.
examples: |-
To list all connections in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --component=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component
arguments:
params:
- help_text: |-
The parent resource from which to request a list of connections.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections
response:
id_field: name

View File

@@ -0,0 +1,45 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: List connections
description: List connections in a component of an application template.
examples: |-
To list all connections in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --component=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component
arguments:
params:
- help_text: |-
The parent resource from which to request a list of connections.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections
response:
id_field: name

View File

@@ -0,0 +1,110 @@
# -*- 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: Update a connection
description: Update a connection between components in an application template.
examples: |-
To update the destination component URI to `projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-new-component` in the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-new-component
Or run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-new-component
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-new-component
To add a new parameter key-value pair of `new_parameter_key:new-parameter` to the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-connection --application-template=my-app-template --component=my-component --space=my-space --project=my-project --location=us-central1 --add-parameters=key=project_id,value=new-project --add-parameters=key=new_parameter_key,value=new-parameter
Or run the following JSON example:
$ {command} my-connection --application-template=my-app-template --component=my-component --space=my-space --project=my-project --location=us-central1 --add-parameters='[{"key": "project_id", "value": "new-project"}, {"key": "new_parameter_key", "value": "new-parameter"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-connection --application-template=my-app-template --component=my-component --space=my-space --project=my-project --location=us-central1 --add-parameters=my-parameters.yaml
To clear all parameters from the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --clear-parameters
To remove an existing parameter key-value pair of `type:connection-type` from the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --remove-parameters=key=type,value=connection-type
arguments:
params:
- help_text: |-
Identifier. The connection name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components_connections
required: true
- arg_name: destination-component-uri
help_text: |-
The destination component URI used to generate the connection.
Format is
`projects/$project/locations/$location/spaces/$space/applicationTemplates/$application_template/components/$component`
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_components
resource_method_params:
connection.destinationComponentUri: '{__relative_name__}'
required: false
- arg_name: source-component-parameters
api_field: connection.sourceComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the source component.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: destination-component-parameters
api_field: connection.destinationComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the destination component.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections
update:
read_modify_update: true

View File

@@ -0,0 +1,110 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Update a connection
description: Update a connection between components in an application template.
examples: |-
To update the destination component URI to `projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-new-component` in the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=other-new-component
Or run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-new-component
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/my-component/connections/my-connection --destination-component-uri=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/components/other-new-component
To add a new parameter key-value pair of `new_parameter_key:new-parameter` to the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run the following shorthand example:
$ {command} my-connection --application-template=my-app-template --component=my-component --space=my-space --project=my-project --location=us-central1 --add-parameters=key=project_id,value=new-project --add-parameters=key=new_parameter_key,value=new-parameter
Or run the following JSON example:
$ {command} my-connection --application-template=my-app-template --component=my-component --space=my-space --project=my-project --location=us-central1 --add-parameters='[{"key": "project_id", "value": "new-project"}, {"key": "new_parameter_key", "value": "new-parameter"}]'
Or create a YAML or JSON file with the parameters and run the following file example:
$ {command} my-connection --application-template=my-app-template --component=my-component --space=my-space --project=my-project --location=us-central1 --add-parameters=my-parameters.yaml
To clear all parameters from the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --clear-parameters
To remove an existing parameter key-value pair of `type:connection-type` from the connection `my-connection` in component `my-component` of application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-connection --component=my-component --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --remove-parameters=key=type,value=connection-type
arguments:
params:
- help_text: |-
Identifier. The connection name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components_connections
required: true
- arg_name: destination-component-uri
help_text: |-
The destination component URI used to generate the connection.
Format is
`projects/$project/locations/$location/spaces/$space/applicationTemplates/$application_template/components/$component`
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_components
resource_method_params:
connection.destinationComponentUri: '{__relative_name__}'
required: false
- arg_name: source-component-parameters
api_field: connection.sourceComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the source component.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: destination-component-parameters
api_field: connection.destinationComponentParameters
required: false
repeated: true
help_text: |-
The parameters of the connection associated with the destination component.
clearable: true
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.components.connections
update:
read_modify_update: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,127 @@
# -*- 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.
"""Command to import IaC for an Application Template."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from googlecloudsdk.api_lib.design_center import application_templates as apis
from googlecloudsdk.calliope import base
from googlecloudsdk.command_lib.design_center import flags
from googlecloudsdk.api_lib.design_center import utils
_DETAILED_HELP = {
'DESCRIPTION': 'Import Infrastructure as Code (IaC) for a Design Center Application Template.',
'EXAMPLES': """ \
To import IaC from a Google Cloud Storage URI into the application template `my-template` in space `dev-space` and location `us-central1`, run:
$ {command} my-template --location=us-central1 --space=dev-space --gcs-uri=gs://my-bucket/iac
To import IaC from a local YAML file named `iac_module.yaml` into the application template `my-template` in space `dev-space` and location `us-central1`, run:
$ {command} my-template --location=us-central1 --space=dev-space --iac-module-from-file=iac_module.yaml
To import IaC from a Google Cloud Storage URI and allow partial import of valid edits into the application template `my-template`, run:
$ {command} my-template --location=us-central1 --space=dev-space --gcs-uri=gs://my-bucket/iac --allow-partial-import
To import IaC from a local YAML file and allow partial import of valid edits into the application template `my-template`, run:
$ {command} my-template --location=us-central1 --space=dev-space --iac-module-from-file=iac_module.yaml --allow-partial-import
To validate IaC from a Google Cloud Storage URI without importing into the application template `my-template`, run:
$ {command} my-template --location=us-central1 --space=dev-space --gcs-uri=gs://my-bucket/iac --validate-iac
To validate IaC from a local YAML file without importing into the application template `my-template`, run:
$ {command} my-template --location=us-central1 --space=dev-space --iac-module-from-file=iac_module.yaml --validate-iac
""",
'API REFERENCE': """ \
This command uses the designcenter/v1alpha API. The full documentation for
this API can be found at:
http://cloud.google.com/application-design-center/docs
""",
}
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.UniverseCompatible
class ImportIac(base.Command):
"""Import Infrastructure as Code (IaC) for an Application Template."""
detailed_help = _DETAILED_HELP
@staticmethod
def Args(parser):
flags.AddApplicationTemplateResourceArg(parser, verb='to import IaC into')
flags.AddImportIacFlags(parser)
def Run(self, args):
client = apis.ApplicationTemplatesClient(self.ReleaseTrack())
app_template_ref = args.CONCEPTS.application_template.Parse()
iac_module_msg = None
if args.iac_module_from_file:
iac_module_data = flags.ParseIacModuleFile(args.iac_module_from_file)
try:
iac_module_msg = utils.ParseIaCModuleData(client, iac_module_data)
except ValueError as e:
raise flags.arg_parsers.ArgumentTypeError(
'Invalid format for --iac-module-from-file: {}'.format(e))
response = client.ImportIac(
name=app_template_ref.RelativeName(),
gcs_uri=args.gcs_uri,
iac_module=iac_module_msg,
allow_partial_import=args.allow_partial_import,
validate_iac=args.validate_iac)
return response
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.UniverseCompatible
class ImportIacGa(base.Command):
"""Import Infrastructure as Code (IaC) for an Application Template."""
detailed_help = _DETAILED_HELP
@staticmethod
def Args(parser):
flags.AddApplicationTemplateResourceArg(parser, verb='to import IaC into')
flags.AddImportIacFlags(parser)
def Run(self, args):
client = apis.ApplicationTemplatesClient(self.ReleaseTrack())
app_template_ref = args.CONCEPTS.application_template.Parse()
iac_module_msg = None
if args.iac_module_from_file:
iac_module_data = flags.ParseIacModuleFile(args.iac_module_from_file)
try:
iac_module_msg = utils.ParseIaCModuleData(client, iac_module_data)
except ValueError as e:
raise flags.arg_parsers.ArgumentTypeError(
'Invalid format for --iac-module-from-file: {}'.format(e))
response = client.ImportIac(
name=app_template_ref.RelativeName(),
gcs_uri=args.gcs_uri,
iac_module=iac_module_msg,
allow_partial_import=args.allow_partial_import,
validate_iac=args.validate_iac)
return response

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,35 @@
# -*- 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
"""Manage application template revision resources."""
from googlecloudsdk.calliope import base
from surface.design_center.spaces.application_templates.revisions import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class ApplicationTemplateRevisionsAlpha(
extensions.ApplicationTemplateRevisionsAlpha
):
"""Manage application template revision resources."""
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.Autogenerated
class ApplicationTemplateRevisionsGa(extensions.ApplicationTemplateRevisionsGa):
"""Manage application template revision resources."""

View File

@@ -0,0 +1,31 @@
# -*- 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
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class ApplicationTemplateRevisionsAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class ApplicationTemplateRevisionsBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class ApplicationTemplateRevisionsGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,43 @@
# -*- 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: Delete an application template revision
description: Delete an application template revision.
examples: |-
To delete the application template revision `my-revision` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-revision --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/my-revision
arguments:
params:
- help_text: |-
The application template revision name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_revisions
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.revisions

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Delete an application template revision
description: Delete an application template revision.
examples: |-
To delete the application template revision `my-revision` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-revision --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/my-revision
arguments:
params:
- help_text: |-
The application template revision name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_revisions
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.revisions

View File

@@ -0,0 +1,43 @@
# -*- 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: Describe an application template revision
description: Describe an application template revision.
examples: |-
To describe the application template revision `my-revision` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-revision --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/my-revision
arguments:
params:
- help_text: |-
The application template revision name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates_revisions
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.revisions

View File

@@ -0,0 +1,43 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Describe an application template revision
description: Describe an application template revision.
examples: |-
To describe the application template revision `my-revision` in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-revision --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/my-revision
arguments:
params:
- help_text: |-
The application template revision name.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates_revisions
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.revisions

View File

@@ -0,0 +1,53 @@
# -*- 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: List application template revisions
description: List application template revisions in an application template.
examples: |-
To list all application template revisions in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --application-template=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To list up to 10 application template revisions in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --limit=10
To list application template revisions sorted by creation time in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --sort-by=createTime
arguments:
params:
- help_text: |-
The parent from which to list application template revisions.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applicationTemplates.revisions
response:
id_field: name

View File

@@ -0,0 +1,53 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: List application template revisions
description: List application template revisions in an application template.
examples: |-
To list all application template revisions in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --application-template=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template
To list up to 10 application template revisions in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --limit=10
To list application template revisions sorted by creation time in application template `my-app-template`, space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --application-template=my-app-template --space=my-space --project=my-project --location=us-central1 --sort-by=createTime
arguments:
params:
- help_text: |-
The parent from which to list application template revisions.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_application_templates
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applicationTemplates.revisions
response:
id_field: name

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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
_PARTIALS_: true

View File

@@ -0,0 +1,33 @@
# -*- 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
"""Manage application resources."""
from googlecloudsdk.calliope import base
from surface.design_center.spaces.applications import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class ApplicationsAlpha(extensions.ApplicationsAlpha):
"""Manage application resources."""
@base.ReleaseTracks(base.ReleaseTrack.GA)
@base.Autogenerated
class ApplicationsGa(extensions.ApplicationsGa):
"""Manage application resources."""

View File

@@ -0,0 +1,31 @@
# -*- 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
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class ApplicationsAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class ApplicationsBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class ApplicationsGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,398 @@
# -*- 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 an application
description: Create an application in a space.
examples: |-
To create the application `my-application` with a display name `My Application`, description `My application description`, scope type `global` and source application template revision `projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --display-name="My Application" --description="My application description" --scope-type=global --source-application-template-revision=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1
To create the application `my-application` with a deployment project `my-deployment-project`, deployment region `us-east1`, scope type `regional` and source application template revision `projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --deployment-project=my-deployment-project --deployment-region=us-east1 --scope-type=regional --source-application-template-revision=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1
arguments:
params:
- help_text: |-
Identifier. The name of the application.
Format:
projects/{project}/locations/{location}/spaces/{space}/applications/{application}
is_positional: true
is_primary_resource: true
request_id_field: applicationId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_applications
required: true
- group:
api_field: application.source
required: true
help_text: |-
Source template information for the deployment.
params:
- group:
mutex: true
help_text: |-
Arguments for the source.
params:
- arg_name: source-application-template-revision
api_field: application.source.applicationTemplateRevision
required: false
repeated: false
help_text: |-
Application template revision URI.
- arg_name: source-shared-template-revision-uri
api_field: application.source.sharedTemplateRevisionUri
required: false
repeated: false
help_text: |-
Shared template revision URI.
- arg_name: app-parameters
api_field: application.appParameters
required: false
repeated: true
help_text: |-
A list of parameters to attach to the deployment source object, which is a
catalog entry or application template snapshot.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: component-parameters
api_field: application.componentParameters
required: false
repeated: true
help_text: |-
A list of component parameters to associate with the application.
spec:
- api_field: component
help_text: |-
The name of the component parameter.
- api_field: parameters
help_text: |-
A list of parameters associated with the component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: service-account
api_field: application.serviceAccount
required: false
repeated: false
help_text: |-
Your own service account that you use to deploy an application.
- arg_name: display-name
api_field: application.displayName
required: false
repeated: false
help_text: |-
Display name of the application.
- arg_name: description
api_field: application.description
required: false
repeated: false
help_text: |-
Description of the application.
- group:
api_field: application.attributes
required: false
help_text: |-
Consumer provided attributes.
params:
- group:
api_field: application.attributes.criticality
required: false
help_text: |-
Criticality of the Application, Service, or Workload
params:
- arg_name: criticality-level
api_field: application.attributes.criticality.level
required: false
repeated: false
help_text: |-
Criticality level.
Can contain only lowercase letters, numeric characters,
underscores, and dashes. Can have a maximum length of 63 characters.
Deprecated: Please refer to type instead.
- arg_name: criticality-mission-critical
api_field: application.attributes.criticality.missionCritical
action: store_true
required: false
type: bool
help_text: |-
Indicates mission-critical Application, Service, or Workload.
Deprecated: Please refer to type instead.
default: null
- arg_name: criticality-type
api_field: application.attributes.criticality.type
required: true
help_text: |-
Criticality Type.
choices:
- arg_value: mission-critical
enum_value: MISSION_CRITICAL
help_text: |-
Mission critical service, application or workload.
- arg_value: high
enum_value: HIGH
help_text: |-
High impact.
- arg_value: medium
enum_value: MEDIUM
help_text: |-
Medium impact.
- arg_value: low
enum_value: LOW
help_text: |-
Low impact.
- group:
api_field: application.attributes.environment
required: false
help_text: |-
Environment of the Application, Service, or Workload
params:
- arg_name: environment
api_field: application.attributes.environment.environment
required: false
repeated: false
help_text: |-
Environment name.
Can contain only lowercase letters, numeric characters,
underscores, and dashes. Can have a maximum length of 63 characters.
Deprecated: Please refer to type instead.
- arg_name: environment-type
api_field: application.attributes.environment.type
required: true
help_text: |-
Environment Type.
choices:
- arg_value: production
enum_value: PRODUCTION
help_text: |-
Production environment.
- arg_value: staging
enum_value: STAGING
help_text: |-
Staging environment.
- arg_value: test
enum_value: TEST
help_text: |-
Test environment.
- arg_value: development
enum_value: DEVELOPMENT
help_text: |-
Development environment.
- arg_name: attributes-developer-owners
api_field: application.attributes.developerOwners
required: false
repeated: true
help_text: |-
Developer team that owns development and coding.
spec:
- api_field: displayName
help_text: |-
Contact's name.
Can have a maximum length of 63 characters.
- api_field: email
help_text: |-
Email address of the contacts.
- api_field: channel
help_text: |-
Communication channel of the contacts.
spec:
- api_field: uri
help_text: |-
URI of the channel.
- arg_name: attributes-operator-owners
api_field: application.attributes.operatorOwners
required: false
repeated: true
help_text: |-
Operator team that ensures runtime and operations.
spec:
- api_field: displayName
help_text: |-
Contact's name.
Can have a maximum length of 63 characters.
- api_field: email
help_text: |-
Email address of the contacts.
- api_field: channel
help_text: |-
Communication channel of the contacts.
spec:
- api_field: uri
help_text: |-
URI of the channel.
- arg_name: attributes-business-owners
api_field: application.attributes.businessOwners
required: false
repeated: true
help_text: |-
Business team that ensures user needs are met and value is delivered
spec:
- api_field: displayName
help_text: |-
Contact's name.
Can have a maximum length of 63 characters.
- api_field: email
help_text: |-
Email address of the contacts.
- api_field: channel
help_text: |-
Communication channel of the contacts.
spec:
- api_field: uri
help_text: |-
URI of the channel.
- group:
api_field: application.scope
required: true
help_text: |-
Scope of an application.
params:
- arg_name: scope-type
api_field: application.scope.type
required: true
help_text: |-
Scope Type.
choices:
- arg_value: regional
enum_value: REGIONAL
help_text: |-
Regional type.
- arg_value: global
enum_value: GLOBAL
help_text: |-
Global type.
- arg_name: import-existing-resources
api_field: application.importExistingResources
action: store_true
required: false
type: bool
help_text: |-
Import existing resources into the application.
default: null
- arg_name: deployment-region
api_field: application.deploymentRegion
required: false
repeated: false
help_text: |-
The region where the application is deployed.
- arg_name: deployment-project
api_field: application.deploymentProject
required: false
repeated: false
help_text: |-
Deployment project of the application.
- arg_name: connection-configs
api_field: application.connectionConfigs
required: false
repeated: true
help_text: |-
Connection configuration for the application.
spec:
- api_field: connectionUri
help_text: |-
The connection URI.
- api_field: sourceComponentParameters
help_text: |-
The parameters of the connection associated with the source component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- api_field: destinationComponentParameters
help_text: |-
The parameters of the connection associated with the destination component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: type
api_field: application.type
required: false
help_text: |-
The type of the application.
choices:
- arg_value: terraform-app
enum_value: TERRAFORM_APP
help_text: |-
Application type is terraform application.
- arg_value: helm-app
enum_value: HELM_APP
help_text: |-
Application type is helm application.
- group:
api_field: application.deploymentTarget
required: false
help_text: |-
The deployment target of the application.
params:
- group:
mutex: true
help_text: |-
Arguments for the target.
params:
- group:
api_field: application.deploymentTarget.gkeDeploymentTarget
required: false
help_text: |-
The GKE deployment target.
params:
- arg_name: gke-deployment-target-cluster-self-link
api_field: application.deploymentTarget.gkeDeploymentTarget.clusterSelfLink
required: true
repeated: false
help_text: |-
The self link of the cluster where GKE based application is deployed.
- arg_name: gke-deployment-target-namespace
api_field: application.deploymentTarget.gkeDeploymentTarget.namespace
required: true
repeated: false
help_text: |-
The namespace where the application is deployed.
- arg_name: gke-deployment-target-kubernetes-service-account
api_field: application.deploymentTarget.gkeDeploymentTarget.kubernetesServiceAccount
required: true
repeated: false
help_text: |-
The kubernetes service account that is created within the namespace
provided above.
Example: default or node-sa
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications

View File

@@ -0,0 +1,398 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Create an application
description: Create an application in a space.
examples: |-
To create the application `my-application` with a display name `My Application`, description `My application description`, scope type `global` and source application template revision `projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --display-name="My Application" --description="My application description" --scope-type=global --source-application-template-revision=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1
To create the application `my-application` with a deployment project `my-deployment-project`, deployment region `us-east1`, scope type `regional` and source application template revision `projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --deployment-project=my-deployment-project --deployment-region=us-east1 --scope-type=regional --source-application-template-revision=projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/rev1
arguments:
params:
- help_text: |-
Identifier. The name of the application.
Format:
projects/{project}/locations/{location}/spaces/{space}/applications/{application}
is_positional: true
is_primary_resource: true
request_id_field: applicationId
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_applications
required: true
- group:
api_field: application.source
required: true
help_text: |-
Source template information for the deployment.
params:
- group:
mutex: true
help_text: |-
Arguments for the source.
params:
- arg_name: source-application-template-revision
api_field: application.source.applicationTemplateRevision
required: false
repeated: false
help_text: |-
Application template revision URI.
- arg_name: source-shared-template-revision-uri
api_field: application.source.sharedTemplateRevisionUri
required: false
repeated: false
help_text: |-
Shared template revision URI.
- arg_name: app-parameters
api_field: application.appParameters
required: false
repeated: true
help_text: |-
A list of parameters to attach to the deployment source object, which is a
catalog entry or application template snapshot.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: component-parameters
api_field: application.componentParameters
required: false
repeated: true
help_text: |-
A list of component parameters to associate with the application.
spec:
- api_field: component
help_text: |-
The name of the component parameter.
- api_field: parameters
help_text: |-
A list of parameters associated with the component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: service-account
api_field: application.serviceAccount
required: false
repeated: false
help_text: |-
Your own service account that you use to deploy an application.
- arg_name: display-name
api_field: application.displayName
required: false
repeated: false
help_text: |-
Display name of the application.
- arg_name: description
api_field: application.description
required: false
repeated: false
help_text: |-
Description of the application.
- group:
api_field: application.attributes
required: false
help_text: |-
Consumer provided attributes.
params:
- group:
api_field: application.attributes.criticality
required: false
help_text: |-
Criticality of the Application, Service, or Workload
params:
- arg_name: criticality-level
api_field: application.attributes.criticality.level
required: false
repeated: false
help_text: |-
Criticality level.
Can contain only lowercase letters, numeric characters,
underscores, and dashes. Can have a maximum length of 63 characters.
Deprecated: Please refer to type instead.
- arg_name: criticality-mission-critical
api_field: application.attributes.criticality.missionCritical
action: store_true
required: false
type: bool
help_text: |-
Indicates mission-critical Application, Service, or Workload.
Deprecated: Please refer to type instead.
default: null
- arg_name: criticality-type
api_field: application.attributes.criticality.type
required: true
help_text: |-
Criticality Type.
choices:
- arg_value: mission-critical
enum_value: MISSION_CRITICAL
help_text: |-
Mission critical service, application or workload.
- arg_value: high
enum_value: HIGH
help_text: |-
High impact.
- arg_value: medium
enum_value: MEDIUM
help_text: |-
Medium impact.
- arg_value: low
enum_value: LOW
help_text: |-
Low impact.
- group:
api_field: application.attributes.environment
required: false
help_text: |-
Environment of the Application, Service, or Workload
params:
- arg_name: environment
api_field: application.attributes.environment.environment
required: false
repeated: false
help_text: |-
Environment name.
Can contain only lowercase letters, numeric characters,
underscores, and dashes. Can have a maximum length of 63 characters.
Deprecated: Please refer to type instead.
- arg_name: environment-type
api_field: application.attributes.environment.type
required: true
help_text: |-
Environment Type.
choices:
- arg_value: production
enum_value: PRODUCTION
help_text: |-
Production environment.
- arg_value: staging
enum_value: STAGING
help_text: |-
Staging environment.
- arg_value: test
enum_value: TEST
help_text: |-
Test environment.
- arg_value: development
enum_value: DEVELOPMENT
help_text: |-
Development environment.
- arg_name: attributes-developer-owners
api_field: application.attributes.developerOwners
required: false
repeated: true
help_text: |-
Developer team that owns development and coding.
spec:
- api_field: displayName
help_text: |-
Contact's name.
Can have a maximum length of 63 characters.
- api_field: email
help_text: |-
Email address of the contacts.
- api_field: channel
help_text: |-
Communication channel of the contacts.
spec:
- api_field: uri
help_text: |-
URI of the channel.
- arg_name: attributes-operator-owners
api_field: application.attributes.operatorOwners
required: false
repeated: true
help_text: |-
Operator team that ensures runtime and operations.
spec:
- api_field: displayName
help_text: |-
Contact's name.
Can have a maximum length of 63 characters.
- api_field: email
help_text: |-
Email address of the contacts.
- api_field: channel
help_text: |-
Communication channel of the contacts.
spec:
- api_field: uri
help_text: |-
URI of the channel.
- arg_name: attributes-business-owners
api_field: application.attributes.businessOwners
required: false
repeated: true
help_text: |-
Business team that ensures user needs are met and value is delivered
spec:
- api_field: displayName
help_text: |-
Contact's name.
Can have a maximum length of 63 characters.
- api_field: email
help_text: |-
Email address of the contacts.
- api_field: channel
help_text: |-
Communication channel of the contacts.
spec:
- api_field: uri
help_text: |-
URI of the channel.
- group:
api_field: application.scope
required: true
help_text: |-
Scope of an application.
params:
- arg_name: scope-type
api_field: application.scope.type
required: true
help_text: |-
Scope Type.
choices:
- arg_value: regional
enum_value: REGIONAL
help_text: |-
Regional type.
- arg_value: global
enum_value: GLOBAL
help_text: |-
Global type.
- arg_name: import-existing-resources
api_field: application.importExistingResources
action: store_true
required: false
type: bool
help_text: |-
Import existing resources into the application.
default: null
- arg_name: deployment-region
api_field: application.deploymentRegion
required: false
repeated: false
help_text: |-
The region where the application is deployed.
- arg_name: deployment-project
api_field: application.deploymentProject
required: false
repeated: false
help_text: |-
Deployment project of the application.
- arg_name: connection-configs
api_field: application.connectionConfigs
required: false
repeated: true
help_text: |-
Connection configuration for the application.
spec:
- api_field: connectionUri
help_text: |-
The connection URI.
- api_field: sourceComponentParameters
help_text: |-
The parameters of the connection associated with the source component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- api_field: destinationComponentParameters
help_text: |-
The parameters of the connection associated with the destination component.
spec:
- api_field: key
help_text: |-
The key of the parameter.
- api_field: value
type: arg_json
help_text: |-
The value of the parameter.
- arg_name: type
api_field: application.type
required: false
help_text: |-
The type of the application.
choices:
- arg_value: terraform-app
enum_value: TERRAFORM_APP
help_text: |-
Application type is terraform application.
- arg_value: helm-app
enum_value: HELM_APP
help_text: |-
Application type is helm application.
- group:
api_field: application.deploymentTarget
required: false
help_text: |-
The deployment target of the application.
params:
- group:
mutex: true
help_text: |-
Arguments for the target.
params:
- group:
api_field: application.deploymentTarget.gkeDeploymentTarget
required: false
help_text: |-
The GKE deployment target.
params:
- arg_name: gke-deployment-target-cluster-self-link
api_field: application.deploymentTarget.gkeDeploymentTarget.clusterSelfLink
required: true
repeated: false
help_text: |-
The self link of the cluster where GKE based application is deployed.
- arg_name: gke-deployment-target-namespace
api_field: application.deploymentTarget.gkeDeploymentTarget.namespace
required: true
repeated: false
help_text: |-
The namespace where the application is deployed.
- arg_name: gke-deployment-target-kubernetes-service-account
api_field: application.deploymentTarget.gkeDeploymentTarget.kubernetesServiceAccount
required: true
repeated: false
help_text: |-
The kubernetes service account that is created within the namespace
provided above.
Example: default or node-sa
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications

View File

@@ -0,0 +1,61 @@
# -*- 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: Delete an application
description: Delete an application in a space.
examples: |-
To delete the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
If your application contains child resources, force delete the application. To force delete the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The application name.
Format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_applications
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the application's children are also deleted. If false, the
application is only deleted if it has no children.
default: null
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications
async:
collection:
- designcenter.projects.locations.operations

View File

@@ -0,0 +1,61 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Delete an application
description: Delete an application in a space.
examples: |-
To delete the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
If your application contains child resources, force delete the application. To force delete the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --force
arguments:
params:
- help_text: |-
The application name.
Format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_applications
required: true
- arg_name: force
api_field: force
action: store_true
required: false
type: bool
help_text: |-
If set to true, the application's children are also deleted. If false, the
application is only deleted if it has no children.
default: null
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications
async:
collection:
- designcenter.projects.locations.operations

View File

@@ -0,0 +1,101 @@
# -*- 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: Deploy an application
description: Deploy an application in a space.
examples: |-
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1` and replace the existing deployment, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --replace
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1` using a worker pool `projects/my-project/locations/us-central1/workerPools/my-worker-pool`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --worker-pool=projects/my-project/locations/us-central1/workerPools/my-worker-pool
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1` asynchronously, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --async
arguments:
params:
- help_text: |-
The application name.
Format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_applications
required: true
- arg_name: replace
api_field: deployApplicationRequest.replace
action: store_true
required: false
type: bool
help_text: |-
Flag to update the existing deployment. If not set or false, deploy will
fail if application `state` is in the `DEPLOYED` state.
default: null
- arg_name: worker-pool
api_field: deployApplicationRequest.workerPool
required: false
repeated: false
help_text: |-
The user-specified Worker Pool resource in which the Cloud Build job will
execute.
Format: projects/{project}/locations/{location}/workerPools/{workerPoolId}
If this flag is omitted, the worker pool already defined on the
application will be used. If no worker pool is defined on the application,
the default Cloud Build worker pool is used.
The worker pool must exist in the same region as the application.
- arg_name: service-account
api_field: deployApplicationRequest.serviceAccount
required: false
repeated: false
help_text: |-
The email address of the service account to use for this deployment.
- If provided, this service account will be used to execute the deployment
process, taking precedence over any service_account specified on the
Application resource.
- The caller must have the 'iam.serviceAccounts.actAs' permission on this
service account.
- If this field is omitted, the system will use the 'service_account'
defined within the Application resource.
- We recommend that you provide a service account here or on the
Application resource. If you don't provide a service account, the
deployment will fail.
Format: projects/{PROJECT}/serviceAccounts/{EMAIL_ADDRESS}
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications
method: deploy
async:
collection:
- designcenter.projects.locations.operations
command_type: GENERIC

View File

@@ -0,0 +1,101 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Deploy an application
description: Deploy an application in a space.
examples: |-
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1` and replace the existing deployment, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --replace
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1` using a worker pool `projects/my-project/locations/us-central1/workerPools/my-worker-pool`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --worker-pool=projects/my-project/locations/us-central1/workerPools/my-worker-pool
To deploy the application `my-application` in space `my-space`, project `my-project` and location `us-central1` asynchronously, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --async
arguments:
params:
- help_text: |-
The application name.
Format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_applications
required: true
- arg_name: replace
api_field: deployApplicationRequest.replace
action: store_true
required: false
type: bool
help_text: |-
Flag to update the existing deployment. If not set or false, deploy will
fail if application `state` is in the `DEPLOYED` state.
default: null
- arg_name: worker-pool
api_field: deployApplicationRequest.workerPool
required: false
repeated: false
help_text: |-
The user-specified Worker Pool resource in which the Cloud Build job will
execute.
Format: projects/{project}/locations/{location}/workerPools/{workerPoolId}
If this flag is omitted, the worker pool already defined on the
application will be used. If no worker pool is defined on the application,
the default Cloud Build worker pool is used.
The worker pool must exist in the same region as the application.
- arg_name: service-account
api_field: deployApplicationRequest.serviceAccount
required: false
repeated: false
help_text: |-
The email address of the service account to use for this deployment.
- If provided, this service account will be used to execute the deployment
process, taking precedence over any service_account specified on the
Application resource.
- The caller must have the 'iam.serviceAccounts.actAs' permission on this
service account.
- If this field is omitted, the system will use the 'service_account'
defined within the Application resource.
- We recommend that you provide a service account here or on the
Application resource. If you don't provide a service account, the
deployment will fail.
Format: projects/{PROJECT}/serviceAccounts/{EMAIL_ADDRESS}
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications
method: deploy
async:
collection:
- designcenter.projects.locations.operations
command_type: GENERIC

View File

@@ -0,0 +1,45 @@
# -*- 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: Describe an application
description: Describe an application in a space.
examples: |-
To describe the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
arguments:
params:
- help_text: |-
The application name.
Format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_applications
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications

View File

@@ -0,0 +1,45 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Describe an application
description: Describe an application in a space.
examples: |-
To describe the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
arguments:
params:
- help_text: |-
The application name.
Format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_applications
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications

View File

@@ -0,0 +1,120 @@
# -*- 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: Generate IaC for an application
description: Generates Terraform files for an application in a space.
examples: |-
To generate IaC for the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
To generate IaC for the application `my-application` in space `my-space`, project `my-project` and location `us-central1` and save to Cloud Storage bucket `my-bucket`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --gcs-uri=gs://my-bucket
To generate IaC for the application `my-application` in Terraform format in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --iac-format=terraform
arguments:
params:
- help_text: |-
The name of the application.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_applications
required: true
- arg_name: iac-format
api_field: generateApplicationIaCRequest.iacFormat
required: false
help_text: |-
The IaC format to generate.
choices:
- arg_value: terraform
enum_value: TERRAFORM
help_text: |-
IaC format is Terraform.
- arg_value: helm
enum_value: HELM
help_text: |-
IaC format is HELM.
- arg_name: gcs-uri
api_field: generateApplicationIaCRequest.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI to write the generated IaC to.
DEPRECATED: Use the 'artifact_location' field instead.
- group:
mutex: true
help_text: |-
Arguments for the location.
params:
- group:
api_field: generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig
required: false
help_text: |-
Through Developer Connect, defines a location where content such as
Infrastructure as Code (IaC) is stored.
params:
- arg_name: developer-connect-export-config-repo-uri
help_text: |-
The Developer Connect Git repository link, formatted as
`projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_connections_git_repository_links
resource_method_params:
generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig.developerConnectRepoUri: '{__relative_name__}'
required: true
- arg_name: developer-connect-export-config-branch
api_field: generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig.branch
required: false
repeated: false
help_text: |-
The branch in repo to which the content such as Infrastructure as Code
(IaC) should be written to. If empty, ADC will create a branch and push the
changes.
- arg_name: developer-connect-export-config-dir
api_field: generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig.dir
required: true
repeated: false
help_text: |-
Directory, relative to the source repo, where content such as
Infrastructure as Code (IaC) will be stored.
This must be a relative path.To specify the root directory, use '/'.
If the path or any subdirectories do not exist, they will be created.
- arg_name: artifact-location-gcs-uri
api_field: generateApplicationIaCRequest.artifactLocation.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI for storing the generated IaC.
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications
method: generate
command_type: GENERIC

View File

@@ -0,0 +1,120 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Generate IaC for an application
description: Generates Terraform files for an application in a space.
examples: |-
To generate IaC for the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
To generate IaC for the application `my-application` in space `my-space`, project `my-project` and location `us-central1` and save to Cloud Storage bucket `my-bucket`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --gcs-uri=gs://my-bucket
To generate IaC for the application `my-application` in Terraform format in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --iac-format=terraform
arguments:
params:
- help_text: |-
The name of the application.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_applications
required: true
- arg_name: iac-format
api_field: generateApplicationIaCRequest.iacFormat
required: false
help_text: |-
The IaC format to generate.
choices:
- arg_value: terraform
enum_value: TERRAFORM
help_text: |-
IaC format is Terraform.
- arg_value: helm
enum_value: HELM
help_text: |-
IaC format is HELM.
- arg_name: gcs-uri
api_field: generateApplicationIaCRequest.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI to write the generated IaC to.
DEPRECATED: Use the 'artifact_location' field instead.
- group:
mutex: true
help_text: |-
Arguments for the location.
params:
- group:
api_field: generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig
required: false
help_text: |-
Through Developer Connect, defines a location where content such as
Infrastructure as Code (IaC) is stored.
params:
- arg_name: developer-connect-export-config-repo-uri
help_text: |-
The Developer Connect Git repository link, formatted as
`projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_connections_git_repository_links
resource_method_params:
generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig.developerConnectRepoUri: '{__relative_name__}'
required: true
- arg_name: developer-connect-export-config-branch
api_field: generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig.branch
required: false
repeated: false
help_text: |-
The branch in repo to which the content such as Infrastructure as Code
(IaC) should be written to. If empty, ADC will create a branch and push the
changes.
- arg_name: developer-connect-export-config-dir
api_field: generateApplicationIaCRequest.artifactLocation.developerConnectExportConfig.dir
required: true
repeated: false
help_text: |-
Directory, relative to the source repo, where content such as
Infrastructure as Code (IaC) will be stored.
This must be a relative path.To specify the root directory, use '/'.
If the path or any subdirectories do not exist, they will be created.
- arg_name: artifact-location-gcs-uri
api_field: generateApplicationIaCRequest.artifactLocation.gcsUri
required: false
repeated: false
help_text: |-
The Cloud Storage URI for storing the generated IaC.
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications
method: generate
command_type: GENERIC

View File

@@ -0,0 +1,57 @@
# -*- 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: List applications
description: List applications in a space.
examples: |-
To list all applications in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --space=projects/my-project/locations/us-central1/spaces/my-space
To filter and list applications that contain a `my-application` prefix in the display name in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --filter="displayName:my-application*"
To list up to 10 applications in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --limit=10
To list applications sorted by display name in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --sort-by=displayName
arguments:
params:
- help_text: |-
The parent resource from which to request a list of applications.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces
required: true
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications
response:
id_field: name

View File

@@ -0,0 +1,57 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: List applications
description: List applications in a space.
examples: |-
To list all applications in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} --space=projects/my-project/locations/us-central1/spaces/my-space
To filter and list applications that contain a `my-application` prefix in the display name in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --filter="displayName:my-application*"
To list up to 10 applications in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --limit=10
To list applications sorted by display name in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} --space=my-space --project=my-project --location=us-central1 --sort-by=displayName
arguments:
params:
- help_text: |-
The parent resource from which to request a list of applications.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces
required: true
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications
response:
id_field: name

View File

@@ -0,0 +1,87 @@
# -*- 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: Preview an application
description: Preview an application in a space.
examples: |-
To preview the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
To preview the application `my-application` in space `my-space`, project `my-project` and location `us-central1` using a worker pool `projects/my-project/locations/us-central1/workerPools/my-worker-pool`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --worker-pool=projects/my-project/locations/us-central1/workerPools/my-worker-pool
To preview the application `my-application` in space `my-space`, project `my-project` and location `us-central1` asynchronously, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --async
arguments:
params:
- help_text: |-
The application name in the following format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1alpha_resources:projects_locations_spaces_applications
required: true
- arg_name: worker-pool
api_field: previewApplicationRequest.workerPool
required: false
repeated: false
help_text: |-
The user-specified Worker Pool resource in which the Cloud Build job will
execute.
Format: projects/{project}/locations/{location}/workerPools/{workerPoolId}
If this flag is omitted, the worker pool already defined on the
application will be used. If no worker pool is defined on the application,
the default Cloud Build worker pool is used.
The worker pool must exist in the same region as the application.
- arg_name: service-account
api_field: previewApplicationRequest.serviceAccount
required: false
repeated: false
help_text: |-
The email address of the service account to use for this preview operation.
- If provided, this service account will be used to execute the preview
process, taking precedence over any service_account specified on the
Application resource.
- The caller must have the 'iam.serviceAccounts.actAs' permission on this
service account.
- If this field is omitted, the system will use the 'service_account'
defined within the Application resource.
- We recommend that you provide a service account here or on the
Application resource. If you don't provide a service account, the preview
will fail.
Format: projects/{PROJECT}/serviceAccounts/{EMAIL_ADDRESS}
request:
api_version: v1alpha
collection:
- designcenter.projects.locations.spaces.applications
method: preview
async:
collection:
- designcenter.projects.locations.operations
command_type: GENERIC

View File

@@ -0,0 +1,87 @@
# -*- 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:
- GA
auto_generated: true
help_text:
brief: Preview an application
description: Preview an application in a space.
examples: |-
To preview the application `my-application` in space `my-space`, project `my-project` and location `us-central1`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1
Or run:
$ {command} projects/my-project/locations/us-central1/spaces/my-space/applications/my-application
To preview the application `my-application` in space `my-space`, project `my-project` and location `us-central1` using a worker pool `projects/my-project/locations/us-central1/workerPools/my-worker-pool`, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --worker-pool=projects/my-project/locations/us-central1/workerPools/my-worker-pool
To preview the application `my-application` in space `my-space`, project `my-project` and location `us-central1` asynchronously, run:
$ {command} my-application --space=my-space --project=my-project --location=us-central1 --async
arguments:
params:
- help_text: |-
The application name in the following format:
projects/$project/locations/$location/spaces/$space/applications/$application
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.design_center.v1_resources:projects_locations_spaces_applications
required: true
- arg_name: worker-pool
api_field: previewApplicationRequest.workerPool
required: false
repeated: false
help_text: |-
The user-specified Worker Pool resource in which the Cloud Build job will
execute.
Format: projects/{project}/locations/{location}/workerPools/{workerPoolId}
If this flag is omitted, the worker pool already defined on the
application will be used. If no worker pool is defined on the application,
the default Cloud Build worker pool is used.
The worker pool must exist in the same region as the application.
- arg_name: service-account
api_field: previewApplicationRequest.serviceAccount
required: false
repeated: false
help_text: |-
The email address of the service account to use for this preview operation.
- If provided, this service account will be used to execute the preview
process, taking precedence over any service_account specified on the
Application resource.
- The caller must have the 'iam.serviceAccounts.actAs' permission on this
service account.
- If this field is omitted, the system will use the 'service_account'
defined within the Application resource.
- We recommend that you provide a service account here or on the
Application resource. If you don't provide a service account, the preview
will fail.
Format: projects/{PROJECT}/serviceAccounts/{EMAIL_ADDRESS}
request:
api_version: v1
collection:
- designcenter.projects.locations.spaces.applications
method: preview
async:
collection:
- designcenter.projects.locations.operations
command_type: GENERIC

Some files were not shown because too many files have changed in this diff Show More