Определение ресурсов Bicep
Тип ресурса virtualMachines/runCommands можно развернуть с помощью операций, предназначенных для следующих операций:
Список измененных свойств в каждой версии API см. в журнала изменений.
Чтобы создать ресурс Microsoft.Compute/virtualMachines/runCommands, добавьте следующий Bicep в шаблон.
resource symbolicname 'Microsoft.Compute/virtualMachines/runCommands@2025-04-01' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
properties: {
asyncExecution: bool
errorBlobManagedIdentity: {
clientId: 'string'
objectId: 'string'
}
errorBlobUri: 'string'
outputBlobManagedIdentity: {
clientId: 'string'
objectId: 'string'
}
outputBlobUri: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
protectedParameters: [
{
name: 'string'
value: 'string'
}
]
runAsPassword: 'string'
runAsUser: 'string'
source: {
commandId: 'string'
galleryScriptReferenceId: 'string'
script: 'string'
scriptShell: 'string'
scriptUri: 'string'
scriptUriManagedIdentity: {
clientId: 'string'
objectId: 'string'
}
}
timeoutInSeconds: int
treatFailureAsDeploymentFailure: bool
}
tags: {
{customized property}: 'string'
}
}
Значения свойств
Microsoft.Compute/virtualMachines/runCommands
| Имя |
Description |
Ценность |
| location |
Географическое расположение, в котором находится ресурс |
строка (обязательно) |
| имя |
имя ресурса. |
строка (обязательно) |
| parent |
В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса.
Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса. |
Символьное имя ресурса типа: virtualMachines |
| properties |
Описывает свойства команды выполнения виртуальной машины. |
VirtualMachineRunCommandProperties |
| tags |
Теги ресурсов |
Словарь имен и значений тегов. См. теги в шаблонах |
| Имя |
Description |
Ценность |
| имя |
Имя параметра команды запуска. |
строка (обязательно) |
| value |
Значение параметра команды run. |
строка (обязательно) |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity)
| Имя |
Description |
Ценность |
| clientId |
Идентификатор клиента (значение GUID) управляемого удостоверения, назначаемого пользователем. Объектный идентификатор не следует использовать, если это указано. |
струна |
| objectId |
Идентификатор объекта (значение GUID) управляемого удостоверения, назначаемого пользователем. ClientId не следует использовать, если это указано. |
струна |
VirtualMachineRunCommandProperties
| Имя |
Description |
Ценность |
| asyncExecution |
Необязательно. Если задано значение true, подготовка завершится сразу после запуска скрипта и не будет ожидать завершения скрипта. |
bool |
| errorBlobManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к blob-объекту хранилища errorBlobUri. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объекта с назначением роли "Участник данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
| errorBlobUri |
Указывает большой двоичный объект хранилища Azure, в котором будет отправлен поток ошибок скрипта. Используйте URI SAS с чтением, добавлением, созданием, записью или использованием управляемого удостоверения для предоставления виртуальной машине доступа к большому двоичному объекту. См. параметр errorBlobManagedIdentity. |
струна |
| outputBlobManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к blob-объекту хранилища outputBlobUri. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объекта с назначением роли "Участник данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
| outputBlobUri |
Указывает большой двоичный объект хранилища Azure, в котором будет отправлен поток выходных данных скрипта. Используйте URI SAS с чтением, добавлением, созданием, записью или использованием управляемого удостоверения для предоставления виртуальной машине доступа к большому двоичному объекту. См. параметр outputBlobManagedIdentity. |
струна |
| parameters |
Параметры, используемые скриптом. |
RunCommandInputParameter[] |
| защищенныеПараметры |
Параметры, используемые скриптом. |
RunCommandInputParameter[] |
| runAsPassword |
Указывает пароль учетной записи пользователя на виртуальной машине при выполнении команды выполнения. |
струна |
| runAsUser |
Указывает учетную запись пользователя на виртуальной машине при выполнении команды выполнения. |
струна |
| source |
Источник скрипта выполнения команды. |
VirtualMachineRunCommandScriptSource |
| timeoutInSeconds |
Время ожидания в секундах для выполнения команды выполнения. |
инт |
| treatFailureAsDeploymentFailureFailure |
Необязательно. Если задано значение true, любой сбой в скрипте завершится сбоем развертывания и provisioningState будет помечен как "Сбой". Если задано значение false, ProvisioningState будет отражать только выполнение команды выполнения платформы расширений, не указывайте, завершился ли скрипт сбоем в случае сбоев скрипта. Просмотр представления экземпляра команды выполнения в случае сбоя скрипта, чтобы увидеть executionMessage, выходные данные, ошибку: https://aka.ms/runcommandmanaged#get-execution-status-and-results |
bool |
VirtualMachineRunCommandScriptSource
| Имя |
Description |
Ценность |
| commandId |
Задает идентификатор командной строки предопределенного встроенного скрипта. Идентификаторы команд, доступные для Linux, перечислены по адресу https://aka.ms/RunCommandManagedLinux#available-commands, Windows по адресу https://aka.ms/RunCommandManagedWindows#available-commands. |
струна |
| galleryScriptReferenceId |
Идентификатор ресурса версии скрипта галереи, которую необходимо выполнить. Пример ID выглядит как /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{galleryName}/scripts/{scriptName}/versions/{version}. |
струна |
| script |
Указывает содержимое скрипта, выполняемого на виртуальной машине. |
струна |
| scriptShell |
Необязательно. Укажите, какую оболочку использовать для запуска скрипта. Эти значения должны совпадать с ожидаемыми расширением. В настоящее время поддерживается только для виртуальных машин Windows, скрипт использует Powershell 7, если он указан. Powershell 7 должен быть уже установлен на компьютере, чтобы использовать значение параметра Powershell7. |
По умолчанию «Powershell7» |
| scriptUri |
Указывает расположение загрузки скрипта. Это может быть URI SAS большого двоичного объекта хранилища Azure с доступом на чтение или общедоступным универсальным кодом ресурса (URI). |
струна |
| scriptUriManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к scriptUri в случае большого двоичного объекта хранилища Azure. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что большой двоичный объект хранилища Azure существует, и управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объектов с назначением роли "Читатель данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged. |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
Примеры использования
Примеры быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.
| Bicep-файл |
Description |
|
Омнибус GitLab |
Этот шаблон упрощает развертывание GitLab Omnibus на виртуальной машине с общедоступным DNS, используя DNS общедоступного IP-адреса. Он использует размер Standard_F8s_v2 экземпляра, который соответствует эталонной архитектуре и поддерживает до 1000 пользователей (20 RPS). Экземпляр предварительно настроен для использования HTTPS с сертификатом Let's Encrypt для безопасных подключений. |
Определение ресурса шаблона ARM
Тип ресурса virtualMachines/runCommands можно развернуть с помощью операций, предназначенных для следующих операций:
Список измененных свойств в каждой версии API см. в журнала изменений.
Чтобы создать ресурс Microsoft.Compute/virtualMachines/runCommands, добавьте следующий код JSON в шаблон.
{
"type": "Microsoft.Compute/virtualMachines/runCommands",
"apiVersion": "2025-04-01",
"name": "string",
"location": "string",
"properties": {
"asyncExecution": "bool",
"errorBlobManagedIdentity": {
"clientId": "string",
"objectId": "string"
},
"errorBlobUri": "string",
"outputBlobManagedIdentity": {
"clientId": "string",
"objectId": "string"
},
"outputBlobUri": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
],
"protectedParameters": [
{
"name": "string",
"value": "string"
}
],
"runAsPassword": "string",
"runAsUser": "string",
"source": {
"commandId": "string",
"galleryScriptReferenceId": "string",
"script": "string",
"scriptShell": "string",
"scriptUri": "string",
"scriptUriManagedIdentity": {
"clientId": "string",
"objectId": "string"
}
},
"timeoutInSeconds": "int",
"treatFailureAsDeploymentFailure": "bool"
},
"tags": {
"{customized property}": "string"
}
}
Значения свойств
Microsoft.Compute/virtualMachines/runCommands
| Имя |
Description |
Ценность |
| apiVersion |
Версия API |
'2025-04-01' |
| location |
Географическое расположение, в котором находится ресурс |
строка (обязательно) |
| имя |
имя ресурса. |
строка (обязательно) |
| properties |
Описывает свойства команды выполнения виртуальной машины. |
VirtualMachineRunCommandProperties |
| tags |
Теги ресурсов |
Словарь имен и значений тегов. См. теги в шаблонах |
| type |
Тип ресурса |
"Microsoft.Compute/virtualMachines/runCommands" |
| Имя |
Description |
Ценность |
| имя |
Имя параметра команды запуска. |
строка (обязательно) |
| value |
Значение параметра команды run. |
строка (обязательно) |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity)
| Имя |
Description |
Ценность |
| clientId |
Идентификатор клиента (значение GUID) управляемого удостоверения, назначаемого пользователем. Объектный идентификатор не следует использовать, если это указано. |
струна |
| objectId |
Идентификатор объекта (значение GUID) управляемого удостоверения, назначаемого пользователем. ClientId не следует использовать, если это указано. |
струна |
VirtualMachineRunCommandProperties
| Имя |
Description |
Ценность |
| asyncExecution |
Необязательно. Если задано значение true, подготовка завершится сразу после запуска скрипта и не будет ожидать завершения скрипта. |
bool |
| errorBlobManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к blob-объекту хранилища errorBlobUri. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объекта с назначением роли "Участник данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
| errorBlobUri |
Указывает большой двоичный объект хранилища Azure, в котором будет отправлен поток ошибок скрипта. Используйте URI SAS с чтением, добавлением, созданием, записью или использованием управляемого удостоверения для предоставления виртуальной машине доступа к большому двоичному объекту. См. параметр errorBlobManagedIdentity. |
струна |
| outputBlobManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к blob-объекту хранилища outputBlobUri. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объекта с назначением роли "Участник данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
| outputBlobUri |
Указывает большой двоичный объект хранилища Azure, в котором будет отправлен поток выходных данных скрипта. Используйте URI SAS с чтением, добавлением, созданием, записью или использованием управляемого удостоверения для предоставления виртуальной машине доступа к большому двоичному объекту. См. параметр outputBlobManagedIdentity. |
струна |
| parameters |
Параметры, используемые скриптом. |
RunCommandInputParameter[] |
| защищенныеПараметры |
Параметры, используемые скриптом. |
RunCommandInputParameter[] |
| runAsPassword |
Указывает пароль учетной записи пользователя на виртуальной машине при выполнении команды выполнения. |
струна |
| runAsUser |
Указывает учетную запись пользователя на виртуальной машине при выполнении команды выполнения. |
струна |
| source |
Источник скрипта выполнения команды. |
VirtualMachineRunCommandScriptSource |
| timeoutInSeconds |
Время ожидания в секундах для выполнения команды выполнения. |
инт |
| treatFailureAsDeploymentFailureFailure |
Необязательно. Если задано значение true, любой сбой в скрипте завершится сбоем развертывания и provisioningState будет помечен как "Сбой". Если задано значение false, ProvisioningState будет отражать только выполнение команды выполнения платформы расширений, не указывайте, завершился ли скрипт сбоем в случае сбоев скрипта. Просмотр представления экземпляра команды выполнения в случае сбоя скрипта, чтобы увидеть executionMessage, выходные данные, ошибку: https://aka.ms/runcommandmanaged#get-execution-status-and-results |
bool |
VirtualMachineRunCommandScriptSource
| Имя |
Description |
Ценность |
| commandId |
Задает идентификатор командной строки предопределенного встроенного скрипта. Идентификаторы команд, доступные для Linux, перечислены по адресу https://aka.ms/RunCommandManagedLinux#available-commands, Windows по адресу https://aka.ms/RunCommandManagedWindows#available-commands. |
струна |
| galleryScriptReferenceId |
Идентификатор ресурса версии скрипта галереи, которую необходимо выполнить. Пример ID выглядит как /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{galleryName}/scripts/{scriptName}/versions/{version}. |
струна |
| script |
Указывает содержимое скрипта, выполняемого на виртуальной машине. |
струна |
| scriptShell |
Необязательно. Укажите, какую оболочку использовать для запуска скрипта. Эти значения должны совпадать с ожидаемыми расширением. В настоящее время поддерживается только для виртуальных машин Windows, скрипт использует Powershell 7, если он указан. Powershell 7 должен быть уже установлен на компьютере, чтобы использовать значение параметра Powershell7. |
По умолчанию «Powershell7» |
| scriptUri |
Указывает расположение загрузки скрипта. Это может быть URI SAS большого двоичного объекта хранилища Azure с доступом на чтение или общедоступным универсальным кодом ресурса (URI). |
струна |
| scriptUriManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к scriptUri в случае большого двоичного объекта хранилища Azure. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что большой двоичный объект хранилища Azure существует, и управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объектов с назначением роли "Читатель данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged. |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
Примеры использования
Шаблоны быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.
| Template |
Description |
Омнибус GitLab
|
Этот шаблон упрощает развертывание GitLab Omnibus на виртуальной машине с общедоступным DNS, используя DNS общедоступного IP-адреса. Он использует размер Standard_F8s_v2 экземпляра, который соответствует эталонной архитектуре и поддерживает до 1000 пользователей (20 RPS). Экземпляр предварительно настроен для использования HTTPS с сертификатом Let's Encrypt для безопасных подключений. |
Тип ресурса virtualMachines/runCommands можно развернуть с помощью операций, предназначенных для следующих операций:
Список измененных свойств в каждой версии API см. в журнала изменений.
Чтобы создать ресурс Microsoft.Compute/virtualMachines/runCommands, добавьте следующий объект Terraform в шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Compute/virtualMachines/runCommands@2025-04-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
asyncExecution = bool
errorBlobManagedIdentity = {
clientId = "string"
objectId = "string"
}
errorBlobUri = "string"
outputBlobManagedIdentity = {
clientId = "string"
objectId = "string"
}
outputBlobUri = "string"
parameters = [
{
name = "string"
value = "string"
}
]
protectedParameters = [
{
name = "string"
value = "string"
}
]
runAsPassword = "string"
runAsUser = "string"
source = {
commandId = "string"
galleryScriptReferenceId = "string"
script = "string"
scriptShell = "string"
scriptUri = "string"
scriptUriManagedIdentity = {
clientId = "string"
objectId = "string"
}
}
timeoutInSeconds = int
treatFailureAsDeploymentFailure = bool
}
}
}
Значения свойств
Microsoft.Compute/virtualMachines/runCommands
| Имя |
Description |
Ценность |
| location |
Географическое расположение, в котором находится ресурс |
строка (обязательно) |
| имя |
имя ресурса. |
строка (обязательно) |
| parent_id |
Идентификатор ресурса, который является родительским для этого ресурса. |
Идентификатор ресурса типа: virtualMachines |
| properties |
Описывает свойства команды выполнения виртуальной машины. |
VirtualMachineRunCommandProperties |
| tags |
Теги ресурсов |
Словарь имен и значений тегов. |
| type |
Тип ресурса |
"Microsoft.Compute/virtualMachines/runCommands@2025-04-01" |
| Имя |
Description |
Ценность |
| имя |
Имя параметра команды запуска. |
строка (обязательно) |
| value |
Значение параметра команды run. |
строка (обязательно) |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity)
| Имя |
Description |
Ценность |
| clientId |
Идентификатор клиента (значение GUID) управляемого удостоверения, назначаемого пользователем. Объектный идентификатор не следует использовать, если это указано. |
струна |
| objectId |
Идентификатор объекта (значение GUID) управляемого удостоверения, назначаемого пользователем. ClientId не следует использовать, если это указано. |
струна |
VirtualMachineRunCommandProperties
| Имя |
Description |
Ценность |
| asyncExecution |
Необязательно. Если задано значение true, подготовка завершится сразу после запуска скрипта и не будет ожидать завершения скрипта. |
bool |
| errorBlobManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к blob-объекту хранилища errorBlobUri. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объекта с назначением роли "Участник данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
| errorBlobUri |
Указывает большой двоичный объект хранилища Azure, в котором будет отправлен поток ошибок скрипта. Используйте URI SAS с чтением, добавлением, созданием, записью или использованием управляемого удостоверения для предоставления виртуальной машине доступа к большому двоичному объекту. См. параметр errorBlobManagedIdentity. |
струна |
| outputBlobManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к blob-объекту хранилища outputBlobUri. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объекта с назначением роли "Участник данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
| outputBlobUri |
Указывает большой двоичный объект хранилища Azure, в котором будет отправлен поток выходных данных скрипта. Используйте URI SAS с чтением, добавлением, созданием, записью или использованием управляемого удостоверения для предоставления виртуальной машине доступа к большому двоичному объекту. См. параметр outputBlobManagedIdentity. |
струна |
| parameters |
Параметры, используемые скриптом. |
RunCommandInputParameter[] |
| защищенныеПараметры |
Параметры, используемые скриптом. |
RunCommandInputParameter[] |
| runAsPassword |
Указывает пароль учетной записи пользователя на виртуальной машине при выполнении команды выполнения. |
струна |
| runAsUser |
Указывает учетную запись пользователя на виртуальной машине при выполнении команды выполнения. |
струна |
| source |
Источник скрипта выполнения команды. |
VirtualMachineRunCommandScriptSource |
| timeoutInSeconds |
Время ожидания в секундах для выполнения команды выполнения. |
инт |
| treatFailureAsDeploymentFailureFailure |
Необязательно. Если задано значение true, любой сбой в скрипте завершится сбоем развертывания и provisioningState будет помечен как "Сбой". Если задано значение false, ProvisioningState будет отражать только выполнение команды выполнения платформы расширений, не указывайте, завершился ли скрипт сбоем в случае сбоев скрипта. Просмотр представления экземпляра команды выполнения в случае сбоя скрипта, чтобы увидеть executionMessage, выходные данные, ошибку: https://aka.ms/runcommandmanaged#get-execution-status-and-results |
bool |
VirtualMachineRunCommandScriptSource
| Имя |
Description |
Ценность |
| commandId |
Задает идентификатор командной строки предопределенного встроенного скрипта. Идентификаторы команд, доступные для Linux, перечислены по адресу https://aka.ms/RunCommandManagedLinux#available-commands, Windows по адресу https://aka.ms/RunCommandManagedWindows#available-commands. |
струна |
| galleryScriptReferenceId |
Идентификатор ресурса версии скрипта галереи, которую необходимо выполнить. Пример ID выглядит как /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{galleryName}/scripts/{scriptName}/versions/{version}. |
струна |
| script |
Указывает содержимое скрипта, выполняемого на виртуальной машине. |
струна |
| scriptShell |
Необязательно. Укажите, какую оболочку использовать для запуска скрипта. Эти значения должны совпадать с ожидаемыми расширением. В настоящее время поддерживается только для виртуальных машин Windows, скрипт использует Powershell 7, если он указан. Powershell 7 должен быть уже установлен на компьютере, чтобы использовать значение параметра Powershell7. |
По умолчанию «Powershell7» |
| scriptUri |
Указывает расположение загрузки скрипта. Это может быть URI SAS большого двоичного объекта хранилища Azure с доступом на чтение или общедоступным универсальным кодом ресурса (URI). |
струна |
| scriptUriManagedIdentity |
Назначаемое пользователем управляемое удостоверение, которое имеет доступ к scriptUri в случае большого двоичного объекта хранилища Azure. Используйте пустой объект в случае назначаемого системой удостоверения. Убедитесь, что большой двоичный объект хранилища Azure существует, и управляемое удостоверение было предоставлено доступ к контейнеру BLOB-объектов с назначением роли "Читатель данных BLOB-объектов хранилища". В случае назначаемого пользователем удостоверения убедитесь, что вы добавите его в удостоверение виртуальной машины. Дополнительные сведения об управляемом удостоверении и команде запуска см. в https://aka.ms/ManagedIdentity и https://aka.ms/RunCommandManaged. |
RunCommandManagedIdentity (ВыполнитьCommandManagedIdentity) |
Примеры использования
Простой пример развертывания команды Run Virtual Machine Run.
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 = "eastus"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "userAssignedIdentity" {
type = "Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-uai"
location = var.location
}
resource "azapi_resource" "virtualNetwork" {
type = "Microsoft.Network/virtualNetworks@2024-05-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-vnet"
location = var.location
body = {
properties = {
addressSpace = {
addressPrefixes = ["10.0.0.0/16"]
}
dhcpOptions = {
dnsServers = []
}
privateEndpointVNetPolicies = "Disabled"
subnets = []
}
}
}
resource "azapi_resource" "subnet" {
type = "Microsoft.Network/virtualNetworks/subnets@2024-05-01"
parent_id = azapi_resource.virtualNetwork.id
name = "internal"
body = {
properties = {
addressPrefix = "10.0.2.0/24"
defaultOutboundAccess = true
delegations = []
privateEndpointNetworkPolicies = "Disabled"
privateLinkServiceNetworkPolicies = "Enabled"
serviceEndpointPolicies = []
serviceEndpoints = []
}
}
}
resource "azapi_resource" "networkInterface" {
type = "Microsoft.Network/networkInterfaces@2024-05-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-nic"
location = var.location
body = {
properties = {
enableAcceleratedNetworking = false
enableIPForwarding = false
ipConfigurations = [{
name = "internal"
properties = {
primary = false
privateIPAddressVersion = "IPv4"
privateIPAllocationMethod = "Dynamic"
subnet = {
id = azapi_resource.subnet.id
}
}
}]
}
}
}
resource "azapi_resource" "virtualMachine" {
type = "Microsoft.Compute/virtualMachines@2024-03-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-vm"
location = var.location
identity {
type = "SystemAssigned, UserAssigned"
identity_ids = [azapi_resource.userAssignedIdentity.id]
}
body = {
properties = {
additionalCapabilities = {}
applicationProfile = {
galleryApplications = []
}
diagnosticsProfile = {
bootDiagnostics = {
enabled = false
storageUri = ""
}
}
extensionsTimeBudget = "PT1H30M"
hardwareProfile = {
vmSize = "Standard_B2s"
}
networkProfile = {
networkInterfaces = [{
id = azapi_resource.networkInterface.id
properties = {
primary = true
}
}]
}
osProfile = {
adminPassword = "Pa-tn93e"
adminUsername = "adminuser"
allowExtensionOperations = true
computerName = "${var.resource_name}-vm"
linuxConfiguration = {
disablePasswordAuthentication = false
patchSettings = {
assessmentMode = "ImageDefault"
patchMode = "ImageDefault"
}
provisionVMAgent = true
ssh = {
publicKeys = []
}
}
secrets = []
}
priority = "Regular"
storageProfile = {
dataDisks = []
imageReference = {
offer = "0001-com-ubuntu-server-jammy"
publisher = "Canonical"
sku = "22_04-lts"
version = "latest"
}
osDisk = {
caching = "ReadWrite"
createOption = "FromImage"
managedDisk = {
storageAccountType = "Premium_LRS"
}
osType = "Linux"
writeAcceleratorEnabled = false
}
}
}
}
}
resource "azapi_resource" "runCommand" {
type = "Microsoft.Compute/virtualMachines/runCommands@2023-03-01"
parent_id = azapi_resource.virtualMachine.id
name = "${var.resource_name}-runcommand"
location = var.location
body = {
properties = {
asyncExecution = false
errorBlobUri = ""
outputBlobUri = ""
parameters = []
protectedParameters = []
runAsPassword = ""
runAsUser = ""
source = {
script = "echo 'hello world'"
}
timeoutInSeconds = 1200
treatFailureAsDeploymentFailure = true
}
}
}