- Correct AlloyDB clusters exceeding max age
- Correct AlloyDB instances exceeding max age
- Correct Compute addresses if unattached
- Correct Compute disks attached to stopped instances
- Correct Compute disks exceeding max size
- Correct Compute disks if unattached
- Correct Compute disks with low usage
- Correct Compute engine instances exceeding max age
- Correct Compute engine instances large
- Correct Compute instances with low utilization
- Correct Compute node groups without autoscaling
- Correct Compute snapshots exceeding max age
- Correct Dataproc clusters without autoscaling
- Correct Kubernetes clusters exceeding max age
- Correct GKE clusters without vertical pod autoscaling
- Correct Logging Buckets with high retention period
- Correct one AlloyDB cluster exceeding max age
- Correct one AlloyDB instance exceeding max age
- Correct one Compute address if unattached
- Correct one Compute disk attached to stopped instance
- Correct one Compute disk exceeding max size
- Correct one Compute disk if unattached
- Correct one Compute disk with low usage
- Correct one Compute engine instance exceeding max age
- Correct one Compute engine instance large
- Correct one Compute instance with low utilization
- Correct one Compute node group without autoscaling
- Correct one Compute snapshot exceeding max age
- Correct one Dataproc clusters without autoscaling
- Correct one Kubernetes cluster exceeding max age
- Correct one GKE cluster without vertical pod autoscaling
- Correct one Logging Bucket with high retention period
- Correct one Redis instance exceeding max age
- Correct one SQL database instance exceeding max age
- Correct one SQL DB instance with low connection count
- Correct one SQL DB instance with low cpu utilization
- Correct one Storage bucket without lifecycle policies
- Correct one VPN gateway with no tunnels
- Correct Redis instances exceeding max age
- Correct SQL database instances exceeding max age
- Correct SQL DB instances with low connection count
- Correct SQL DB instances with low cpu utilization
- Correct Storage buckets without lifecycle policies
- Correct VPN gateways with no tunnels
- Detach & delete Compute disk
- Detect & correct AlloyDB clusters exceeding max age
- Detect & correct long-running AlloyDB instances exceeding max age
- Detect & correct Compute addresses if unattached
- Detect & correct Compute disks attached to stopped instances
- Detect & correct Compute disks exceeding max size
- Detect & correct Compute disks if unattached
- Detect & correct Compute disks with low usage
- Detect & correct Compute engine instances exceeding max age
- Detect & correct Compute engine instances large
- Detect & correct Compute instances with low utilization
- Detect & correct Compute node groups without autoscaling
- Detect & correct Compute snapshots exceeding max age
- Detect & correct Dataproc clusters without autoscaling
- Detect & correct Kubernetes clusters exceeding max age
- Detect & correct GKE clusters without vertical pod autoscaling
- Detect & correct Logging Buckets with high retention period
- Detect & correct Redis instances exceeding max age
- Detect & correct SQL database instances exceeding max age
- Detect & correct SQL DB instances with low connection count
- Detect & correct SQL DB instances with low cpu utilization
- Detect & correct Storage buckets without lifecycle policies
- Detect & correct VPN gateways with no tunnels
- Snapshot & Delete Compute disk
- Snapshot & Detach & Delete Compute disk
- Stop & downgrade Compute instance
Detect & correct SQL DB instances exceeding max age
Overview
SQL DB instances can be costly to run, especially if they're rarely used, instances that have been running for a long time should be reviewed to determine if they're still required.
This control allows you to specify a threshold for how long an instance has been running and then either send a notification or attempt 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_sql_db_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:
Run the pipeline
To run this pipeline from your terminal:
flowpipe pipeline run gcp_thrifty.pipeline.detect_and_correct_sql_db_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_sql_db_instances_exceeding_max_age }
Params
Name | Type | Required | Description | Default |
---|---|---|---|---|
database | string | Yes | Database connection string. | postgres://steampipe@localhost:9193/steampipe |
notifier | string | Yes | The name of the notifier to use for sending notification messages. | default |
notification_level | string | Yes | The verbosity level of notification messages to send. Valid options are 'verbose', 'info', 'error'. | info |
approvers | list(string) | Yes | List of notifiers to be used for obtaining action/approval decisions. |
|
default_action | string | Yes | The default action to use for the detected item, used if no input is provided. | notify |
enabled_actions | list(string) | Yes | The list of enabled actions to provide to approvers for selection. |
|
Outputs
This pipeline has no outputs.