- Correct App Service Plans if unused
- Correct Compute disks attached to stopped VMs
- Correct Compute disks exceeding max size
- Correct Compute unattached disks
- Correct Compute disks with high IOPS
- Correct Compute disks with low usage
- Correct Compute snapshots exceeding max age
- Correct Compute snapshots with premium storage
- Correct Compute virtual machines exceeding max age
- Correct Compute virtual machines with low utilization
- Correct HDInsight clusters exceeding max age
- Correct Kubernetes clusters exceeding max age
- Correct Kusto clusters exceeding max age
- Correct Kusto clusters without autoscaling
- Correct Monitor log profiles without retention policy
- Correct Network application gateways without autoscaling
- Correct Network load balancers if unused
- Correct Network NAT gateways if unused
- Correct Network unattached public IPs
- Correct Network virtual network gateways if unused
- Correct one App Service Plan if unused
- Correct one Compute disks attached to stopped VMs
- Correct one Compute disk unattached
- Correct one Compute disk with high IOPS
- Correct one Compute disk with low usage
- Correct one Compute disk exceeding max size
- Correct one Compute snapshot exceeding max age
- Correct one Compute snapshot with premium storage
- Correct one Compute virtual machine exceeding max age
- Correct one Compute virtual machine with low utilization
- Correct one HDInsight cluster exceeding max age
- Correct one Kubernetes cluster exceeding max age
- Correct one Kusto cluster exceeding max age
- Correct one Kusto cluster without autoscaling
- Correct one Monitor log profile without retention policy
- Correct one Network application gateway without autoscaling
- Correct one Network load balancer if unused
- Correct one Network NAT gateway if unused
- Correct one Network unattached public IP
- Correct one Network virtual network gateway if unused
- Correct one Service Fabric cluster exceeding max age
- Correct one SQL database exceeding max age
- Correct one Storage account without lifecycle policy
- Correct one Compute virtual machine scale set if unused
- Correct Service Fabric clusters exceeding max age
- Correct SQL databases exceeding max age
- Correct Storage accounts without lifecycle policy
- Correct Compute virtual machine scale sets if unused
- Detect & correct App Service Plans if unused
- Detect & correct Compute disks attached to stopped VMs
- Detect & correct Compute disks unattached
- Detect & correct Compute disks with high IOPS
- Detect & correct Compute disk with low usage
- Detect & correct Compute snapshots exceeding max age
- Detect & correct Compute snapshots with premium storage
- Detect & correct Compute virtual machines exceeding max age
- Detect & correct Compute virtual machines with low utilization
- Detect & correct Compute disks exceeding max size
- Detect & correct HDInsight clusters exceeding max age
- Detect & correct Kubernetes clusters exceeding max age
- Detect & correct Kusto clusters exceeding max age
- Detect & correct Kusto clusters without autoscaling
- Detect & correct Monitor log profiles without retention policy
- Detect & correct Network application gateways without autoscaling
- Detect & correct Network load balancers if unused
- Detect & correct Network NAT gateways if unused
- Detect & correct Network unattached public IPs
- Detect & correct Network virtual network gateways if unused
- Detect & correct Service Fabric clusters exceeding max age
- Detect & correct SQL databases exceeding max age
- Detect & correct Storage accounts without lifecycle policy
- Detect & correct Compute virtual machine scale sets if unused
- Delete Compute Disk
Detect & correct Network Application Gateways without autoscaling
Autoscaling for Azure Application Gateways can provide significant cost optimization benefits by dynamically adjusting the number of instances based on traffic load. This ensures that you are only paying for the resources you need at any given time, avoiding over-provisioning during low traffic periods.
Getting Started
This control works out-of-the-box with sensible defaults, configurable via variables.
You should be able to simply run the following command in your terminal:
flowpipe pipeline run detect_and_correct_network_application_gateways_without_autoscaling
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 azure_thrifty.pipeline.detect_and_correct_network_application_gateways_without_autoscaling
Use this pipeline
To call this pipeline from your pipeline, use a step:
step "pipeline" "step_name" { pipeline = azure_thrifty.pipeline.detect_and_correct_network_application_gateways_without_autoscaling }
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.