Microsoft.GuestConfiguration guestConfigurationAssignments

Bicep resource definition

The guestConfigurationAssignments resource type is an extension resource, which means you can apply it to another resource.

Use the scope property on this resource to set the scope for this resource. See Set scope on extension resources in Bicep.

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.GuestConfiguration/guestConfigurationAssignments resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.GuestConfiguration/guestConfigurationAssignments@2022-01-25' = {
  name: 'string'
  location: 'string'
  scope: resourceSymbolicName
  properties: {
    context: 'string'
    guestConfiguration: {
      assignmentType: 'string'
      configurationParameter: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      configurationProtectedParameter: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      contentHash: 'string'
      contentUri: 'string'
      kind: 'DSC'
      name: 'string'
      version: 'string'
    }
    latestAssignmentReport: {
      assignment: {
        configuration: {}
      }
      resources: [
        {
          reasons: [
            {
            }
          ]
        }
      ]
      vm: {}
    }
    vmssVMList: [
      {
      }
    ]
  }
}

Property values

guestConfigurationAssignments

Name Description Value
name The resource name string (required)
location Region where the VM is located. string
scope Use when creating an extension resource at a scope that is different than the deployment scope. Target resource

For Bicep, set this property to the symbolic name of the resource to apply the extension resource.
properties Properties of the Guest configuration assignment. GuestConfigurationAssignmentProperties

GuestConfigurationAssignmentProperties

Name Description Value
context The source which initiated the guest configuration assignment. Ex: Azure Policy string
guestConfiguration The guest configuration to assign. GuestConfigurationNavigation
latestAssignmentReport Last reported guest configuration assignment report. AssignmentReport
vmssVMList The list of VM Compliance data for VMSS VmssvmInfo[]

GuestConfigurationNavigation

Name Description Value
assignmentType Specifies the assignment type and execution of the configuration. Possible values are Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect and ApplyAndMonitor. 'ApplyAndAutoCorrect'
'ApplyAndMonitor'
'Audit'
'DeployAndAutoCorrect'
configurationParameter The configuration parameters for the guest configuration. ConfigurationParameter[]
configurationProtectedParameter The protected configuration parameters for the guest configuration. ConfigurationParameter[]
contentHash Combined hash of the guest configuration package and configuration parameters. string
contentUri Uri of the storage where guest configuration package is uploaded. string
kind Kind of the guest configuration. For example:DSC 'DSC'
name Name of the guest configuration. string
version Version of the guest configuration. string

ConfigurationParameter

Name Description Value
name Name of the configuration parameter. string
value Value of the configuration parameter. string

AssignmentReport

Name Description Value
assignment Configuration details of the guest configuration assignment. AssignmentInfo
resources The list of resources for which guest configuration assignment compliance is checked. AssignmentReportResource[]
vm Information about the VM. VMInfo

AssignmentInfo

Name Description Value
configuration Information about the configuration. ConfigurationInfo

ConfigurationInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AssignmentReportResource

Name Description Value
reasons Compliance reason and reason code for a resource. AssignmentReportResourceComplianceReason[]

AssignmentReportResourceComplianceReason

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

VMInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

VmssvmInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
IIS VMs & SQL Server 2014 VM

Deploy to Azure
Create 1 or 2 IIS Windows 2012 R2 Web Servers and one back end SQL Server 2014 in VNET.
Windows VM with Azure secure baseline

Deploy to Azure
The template creates a virtual machine running Windows Server in a new virtual network, with a public IP address. Once the machine has deployed, the guest configuration extension is installed and the Azure secure baseline for Windows Server is applied. If the configuration of the machines drifts, you can re-apply the settings by deploying the template again.

ARM template resource definition

The guestConfigurationAssignments resource type is an extension resource, which means you can apply it to another resource.

Use the scope property on this resource to set the scope for this resource. See Set scope on extension resources in ARM templates.

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.GuestConfiguration/guestConfigurationAssignments resource, add the following JSON to your template.

{
  "type": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
  "apiVersion": "2022-01-25",
  "name": "string",
  "location": "string",
  "scope": "string",
  "properties": {
    "context": "string",
    "guestConfiguration": {
      "assignmentType": "string",
      "configurationParameter": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "configurationProtectedParameter": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "contentHash": "string",
      "contentUri": "string",
      "kind": "DSC",
      "name": "string",
      "version": "string"
    },
    "latestAssignmentReport": {
      "assignment": {
        "configuration": {}
      },
      "resources": [
        {
          "reasons": [
            {
            }
          ]
        }
      ],
      "vm": {}
    },
    "vmssVMList": [
      {
      }
    ]
  }
}

Property values

guestConfigurationAssignments

Name Description Value
type The resource type 'Microsoft.GuestConfiguration/guestConfigurationAssignments'
apiVersion The resource api version '2022-01-25'
name The resource name string (required)
location Region where the VM is located. string
scope Use when creating an extension resource at a scope that is different than the deployment scope. Target resource

For JSON, set the value to the full name of the resource to apply the extension resource to.
properties Properties of the Guest configuration assignment. GuestConfigurationAssignmentProperties

GuestConfigurationAssignmentProperties

