2022-12-18 01:07:24 -08:00
/ * *
* Copyright 2022 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 .
* /
variable " bundle_path " {
description = " Path used to write the intermediate Cloud Function code bundle. "
type = string
default = " ./bundle.zip "
}
variable " cloud_function_config " {
description = " Optional Cloud Function configuration. "
type = object ( {
bucket_name = optional ( string )
build_worker_pool_id = optional ( string )
bundle_path = optional ( string , " ./bundle.zip " )
debug = optional ( bool , false )
memory_mb = optional ( number , 256 )
source_dir = optional ( string , " ../src " )
timeout_seconds = optional ( number , 540 )
2023-03-24 07:29:12 -07:00
vpc_connector = optional ( object ( {
name = string
egress_settings = optional ( string , " ALL_TRAFFIC " )
} ) )
2022-12-18 01:07:24 -08:00
} )
default = { }
nullable = false
}
variable " dashboard_json_path " {
description = " Optional monitoring dashboard to deploy. "
type = string
default = null
}
variable " discovery_config " {
2023-05-13 20:51:46 -07:00
description = " Discovery configuration. Discovery root is the organization or a folder. If monitored folders and projects are empty, every project under the discovery root node will be monitored. "
2022-12-18 01:07:24 -08:00
type = object ( {
discovery_root = string
monitored_folders = list ( string )
monitored_projects = list ( string )
custom_quota_file = optional ( string )
} )
nullable = false
validation {
condition = (
var . discovery_config . monitored_folders ! = null &&
var . discovery_config . monitored_projects ! = null
)
error_message = " Monitored folders and projects can be empty lists, but they cannot be null. "
}
}
variable " grant_discovery_iam_roles " {
description = " Optionally grant required IAM roles to Cloud Function service account. "
type = bool
default = false
nullable = false
}
variable " labels " {
description = " Billing labels used for the Cloud Function, and the project if project_create is true. "
type = map ( string )
default = { }
}
2023-03-24 07:29:12 -07:00
variable " monitoring_project " {
description = " Project where generated metrics will be written. Default is to use the same project where the Cloud Function is deployed. "
type = string
default = null
}
2022-12-18 01:07:24 -08:00
variable " name " {
description = " Name used to create Cloud Function related resources. "
type = string
default = " net-dash "
}
variable " project_create_config " {
description = " Optional configuration if project creation is required. "
type = object ( {
billing_account_id = string
parent_id = optional ( string )
} )
default = null
}
variable " project_id " {
description = " Project id where the Cloud Function will be deployed. "
type = string
}
variable " region " {
description = " Compute region where the Cloud Function will be deployed. "
type = string
default = " europe-west1 "
}
variable " schedule_config " {
description = " Schedule timer configuration in crontab format. "
type = string
2023-01-25 07:02:30 -08:00
default = " */30 * * * * "
2022-12-18 01:07:24 -08:00
}