Definizione di risorsa Bicep
Il tipo di risorsa guestConfigurationAssignments può essere distribuito con operazioni destinate a:
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Per creare una risorsa Microsoft.GuestConfiguration/guestConfigurationAssignments, aggiungere il bicep seguente al modello.
resource symbolicname 'Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25' = {
scope: resourceSymbolicName or scope
location: 'string'
name: 'string'
properties: {
context: 'string'
guestConfiguration: {
assignmentType: 'string'
configurationParameter: [
{
name: 'string'
value: 'string'
}
]
configurationProtectedParameter: [
{
name: 'string'
value: 'string'
}
]
configurationSetting: {
actionAfterReboot: 'string'
allowModuleOverwrite: bool
configurationMode: 'string'
configurationModeFrequencyMins: int
rebootIfNeeded: bool
refreshFrequencyMins: int
}
contentHash: 'string'
contentUri: 'string'
kind: 'string'
name: 'string'
version: 'string'
}
latestAssignmentReport: {
assignment: {
configuration: {}
}
resources: [
{
reasons: [
{}
]
}
]
vm: {}
}
vmssVMList: [
{}
]
}
}
Valori delle proprietà
Microsoft.GuestConfiguration/guestConfigurationAssignments
| Nome |
Descrizione |
Valore |
| ubicazione |
Area in cui si trova la macchina virtuale. |
corda |
| nome |
Nome della risorsa |
stringa (obbligatorio) |
| proprietà |
Proprietà dell'assegnazione di configurazione guest. |
Proprietà GuestConfigurationAssignmentProperties |
| portata |
Usare quando si crea una risorsa in un ambito diverso dall'ambito di distribuzione. |
Impostare questa proprietà sul nome simbolico di una risorsa per applicare la risorsa di estensione . |
Informazioni sull'assegnazione
Rapporto di assegnazione
| Nome |
Descrizione |
Valore |
| incarico |
Dettagli di configurazione dell'assegnazione della configurazione guest. |
Informazioni sull'assegnazione |
| risorse |
Elenco di risorse per le quali viene verificata la conformità dell'assegnazione della configurazione guest. |
AssegnazioneReportRisorsa[] |
| Vm |
Informazioni sulla macchina virtuale. |
VMInfo |
AssegnazioneReportRisorsa
AssignmentReportResourceComplianceReason
Informazioni sulla configurazione
Parametro di configurazione
| Nome |
Descrizione |
Valore |
| nome |
Nome del parametro di configurazione. |
corda |
| valore |
Valore del parametro di configurazione. |
corda |
ConfigurazioneImpostazioni
| Nome |
Descrizione |
Valore |
| azioneDopoRiavvio |
Specifica cosa accade dopo un riavvio durante l'applicazione di una configurazione. I valori possibili sono ContinueConfiguration e StopConfiguration |
'ContinuaConfigurazione' 'StopConfiguration' |
| allowModuleOverwrite |
Se true: le nuove configurazioni scaricate dal servizio di pull possono sovrascrivere quelle precedenti nel nodo di destinazione. In caso contrario, false |
Bool |
| configurationMode |
Specifica in che modo Gestione configurazione locale applica effettivamente la configurazione ai nodi di destinazione. I valori possibili sono ApplyOnly, ApplyAndMonitor e ApplyAndAutoCorrect. |
'Applica e correggi automaticamente' 'Applica e monitora' 'ApplyOnly' |
| configurationModeFrequencyMins |
Con quale frequenza, in minuti, viene verificata e applicata la configurazione corrente. Questa proprietà viene ignorata se la proprietà ConfigurationMode è impostata su ApplyOnly. Il valore predefinito è 15. |
Int |
| rebootIfNeeded |
Impostare su true per riavviare automaticamente il nodo dopo l'applicazione di una configurazione che richiede il riavvio. In caso contrario, sarà necessario riavviare manualmente il nodo per qualsiasi configurazione che lo richiede. Il valore predefinito è false. Per usare questa impostazione quando viene applicato una condizione di riavvio da un elemento diverso da DSC (ad esempio Windows Installer), combinare questa impostazione con il modulo xPendingReboot. |
Bool |
| refreshFrequencyMins |
Intervallo di tempo, espresso in minuti, in cui Gestione configurazione locale controlla un servizio di pull per ottenere configurazioni aggiornate. Questo valore viene ignorato se Gestione configurazione locale non è configurata in modalità pull. Il valore predefinito è 30. |
Int |
Proprietà GuestConfigurationAssignmentProperties
| Nome |
Descrizione |
Valore |
| contesto |
Origine che ha avviato l'assegnazione di configurazione guest. Ad esempio: Criteri di Azure |
corda |
| Configurazione ospite |
Configurazione guest da assegnare. |
GuestConfigurationNavigation |
| latestAssignmentReport |
Ultimo report sull'assegnazione della configurazione guest segnalata. |
Rapporto di assegnazione |
| vmssVMList |
Elenco dei dati di conformità delle macchine virtuali per il set di scalabilità di macchine virtuali |
VmssvmInfo[] |
GuestConfigurationNavigation
| Nome |
Descrizione |
Valore |
| assignmentType |
Specifica il tipo di assegnazione e l'esecuzione della configurazione. I valori possibili sono Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect e ApplyAndMonitor. |
'Applica e correggi automaticamente' 'Applica e monitora' "Revisione" 'Distribuisci e correggi automaticamente' |
| configurationParameter |
Parametri di configurazione per la configurazione guest. |
ConfigurationParameter[] |
| configurationProtectedParameter |
Parametri di configurazione protetti per la configurazione guest. |
ConfigurationParameter[] |
| configurazioneImpostazione |
Impostazione di configurazione per la configurazione guest. |
ConfigurazioneImpostazioni |
| contentHash |
Hash combinato del pacchetto di configurazione guest e dei parametri di configurazione. |
corda |
| contentUri |
URI della risorsa di archiviazione in cui viene caricato il pacchetto di configurazione guest. |
corda |
| gentile |
Tipo di configurazione guest. Ad esempio:DSC |
'DSC' |
| nome |
Nome della configurazione guest. |
corda |
| Versione |
Versione della configurazione guest. |
corda |
VMInfo
VmssvmInfo
Esempi di utilizzo
Esempi bicep
Un esempio di base di distribuzione Applica un criterio di configurazione guest a una macchina virtuale.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The administrator password for the virtual machine')
param adminPassword string
resource guestConfigurationAssignment 'Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25' = {
scope: virtualMachine
name: 'WhitelistedApplication'
location: location
properties: {
guestConfiguration: {
assignmentType: ''
configurationParameter: [
{
name: '[InstalledApplication]bwhitelistedapp;Name'
value: 'NotePad,sql'
}
]
contentHash: ''
contentUri: ''
name: 'WhitelistedApplication'
version: '1.*'
}
}
}
resource networkInterface 'Microsoft.Network/networkInterfaces@2022-07-01' = {
name: resourceName
location: location
properties: {
enableAcceleratedNetworking: false
enableIPForwarding: false
ipConfigurations: [
{
name: 'internal'
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: 'acctestvmdro23'
secrets: []
windowsConfiguration: {
enableAutomaticUpdates: true
patchSettings: {
assessmentMode: 'ImageDefault'
enableHotpatching: false
patchMode: 'AutomaticByOS'
}
provisionVMAgent: true
winRM: {
listeners: []
}
}
}
priority: 'Regular'
storageProfile: {
dataDisks: []
imageReference: {
offer: 'WindowsServer'
publisher: 'MicrosoftWindowsServer'
sku: '2016-Datacenter'
version: 'latest'
}
osDisk: {
caching: 'ReadWrite'
createOption: 'FromImage'
managedDisk: {
storageAccountType: 'Standard_LRS'
}
osType: 'Windows'
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: []
}
}
Esempi di avvio rapido di Azure
I modelli di avvio rapido di Azure seguenti contengono esempi Bicep per la distribuzione di questo tipo di risorsa.
| File bicipite |
Descrizione |
|
macchine virtuali IIS & vm di SQL Server 2014 |
Creare server Web Windows 2012 R2 IIS 1 o 2 e un back-end di SQL Server 2014 nella rete virtuale. |
|
macchina virtuale Windows con di base sicura di Azure |
Il modello crea una macchina virtuale che esegue Windows Server in una nuova rete virtuale, con un indirizzo IP pubblico. Dopo aver distribuito il computer, viene installata l'estensione di configurazione guest e viene applicata la baseline sicura di Azure per Windows Server. Se la configurazione dei computer deriva, è possibile riapplicare le impostazioni distribuendo di nuovo il modello. |
Definizione di risorsa del modello di Resource Manager
Il tipo di risorsa guestConfigurationAssignments può essere distribuito con operazioni destinate a:
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Per creare una risorsa Microsoft.GuestConfiguration/guestConfigurationAssignments, aggiungere il codice JSON seguente al modello.
{
"type": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
"apiVersion": "2020-06-25",
"name": "string",
"location": "string",
"properties": {
"context": "string",
"guestConfiguration": {
"assignmentType": "string",
"configurationParameter": [
{
"name": "string",
"value": "string"
}
],
"configurationProtectedParameter": [
{
"name": "string",
"value": "string"
}
],
"configurationSetting": {
"actionAfterReboot": "string",
"allowModuleOverwrite": "bool",
"configurationMode": "string",
"configurationModeFrequencyMins": "int",
"rebootIfNeeded": "bool",
"refreshFrequencyMins": "int"
},
"contentHash": "string",
"contentUri": "string",
"kind": "string",
"name": "string",
"version": "string"
},
"latestAssignmentReport": {
"assignment": {
"configuration": {
}
},
"resources": [
{
"reasons": [
{
}
]
}
],
"vm": {
}
},
"vmssVMList": [
{
}
]
}
}
Valori delle proprietà
Microsoft.GuestConfiguration/guestConfigurationAssignments
| Nome |
Descrizione |
Valore |
| versione dell'API |
Versione dell'API |
'2020-06-25' |
| ubicazione |
Area in cui si trova la macchina virtuale. |
corda |
| nome |
Nome della risorsa |
stringa (obbligatorio) |
| proprietà |
Proprietà dell'assegnazione di configurazione guest. |
Proprietà GuestConfigurationAssignmentProperties |
| digitare |
Tipo di risorsa |
'Microsoft.GuestConfiguration/guestConfigurationAssignments' |
Informazioni sull'assegnazione
Rapporto di assegnazione
| Nome |
Descrizione |
Valore |
| incarico |
Dettagli di configurazione dell'assegnazione della configurazione guest. |
Informazioni sull'assegnazione |
| risorse |
Elenco di risorse per le quali viene verificata la conformità dell'assegnazione della configurazione guest. |
AssegnazioneReportRisorsa[] |
| Vm |
Informazioni sulla macchina virtuale. |
VMInfo |
AssegnazioneReportRisorsa
AssignmentReportResourceComplianceReason
Informazioni sulla configurazione
Parametro di configurazione
| Nome |
Descrizione |
Valore |
| nome |
Nome del parametro di configurazione. |
corda |
| valore |
Valore del parametro di configurazione. |
corda |
ConfigurazioneImpostazioni
| Nome |
Descrizione |
Valore |
| azioneDopoRiavvio |
Specifica cosa accade dopo un riavvio durante l'applicazione di una configurazione. I valori possibili sono ContinueConfiguration e StopConfiguration |
'ContinuaConfigurazione' 'StopConfiguration' |
| allowModuleOverwrite |
Se true: le nuove configurazioni scaricate dal servizio di pull possono sovrascrivere quelle precedenti nel nodo di destinazione. In caso contrario, false |
Bool |
| configurationMode |
Specifica in che modo Gestione configurazione locale applica effettivamente la configurazione ai nodi di destinazione. I valori possibili sono ApplyOnly, ApplyAndMonitor e ApplyAndAutoCorrect. |
'Applica e correggi automaticamente' 'Applica e monitora' 'ApplyOnly' |
| configurationModeFrequencyMins |
Con quale frequenza, in minuti, viene verificata e applicata la configurazione corrente. Questa proprietà viene ignorata se la proprietà ConfigurationMode è impostata su ApplyOnly. Il valore predefinito è 15. |
Int |
| rebootIfNeeded |
Impostare su true per riavviare automaticamente il nodo dopo l'applicazione di una configurazione che richiede il riavvio. In caso contrario, sarà necessario riavviare manualmente il nodo per qualsiasi configurazione che lo richiede. Il valore predefinito è false. Per usare questa impostazione quando viene applicato una condizione di riavvio da un elemento diverso da DSC (ad esempio Windows Installer), combinare questa impostazione con il modulo xPendingReboot. |
Bool |
| refreshFrequencyMins |
Intervallo di tempo, espresso in minuti, in cui Gestione configurazione locale controlla un servizio di pull per ottenere configurazioni aggiornate. Questo valore viene ignorato se Gestione configurazione locale non è configurata in modalità pull. Il valore predefinito è 30. |
Int |
Proprietà GuestConfigurationAssignmentProperties
| Nome |
Descrizione |
Valore |
| contesto |
Origine che ha avviato l'assegnazione di configurazione guest. Ad esempio: Criteri di Azure |
corda |
| Configurazione ospite |
Configurazione guest da assegnare. |
GuestConfigurationNavigation |
| latestAssignmentReport |
Ultimo report sull'assegnazione della configurazione guest segnalata. |
Rapporto di assegnazione |
| vmssVMList |
Elenco dei dati di conformità delle macchine virtuali per il set di scalabilità di macchine virtuali |
VmssvmInfo[] |
GuestConfigurationNavigation
| Nome |
Descrizione |
Valore |
| assignmentType |
Specifica il tipo di assegnazione e l'esecuzione della configurazione. I valori possibili sono Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect e ApplyAndMonitor. |
'Applica e correggi automaticamente' 'Applica e monitora' "Revisione" 'Distribuisci e correggi automaticamente' |
| configurationParameter |
Parametri di configurazione per la configurazione guest. |
ConfigurationParameter[] |
| configurationProtectedParameter |
Parametri di configurazione protetti per la configurazione guest. |
ConfigurationParameter[] |
| configurazioneImpostazione |
Impostazione di configurazione per la configurazione guest. |
ConfigurazioneImpostazioni |
| contentHash |
Hash combinato del pacchetto di configurazione guest e dei parametri di configurazione. |
corda |
| contentUri |
URI della risorsa di archiviazione in cui viene caricato il pacchetto di configurazione guest. |
corda |
| gentile |
Tipo di configurazione guest. Ad esempio:DSC |
'DSC' |
| nome |
Nome della configurazione guest. |
corda |
| Versione |
Versione della configurazione guest. |
corda |
VMInfo
VmssvmInfo
Esempi di utilizzo
Modelli di avvio rapido di Azure
I modelli di avvio rapido di Azure seguenti distribuire questo tipo di risorsa.
| Sagoma |
Descrizione |
macchine virtuali IIS & vm di SQL Server 2014
|
Creare server Web Windows 2012 R2 IIS 1 o 2 e un back-end di SQL Server 2014 nella rete virtuale. |
macchina virtuale Windows con di base sicura di Azure
|
Il modello crea una macchina virtuale che esegue Windows Server in una nuova rete virtuale, con un indirizzo IP pubblico. Dopo aver distribuito il computer, viene installata l'estensione di configurazione guest e viene applicata la baseline sicura di Azure per Windows Server. Se la configurazione dei computer deriva, è possibile riapplicare le impostazioni distribuendo di nuovo il modello. |
Il tipo di risorsa guestConfigurationAssignments può essere distribuito con operazioni destinate a:
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Per creare una risorsa Microsoft.GuestConfiguration/guestConfigurationAssignments, aggiungere il codice Terraform seguente al modello.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25"
name = "string"
parent_id = "string"
location = "string"
body = {
properties = {
context = "string"
guestConfiguration = {
assignmentType = "string"
configurationParameter = [
{
name = "string"
value = "string"
}
]
configurationProtectedParameter = [
{
name = "string"
value = "string"
}
]
configurationSetting = {
actionAfterReboot = "string"
allowModuleOverwrite = bool
configurationMode = "string"
configurationModeFrequencyMins = int
rebootIfNeeded = bool
refreshFrequencyMins = int
}
contentHash = "string"
contentUri = "string"
kind = "string"
name = "string"
version = "string"
}
latestAssignmentReport = {
assignment = {
configuration = {
}
}
resources = [
{
reasons = [
{
}
]
}
]
vm = {
}
}
vmssVMList = [
{
}
]
}
}
}
Valori delle proprietà
Microsoft.GuestConfiguration/guestConfigurationAssignments
| Nome |
Descrizione |
Valore |
| ubicazione |
Area in cui si trova la macchina virtuale. |
corda |
| nome |
Nome della risorsa |
stringa (obbligatorio) |
| parent_id |
ID della risorsa a cui applicare la risorsa di estensione. |
stringa (obbligatorio) |
| proprietà |
Proprietà dell'assegnazione di configurazione guest. |
Proprietà GuestConfigurationAssignmentProperties |
| digitare |
Tipo di risorsa |
"Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25" |
Informazioni sull'assegnazione
Rapporto di assegnazione
| Nome |
Descrizione |
Valore |
| incarico |
Dettagli di configurazione dell'assegnazione della configurazione guest. |
Informazioni sull'assegnazione |
| risorse |
Elenco di risorse per le quali viene verificata la conformità dell'assegnazione della configurazione guest. |
AssegnazioneReportRisorsa[] |
| Vm |
Informazioni sulla macchina virtuale. |
VMInfo |
AssegnazioneReportRisorsa
AssignmentReportResourceComplianceReason
Informazioni sulla configurazione
Parametro di configurazione
| Nome |
Descrizione |
Valore |
| nome |
Nome del parametro di configurazione. |
corda |
| valore |
Valore del parametro di configurazione. |
corda |
ConfigurazioneImpostazioni
| Nome |
Descrizione |
Valore |
| azioneDopoRiavvio |
Specifica cosa accade dopo un riavvio durante l'applicazione di una configurazione. I valori possibili sono ContinueConfiguration e StopConfiguration |
'ContinuaConfigurazione' 'StopConfiguration' |
| allowModuleOverwrite |
Se true: le nuove configurazioni scaricate dal servizio di pull possono sovrascrivere quelle precedenti nel nodo di destinazione. In caso contrario, false |
Bool |
| configurationMode |
Specifica in che modo Gestione configurazione locale applica effettivamente la configurazione ai nodi di destinazione. I valori possibili sono ApplyOnly, ApplyAndMonitor e ApplyAndAutoCorrect. |
'Applica e correggi automaticamente' 'Applica e monitora' 'ApplyOnly' |
| configurationModeFrequencyMins |
Con quale frequenza, in minuti, viene verificata e applicata la configurazione corrente. Questa proprietà viene ignorata se la proprietà ConfigurationMode è impostata su ApplyOnly. Il valore predefinito è 15. |
Int |
| rebootIfNeeded |
Impostare su true per riavviare automaticamente il nodo dopo l'applicazione di una configurazione che richiede il riavvio. In caso contrario, sarà necessario riavviare manualmente il nodo per qualsiasi configurazione che lo richiede. Il valore predefinito è false. Per usare questa impostazione quando viene applicato una condizione di riavvio da un elemento diverso da DSC (ad esempio Windows Installer), combinare questa impostazione con il modulo xPendingReboot. |
Bool |
| refreshFrequencyMins |
Intervallo di tempo, espresso in minuti, in cui Gestione configurazione locale controlla un servizio di pull per ottenere configurazioni aggiornate. Questo valore viene ignorato se Gestione configurazione locale non è configurata in modalità pull. Il valore predefinito è 30. |
Int |
Proprietà GuestConfigurationAssignmentProperties
| Nome |
Descrizione |
Valore |
| contesto |
Origine che ha avviato l'assegnazione di configurazione guest. Ad esempio: Criteri di Azure |
corda |
| Configurazione ospite |
Configurazione guest da assegnare. |
GuestConfigurationNavigation |
| latestAssignmentReport |
Ultimo report sull'assegnazione della configurazione guest segnalata. |
Rapporto di assegnazione |
| vmssVMList |
Elenco dei dati di conformità delle macchine virtuali per il set di scalabilità di macchine virtuali |
VmssvmInfo[] |
GuestConfigurationNavigation
| Nome |
Descrizione |
Valore |
| assignmentType |
Specifica il tipo di assegnazione e l'esecuzione della configurazione. I valori possibili sono Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect e ApplyAndMonitor. |
'Applica e correggi automaticamente' 'Applica e monitora' "Revisione" 'Distribuisci e correggi automaticamente' |
| configurationParameter |
Parametri di configurazione per la configurazione guest. |
ConfigurationParameter[] |
| configurationProtectedParameter |
Parametri di configurazione protetti per la configurazione guest. |
ConfigurationParameter[] |
| configurazioneImpostazione |
Impostazione di configurazione per la configurazione guest. |
ConfigurazioneImpostazioni |
| contentHash |
Hash combinato del pacchetto di configurazione guest e dei parametri di configurazione. |
corda |
| contentUri |
URI della risorsa di archiviazione in cui viene caricato il pacchetto di configurazione guest. |
corda |
| gentile |
Tipo di configurazione guest. Ad esempio:DSC |
'DSC' |
| nome |
Nome della configurazione guest. |
corda |
| Versione |
Versione della configurazione guest. |
corda |
VMInfo
VmssvmInfo
Esempi di utilizzo
Un esempio di base di distribuzione Applica un criterio di configurazione guest a una macchina virtuale.
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" "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 = "internal"
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 = "acctestvmdro23"
secrets = [
]
windowsConfiguration = {
enableAutomaticUpdates = true
patchSettings = {
assessmentMode = "ImageDefault"
enableHotpatching = false
patchMode = "AutomaticByOS"
}
provisionVMAgent = true
winRM = {
listeners = [
]
}
}
}
priority = "Regular"
storageProfile = {
dataDisks = [
]
imageReference = {
offer = "WindowsServer"
publisher = "MicrosoftWindowsServer"
sku = "2016-Datacenter"
version = "latest"
}
osDisk = {
caching = "ReadWrite"
createOption = "FromImage"
managedDisk = {
storageAccountType = "Standard_LRS"
}
osType = "Windows"
writeAcceleratorEnabled = false
}
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "guestConfigurationAssignment" {
type = "Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25"
parent_id = azapi_resource.virtualMachine.id
name = "WhitelistedApplication"
location = var.location
body = {
properties = {
guestConfiguration = {
assignmentType = ""
configurationParameter = [
{
name = "[InstalledApplication]bwhitelistedapp;Name"
value = "NotePad,sql"
},
]
contentHash = ""
contentUri = ""
name = "WhitelistedApplication"
version = "1.*"
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}