Name Description Value
context The source which initiated the guest configuration assignment. Ex: Azure Policy string
guestConfiguration The guest configuration to assign. GuestConfigurationNavigation
latestAssignmentReport Last reported guest configuration assignment report. AssignmentReport
vmssVMList The list of VM Compliance data for VMSS VmssvmInfo[]

GuestConfigurationNavigation

Name Description Value
assignmentType Specifies the assignment type and execution of the configuration. Possible values are Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect and ApplyAndMonitor. 'ApplyAndAutoCorrect'
'ApplyAndMonitor'
'Audit'
'DeployAndAutoCorrect'
configurationParameter The configuration parameters for the guest configuration. ConfigurationParameter[]
configurationProtectedParameter The protected configuration parameters for the guest configuration. ConfigurationParameter[]
contentHash Combined hash of the guest configuration package and configuration parameters. string
contentUri Uri of the storage where guest configuration package is uploaded. string
kind Kind of the guest configuration. For example:DSC 'DSC'
name Name of the guest configuration. string
version Version of the guest configuration. string

ConfigurationParameter

Name Description Value
name Name of the configuration parameter. string
value Value of the configuration parameter. string

AssignmentReport

Name Description Value
assignment Configuration details of the guest configuration assignment. AssignmentInfo
resources The list of resources for which guest configuration assignment compliance is checked. AssignmentReportResource[]
vm Information about the VM. VMInfo

AssignmentInfo

Name Description Value
configuration Information about the configuration. ConfigurationInfo

ConfigurationInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AssignmentReportResource

Name Description Value
reasons Compliance reason and reason code for a resource. AssignmentReportResourceComplianceReason[]

AssignmentReportResourceComplianceReason

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

VMInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

VmssvmInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
IIS VMs & SQL Server 2014 VM

Deploy to Azure
Create 1 or 2 IIS Windows 2012 R2 Web Servers and one back end SQL Server 2014 in VNET.
Windows VM with Azure secure baseline

Deploy to Azure
The template creates a virtual machine running Windows Server in a new virtual network, with a public IP address. Once the machine has deployed, the guest configuration extension is installed and the Azure secure baseline for Windows Server is applied. If the configuration of the machines drifts, you can re-apply the settings by deploying the template again.

Terraform (AzAPI provider) resource definition

The guestConfigurationAssignments resource type is an extension resource, which means you can apply it to another resource.

Use the parent_id property on this resource to set the scope for this resource.

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.GuestConfiguration/guestConfigurationAssignments resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.GuestConfiguration/guestConfigurationAssignments@2022-01-25"
  name = "string"
  location = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      context = "string"
      guestConfiguration = {
        assignmentType = "string"
        configurationParameter = [
          {
            name = "string"
            value = "string"
          }
        ]
        configurationProtectedParameter = [
          {
            name = "string"
            value = "string"
          }
        ]
        contentHash = "string"
        contentUri = "string"
        kind = "DSC"
        name = "string"
        version = "string"
      }
      latestAssignmentReport = {
        assignment = {
          configuration = {}
        }
        resources = [
          {
            reasons = [
              {
              }
            ]
          }
        ]
        vm = {}
      }
      vmssVMList = [
        {
        }
      ]
    }
  })
}

Property values

guestConfigurationAssignments

Name Description Value
type The resource type "Microsoft.GuestConfiguration/guestConfigurationAssignments@2022-01-25"
name The resource name string (required)
location Region where the VM is located. string
parent_id The ID of the resource to apply this extension resource to. string (required)
properties Properties of the Guest configuration assignment. GuestConfigurationAssignmentProperties

GuestConfigurationAssignmentProperties

Name Description Value
context The source which initiated the guest configuration assignment. Ex: Azure Policy string
guestConfiguration The guest configuration to assign. GuestConfigurationNavigation
latestAssignmentReport Last reported guest configuration assignment report. AssignmentReport
vmssVMList The list of VM Compliance data for VMSS VmssvmInfo[]

GuestConfigurationNavigation

Name Description Value
assignmentType Specifies the assignment type and execution of the configuration. Possible values are Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect and ApplyAndMonitor. "ApplyAndAutoCorrect"
"ApplyAndMonitor"
"Audit"
"DeployAndAutoCorrect"
configurationParameter The configuration parameters for the guest configuration. ConfigurationParameter[]
configurationProtectedParameter The protected configuration parameters for the guest configuration. ConfigurationParameter[]
contentHash Combined hash of the guest configuration package and configuration parameters. string
contentUri Uri of the storage where guest configuration package is uploaded. string
kind Kind of the guest configuration. For example:DSC "DSC"
name Name of the guest configuration. string
version Version of the guest configuration. string

ConfigurationParameter

Name Description Value
name Name of the configuration parameter. string
value Value of the configuration parameter. string

AssignmentReport

Name Description Value
assignment Configuration details of the guest configuration assignment. AssignmentInfo
resources The list of resources for which guest configuration assignment compliance is checked. AssignmentReportResource[]
vm Information about the VM. VMInfo

AssignmentInfo

Name Description Value
configuration Information about the configuration. ConfigurationInfo

ConfigurationInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AssignmentReportResource

Name Description Value
reasons Compliance reason and reason code for a resource. AssignmentReportResourceComplianceReason[]

AssignmentReportResourceComplianceReason

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

VMInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

VmssvmInfo

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.