Skip to content Skip to sidebar Skip to footer

Is There Any Python Api Which Can Get The Ip Address (internal Or External) Of Virtual Machine In Azure

I want to control the VMs in Azure with python SDK. Is there any API that can get a VM's IP address (internal or external) according to VM's name?

Solution 1:

Based on my understanding, I think you want to get the public & private ip addresses of a Azure VM using Azure SDK for Python.

For getting these ip addresses (internal & external), please see the code below.

from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration

subscription_id = '33333333-3333-3333-3333-333333333333'

credentials = ...

network_client = NetworkManagementClient(
    NetworkManagementClientConfiguration(
        credentials,
        subscription_id
    )
)

GROUP_NAME = 'XXX'
VM_NAME = 'xxx'
PUBLIC_IP_NAME = VM_NAME

public_ip_address = network_client.public_ip_addresses.get(GROUP_NAME, PUBLIC_IP_NAME)
print(public_ip_address.ip_address)
print(public_ip_address.ip_configuration.private_ip_address)

As reference, you can refer to the documents below to know the details of the code above.

  1. Resource Management Authentication using Python for the variable credentials.
  2. Create the management client for the variable network_client.
  3. More details for the azure.mgmt.network package, please see http://azure-sdk-for-python.readthedocs.io/en/latest/ref/azure.mgmt.network.html.

Solution 2:

For the people that don't have public IP assigned to their VM there is a way to get the private IP without creating the public IP.

from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration

subscription_id = '' 
credentials = UserPassCredentials(
    'user@yes.com',
    'password',
)

network_client = NetworkManagementClient(
    credentials,
    subscription_id
)

private_ip = network_client.network_interfaces.get(GROUP_NAME, NETWORK_INTERFACE_NAME).ip_configurations[0].private_ip_address

This works and is tested on azure-sdk-for-python version 2.0.0rc6.

Post a Comment for "Is There Any Python Api Which Can Get The Ip Address (internal Or External) Of Virtual Machine In Azure"