Skip to content

Commit

Permalink
az rule
Browse files Browse the repository at this point in the history
  • Loading branch information
cmendible committed May 16, 2024
1 parent c43013f commit 80f7f51
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
12 changes: 12 additions & 0 deletions internal/scanners/vgw/rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,17 @@ func (a *VirtualNetworkGatewayScanner) GetVirtualNetworkGatewayRules() map[strin
},
Url: "https://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services",
},
"vgw-005": {
Id: "vgw-005",
Category: scanners.RulesCategoryHighAvailability,
Recommendation: "Storage should have availability zones enabled",
Impact: scanners.ImpactHigh,
Eval: func(target interface{}, scanContext *scanners.ScanContext) (bool, string) {
g := target.(*armnetwork.VirtualNetworkGateway)
sku := string(*g.Properties.SKU.Name)
return !strings.HasSuffix(strings.ToLower(sku), "az"), ""
},
Url: "https://learn.microsoft.com/en-us/azure/vpn-gateway/create-zone-redundant-vnet-gateway",
},
}
}
34 changes: 34 additions & 0 deletions internal/scanners/vgw/rules_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,40 @@ func TestVirtualNetworkGatewayScanner_Rules(t *testing.T) {
result: "99.95%",
},
},
{
name: "VirtualNetworkGatewayScanner without AZ",
fields: fields{
rule: "vgw-005",
target: &armnetwork.VirtualNetworkGateway{
Properties: &armnetwork.VirtualNetworkGatewayPropertiesFormat{
SKU: &armnetwork.VirtualNetworkGatewaySKU{
Name: to.Ptr(armnetwork.VirtualNetworkGatewaySKUNameBasic),
}},
},
scanContext: &scanners.ScanContext{},
},
want: want{
broken: true,
result: "",
},
},
{
name: "VirtualNetworkGatewayScanner with AZ",
fields: fields{
rule: "vgw-005",
target: &armnetwork.VirtualNetworkGateway{
Properties: &armnetwork.VirtualNetworkGatewayPropertiesFormat{
SKU: &armnetwork.VirtualNetworkGatewaySKU{
Name: to.Ptr(armnetwork.VirtualNetworkGatewaySKUNameErGw1AZ),
}},
},
scanContext: &scanners.ScanContext{},
},
want: want{
broken: false,
result: "",
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down

0 comments on commit 80f7f51

Please sign in to comment.