From 3e066840f1c2be186041b57742805aaa453b4b61 Mon Sep 17 00:00:00 2001 From: Guillaume Beaud <79973892+gbeaud@users.noreply.github.com> Date: Wed, 10 Jul 2024 17:32:57 +0200 Subject: [PATCH] feat: #1785 output hostnames + feat: #2672 add the output hostname, endpointName, endpointId, uri in CDN Profile Module (#2675) ## Description Adding a set of outputs asked by users (non-breaking changes): - hostName - endpointName - endpointId - URI ## Pipeline Reference [![avm.res.cdn.profile](https://github.com/gbeaud/bicep-registry-modules/actions/workflows/avm.res.cdn.profile.yml/badge.svg?branch=feature%231785-output-hostnames-2)](https://github.com/gbeaud/bicep-registry-modules/actions/workflows/avm.res.cdn.profile.yml) ## Type of Change - [ ] Update to CI Environment or utilities (Non-module affecting changes) - [ ] Azure Verified Module updates: - [ ] Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in `version.json`: - [ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description. - [ ] The bug was found by the module author, and no one has opened an issue to report it yet. - [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 ## Checklist - [x] I'm sure there are no other open Pull Requests for the same update/change - [x] I have run `Set-AVMModule` locally to generate the supporting module files. - [x] My corresponding pipelines / checks run clean and green without any errors or warnings --------- Co-authored-by: Alexander Sehr --- avm/res/cdn/profile/README.md | 3 ++ avm/res/cdn/profile/afdEndpoint/README.md | 1 + avm/res/cdn/profile/afdEndpoint/main.bicep | 3 ++ avm/res/cdn/profile/afdEndpoint/main.json | 17 +++++--- .../cdn/profile/afdEndpoint/route/main.json | 6 +-- avm/res/cdn/profile/customdomain/main.json | 6 +-- avm/res/cdn/profile/endpoint/README.md | 1 + avm/res/cdn/profile/endpoint/main.bicep | 3 ++ avm/res/cdn/profile/endpoint/main.json | 17 +++++--- avm/res/cdn/profile/endpoint/origin/main.json | 6 +-- avm/res/cdn/profile/main.bicep | 9 ++++ avm/res/cdn/profile/main.json | 41 +++++++++++++++++-- avm/res/cdn/profile/origingroup/main.json | 10 ++--- .../cdn/profile/origingroup/origin/main.json | 6 +-- avm/res/cdn/profile/ruleset/main.json | 10 ++--- avm/res/cdn/profile/ruleset/rule/main.json | 6 +-- avm/res/cdn/profile/secret/main.json | 6 +-- 17 files changed, 110 insertions(+), 41 deletions(-) diff --git a/avm/res/cdn/profile/README.md b/avm/res/cdn/profile/README.md index 45ce097300..c789fbe1fd 100644 --- a/avm/res/cdn/profile/README.md +++ b/avm/res/cdn/profile/README.md @@ -849,11 +849,14 @@ Endpoint tags. | Output | Type | Description | | :-- | :-- | :-- | +| `endpointId` | string | The resource ID of the CDN profile endpoint. | +| `endpointName` | string | The name of the CDN profile endpoint. | | `location` | string | The location the resource was deployed into. | | `name` | string | The name of the CDN profile. | | `profileType` | string | The type of the CDN profile. | | `resourceGroupName` | string | The resource group where the CDN profile is deployed. | | `resourceId` | string | The resource ID of the CDN profile. | +| `uri` | string | The uri of the CDN profile endpoint. | ## Cross-referenced modules diff --git a/avm/res/cdn/profile/afdEndpoint/README.md b/avm/res/cdn/profile/afdEndpoint/README.md index 1824848d10..8534159c47 100644 --- a/avm/res/cdn/profile/afdEndpoint/README.md +++ b/avm/res/cdn/profile/afdEndpoint/README.md @@ -118,6 +118,7 @@ The tags of the AFD Endpoint. | `name` | string | The name of the AFD Endpoint. | | `resourceGroupName` | string | The name of the resource group the endpoint was created in. | | `resourceId` | string | The resource id of the AFD Endpoint. | +| `routes` | array | The list of routes assigned to the AFD endpoint. | ## Cross-referenced modules diff --git a/avm/res/cdn/profile/afdEndpoint/main.bicep b/avm/res/cdn/profile/afdEndpoint/main.bicep index f58b77ad8c..a280fcf07f 100644 --- a/avm/res/cdn/profile/afdEndpoint/main.bicep +++ b/avm/res/cdn/profile/afdEndpoint/main.bicep @@ -81,3 +81,6 @@ output resourceGroupName string = resourceGroup().name @description('The location the resource was deployed into.') output location string = afdEndpoint.location + +@description('The list of routes assigned to the AFD endpoint.') +output routes array = routes ?? [] diff --git a/avm/res/cdn/profile/afdEndpoint/main.json b/avm/res/cdn/profile/afdEndpoint/main.json index 925daf8da7..baf13ec542 100644 --- a/avm/res/cdn/profile/afdEndpoint/main.json +++ b/avm/res/cdn/profile/afdEndpoint/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "1139997023996590437" + "version": "0.28.1.47646", + "templateHash": "12134994933996412108" }, "name": "CDN Profiles AFD Endpoints", "description": "This module deploys a CDN Profile AFD Endpoint.", @@ -156,8 +156,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "5770374289363120600" + "version": "0.28.1.47646", + "templateHash": "4116565038484106851" }, "name": "CDN Profiles AFD Endpoint Route", "description": "This module deploys a CDN Profile AFD Endpoint route.", @@ -431,6 +431,13 @@ "description": "The location the resource was deployed into." }, "value": "[reference('afdEndpoint', '2023-05-01', 'full').location]" + }, + "routes": { + "type": "array", + "metadata": { + "description": "The list of routes assigned to the AFD endpoint." + }, + "value": "[coalesce(parameters('routes'), createArray())]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/afdEndpoint/route/main.json b/avm/res/cdn/profile/afdEndpoint/route/main.json index 5f6294f050..1febe02474 100644 --- a/avm/res/cdn/profile/afdEndpoint/route/main.json +++ b/avm/res/cdn/profile/afdEndpoint/route/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "5770374289363120600" + "version": "0.28.1.47646", + "templateHash": "4116565038484106851" }, "name": "CDN Profiles AFD Endpoint Route", "description": "This module deploys a CDN Profile AFD Endpoint route.", @@ -244,4 +244,4 @@ "value": "[resourceGroup().name]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/customdomain/main.json b/avm/res/cdn/profile/customdomain/main.json index 8966e5eb46..86709ccc54 100644 --- a/avm/res/cdn/profile/customdomain/main.json +++ b/avm/res/cdn/profile/customdomain/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "15721665305636481516" + "version": "0.28.1.47646", + "templateHash": "16920601274318465194" }, "name": "CDN Profiles Custom Domains", "description": "This module deploys a CDN Profile Custom Domains.", @@ -121,4 +121,4 @@ "value": "[resourceGroup().name]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/endpoint/README.md b/avm/res/cdn/profile/endpoint/README.md index ac8d86345a..1044e2e951 100644 --- a/avm/res/cdn/profile/endpoint/README.md +++ b/avm/res/cdn/profile/endpoint/README.md @@ -85,6 +85,7 @@ Endpoint tags. | `name` | string | The name of the endpoint. | | `resourceGroupName` | string | The name of the resource group the endpoint was created in. | | `resourceId` | string | The resource ID of the endpoint. | +| `uri` | string | The uri of the endpoint. | ## Cross-referenced modules diff --git a/avm/res/cdn/profile/endpoint/main.bicep b/avm/res/cdn/profile/endpoint/main.bicep index 2379bba4d0..6ce0fd6de9 100644 --- a/avm/res/cdn/profile/endpoint/main.bicep +++ b/avm/res/cdn/profile/endpoint/main.bicep @@ -64,3 +64,6 @@ output location string = endpoint.location @description('The properties of the endpoint.') output endpointProperties object = endpoint.properties + +@description('The uri of the endpoint.') +output uri string = 'https://${endpoint.properties.hostName}' diff --git a/avm/res/cdn/profile/endpoint/main.json b/avm/res/cdn/profile/endpoint/main.json index 51a7779ed9..2f982eb836 100644 --- a/avm/res/cdn/profile/endpoint/main.json +++ b/avm/res/cdn/profile/endpoint/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "2906172435071993445" + "version": "0.28.1.47646", + "templateHash": "265552218697992746" }, "name": "CDN Profiles Endpoints", "description": "This module deploys a CDN Profile Endpoint.", @@ -125,8 +125,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "3665403791951260301" + "version": "0.28.1.47646", + "templateHash": "3976201598135370414" }, "name": "CDN Profiles Endpoints Origins", "description": "This module deploys a CDN Profile Endpoint Origin.", @@ -321,6 +321,13 @@ "description": "The properties of the endpoint." }, "value": "[reference('endpoint')]" + }, + "uri": { + "type": "string", + "metadata": { + "description": "The uri of the endpoint." + }, + "value": "[format('https://{0}', reference('endpoint').hostName)]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/endpoint/origin/main.json b/avm/res/cdn/profile/endpoint/origin/main.json index 3d2af22841..8b2acd2d62 100644 --- a/avm/res/cdn/profile/endpoint/origin/main.json +++ b/avm/res/cdn/profile/endpoint/origin/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "3665403791951260301" + "version": "0.28.1.47646", + "templateHash": "3976201598135370414" }, "name": "CDN Profiles Endpoints Origins", "description": "This module deploys a CDN Profile Endpoint Origin.", @@ -158,4 +158,4 @@ "value": "[reference('endpoint', '2021-06-01', 'full').location]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/main.bicep b/avm/res/cdn/profile/main.bicep index 1e951d3c75..2750e6cb73 100644 --- a/avm/res/cdn/profile/main.bicep +++ b/avm/res/cdn/profile/main.bicep @@ -259,6 +259,15 @@ output profileType string = profile.type @description('The location the resource was deployed into.') output location string = profile.location +@description('The name of the CDN profile endpoint.') +output endpointName string = !empty(endpointProperties) ? profile_endpoint.outputs.name : '' + +@description('The resource ID of the CDN profile endpoint.') +output endpointId string = !empty(endpointProperties) ? profile_endpoint.outputs.resourceId : '' + +@description('The uri of the CDN profile endpoint.') +output uri string = !empty(endpointProperties) ? profile_endpoint.outputs.uri : '' + // =============== // // Definitions // // =============== // diff --git a/avm/res/cdn/profile/main.json b/avm/res/cdn/profile/main.json index 10d4e53686..f86d5e2680 100644 --- a/avm/res/cdn/profile/main.json +++ b/avm/res/cdn/profile/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.28.1.47646", - "templateHash": "1004296684432790978" + "templateHash": "10450324656254846829" }, "name": "CDN Profiles", "description": "This module deploys a CDN Profile.", @@ -337,7 +337,7 @@ "_generator": { "name": "bicep", "version": "0.28.1.47646", - "templateHash": "646975231992417020" + "templateHash": "265552218697992746" }, "name": "CDN Profiles Endpoints", "description": "This module deploys a CDN Profile Endpoint.", @@ -652,6 +652,13 @@ "description": "The properties of the endpoint." }, "value": "[reference('endpoint')]" + }, + "uri": { + "type": "string", + "metadata": { + "description": "The uri of the endpoint." + }, + "value": "[format('https://{0}', reference('endpoint').hostName)]" } } } @@ -1656,7 +1663,7 @@ "_generator": { "name": "bicep", "version": "0.28.1.47646", - "templateHash": "2563478312676565785" + "templateHash": "12134994933996412108" }, "name": "CDN Profiles AFD Endpoints", "description": "This module deploys a CDN Profile AFD Endpoint.", @@ -2081,6 +2088,13 @@ "description": "The location the resource was deployed into." }, "value": "[reference('afdEndpoint', '2023-05-01', 'full').location]" + }, + "routes": { + "type": "array", + "metadata": { + "description": "The list of routes assigned to the AFD endpoint." + }, + "value": "[coalesce(parameters('routes'), createArray())]" } } } @@ -2128,6 +2142,27 @@ "description": "The location the resource was deployed into." }, "value": "[reference('profile', '2023-05-01', 'full').location]" + }, + "endpointName": { + "type": "string", + "metadata": { + "description": "The name of the CDN profile endpoint." + }, + "value": "[if(not(empty(parameters('endpointProperties'))), reference('profile_endpoint').outputs.name.value, '')]" + }, + "endpointId": { + "type": "string", + "metadata": { + "description": "The resource ID of the CDN profile endpoint." + }, + "value": "[if(not(empty(parameters('endpointProperties'))), reference('profile_endpoint').outputs.resourceId.value, '')]" + }, + "uri": { + "type": "string", + "metadata": { + "description": "The uri of the CDN profile endpoint." + }, + "value": "[if(not(empty(parameters('endpointProperties'))), reference('profile_endpoint').outputs.uri.value, '')]" } } } \ No newline at end of file diff --git a/avm/res/cdn/profile/origingroup/main.json b/avm/res/cdn/profile/origingroup/main.json index 13a07fe56c..5240c3ee2b 100644 --- a/avm/res/cdn/profile/origingroup/main.json +++ b/avm/res/cdn/profile/origingroup/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "12438540618132459307" + "version": "0.28.1.47646", + "templateHash": "767830983281905975" }, "name": "CDN Profiles Origin Group", "description": "This module deploys a CDN Profile Origin Group.", @@ -142,8 +142,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "8566106020570825253" + "version": "0.28.1.47646", + "templateHash": "16416786424096977239" }, "name": "CDN Profiles Origin", "description": "This module deploys a CDN Profile Origin.", @@ -331,4 +331,4 @@ "value": "[reference('profile', '2023-05-01', 'full').location]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/origingroup/origin/main.json b/avm/res/cdn/profile/origingroup/origin/main.json index 6c1cdb4ebe..2e59867a78 100644 --- a/avm/res/cdn/profile/origingroup/origin/main.json +++ b/avm/res/cdn/profile/origingroup/origin/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "8566106020570825253" + "version": "0.28.1.47646", + "templateHash": "16416786424096977239" }, "name": "CDN Profiles Origin", "description": "This module deploys a CDN Profile Origin.", @@ -157,4 +157,4 @@ "value": "[resourceGroup().name]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/ruleset/main.json b/avm/res/cdn/profile/ruleset/main.json index 7bdf9944da..87d871e139 100644 --- a/avm/res/cdn/profile/ruleset/main.json +++ b/avm/res/cdn/profile/ruleset/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "5891069247146856543" + "version": "0.28.1.47646", + "templateHash": "6477030276001558789" }, "name": "CDN Profiles Rule Sets", "description": "This module deploys a CDN Profile rule set.", @@ -91,8 +91,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "4690708071413750601" + "version": "0.28.1.47646", + "templateHash": "13457744126513087238" }, "name": "CDN Profiles Rules", "description": "This module deploys a CDN Profile rule.", @@ -230,4 +230,4 @@ "value": "[resourceGroup().name]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/ruleset/rule/main.json b/avm/res/cdn/profile/ruleset/rule/main.json index 14828f7139..5e1613c351 100644 --- a/avm/res/cdn/profile/ruleset/rule/main.json +++ b/avm/res/cdn/profile/ruleset/rule/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "4690708071413750601" + "version": "0.28.1.47646", + "templateHash": "13457744126513087238" }, "name": "CDN Profiles Rules", "description": "This module deploys a CDN Profile rule.", @@ -117,4 +117,4 @@ "value": "[resourceGroup().name]" } } -} +} \ No newline at end of file diff --git a/avm/res/cdn/profile/secret/main.json b/avm/res/cdn/profile/secret/main.json index dd68ba9f77..dac212a39b 100644 --- a/avm/res/cdn/profile/secret/main.json +++ b/avm/res/cdn/profile/secret/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.26.170.59819", - "templateHash": "364931243138434002" + "version": "0.28.1.47646", + "templateHash": "11180937853362920611" }, "name": "CDN Profiles Secret", "description": "This module deploys a CDN Profile Secret.", @@ -99,4 +99,4 @@ "value": "[resourceGroup().name]" } } -} +} \ No newline at end of file