-
Notifications
You must be signed in to change notification settings - Fork 456
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Modules] Adding new module for Microsoft.Insights/dataCollectionEndp…
…oints (#2620) * First draft by REST2CARML * Setting default value for "kind" * Initial module readme genereated * publicNetworkAccess parameter and property added * test files - first version * adding roleAssignments * nested_roleAssignments.bicep fix * update test cases * readme update * Fixing publicNetworkAccess param description * Update modules/Microsoft.Insights/dataCollectionEndpoints/.test/min/deploy.test.bicep Co-authored-by: Alexander Sehr <[email protected]> * Update modules/Microsoft.Insights/dataCollectionEndpoints/.test/common/dependencies.bicep Co-authored-by: Alexander Sehr <[email protected]> * Update modules/Microsoft.Insights/dataCollectionEndpoints/readme.md Co-authored-by: Alexander Sehr <[email protected]> * Update modules/Microsoft.Insights/dataCollectionEndpoints/deploy.bicep Co-authored-by: Alexander Sehr <[email protected]> * roleAssignments - deployment name fix * readme update --------- Co-authored-by: Alexander Sehr <[email protected]>
- Loading branch information
1 parent
2c9772a
commit 3bfe4a1
Showing
9 changed files
with
906 additions
and
0 deletions.
There are no files selected for viewing
40 changes: 40 additions & 0 deletions
40
.azuredevops/modulePipelines/ms.insights.datacollectionendpoints.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
name: 'Insights - DataCollectionEndpoints' | ||
|
||
parameters: | ||
- name: removeDeployment | ||
displayName: Remove deployed module | ||
type: boolean | ||
default: true | ||
- name: prerelease | ||
displayName: Publish prerelease module | ||
type: boolean | ||
default: false | ||
|
||
pr: none | ||
|
||
trigger: | ||
batch: true | ||
branches: | ||
include: | ||
- main | ||
paths: | ||
include: | ||
- '/.azuredevops/modulePipelines/ms.insights.datacollectionendpoints.yml' | ||
- '/.azuredevops/pipelineTemplates/*.yml' | ||
- '/modules/Microsoft.Insights/dataCollectionEndpoints/*' | ||
- '/utilities/pipelines/*' | ||
exclude: | ||
- '/utilities/pipelines/deploymentRemoval/*' | ||
- '/**/*.md' | ||
|
||
variables: | ||
- template: '../../settings.yml' | ||
- group: 'PLATFORM_VARIABLES' | ||
- name: modulePath | ||
value: '/modules/Microsoft.Insights/dataCollectionEndpoints' | ||
|
||
stages: | ||
- template: /.azuredevops/pipelineTemplates/stages.module.yml | ||
parameters: | ||
removeDeployment: '${{ parameters.removeDeployment }}' | ||
prerelease: '${{ parameters.prerelease }}' |
148 changes: 148 additions & 0 deletions
148
.github/workflows/ms.insights.datacollectionendpoints.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
name: 'Insights: DataCollectionEndpoints' | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
removeDeployment: | ||
type: boolean | ||
description: 'Remove deployed module' | ||
required: false | ||
default: true | ||
prerelease: | ||
type: boolean | ||
description: 'Publish prerelease module' | ||
required: false | ||
default: false | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- '.github/actions/templates/**' | ||
- '.github/workflows/ms.insights.datacollectionendpoints.yml' | ||
- 'modules/Microsoft.Insights/dataCollectionEndpoints/**' | ||
- 'utilities/pipelines/**' | ||
- '!utilities/pipelines/deploymentRemoval/**' | ||
- '!*/**/readme.md' | ||
|
||
env: | ||
variablesPath: 'settings.yml' | ||
modulePath: 'modules/Microsoft.Insights/dataCollectionEndpoints' | ||
workflowPath: '.github/workflows/ms.insights.datacollectionendpoints.yml' | ||
AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} | ||
ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' | ||
ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' | ||
ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' | ||
TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }} | ||
|
||
jobs: | ||
########################### | ||
# Initialize pipeline # | ||
########################### | ||
job_initialize_pipeline: | ||
runs-on: ubuntu-20.04 | ||
name: 'Initialize pipeline' | ||
steps: | ||
- name: 'Checkout' | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: 'Set input parameters to output variables' | ||
id: get-workflow-param | ||
uses: ./.github/actions/templates/getWorkflowInput | ||
with: | ||
workflowPath: '${{ env.workflowPath}}' | ||
- name: 'Get parameter file paths' | ||
id: get-module-test-file-paths | ||
uses: ./.github/actions/templates/getModuleTestFiles | ||
with: | ||
modulePath: '${{ env.modulePath }}' | ||
outputs: | ||
workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} | ||
moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} | ||
|
||
######################### | ||
# Static validation # | ||
######################### | ||
job_module_pester_validation: | ||
runs-on: ubuntu-20.04 | ||
name: 'Static validation' | ||
steps: | ||
- name: 'Checkout' | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set environment variables | ||
uses: ./.github/actions/templates/setEnvironmentVariables | ||
with: | ||
variablesPath: ${{ env.variablesPath }} | ||
- name: 'Run tests' | ||
uses: ./.github/actions/templates/validateModulePester | ||
with: | ||
modulePath: '${{ env.modulePath }}' | ||
moduleTestFilePath: '${{ env.moduleTestFilePath }}' | ||
|
||
############################# | ||
# Deployment validation # | ||
############################# | ||
job_module_deploy_validation: | ||
runs-on: ubuntu-20.04 | ||
name: 'Deployment validation' | ||
needs: | ||
- job_initialize_pipeline | ||
- job_module_pester_validation | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} | ||
steps: | ||
- name: 'Checkout' | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set environment variables | ||
uses: ./.github/actions/templates/setEnvironmentVariables | ||
with: | ||
variablesPath: ${{ env.variablesPath }} | ||
- name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' | ||
uses: ./.github/actions/templates/validateModuleDeployment | ||
with: | ||
templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' | ||
location: '${{ env.location }}' | ||
subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' | ||
managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' | ||
removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' | ||
|
||
################## | ||
# Publishing # | ||
################## | ||
job_publish_module: | ||
name: 'Publishing' | ||
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' | ||
runs-on: ubuntu-20.04 | ||
needs: | ||
- job_module_deploy_validation | ||
steps: | ||
- name: 'Checkout' | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set environment variables | ||
uses: ./.github/actions/templates/setEnvironmentVariables | ||
with: | ||
variablesPath: ${{ env.variablesPath }} | ||
- name: 'Publishing' | ||
uses: ./.github/actions/templates/publishModule | ||
with: | ||
templateFilePath: '${{ env.modulePath }}/deploy.bicep' | ||
templateSpecsRGName: '${{ env.templateSpecsRGName }}' | ||
templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' | ||
templateSpecsDescription: '${{ env.templateSpecsDescription }}' | ||
templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' | ||
bicepRegistryName: '${{ env.bicepRegistryName }}' | ||
bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' | ||
bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' | ||
bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' | ||
publishLatest: '${{ env.publishLatest }}' |
Oops, something went wrong.