Documentation
¶
Overview ¶
Package waf contains the rules for Well Architected Alignment. To add a new rule, create a new file and add a new function that returns a new rule. Then add the rule to the Rules slice.
Index ¶
- func GetRules() []tflint.Rule
- type WafRules
- func (wf WafRules) AzurermApplicationGatewaySku() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermApplicationGatewayZones() *attrvalue.SetRule[int]
- func (wf WafRules) AzurermCosmosDbAccountBackupMode() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermKubernetesClusterZones() *attrvalue.SetRule[int]
- func (wf WafRules) AzurermLbSku() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermLegacyVirtualMachineNotAllowed() *attrvalue.UnknownValueRule
- func (wf WafRules) AzurermLinuxVirtualMachineOSDiskDefaultSSD() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermManagedDiskStorageAccountType() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermMySqlFlexibleServerCustomMaintenanceSchedule() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermMySqlFlexibleServerZoneRedundancy() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermPostgreSqlFlexibleServerCustomMaintenanceSchedule() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermPostgreSqlFlexibleServerZoneRedundancy() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermPublicIpSku() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermPublicIpZones() *attrvalue.SetRule[int]
- func (wf WafRules) AzurermServicePlanZoneBalancingEnabled() *attrvalue.SimpleRule[bool]
- func (wf WafRules) AzurermStorageAccountAccountReplicationType() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermVirtualMachineZoneUnknown() *attrvalue.UnknownValueRule
- func (wf WafRules) AzurermVirtualMachineZonesUnknown() *attrvalue.UnknownValueRule
- func (wf WafRules) AzurermVirtualNetworkGatewaySku() *attrvalue.SimpleRule[string]
- func (wf WafRules) AzurermVirtualNetworkGatewayVpnActiveActive() *attrvalue.SimpleRule[bool]
- func (wf WafRules) AzurermWindowsVirtualMachineOSDiskDefaultSSD() *attrvalue.SimpleRule[string]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type WafRules ¶ added in v0.8.0
type WafRules struct{}
WafRules is a helper struct. Methods are created on this type that generate the rules for the WAF package. We then use reflection to automatically generate a slice of the rules to add the the ruleset.
func (WafRules) AzurermApplicationGatewaySku ¶ added in v0.8.0
func (wf WafRules) AzurermApplicationGatewaySku() *attrvalue.SimpleRule[string]
func (WafRules) AzurermApplicationGatewayZones ¶ added in v0.8.0
func (WafRules) AzurermCosmosDbAccountBackupMode ¶ added in v0.8.0
func (wf WafRules) AzurermCosmosDbAccountBackupMode() *attrvalue.SimpleRule[string]
func (WafRules) AzurermKubernetesClusterZones ¶ added in v0.8.0
func (WafRules) AzurermLbSku ¶ added in v0.8.0
func (wf WafRules) AzurermLbSku() *attrvalue.SimpleRule[string]
func (WafRules) AzurermLegacyVirtualMachineNotAllowed ¶ added in v0.10.0
func (wf WafRules) AzurermLegacyVirtualMachineNotAllowed() *attrvalue.UnknownValueRule
This test checks for the use of resource type azurerm_virtual_machine since the azurerm_windows_virtual_machine and azurerm_linux_virtual_machine resources don't support unmanaged disks Since a test doesn't exist for checking the use of disallowed resource types, this uses an unknown value check on a required variable (name) to flag use of this resource.
func (WafRules) AzurermLinuxVirtualMachineOSDiskDefaultSSD ¶ added in v0.10.0
func (wf WafRules) AzurermLinuxVirtualMachineOSDiskDefaultSSD() *attrvalue.SimpleRule[string]
This test checks to see if a linux virtual machine's OS disk is one of the premium sku's
func (WafRules) AzurermManagedDiskStorageAccountType ¶ added in v0.10.0
func (wf WafRules) AzurermManagedDiskStorageAccountType() *attrvalue.SimpleRule[string]
This test validates where managed disk resource types are either premium or ultra. TODO: Ensure that this doesn't conflict with other module outcomes.
func (WafRules) AzurermMySqlFlexibleServerCustomMaintenanceSchedule ¶ added in v0.8.0
func (wf WafRules) AzurermMySqlFlexibleServerCustomMaintenanceSchedule() *attrvalue.SimpleRule[string]
func (WafRules) AzurermMySqlFlexibleServerZoneRedundancy ¶ added in v0.8.0
func (wf WafRules) AzurermMySqlFlexibleServerZoneRedundancy() *attrvalue.SimpleRule[string]
func (WafRules) AzurermPostgreSqlFlexibleServerCustomMaintenanceSchedule ¶ added in v0.8.0
func (wf WafRules) AzurermPostgreSqlFlexibleServerCustomMaintenanceSchedule() *attrvalue.SimpleRule[string]
func (WafRules) AzurermPostgreSqlFlexibleServerZoneRedundancy ¶ added in v0.8.0
func (wf WafRules) AzurermPostgreSqlFlexibleServerZoneRedundancy() *attrvalue.SimpleRule[string]
func (WafRules) AzurermPublicIpSku ¶ added in v0.8.0
func (wf WafRules) AzurermPublicIpSku() *attrvalue.SimpleRule[string]
func (WafRules) AzurermPublicIpZones ¶ added in v0.8.0
func (WafRules) AzurermServicePlanZoneBalancingEnabled ¶ added in v0.8.0
func (wf WafRules) AzurermServicePlanZoneBalancingEnabled() *attrvalue.SimpleRule[bool]
func (WafRules) AzurermStorageAccountAccountReplicationType ¶ added in v0.8.0
func (wf WafRules) AzurermStorageAccountAccountReplicationType() *attrvalue.SimpleRule[string]
func (WafRules) AzurermVirtualMachineZoneUnknown ¶ added in v0.8.0
func (wf WafRules) AzurermVirtualMachineZoneUnknown() *attrvalue.UnknownValueRule
func (WafRules) AzurermVirtualMachineZonesUnknown ¶ added in v0.8.0
func (wf WafRules) AzurermVirtualMachineZonesUnknown() *attrvalue.UnknownValueRule
func (WafRules) AzurermVirtualNetworkGatewaySku ¶ added in v0.8.0
func (wf WafRules) AzurermVirtualNetworkGatewaySku() *attrvalue.SimpleRule[string]
func (WafRules) AzurermVirtualNetworkGatewayVpnActiveActive ¶ added in v0.10.0
func (wf WafRules) AzurermVirtualNetworkGatewayVpnActiveActive() *attrvalue.SimpleRule[bool]
func (WafRules) AzurermWindowsVirtualMachineOSDiskDefaultSSD ¶ added in v0.10.0
func (wf WafRules) AzurermWindowsVirtualMachineOSDiskDefaultSSD() *attrvalue.SimpleRule[string]
This test checks to see if a windows virtual machine's OS disk is one of the premium sku's
Source Files
¶
- azurerm_application_gateway.go
- azurerm_cosmosdb_account.go
- azurerm_kubernetes_cluster.go
- azurerm_lb.go
- azurerm_mysql_flexible_server.go
- azurerm_postgresql_flexible_server.go
- azurerm_public_ip.go
- azurerm_service_plan.go
- azurerm_storage_account.go
- azurerm_virtual_machine.go
- azurerm_virtual_network_gateway.go
- waf.go