diff --git a/blueprints/cloud-operations/network-dashboard/cloud-function/main.py b/blueprints/cloud-operations/network-dashboard/cloud-function/main.py index 9cfea04a..9f284136 100644 --- a/blueprints/cloud-operations/network-dashboard/cloud-function/main.py +++ b/blueprints/cloud-operations/network-dashboard/cloud-function/main.py @@ -197,4 +197,4 @@ def main(event, context): if __name__ == "__main__": - main(None, None) + main(None, None) \ No newline at end of file diff --git a/blueprints/cloud-operations/network-dashboard/cloud-function/metrics/limits.py b/blueprints/cloud-operations/network-dashboard/cloud-function/metrics/limits.py index 8b3d5ae9..d17f8be4 100644 --- a/blueprints/cloud-operations/network-dashboard/cloud-function/metrics/limits.py +++ b/blueprints/cloud-operations/network-dashboard/cloud-function/metrics/limits.py @@ -168,4 +168,4 @@ def count_effective_limit(config, project_id, network_dict, usage_metric_name, limit_metric_name, network_dict['network_name']) metrics.write_data_to_metric(config, project_id, utilization, utilization_metric_name, - network_dict['network_name']) + network_dict['network_name']) \ No newline at end of file diff --git a/blueprints/cloud-operations/quota-monitoring/README.md b/blueprints/cloud-operations/quota-monitoring/README.md index c80a7756..adcd89d6 100644 --- a/blueprints/cloud-operations/quota-monitoring/README.md +++ b/blueprints/cloud-operations/quota-monitoring/README.md @@ -28,7 +28,7 @@ Labels are set with project id (which may differ from the monitoring workspace p GCP Metrics Explorer, usage, limit and utilization view sample -The solution also creates a basic monitoring alert policy, to demonstrate how to raise alerts when quotas utilization goes over a predefined threshold. +The solution can also create a basic monitoring alert policy, to demonstrate how to raise alerts when quotas utilization goes over a predefined threshold, to enable it, set variable `alert_create` to true and reapply main.tf after main.py has run at least one and quota monitoring metrics have been creaed. ## Running the blueprint @@ -42,12 +42,13 @@ Clone this repository or [open it in cloud shell](https://ssh.cloud.google.com/c | name | description | type | required | default | |---|---|:---:|:---:|:---:| -| [project_id](variables.tf#L35) | Project id that references existing project. | string | ✓ | | -| [bundle_path](variables.tf#L17) | Path used to write the intermediate Cloud Function code bundle. | string | | "./bundle.zip" | -| [name](variables.tf#L23) | Arbitrary string used to name created resources. | string | | "quota-monitor" | -| [project_create](variables.tf#L29) | Create project instead ofusing an existing one. | bool | | false | -| [quota_config](variables.tf#L40) | Cloud function configuration. | object({…}) | | {…} | -| [region](variables.tf#L54) | Compute region used in the example. | string | | "europe-west1" | -| [schedule_config](variables.tf#L60) | Schedule timer configuration in crontab format. | string | | "0 * * * *" | +| [project_id](variables.tf#L41) | Project id that references existing project. | string | ✓ | | +| [alert_create](variables.tf#L17) | Enables the creation of a sample monitoring alert, false by default. | bool | | false | +| [bundle_path](variables.tf#L23) | Path used to write the intermediate Cloud Function code bundle. | string | | "./bundle.zip" | +| [name](variables.tf#L29) | Arbitrary string used to name created resources. | string | | "quota-monitor" | +| [project_create](variables.tf#L35) | Create project instead of using an existing one. | bool | | false | +| [quota_config](variables.tf#L46) | Cloud function configuration. | object({…}) | | {…} | +| [region](variables.tf#L60) | Compute region used in the example. | string | | "europe-west1" | +| [schedule_config](variables.tf#L66) | Schedule timer configuration in crontab format. | string | | "0 * * * *" | diff --git a/blueprints/cloud-operations/quota-monitoring/main.tf b/blueprints/cloud-operations/quota-monitoring/main.tf index 0a4de23b..13804ba9 100644 --- a/blueprints/cloud-operations/quota-monitoring/main.tf +++ b/blueprints/cloud-operations/quota-monitoring/main.tf @@ -106,7 +106,9 @@ resource "google_project_iam_member" "quota_viewer" { member = module.cf.service_account_iam_email } + resource "google_monitoring_alert_policy" "alert_policy" { + count = var.alert_create ? 1 : 0 project = module.project.project_id display_name = "Quota monitor" combiner = "OR" @@ -137,6 +139,7 @@ resource "google_monitoring_alert_policy" "alert_policy" { } } + resource "random_pet" "random" { length = 1 } diff --git a/blueprints/cloud-operations/quota-monitoring/variables.tf b/blueprints/cloud-operations/quota-monitoring/variables.tf index 2b69aa1c..53ca0f63 100644 --- a/blueprints/cloud-operations/quota-monitoring/variables.tf +++ b/blueprints/cloud-operations/quota-monitoring/variables.tf @@ -14,6 +14,12 @@ * limitations under the License. */ +variable "alert_create" { + description = "Enables the creation of a sample monitoring alert, false by default." + type = bool + default = false +} + variable "bundle_path" { description = "Path used to write the intermediate Cloud Function code bundle." type = string @@ -27,7 +33,7 @@ variable "name" { } variable "project_create" { - description = "Create project instead ofusing an existing one." + description = "Create project instead of using an existing one." type = bool default = false }