Выходной IP-адрес виртуальной машины с использованием шаблона ARM

Есть шаблон 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]"
 }
}
}

Любая помощь будет полезна.

2
задан 23 March 2017 в 17:24
3 ответа

Я уже видел это пару раз раньше. Если вы хотите получить IP-адрес немедленно, вам нужно использовать static для свойства publicIPAllocationMethod.

Если вы не хотите использовать статические (зарезервированные IP-адреса), вам необходимо указать зависимость от виртуальной машины, которая подключена к общедоступному IP-адресу (адрес будет выделен затем).

Также для справки, для частных IP-адресов вы можете использовать следующее, чтобы вернуть частный IP-адрес, если он также требуется:

reference('nic-name').ipConfigurations[0].properties.privateIPAddress
3
ответ дан 3 December 2019 в 09:15

Ответ действительно исходит из документации 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"
 },
2
ответ дан 3 December 2019 в 09:15

Я использовал это для получения публичного IP: "[ссылка(concat('Microsoft.Network/publicIPAddresses/', переменные('masterPublicIPAddressName'))).ipAddress]" . Я использовал "publicIPAllocationMethod" как "статический"

.
1
ответ дан 3 December 2019 в 09:15

Теги

Похожие вопросы