Есть шаблон ARM (https://github.com/jmspring/arm-template-neo4j-docker/blob/master/azuredeploy.json), который запустит экземпляр и назначит публичный IP-адрес.
здесь мне нужно напечатать IP-адрес в качестве вывода. Я попытался добавить в шаблон следующее. но все же он не печатает значение.
"outputs": {
"ipaddress": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName')),providers('Microsoft.Network', 'publicIPAddresses').apiVersions[0]).ipAddress]"
},
"VM IP address": {
"type": "string",
"value": "[reference(variables('publicIPAddressName')).ipAddress]"
}
}
}
Любая помощь будет полезна.
Ответ действительно исходит от Документы Azure
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))).IpAddress]",
Придумайте и создайте строку входа SSH с именем пользователя:
"Public IP SSH": {
"value": "[concat(
reference(resourceId('Microsoft.Compute/virtualMachines',variables('vmName'))).osProfile.adminUsername,
'@',
reference(resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))).IpAddress]",
"type": "string"
},
Я видел это пару раз раньше. Если вы хотите получить IP-адрес немедленно, вам необходимо использовать статический для свойства publicIPAllocationMethod.
Если вы не хотите использовать статические (зарезервированные IP-адреса), вам необходимо поставить зависимость от виртуальной машины, которая подключена к общедоступному IP-адресу (тогда адрес будет выделен).
Также для справки, для частных IP-адресов вы можете использовать следующее, чтобы вернуть частный IP-адрес, если это также необходимо:
reference('nic-name').ipConfigurations[0].properties.privateIPAddress
Я использовал это для получения общедоступного IP-адреса: «[ссылка (concat ('Microsoft.Network/publicIPAddresses/', переменные ('masterPublicIPAddressName'))). IpAddress]». Я использовал "publicIPAllocationMethod" как "статический"