Created
March 19, 2021 00:05
-
-
Save jesseloudon/4d643f8d9821221c6091186edc93b9d4 to your computer and use it in GitHub Desktop.
AzureSpringClean2021 DINE policy example
This file contains hidden or 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
targetScope = 'subscription' | |
// PARAMETERS | |
param resourceGroupName string = 'BicepExampleRG' | |
param resourceGrouplocation string = 'australiaeast' | |
param actionGroupName string = 'BicepExampleAG' | |
param actionGroupEnabled bool = true | |
param actionGroupShortName string = 'bicepag' | |
param actionGroupEmailName string = 'jloudon' | |
param actionGroupEmail string = '[email protected]' | |
param actionGroupAlertSchema bool = true | |
param metricAlertResourceNamespace string = 'Microsoft.Network/loadBalancers' | |
param metricAlertName string = 'DipAvailability' | |
param metricAlertDimension1 string = 'ProtocolType' | |
param metricAlertDimension2 string = 'FrontendIPAddress' | |
param metricAlertDimension3 string = 'BackendIPAddress' | |
param metricAlertDescription string = 'Average Load Balancer health probe status per time duration' | |
param metricAlertSeverity string = '2' | |
param metricAlertEnabled string = 'true' | |
param metricAlertEvaluationFrequency string = 'PT15M' | |
param metricAlertWindowSize string = 'PT1H' | |
param metricAlertSensitivity string = 'Medium' | |
param metricAlertOperator string = 'LessThan' | |
param metricAlertTimeAggregation string = 'Average' | |
param metricAlertCriterionType string = 'DynamicThresholdCriterion' | |
param metricAlertAutoMitigate string = 'true' | |
param assignmentEnforcementMode string = 'Default' | |
// RESOURCES | |
resource rg 'Microsoft.Resources/resourceGroups@2020-06-01' = { | |
name: resourceGroupName | |
location: resourceGrouplocation | |
} | |
module ag './actionGroup.bicep' = { | |
scope: rg | |
name: 'actionGroup' | |
params: { | |
actionGroupName: actionGroupName | |
actionGroupEnabled: actionGroupEnabled | |
actionGroupShortName: actionGroupShortName | |
actionGroupEmailName: actionGroupEmailName | |
actionGroupEmail: actionGroupEmail | |
actionGroupAlertSchema: actionGroupAlertSchema | |
} | |
} | |
module policy './policyDefinition.bicep' = { | |
name: 'policy' | |
params: { | |
actionGroupName: ag.outputs.actionGroupName | |
actionGroupRG: resourceGroupName | |
actionGroupId: ag.outputs.actionGroupId | |
metricAlertResourceNamespace: metricAlertResourceNamespace | |
metricAlertName: metricAlertName | |
metricAlertDimension1: metricAlertDimension1 | |
metricAlertDimension2: metricAlertDimension2 | |
metricAlertDimension3: metricAlertDimension3 | |
metricAlertDescription: metricAlertDescription | |
metricAlertSeverity: metricAlertSeverity | |
metricAlertEnabled: metricAlertEnabled | |
metricAlertEvaluationFrequency: metricAlertEvaluationFrequency | |
metricAlertWindowSize: metricAlertWindowSize | |
metricAlertSensitivity: metricAlertSensitivity | |
metricAlertOperator: metricAlertOperator | |
metricAlertTimeAggregation: metricAlertTimeAggregation | |
metricAlertCriterionType: metricAlertCriterionType | |
metricAlertAutoMitigate: metricAlertAutoMitigate | |
} | |
} | |
module assignment './policyAssignment.bicep' = { | |
name: 'assignment' | |
params: { | |
bicepExampleInitiativeId: policy.outputs.bicepExampleInitiativeId | |
assignmentIdentityLocation: resourceGrouplocation | |
assignmentEnforcementMode: assignmentEnforcementMode | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment