frostmoln_appgw_flavors (Data Source)
The Application Gateway size catalog.
A size is described by what the appliance carries, not by the virtual machine it runs on: vcpus, ram_mb and disk_gb are no longer exposed, because they describe the substrate rather than the service.
max_listeners, max_routes, max_backends, max_waf_rules and max_waf_exclusions are structural caps, not guidance: exceeding one is refused. Size for the ruleset you intend to write, not only for the traffic.
The two WAF caps are separate budgets, each counted across all of a gateway's policies — so tuning away a false positive never costs you room for a rule.
Example Usage
# The max_* values are structural caps, not guidance: creating more listeners,
# routes, backends, WAF rules or WAF exclusions than the size allows is refused.
# Size for the ruleset you intend to write, not only for the traffic.
#
# max_waf_rules and max_waf_exclusions are SEPARATE budgets, each counted across
# all of a gateway's WAF policies, so tuning away a false positive never costs
# you room for a rule. Exclusions are what routine tuning spends, and a gateway
# whose rule count looks comfortable can still run out of them.
data "frostmoln_appgw_flavors" "available" {}
locals {
# The smallest size that can hold the ruleset we are about to write.
suitable = [
for f in data.frostmoln_appgw_flavors.available.flavors :
f if f.max_waf_rules >= 200 && f.max_waf_exclusions >= 100 && f.max_routes >= 50
]
}
output "smallest_suitable_flavor" {
value = local.suitable[0].id
}Schema
Optional
include_inactive(Boolean, Deprecated) Deprecated and inert. The customer catalog endpoint returns only sizes that are currently offered, so there is nothing for this to include.
Read-Only
flavors(Attributes List) The sizes on offer. (see below for nested schema)
Nested Schema for flavors
Read-Only:
active(Boolean) Whether new gateways may be created on this size.description(String) What this size is for.id(String) The flavor id, e.g.agw.co1.medium.max_backends(Number) Maximum backends. Enforced.max_concurrent_connections(Number) Concurrent connections this size allows. Enforced: a listener whosemax_connectionsexceeds it is refused at create, and a stored value above it is clamped when the configuration is rendered. Derived frommax_requests_per_secondrather than stored, so it cannot disagree with the limit the appliance is actually built with.max_listeners(Number) Maximum listeners. Enforced.max_requests_per_second(Number) Rated throughput. NOT enforced and not a guarantee — real throughput depends on your rules, TLS settings and backends. It is the basismax_concurrent_connectionsis derived from.max_routes(Number) Maximum routes. Enforced.max_waf_exclusions(Number) Maximum WAF exclusions, counted across all of the gateway's WAF policies. Enforced: exceeding it is refused, not throttled.A separate budget from
max_waf_rules, so tuning away a false positive never costs you room for a rule.max_waf_rules(Number) Maximum WAF rules. Enforced.name(String) The display name.pricing_tier(String) The pricing category this size bills under.