@@ -4,53 +4,56 @@ open Farmer
4
4
open Farmer.ApplicationGateway
5
5
open Farmer.Identity
6
6
7
+ [<Literal>]
8
+ let private apiVersion = " 2024-05-01"
9
+
7
10
let applicationGateways =
8
- ResourceType( " Microsoft.Network/applicationGateways" , " 2020-11-01 " )
11
+ ResourceType( " Microsoft.Network/applicationGateways" , apiVersion )
9
12
10
13
let applicationGatewayAuthenticationCertificates =
11
- ResourceType( " Microsoft.Network/applicationGateways/authenticationCertificates" , " 2020-11-01 " )
14
+ ResourceType( " Microsoft.Network/applicationGateways/authenticationCertificates" , apiVersion )
12
15
13
16
let applicationGatewayBackendHttpSettingsCollection =
14
- ResourceType( " Microsoft.Network/applicationGateways/backendHttpSettingsCollection" , " 2020-11-01 " )
17
+ ResourceType( " Microsoft.Network/applicationGateways/backendHttpSettingsCollection" , apiVersion )
15
18
16
19
let applicationGatewayBackendAddressPools =
17
- ResourceType( " Microsoft.Network/applicationGateways/backendAddressPools" , " 2020-11-01 " )
20
+ ResourceType( " Microsoft.Network/applicationGateways/backendAddressPools" , apiVersion )
18
21
19
22
let applicationGatewayFrontendIPConfigurations =
20
- ResourceType( " Microsoft.Network/applicationGateways/frontendIPConfigurations" , " 2020-11-01 " )
23
+ ResourceType( " Microsoft.Network/applicationGateways/frontendIPConfigurations" , apiVersion )
21
24
22
25
let applicationGatewayFrontendPorts =
23
- ResourceType( " Microsoft.Network/applicationGateways/frontendPorts" , " 2020-11-01 " )
26
+ ResourceType( " Microsoft.Network/applicationGateways/frontendPorts" , apiVersion )
24
27
25
28
let applicationGatewayHttpListeners =
26
- ResourceType( " Microsoft.Network/applicationGateways/httpListeners" , " 2020-11-01 " )
29
+ ResourceType( " Microsoft.Network/applicationGateways/httpListeners" , apiVersion )
27
30
28
31
let applicationGatewayPathRules =
29
- ResourceType( " Microsoft.Network/applicationGateways/pathRule" , " 2020-11-01 " )
32
+ ResourceType( " Microsoft.Network/applicationGateways/pathRule" , apiVersion )
30
33
31
34
let ApplicationGatewayProbes =
32
- ResourceType( " Microsoft.Network/applicationGateways/probes" , " 2020-11-01 " )
35
+ ResourceType( " Microsoft.Network/applicationGateways/probes" , apiVersion )
33
36
34
37
let applicationGatewayRedirectConfigurations =
35
- ResourceType( " Microsoft.Network/applicationGateways/redirectConfigurations" , " 2020-11-01 " )
38
+ ResourceType( " Microsoft.Network/applicationGateways/redirectConfigurations" , apiVersion )
36
39
37
40
let applicationGatewayRequestRoutingRules =
38
- ResourceType( " Microsoft.Network/applicationGateways/requestRoutingRules" , " 2020-11-01 " )
41
+ ResourceType( " Microsoft.Network/applicationGateways/requestRoutingRules" , apiVersion )
39
42
40
43
let applicationGatewayRewriteRuleSets =
41
- ResourceType( " Microsoft.Network/applicationGateways/rewriteRuleSets" , " 2020-11-01 " )
44
+ ResourceType( " Microsoft.Network/applicationGateways/rewriteRuleSets" , apiVersion )
42
45
43
46
let applicationGatewaySslCertificates =
44
- ResourceType( " Microsoft.Network/applicationGateways/sslCertificates" , " 2020-11-01 " )
47
+ ResourceType( " Microsoft.Network/applicationGateways/sslCertificates" , apiVersion )
45
48
46
49
let applicationGatewaySslProfiles =
47
- ResourceType( " Microsoft.Network/applicationGateways/sslProfiles" , " 2020-11-01 " )
50
+ ResourceType( " Microsoft.Network/applicationGateways/sslProfiles" , apiVersion )
48
51
49
52
let applicationGatewayTrustedRootCertificates =
50
- ResourceType( " Microsoft.Network/applicationGateways/trustedRootCertificates" , " 2020-11-01 " )
53
+ ResourceType( " Microsoft.Network/applicationGateways/trustedRootCertificates" , apiVersion )
51
54
52
55
let applicationGatewayUrlPathMaps =
53
- ResourceType( " Microsoft.Network/applicationGateways/urlPathMap" , " 2020-11-01 " )
56
+ ResourceType( " Microsoft.Network/applicationGateways/urlPathMap" , apiVersion )
54
57
55
58
type ApplicationGateway = {
56
59
Name: ResourceName
@@ -67,7 +70,7 @@ type ApplicationGateway = {
67
70
FrontendIpConfigs:
68
71
{|
69
72
Name: ResourceName
70
- PrivateIpAllocationMethod: PrivateIpAddress . AllocationMethod
73
+ PrivateIpAllocationMethod: AllocationMethod
71
74
PublicIp: ResourceId option
72
75
|} list
73
76
BackendAddressPools:
@@ -209,7 +212,7 @@ type ApplicationGateway = {
209
212
{|
210
213
Name: ResourceName
211
214
Data: string option
212
- KeyVaultSecretId: string
215
+ KeyVaultSecretId: string option
213
216
Password: string option
214
217
|} list
215
218
SslPolicy:
@@ -448,8 +451,8 @@ type ApplicationGateway = {
448
451
|> List.map ( fun frontend ->
449
452
let allocationMethod , ip =
450
453
match frontend.PrivateIpAllocationMethod with
451
- | PrivateIpAddress. DynamicPrivateIp -> " Dynamic" , null
452
- | PrivateIpAddress. StaticPrivateIp ip -> " Static" , string ip
454
+ | DynamicPrivateIp -> " Dynamic" , null
455
+ | StaticPrivateIp ip -> " Static" , string ip
453
456
454
457
{|
455
458
name = frontend.Name.Value
@@ -521,7 +524,7 @@ type ApplicationGateway = {
521
524
|})
522
525
requestRoutingRules =
523
526
this.RequestRoutingRules
524
- |> List.map ( fun routingRule -> {|
527
+ |> List.mapi ( fun idx routingRule -> {|
525
528
name = routingRule.Name.Value
526
529
properties = {|
527
530
backendAddressPool =
@@ -539,7 +542,7 @@ type ApplicationGateway = {
539
542
httpListener =
540
543
applicationGatewayHttpListeners.resourceId ( this.Name, routingRule.HttpListener)
541
544
|> ResourceId.AsIdObject
542
- priority = routingRule.Priority |> Option.toNullable
545
+ priority = routingRule.Priority |> Option.defaultValue ( 1000 + idx )
543
546
redirectConfiguration =
544
547
routingRule.RedirectConfiguration
545
548
|> Option.map (
@@ -614,7 +617,7 @@ type ApplicationGateway = {
614
617
name = cert.Name.Value
615
618
properties = {|
616
619
data = cert.Data |> Option.toObj
617
- keyVaultSecretId = cert.KeyVaultSecretId
620
+ keyVaultSecretId = cert.KeyVaultSecretId |> Option.toObj
618
621
password = cert.Password |> Option.toObj
619
622
|}
620
623
|})
0 commit comments