Skip to content

Commit 0193cb2

Browse files
feat: AppGW - Added RDTs (#6012)
## Description Added many resource-derived types for improved module usability ## Pipeline Reference <!-- Insert your Pipeline Status Badge below --> | Pipeline | | -------- | [![avm.res.network.application-gateway](https://github.com/Azure/bicep-registry-modules/actions/workflows/avm.res.network.application-gateway.yml/badge.svg?branch=users%2Falsehr%2FappGW&event=workflow_dispatch)](https://github.com/Azure/bicep-registry-modules/actions/workflows/avm.res.network.application-gateway.yml) ## Type of Change <!-- Use the checkboxes [x] on the options that are relevant. --> - Azure Verified Module updates: - [ ] Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in `version.json`: - [x] Feature update backwards compatible feature updates, and I have bumped the MINOR version in `version.json`. - [ ] Breaking changes and I have bumped the MAJOR version in `version.json`. - [ ] Update to documentation - [ ] Update to CI Environment or utilities (Non-module affecting changes)
1 parent 3f91d0c commit 0193cb2

File tree

7 files changed

+168
-178
lines changed

7 files changed

+168
-178
lines changed

avm/res/network/application-gateway/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
The latest version of the changelog can be found [here](https://github.com/Azure/bicep-registry-modules/blob/main/avm/res/network/application-gateway/CHANGELOG.md).
44

5+
## 0.7.2
6+
7+
### Changes
8+
9+
- Updated API version to `2024-10-01`
10+
- Added many resource-derived types for improved module usability
11+
12+
### Breaking Changes
13+
14+
- None
15+
516
## 0.7.1
617

718
### Changes

avm/res/network/application-gateway/README.md

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This module deploys a Network Application Gateway.
1818
| `Microsoft.Authorization/locks` | 2020-05-01 | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.authorization_locks.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks)</li></ul> |
1919
| `Microsoft.Authorization/roleAssignments` | 2022-04-01 | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.authorization_roleassignments.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments)</li></ul> |
2020
| `Microsoft.Insights/diagnosticSettings` | 2021-05-01-preview | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.insights_diagnosticsettings.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings)</li></ul> |
21-
| `Microsoft.Network/applicationGateways` | 2024-05-01 | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.network_applicationgateways.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2024-05-01/applicationGateways)</li></ul> |
21+
| `Microsoft.Network/applicationGateways` | 2024-10-01 | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.network_applicationgateways.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2024-10-01/applicationGateways)</li></ul> |
2222
| `Microsoft.Network/privateEndpoints` | 2024-05-01 | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.network_privateendpoints.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2024-05-01/privateEndpoints)</li></ul> |
2323
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | 2024-05-01 | <ul style="padding-left: 0px;"><li>[AzAdvertizer](https://www.azadvertizer.net/azresourcetypes/microsoft.network_privateendpoints_privatednszonegroups.html)</li><li>[Template reference](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2024-05-01/privateEndpoints/privateDnsZoneGroups)</li></ul> |
2424

@@ -5035,39 +5035,6 @@ Ssl cipher suites to be enabled in the specified order to application gateway.
50355035
'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'
50365036
]
50375037
```
5038-
- Allowed:
5039-
```Bicep
5040-
[
5041-
'TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA'
5042-
'TLS_DHE_DSS_WITH_AES_128_CBC_SHA'
5043-
'TLS_DHE_DSS_WITH_AES_128_CBC_SHA256'
5044-
'TLS_DHE_DSS_WITH_AES_256_CBC_SHA'
5045-
'TLS_DHE_DSS_WITH_AES_256_CBC_SHA256'
5046-
'TLS_DHE_RSA_WITH_AES_128_CBC_SHA'
5047-
'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256'
5048-
'TLS_DHE_RSA_WITH_AES_256_CBC_SHA'
5049-
'TLS_DHE_RSA_WITH_AES_256_GCM_SHA384'
5050-
'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA'
5051-
'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256'
5052-
'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256'
5053-
'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA'
5054-
'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384'
5055-
'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384'
5056-
'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA'
5057-
'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256'
5058-
'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'
5059-
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA'
5060-
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384'
5061-
'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'
5062-
'TLS_RSA_WITH_3DES_EDE_CBC_SHA'
5063-
'TLS_RSA_WITH_AES_128_CBC_SHA'
5064-
'TLS_RSA_WITH_AES_128_CBC_SHA256'
5065-
'TLS_RSA_WITH_AES_128_GCM_SHA256'
5066-
'TLS_RSA_WITH_AES_256_CBC_SHA'
5067-
'TLS_RSA_WITH_AES_256_CBC_SHA256'
5068-
'TLS_RSA_WITH_AES_256_GCM_SHA384'
5069-
]
5070-
```
50715038

50725039
### Parameter: `sslPolicyMinProtocolVersion`
50735040

avm/res/network/application-gateway/main.bicep

Lines changed: 27 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { managedIdentityOnlyUserAssignedType } from 'br/public:avm/utl/types/avm
1313
param managedIdentities managedIdentityOnlyUserAssignedType?
1414

1515
@description('Optional. Authentication certificates of the application gateway resource.')
16-
param authenticationCertificates array = []
16+
param authenticationCertificates resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.authenticationCertificates = []
1717

1818
@description('Optional. Upper bound on number of Application Gateway capacity.')
1919
param autoscaleMaxCapacity int = -1
@@ -22,13 +22,13 @@ param autoscaleMaxCapacity int = -1
2222
param autoscaleMinCapacity int = -1
2323

2424
@description('Optional. Backend address pool of the application gateway resource.')
25-
param backendAddressPools array = []
25+
param backendAddressPools resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.backendAddressPools = []
2626

2727
@description('Optional. Backend http settings of the application gateway resource.')
28-
param backendHttpSettingsCollection array = []
28+
param backendHttpSettingsCollection resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.backendHttpSettingsCollection = []
2929

3030
@description('Optional. Custom error configurations of the application gateway resource.')
31-
param customErrorConfigurations array = []
31+
param customErrorConfigurations resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.customErrorConfigurations = []
3232

3333
@description('Optional. Whether FIPS is enabled on the application gateway resource.')
3434
param enableFips bool = false
@@ -40,13 +40,13 @@ param enableHttp2 bool = false
4040
param firewallPolicyResourceId string?
4141

4242
@description('Optional. Frontend IP addresses of the application gateway resource.')
43-
param frontendIPConfigurations array = []
43+
param frontendIPConfigurations resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.frontendIPConfigurations = []
4444

4545
@description('Optional. Frontend ports of the application gateway resource.')
46-
param frontendPorts array = []
46+
param frontendPorts resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.frontendPorts = []
4747

4848
@description('Optional. Subnets of the application gateway resource.')
49-
param gatewayIPConfigurations array = []
49+
param gatewayIPConfigurations resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.gatewayIPConfigurations = []
5050

5151
@description('Optional. Enable request buffering.')
5252
param enableRequestBuffering bool = false
@@ -55,29 +55,29 @@ param enableRequestBuffering bool = false
5555
param enableResponseBuffering bool = false
5656

5757
@description('Optional. Http listeners of the application gateway resource.')
58-
param httpListeners array = []
58+
param httpListeners resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.httpListeners = []
5959

6060
@description('Optional. Load distribution policies of the application gateway resource.')
61-
param loadDistributionPolicies array = []
61+
param loadDistributionPolicies resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.loadDistributionPolicies = []
6262

6363
import { privateEndpointMultiServiceType } from 'br/public:avm/utl/types/avm-common-types:0.6.1'
6464
@description('Optional. Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.')
6565
param privateEndpoints privateEndpointMultiServiceType[]?
6666

6767
@description('Optional. PrivateLink configurations on application gateway.')
68-
param privateLinkConfigurations array = []
68+
param privateLinkConfigurations resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.privateLinkConfigurations = []
6969

7070
@description('Optional. Probes of the application gateway resource.')
71-
param probes array = []
71+
param probes resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.probes = []
7272

7373
@description('Optional. Redirect configurations of the application gateway resource.')
74-
param redirectConfigurations array = []
74+
param redirectConfigurations resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.redirectConfigurations = []
7575

7676
@description('Optional. Request routing rules of the application gateway resource.')
77-
param requestRoutingRules array = []
77+
param requestRoutingRules resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.requestRoutingRules = []
7878

7979
@description('Optional. Rewrite rules for the application gateway resource.')
80-
param rewriteRuleSets array = []
80+
param rewriteRuleSets resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.rewriteRuleSets = []
8181

8282
@description('Optional. The name of the SKU for the Application Gateway.')
8383
@allowed([
@@ -93,40 +93,10 @@ param sku string = 'WAF_v2'
9393
param capacity int = 2
9494

9595
@description('Optional. SSL certificates of the application gateway resource.')
96-
param sslCertificates array = []
96+
param sslCertificates resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.sslCertificates = []
9797

9898
@description('Optional. Ssl cipher suites to be enabled in the specified order to application gateway.')
99-
@allowed([
100-
'TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA'
101-
'TLS_DHE_DSS_WITH_AES_128_CBC_SHA'
102-
'TLS_DHE_DSS_WITH_AES_128_CBC_SHA256'
103-
'TLS_DHE_DSS_WITH_AES_256_CBC_SHA'
104-
'TLS_DHE_DSS_WITH_AES_256_CBC_SHA256'
105-
'TLS_DHE_RSA_WITH_AES_128_CBC_SHA'
106-
'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256'
107-
'TLS_DHE_RSA_WITH_AES_256_CBC_SHA'
108-
'TLS_DHE_RSA_WITH_AES_256_GCM_SHA384'
109-
'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA'
110-
'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256'
111-
'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256'
112-
'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA'
113-
'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384'
114-
'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384'
115-
'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA'
116-
'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256'
117-
'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'
118-
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA'
119-
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384'
120-
'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'
121-
'TLS_RSA_WITH_3DES_EDE_CBC_SHA'
122-
'TLS_RSA_WITH_AES_128_CBC_SHA'
123-
'TLS_RSA_WITH_AES_128_CBC_SHA256'
124-
'TLS_RSA_WITH_AES_128_GCM_SHA256'
125-
'TLS_RSA_WITH_AES_256_CBC_SHA'
126-
'TLS_RSA_WITH_AES_256_CBC_SHA256'
127-
'TLS_RSA_WITH_AES_256_GCM_SHA384'
128-
])
129-
param sslPolicyCipherSuites array = [
99+
param sslPolicyCipherSuites resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.sslPolicy.cipherSuites = [
130100
'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'
131101
'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'
132102
]
@@ -160,16 +130,16 @@ param sslPolicyName string = ''
160130
param sslPolicyType string = 'Custom'
161131

162132
@description('Optional. SSL profiles of the application gateway resource.')
163-
param sslProfiles array = []
133+
param sslProfiles resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.sslProfiles = []
164134

165135
@description('Optional. Trusted client certificates of the application gateway resource.')
166-
param trustedClientCertificates array = []
136+
param trustedClientCertificates resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.trustedClientCertificates = []
167137

168138
@description('Optional. Trusted Root certificates of the application gateway resource.')
169-
param trustedRootCertificates array = []
139+
param trustedRootCertificates resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.trustedRootCertificates = []
170140

171141
@description('Optional. URL path map of the application gateway resource.')
172-
param urlPathMaps array = []
142+
param urlPathMaps resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.urlPathMaps = []
173143

174144
@description('Optional. The list of Availability zones to use for the zone-redundant resources.')
175145
@allowed([
@@ -191,8 +161,8 @@ var formattedUserAssignedIdentities = reduce(
191161

192162
var identity = !empty(managedIdentities)
193163
? {
194-
type: !empty(managedIdentities.?userAssignedResourceIds ?? {}) ? 'UserAssigned' : null
195-
userAssignedIdentities: !empty(formattedUserAssignedIdentities) ? formattedUserAssignedIdentities : null
164+
type: !empty(managedIdentities.?userAssignedResourceIds ?? {}) ? 'UserAssigned' : 'None'
165+
userAssignedIdentities: !empty(formattedUserAssignedIdentities) ? formattedUserAssignedIdentities : any(null)
196166
}
197167
: null
198168

@@ -205,16 +175,16 @@ import { roleAssignmentType } from 'br/public:avm/utl/types/avm-common-types:0.5
205175
param roleAssignments roleAssignmentType[]?
206176

207177
@description('Optional. Resource tags.')
208-
param tags object?
178+
param tags resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.tags?
209179

210180
@description('Optional. Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/en-us/azure/azure-subscription-service-limits#application-gateway-limits).')
211-
param backendSettingsCollection array = []
181+
param backendSettingsCollection resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.backendSettingsCollection = []
212182

213183
@description('Optional. Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/en-us/azure/azure-subscription-service-limits#application-gateway-limits).')
214-
param listeners array = []
184+
param listeners resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.listeners = []
215185

216186
@description('Optional. Routing rules of the application gateway resource.')
217-
param routingRules array = []
187+
param routingRules resourceInput<'Microsoft.Network/applicationGateways@2024-07-01'>.properties.routingRules = []
218188

219189
@description('Optional. Enable/Disable usage telemetry for module.')
220190
param enableTelemetry bool = true
@@ -265,7 +235,7 @@ resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableT
265235
}
266236
}
267237

268-
resource applicationGateway 'Microsoft.Network/applicationGateways@2024-05-01' = {
238+
resource applicationGateway 'Microsoft.Network/applicationGateways@2024-10-01' = {
269239
name: name
270240
location: location
271241
tags: tags

0 commit comments

Comments
 (0)