Skip to content

Commit 614ddd0

Browse files
JeffreyCAanderseide
authored andcommitted
feat: New module avm/res/cache/redis-enterprise - Redis Enterprise and Azure Managed Redis (Preview) (Azure#4114)
## Description Initial implementation of Bicep AVM for Redis Enterprise and Azure Managed Redis (Preview) caches (`Microsoft.Cache/redisEnterprise`). There is a related module, [`avm/res/cache/redis`](https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/cache/redis), that covers `Microsoft.Cache/redis`: | Module Name | Resource Type | SKUs | |----------------------------|--------------------------------|--------------------------------------------------------------------------------------------| | [`avm/res/cache/redis`](https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/cache/redis) | Microsoft.Cache/redis | **OSS Redis:** Basic, Standard, Premium | | `avm/res/cache/redis-enterprise` (this PR) | Microsoft.Cache/redisEnterprise | **Redis Enterprise:** Enterprise, Enterprise Flash<br>**Azure Managed Redis (Preview):** Balanced, Compute Optimized, Flash Optimized, Memory Optimized | ![image](https://github.com/user-attachments/assets/7128fcea-0708-4ae5-b2ed-8e1e1b9dd6ff) Closes Azure/Azure-Verified-Modules#1731. ## Pipeline Reference I'm facing issues setting up CI on my fork using my Azure subscription and Service Principal in the Microsoft tenant, but was able to validate all the E2E tests passed using [`Test-ModuleLocally.ps1`](https://github.com/Azure/bicep-registry-modules/blob/main/utilities/tools/Test-ModuleLocally.ps1). ![image](https://github.com/user-attachments/assets/9a8de7d8-598e-41b0-8ebc-3ae68ceb697b) <!-- Insert your Pipeline Status Badge below --> | Pipeline | | -------- | | | ## Type of Change <!-- Use the checkboxes [x] on the options that are relevant. --> - [ ] Update to CI Environment or utilities (Non-module affecting changes) - [x] 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. - [ ] 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`. - [x] 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. - [ ] My corresponding pipelines / checks run clean and green without any errors or warnings <!-- Please keep up to date with the contribution guide at https://aka.ms/avm/contribute/bicep -->
1 parent 2bdee75 commit 614ddd0

28 files changed

+9590
-0
lines changed

.github/CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
/avm/res/azure-stack-hci/cluster/ @Azure/avm-res-azurestackhci-cluster-module-owners-bicep @Azure/avm-module-reviewers-bicep
5151
/avm/res/batch/batch-account/ @Azure/avm-res-batch-batchaccount-module-owners-bicep @Azure/avm-module-reviewers-bicep
5252
/avm/res/cache/redis/ @Azure/avm-res-cache-redis-module-owners-bicep @Azure/avm-module-reviewers-bicep
53+
/avm/res/cache/redis-enterprise/ @Azure/avm-res-cache-redisenterprise-module-owners-bicep @Azure/avm-module-reviewers-bicep
5354
/avm/res/cdn/profile/ @Azure/avm-res-cdn-profile-module-owners-bicep @Azure/avm-module-reviewers-bicep
5455
/avm/res/cognitive-services/account/ @Azure/avm-res-cognitiveservices-account-module-owners-bicep @Azure/avm-module-reviewers-bicep
5556
/avm/res/communication/communication-service/ @Azure/avm-res-communication-communicationservice-module-owners-bicep @Azure/avm-module-reviewers-bicep

.github/ISSUE_TEMPLATE/avm_module_issue.yml

+1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ body:
8585
- "avm/res/azure-stack-hci/cluster"
8686
- "avm/res/batch/batch-account"
8787
- "avm/res/cache/redis"
88+
- "avm/res/cache/redis-enterprise"
8889
- "avm/res/cdn/profile"
8990
- "avm/res/cognitive-services/account"
9091
- "avm/res/communication/communication-service"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: "avm.res.cache.redis-enterprise"
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
staticValidation:
7+
type: boolean
8+
description: "Execute static validation"
9+
required: false
10+
default: true
11+
deploymentValidation:
12+
type: boolean
13+
description: "Execute deployment validation"
14+
required: false
15+
default: true
16+
removeDeployment:
17+
type: boolean
18+
description: "Remove deployed module"
19+
required: false
20+
default: true
21+
customLocation:
22+
type: string
23+
description: "Default location overwrite (e.g., eastus)"
24+
required: false
25+
push:
26+
branches:
27+
- main
28+
paths:
29+
- ".github/actions/templates/avm-**"
30+
- ".github/workflows/avm.template.module.yml"
31+
- ".github/workflows/avm.res.cache.redis-enterprise.yml"
32+
- "avm/res/cache/redis-enterprise/**"
33+
- "utilities/pipelines/**"
34+
- "!utilities/pipelines/platform/**"
35+
- "!*/**/README.md"
36+
37+
env:
38+
modulePath: "avm/res/cache/redis-enterprise"
39+
workflowPath: ".github/workflows/avm.res.cache.redis-enterprise.yml"
40+
41+
concurrency:
42+
group: ${{ github.workflow }}
43+
44+
jobs:
45+
###########################
46+
# Initialize pipeline #
47+
###########################
48+
job_initialize_pipeline:
49+
runs-on: ubuntu-latest
50+
name: "Initialize pipeline"
51+
steps:
52+
- name: "Checkout"
53+
uses: actions/checkout@v4
54+
with:
55+
fetch-depth: 0
56+
- name: "Set input parameters to output variables"
57+
id: get-workflow-param
58+
uses: ./.github/actions/templates/avm-getWorkflowInput
59+
with:
60+
workflowPath: "${{ env.workflowPath}}"
61+
- name: "Get module test file paths"
62+
id: get-module-test-file-paths
63+
uses: ./.github/actions/templates/avm-getModuleTestFiles
64+
with:
65+
modulePath: "${{ env.modulePath }}"
66+
outputs:
67+
workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }}
68+
moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }}
69+
psRuleModuleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.psRuleModuleTestFilePaths }}
70+
modulePath: "${{ env.modulePath }}"
71+
72+
##############################
73+
# Call reusable workflow #
74+
##############################
75+
call-workflow-passing-data:
76+
name: "Run"
77+
permissions:
78+
id-token: write # For OIDC
79+
contents: write # For release tags
80+
needs:
81+
- job_initialize_pipeline
82+
uses: ./.github/workflows/avm.template.module.yml
83+
with:
84+
workflowInput: "${{ needs.job_initialize_pipeline.outputs.workflowInput }}"
85+
moduleTestFilePaths: "${{ needs.job_initialize_pipeline.outputs.moduleTestFilePaths }}"
86+
psRuleModuleTestFilePaths: "${{ needs.job_initialize_pipeline.outputs.psRuleModuleTestFilePaths }}"
87+
modulePath: "${{ needs.job_initialize_pipeline.outputs.modulePath}}"
88+
secrets: inherit

0 commit comments

Comments
 (0)