-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathmetadata.yaml
170 lines (169 loc) · 5.39 KB
/
metadata.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# Copyright 2023 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-cloud-functions
annotations:
config.kubernetes.io/local-config: "true"
spec:
title: Terraform Google Cloud Functions (Gen 2) module
source:
repo: sso://user/prabhuramasamy/terraform-google-cloud-functions
sourceType: git
version: 0.6.0
actuationTool:
type: Terraform
version: '>= 0.13'
examples:
- name: cloud_function2_gcs_source
location: examples/cloud_function2_gcs_source
- name: cloud_function2_pubsub_trigger
location: examples/cloud_function2_pubsub_trigger
variables:
- name: build_env_variables
description: User-provided build-time environment variables
type: map(string)
required: false
- name: description
description: Short description of the function
type: string
required: false
- name: docker_repository
description: User managed repository created in Artifact Registry optionally with a customer managed encryption key.
type: string
required: false
- name: entrypoint
description: The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified
type: string
required: true
- name: event_trigger
description: Event triggers for the function
type: |-
object({
trigger_region = string
event_type = string
service_account_email = string
pubsub_topic = string
retry_policy = string
event_filters = set(object({
attribute = string
attribute_value = string
operator = string
}))
})
required: false
- name: function_location
description: The location of this cloud function
type: string
required: true
- name: function_name
description: A user-defined name of the function
type: string
required: true
- name: labels
description: A set of key/value label pairs associated with this Cloud Function
type: map(string)
required: false
- name: project_id
description: Project ID to create Cloud Function
type: string
required: true
- name: repo_source
description: Get the source from this location in a Cloud Source Repository
type: |-
object({
project_id = string
repo_name = string
branch_name = string
dir = string
tag_name = string
commit_sha = string
invert_regex = bool
})
required: false
- name: runtime
description: The runtime in which to run the function.
type: string
required: true
- name: service_config
description: Details of the service
type: |-
object({
max_instance_count = string
min_instance_count = string
available_memory = string
timeout_seconds = string
runtime_env_variables = map(string)
runtime_secret_env_variables = set(object({
key_name = string
project_id = string
secret = string
version = string
}))
secret_volumes = set(object({
mount_path = string
project_id = string
secret = string
versions = set(object({
version = string
path = string
}))
}))
vpc_connector = string
vpc_connector_egress_settings = string
ingress_settings = string
service_account_email = string
all_traffic_on_latest_revision = bool
})
default:
all_traffic_on_latest_revision: true
available_memory: 256M
ingress_settings: null
max_instance_count: "100"
min_instance_count: null
runtime_env_variables: null
runtime_secret_env_variables: null
secret_volumes: null
service_account_email: null
timeout_seconds: "60"
vpc_connector: null
vpc_connector_egress_settings: null
required: false
- name: storage_source
description: Get the source from this location in Google Cloud Storage
type: |-
object({
bucket = string
object = string
generation = string
})
required: false
- name: worker_pool
description: Name of the Cloud Build Custom Worker Pool that should be used to build the function.
type: string
required: false
outputs:
- name: function_name
description: Name of the Cloud Function (Gen 2)
- name: function_uri
description: URI of the Cloud Function (Gen 2)
roles:
- level: Project
roles:
- roles/owner
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com