standard
turbot/gcp_thrifty

Pipeline: Detect & correct long-running AlloyDB instances exceeding max age

Detect & correct AlloyDB instances exceeding max age

Overview

AlloyDB instances can be costly to run, especially if they're rarely used, instances exceeding a certain age should be reviewed to determine if they're still required.

This pipeline detects AlloyDB instances exceeding a certain age and then either sends a notification or attempts to perform a predefined corrective action.

Getting Started

This control will work out-of-the-box with some sensible defaults (configurable via variables).

You should be able to simply run the following command in your terminal:

flowpipe pipeline run detect_and_correct_alloydb_instances_exceeding_max_age

By default, Flowpipe runs in wizard mode and prompts directly in the terminal for a decision on the action(s) to take for each detected resource.

However, you can run Flowpipe in server mode with external integrations, allowing it to prompt for input via http, slack, teams, etc.

Alternatively, you can choose to configure and run in other modes:

  • Notify: Provides detections without taking any corrective action.
  • Automatic: Performs corrective actions automatically without user intervention.

Run the pipeline

To run this pipeline from your terminal:

flowpipe pipeline run gcp_thrifty.pipeline.detect_and_correct_alloydb_instances_exceeding_max_age

Use this pipeline

To call this pipeline from your pipeline, use a step:

step "pipeline" "step_name" {
pipeline = gcp_thrifty.pipeline.detect_and_correct_alloydb_instances_exceeding_max_age
}

Params

NameTypeRequiredDescriptionDefault
database
connection.steampipe
YesDatabase connection string.connection.steampipe.default
notifier
notifier
YesThe name of the notifier to use for sending notification messages.notifier.default
notification_level
string
info, verbose, error
YesThe verbosity level of notification messages to send.info
approvers
list(notifier)
YesList of notifiers to be used for obtaining action/approval decisions.notifier.default
default_action
string
notify, skip, delete_alloydb_instance
YesThe default action to use for the detected item, used if no input is provided.notify
enabled_actions
list(string)
skip, delete_alloydb_instance
YesThe list of enabled actions to provide to approvers for selection.
[
"skip",
"delete_alloydb_instance"
]

Outputs

This pipeline has no outputs.

Tags

category = Cost
class = unused
plugin = gcp
recommended = true
service = GCP/AlloyDB