metadata.yaml (122 lines of code) (raw):
# Copyright 2025 Google LLC
#
# 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.
apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
name: terraform-google-apphub
annotations:
config.kubernetes.io/local-config: "true"
spec:
info:
title: terraform-google-apphub
source:
repo: https://github.com/GoogleCloudPlatform/terraform-google-apphub
sourceType: git
version: 0.3.0
actuationTool:
flavor: Terraform
version: ">=1.3"
description: {}
icon: assets/icon.png
content:
examples:
- name: simple_example
location: examples/simple_example
interfaces:
variables:
- name: project_id
description: The project ID of the host project where AppHub application is created.
varType: string
required: true
- name: location
description: The location of AppHub application.
varType: string
required: true
- name: service_project_ids
description: The list of service projects to attach with host project.
varType: list(string)
defaultValue: []
- name: create_application
description: Create apphub application when true
varType: bool
defaultValue: false
- name: application_id
description: The AppHub application identifier
varType: string
required: true
- name: display_name
description: User-defined name for the AppHub application
varType: string
defaultValue: ""
- name: description
description: User-defined description of AppHub application
varType: string
defaultValue: ""
- name: scope
description: "Scope of the AppHub application. Possible values are: REGIONAL, GLOBAL."
varType: "object({ type : string })"
defaultValue:
type: REGIONAL
- name: attributes
description: Attributes for the AppHub application
varType: |-
object({
environment : optional(object({ type : string })),
criticality : optional(object({ type : string })),
business_owners : optional(object({ email : string, display_name : optional(string, "") })),
developer_owners : optional(object({ email : string, display_name : optional(string, "") })),
operator_owners : optional(object({ email : string, display_name : optional(string, "") }))
})
- name: service_uris
description: The list of service uris in CAIS style to register
varType: "list(object({ service_uri : string, service_id : string, location : string }))"
defaultValue: []
connections:
- source:
source: github.com/terraform-google-modules/terraform-google-sql-db//modules/postgresql
version: ">= 23.0"
spec:
outputExpr: apphub_service_uri
- source:
source: github.com/terraform-google-modules/terraform-google-memorystore
version: ">= 12.0"
spec:
outputExpr: apphub_service_uri
- name: workload_uris
description: The list of workload uris in CAIS style to register
varType: "list(object({ workload_uri : string, workload_id : string, location : string }))"
defaultValue: []
connections:
- source:
source: github.com/GoogleCloudPlatform/terraform-google-cloud-run//modules/v2
version: ">= 0.14"
spec:
outputExpr: apphub_service_uri
- source:
source: github.com/terraform-google-modules/terraform-google-vm//modules/mig
version: ">= 12.1.2"
spec:
outputExpr: apphub_service_uri
outputs:
- name: application_id
description: The apphub application id in format projects/{{project}}/locations/{{location}}/applications/{{application_id}}
type: string
- name: service_ids
description: The list of service ids registered with application.
type:
- list
- string
- name: workload_ids
description: The list of workload ids registered with application.
type:
- list
- string
requirements:
roles:
- level: Project
roles:
- roles/owner
services:
- apphub.googleapis.com
- serviceusage.googleapis.com
providerVersions:
- source: hashicorp/google
version: ">= 3.53, < 7"