Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The configurationAssignments resource type can be deployed with operations that target:
- Subscription - See subscription deployment commands* Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Maintenance/configurationAssignments resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Maintenance/configurationAssignments@2023-10-01-preview' = {
scope: resourceSymbolicName or scope
location: 'string'
name: 'string'
properties: {
filter: {
locations: [
'string'
]
osTypes: [
'string'
]
resourceGroups: [
'string'
]
resourceTypes: [
'string'
]
tagSettings: {
filterOperator: 'string'
tags: {
{customized property}: [
'string'
]
}
}
}
maintenanceConfigurationId: 'string'
resourceId: 'string'
}
}
Property Values
Microsoft.Maintenance/configurationAssignments
| Name | Description | Value |
|---|---|---|
| location | Location of the resource | string |
| name | The resource name | string (required) |
| properties | Properties of the configuration assignment | ConfigurationAssignmentProperties |
| scope | Use when creating a resource at a scope that is different than the deployment scope. | Set this property to the symbolic name of a resource to apply the extension resource. |
ConfigurationAssignmentFilterProperties
| Name | Description | Value |
|---|---|---|
| locations | List of locations to scope the query to. | string[] |
| osTypes | List of allowed operating systems. | string[] |
| resourceGroups | List of allowed resource groups. | string[] |
| resourceTypes | List of allowed resources. | string[] |
| tagSettings | Tag settings for the VM. | TagSettingsProperties |
ConfigurationAssignmentProperties
| Name | Description | Value |
|---|---|---|
| filter | Properties of the configuration assignment | ConfigurationAssignmentFilterProperties |
| maintenanceConfigurationId | The maintenance configuration Id | string |
| resourceId | The unique resourceId | string |
TagSettingsProperties
| Name | Description | Value |
|---|---|---|
| filterOperator | Filter VMs by Any or All specified tags. | 'All' 'Any' |
| tags | Dictionary of tags with its list of values. | TagSettingsPropertiesTags |
TagSettingsPropertiesTags
| Name | Description | Value |
|---|
Usage Examples
Bicep Samples
A basic example of deploying Maintenance Assignment.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The administrator password for the virtual machine')
param adminPassword string
resource configurationAssignment 'Microsoft.Maintenance/configurationAssignments@2022-07-01-preview' = {
scope: virtualMachine
name: resourceName
location: 'westeurope'
properties: {
maintenanceConfigurationId: maintenanceConfiguration.id
resourceId: virtualMachine.id
}
}
resource maintenanceConfiguration 'Microsoft.Maintenance/maintenanceConfigurations@2022-07-01-preview' = {
name: resourceName
location: location
properties: {
extensionProperties: {}
maintenanceScope: 'SQLDB'
namespace: 'Microsoft.Maintenance'
visibility: 'Custom'
}
}
resource networkInterface 'Microsoft.Network/networkInterfaces@2022-07-01' = {
name: resourceName
location: location
properties: {
enableAcceleratedNetworking: false
enableIPForwarding: false
ipConfigurations: [
{
name: 'testconfiguration1'
properties: {
primary: true
privateIPAddressVersion: 'IPv4'
privateIPAllocationMethod: 'Dynamic'
subnet: {
id: subnet.id
}
}
}
]
}
}
resource virtualMachine 'Microsoft.Compute/virtualMachines@2023-03-01' = {
name: resourceName
location: location
properties: {
additionalCapabilities: {}
applicationProfile: {
galleryApplications: []
}
diagnosticsProfile: {
bootDiagnostics: {
enabled: false
storageUri: ''
}
}
extensionsTimeBudget: 'PT1H30M'
hardwareProfile: {
vmSize: 'Standard_F2'
}
networkProfile: {
networkInterfaces: [
{
id: networkInterface.id
properties: {
primary: true
}
}
]
}
osProfile: {
adminPassword: null
adminUsername: 'adminuser'
allowExtensionOperations: true
computerName: 'acctest0001'
linuxConfiguration: {
disablePasswordAuthentication: false
patchSettings: {
assessmentMode: 'ImageDefault'
patchMode: 'ImageDefault'
}
provisionVMAgent: true
ssh: {
publicKeys: []
}
}
secrets: []
}
priority: 'Regular'
storageProfile: {
dataDisks: []
imageReference: {
offer: 'UbuntuServer'
publisher: 'Canonical'
sku: '16.04-LTS'
version: 'latest'
}
osDisk: {
caching: 'ReadWrite'
createOption: 'FromImage'
managedDisk: {
storageAccountType: 'Standard_LRS'
}
osType: 'Linux'
writeAcceleratorEnabled: false
}
}
}
}
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2022-07-01' = {
name: resourceName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
dhcpOptions: {
dnsServers: []
}
subnets: []
}
}
resource subnet 'Microsoft.Network/virtualNetworks/subnets@2022-07-01' = {
parent: virtualNetwork
name: 'internal'
properties: {
addressPrefix: '10.0.2.0/24'
delegations: []
privateEndpointNetworkPolicies: 'Enabled'
privateLinkServiceNetworkPolicies: 'Enabled'
serviceEndpointPolicies: []
serviceEndpoints: []
}
}
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description |
|---|---|
| Maintenance Configuration Assignment | AVM Resource Module for Maintenance Configuration Assignment |
ARM template resource definition
The configurationAssignments resource type can be deployed with operations that target:
- Subscription - See subscription deployment commands* Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Maintenance/configurationAssignments resource, add the following JSON to your template.
{
"type": "Microsoft.Maintenance/configurationAssignments",
"apiVersion": "2023-10-01-preview",
"name": "string",
"location": "string",
"properties": {
"filter": {
"locations": [ "string" ],
"osTypes": [ "string" ],
"resourceGroups": [ "string" ],
"resourceTypes": [ "string" ],
"tagSettings": {
"filterOperator": "string",
"tags": {
"{customized property}": [ "string" ]
}
}
},
"maintenanceConfigurationId": "string",
"resourceId": "string"
}
}
Property Values
Microsoft.Maintenance/configurationAssignments
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2023-10-01-preview' |
| location | Location of the resource | string |
| name | The resource name | string (required) |
| properties | Properties of the configuration assignment | ConfigurationAssignmentProperties |
| type | The resource type | 'Microsoft.Maintenance/configurationAssignments' |
ConfigurationAssignmentFilterProperties
| Name | Description | Value |
|---|---|---|
| locations | List of locations to scope the query to. | string[] |
| osTypes | List of allowed operating systems. | string[] |
| resourceGroups | List of allowed resource groups. | string[] |
| resourceTypes | List of allowed resources. | string[] |
| tagSettings | Tag settings for the VM. | TagSettingsProperties |
ConfigurationAssignmentProperties
| Name | Description | Value |
|---|---|---|
| filter | Properties of the configuration assignment | ConfigurationAssignmentFilterProperties |
| maintenanceConfigurationId | The maintenance configuration Id | string |
| resourceId | The unique resourceId | string |
TagSettingsProperties
| Name | Description | Value |
|---|---|---|
| filterOperator | Filter VMs by Any or All specified tags. | 'All' 'Any' |
| tags | Dictionary of tags with its list of values. | TagSettingsPropertiesTags |
TagSettingsPropertiesTags
| Name | Description | Value |
|---|
Usage Examples
Terraform (AzAPI provider) resource definition
The configurationAssignments resource type can be deployed with operations that target:
- Subscription* Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Maintenance/configurationAssignments resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Maintenance/configurationAssignments@2023-10-01-preview"
name = "string"
parent_id = "string"
location = "string"
body = {
properties = {
filter = {
locations = [
"string"
]
osTypes = [
"string"
]
resourceGroups = [
"string"
]
resourceTypes = [
"string"
]
tagSettings = {
filterOperator = "string"
tags = {
{customized property} = [
"string"
]
}
}
}
maintenanceConfigurationId = "string"
resourceId = "string"
}
}
}
Property Values
Microsoft.Maintenance/configurationAssignments
| Name | Description | Value |
|---|---|---|
| location | Location of the resource | string |
| name | The resource name | string (required) |
| parent_id | The ID of the resource to apply this extension resource to. | string (required) |
| properties | Properties of the configuration assignment | ConfigurationAssignmentProperties |
| type | The resource type | "Microsoft.Maintenance/configurationAssignments@2023-10-01-preview" |
ConfigurationAssignmentFilterProperties
| Name | Description | Value |
|---|---|---|
| locations | List of locations to scope the query to. | string[] |
| osTypes | List of allowed operating systems. | string[] |
| resourceGroups | List of allowed resource groups. | string[] |
| resourceTypes | List of allowed resources. | string[] |
| tagSettings | Tag settings for the VM. | TagSettingsProperties |
ConfigurationAssignmentProperties
| Name | Description | Value |
|---|---|---|
| filter | Properties of the configuration assignment | ConfigurationAssignmentFilterProperties |
| maintenanceConfigurationId | The maintenance configuration Id | string |
| resourceId | The unique resourceId | string |
TagSettingsProperties
| Name | Description | Value |
|---|---|---|
| filterOperator | Filter VMs by Any or All specified tags. | 'All' 'Any' |
| tags | Dictionary of tags with its list of values. | TagSettingsPropertiesTags |
TagSettingsPropertiesTags
| Name | Description | Value |
|---|
Usage Examples
Terraform Samples
A basic example of deploying Maintenance Assignment.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
variable "admin_password" {
type = string
description = "The administrator password for the virtual machine"
sensitive = true
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "maintenanceConfiguration" {
type = "Microsoft.Maintenance/maintenanceConfigurations@2022-07-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
extensionProperties = {
}
maintenanceScope = "SQLDB"
namespace = "Microsoft.Maintenance"
visibility = "Custom"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "virtualNetwork" {
type = "Microsoft.Network/virtualNetworks@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
addressSpace = {
addressPrefixes = [
"10.0.0.0/16",
]
}
dhcpOptions = {
dnsServers = [
]
}
subnets = [
]
}
}
schema_validation_enabled = false
response_export_values = ["*"]
lifecycle {
ignore_changes = [body.properties.subnets]
}
}
resource "azapi_resource" "subnet" {
type = "Microsoft.Network/virtualNetworks/subnets@2022-07-01"
parent_id = azapi_resource.virtualNetwork.id
name = "internal"
body = {
properties = {
addressPrefix = "10.0.2.0/24"
delegations = [
]
privateEndpointNetworkPolicies = "Enabled"
privateLinkServiceNetworkPolicies = "Enabled"
serviceEndpointPolicies = [
]
serviceEndpoints = [
]
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "networkInterface" {
type = "Microsoft.Network/networkInterfaces@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
enableAcceleratedNetworking = false
enableIPForwarding = false
ipConfigurations = [
{
name = "testconfiguration1"
properties = {
primary = true
privateIPAddressVersion = "IPv4"
privateIPAllocationMethod = "Dynamic"
subnet = {
id = azapi_resource.subnet.id
}
}
},
]
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "virtualMachine" {
type = "Microsoft.Compute/virtualMachines@2023-03-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
additionalCapabilities = {
}
applicationProfile = {
galleryApplications = [
]
}
diagnosticsProfile = {
bootDiagnostics = {
enabled = false
storageUri = ""
}
}
extensionsTimeBudget = "PT1H30M"
hardwareProfile = {
vmSize = "Standard_F2"
}
networkProfile = {
networkInterfaces = [
{
id = azapi_resource.networkInterface.id
properties = {
primary = true
}
},
]
}
osProfile = {
adminPassword = var.admin_password
adminUsername = "adminuser"
allowExtensionOperations = true
computerName = var.resource_name
linuxConfiguration = {
disablePasswordAuthentication = false
patchSettings = {
assessmentMode = "ImageDefault"
patchMode = "ImageDefault"
}
provisionVMAgent = true
ssh = {
publicKeys = [
]
}
}
secrets = [
]
}
priority = "Regular"
storageProfile = {
dataDisks = [
]
imageReference = {
offer = "UbuntuServer"
publisher = "Canonical"
sku = "16.04-LTS"
version = "latest"
}
osDisk = {
caching = "ReadWrite"
createOption = "FromImage"
managedDisk = {
storageAccountType = "Standard_LRS"
}
osType = "Linux"
writeAcceleratorEnabled = false
}
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "configurationAssignment" {
type = "Microsoft.Maintenance/configurationAssignments@2022-07-01-preview"
parent_id = azapi_resource.virtualMachine.id
name = var.resource_name
body = {
location = "westeurope"
properties = {
maintenanceConfigurationId = azapi_resource.maintenanceConfiguration.id
resourceId = azapi_resource.virtualMachine.id
}
}
ignore_casing = true
schema_validation_enabled = false
response_export_values = ["*"]
}