Skip to content

Commit fe36aff

Browse files
committed
Adds release notes for 1.9.10 release
1 parent 7a40279 commit fe36aff

File tree

4 files changed

+36
-26
lines changed

4 files changed

+36
-26
lines changed

RELEASE_NOTES.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
Release Notes
22
=============
33

4+
## 1.9.10
5+
* Application Gateways: Adds SSL Certificates
6+
* Network Security Groups: use ARM expressions in security rules
7+
* Gallery Applications: `source_media_link` can be an ARM expression
8+
49
## 1.9.9
510
* Virtual Machines: support for Azure Linux 3.0
611
* Virtual Machines: support for Standard SKU Public IP Address

src/Farmer/Builders/Builders.ApplicationGateway.fs

+19-18
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,10 @@ type HttpListenerBuilder() =
235235
member _.Protocol(state: HttpListenerConfig, protocol) = { state with Protocol = protocol }
236236

237237
[<CustomOperation "ssl_certificate">]
238-
member _.SslCertificate(state: HttpListenerConfig, sslCertificate: string) =
239-
{ state with SslCertificate = Some (ResourceName sslCertificate) }
238+
member _.SslCertificate(state: HttpListenerConfig, sslCertificate: string) = {
239+
state with
240+
SslCertificate = Some(ResourceName sslCertificate)
241+
}
240242

241243
let httpListener = HttpListenerBuilder()
242244

@@ -574,37 +576,35 @@ type BasicRequestRoutingRuleBuilder() =
574576
}
575577

576578
[<CustomOperation "priority">]
577-
member _.Priority(state: RequestRoutingRuleConfig, priority: int) = {
578-
state with Priority = Some priority
579-
}
579+
member _.Priority(state: RequestRoutingRuleConfig, priority: int) = { state with Priority = Some priority }
580580

581581
let basicRequestRoutingRule = BasicRequestRoutingRuleBuilder()
582582

583583
type SslCertificateConfig = {
584584
Name: ResourceName
585585
KeyVaultSecretId: string option
586586
} with
587-
static member BuildResource (conf:SslCertificateConfig) = {|
588-
Name = conf.Name
589-
Data = None // TODO: needs implementation after further testing.
590-
KeyVaultSecretId = conf.KeyVaultSecretId
591-
Password = None // TODO: needs implementation, will generate password parameter.
587+
588+
static member BuildResource(conf: SslCertificateConfig) = {|
589+
Name = conf.Name
590+
Data = None // TODO: needs implementation after further testing.
591+
KeyVaultSecretId = conf.KeyVaultSecretId
592+
Password = None // TODO: needs implementation, will generate password parameter.
592593
|}
593594

594-
type SslCertificateBuilder () =
595+
type SslCertificateBuilder() =
595596
member _.Yield _ = {
596597
Name = ResourceName.Empty
597598
KeyVaultSecretId = None
598599
}
599600

600601
[<CustomOperation "name">]
601-
member _.Name (config:SslCertificateConfig, name:string) = {
602-
config with Name = ResourceName name
603-
}
602+
member _.Name(config: SslCertificateConfig, name: string) = { config with Name = ResourceName name }
604603

605604
[<CustomOperation "key_vault_secret_id">]
606-
member _.KeyVaultSecretId (config:SslCertificateConfig, secretId:string) = {
607-
config with KeyVaultSecretId = Some secretId
605+
member _.KeyVaultSecretId(config: SslCertificateConfig, secretId: string) = {
606+
config with
607+
KeyVaultSecretId = Some secretId
608608
}
609609

610610
let sslCertificate = SslCertificateBuilder()
@@ -803,8 +803,9 @@ type AppGatewayBuilder() =
803803
}
804804

805805
[<CustomOperation "add_ssl_certificates">]
806-
member _.AddSslCertificates (state: AppGatewayConfig, sslCertificates: SslCertificateConfig list) = {
807-
state with SslCertificates = state.SslCertificates @ sslCertificates
806+
member _.AddSslCertificates(state: AppGatewayConfig, sslCertificates: SslCertificateConfig list) = {
807+
state with
808+
SslCertificates = state.SslCertificates @ sslCertificates
808809
}
809810

810811
let appGateway = AppGatewayBuilder()

src/Farmer/Farmer.fsproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
<PropertyGroup>
33
<!-- General -->
44
<AssemblyName>Farmer</AssemblyName>
5-
<Version>1.9.9</Version>
5+
<Version>1.9.10</Version>
66
<Description>Farmer makes authoring ARM templates easy!</Description>
7-
<Copyright>Copyright 2019-2024 Compositional IT Ltd.</Copyright>
7+
<Copyright>Copyright 2019-2025 Compositional IT Ltd.</Copyright>
88
<Company>Compositional IT</Company>
99
<Authors>Isaac Abraham and contributors</Authors>
1010

@@ -19,7 +19,7 @@
1919
<PackageId>Farmer</PackageId>
2020
<PackageIcon>Icon.jpg</PackageIcon>
2121
<PackageTags>azure;resource-manager;template;dsl;fsharp;infrastructure-as-code</PackageTags>
22-
<PackageReleaseNotes>https://raw.githubusercontent.com/CompositionalIT/farmer/master/RELEASE_NOTES.md</PackageReleaseNotes>
22+
<PackageReleaseNotes>https://github.com/CompositionalIT/farmer/blob/master/RELEASE_NOTES.md</PackageReleaseNotes>
2323
<PackageProjectUrl>https://compositionalit.github.io/farmer</PackageProjectUrl>
2424
<PackageLicenseFile>LICENSE</PackageLicenseFile>
2525
<PackageReadmeFile>readme.md</PackageReadmeFile>

src/Tests/AppGateway.fs

+9-5
Original file line numberDiff line numberDiff line change
@@ -361,12 +361,14 @@ let tests =
361361
add_backend_http_settings_collection [ backendSettings ]
362362
add_request_routing_rules [ routingRule ]
363363
add_probes [ healthProbe ]
364+
364365
add_ssl_certificates [
365366
sslCertificate {
366367
name "ag-test-cert"
367368
key_vault_secret_id "https://my-kv.vault.azure.net/secrets/app-gw-cert"
368369
}
369370
]
371+
370372
depends_on myNsg
371373
depends_on net
372374
}
@@ -378,16 +380,18 @@ let tests =
378380

379381
let jobj = deployment.Template |> Writer.toJson |> JObject.Parse
380382
let appGwProps = jobj.SelectToken("resources[?(@.name=='app-gw')].properties")
381-
let appGwHttpsCertId = appGwProps.SelectToken("httpListeners[0].properties.sslCertificate.id")
383+
384+
let appGwHttpsCertId =
385+
appGwProps.SelectToken("httpListeners[0].properties.sslCertificate.id")
386+
382387
Expect.equal
383388
(appGwHttpsCertId |> string)
384389
"[resourceId('Microsoft.Network/applicationGateways/sslCertificates', 'app-gw', 'ag-test-cert')]"
385390
"Generated incorrect references to HTTPS cert"
391+
386392
let appGwSslCert = appGwProps.SelectToken("sslCertificates[0]")
387-
Expect.equal
388-
(appGwSslCert["name"] |> string)
389-
"ag-test-cert"
390-
"Wrong name on SSL Certificate"
393+
Expect.equal (appGwSslCert["name"] |> string) "ag-test-cert" "Wrong name on SSL Certificate"
394+
391395
Expect.equal
392396
(appGwSslCert.SelectToken("properties.keyVaultSecretId") |> string)
393397
"https://my-kv.vault.azure.net/secrets/app-gw-cert"

0 commit comments

Comments
 (0)