Title: | Interface to Azure Virtual Machine Instance Metadata |
---|---|
Description: | A simple interface to the instance metadata for a virtual machine running in Microsoft's 'Azure' cloud. This provides information about the VM's configuration, such as its processors, memory, networking, storage, and so on. Part of the 'AzureR' family of packages. |
Authors: | Hong Ooi [aut, cre], Microsoft [cph] |
Maintainer: | Hong Ooi <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.0.1.9000 |
Built: | 2024-12-17 02:55:06 UTC |
Source: | https://github.com/azure/azurevmmetadata |
Check if R is running in an Azure VM
in_azure_vm() get_vm_cert(nonce = NULL)
in_azure_vm() get_vm_cert(nonce = NULL)
nonce |
An optional string to use as a nonce. |
These functions check if R is running in an Azure VM by attempting to contact the instance metadata host. in_azure_vm
simply returns TRUE or FALSE based on whether it succeeds. get_vm_cert
provides a stronger check, by retrieving the VM's certificate and throwing an error if this is not found. Note that you should still verify the certificate's authenticity before relying on it.
For in_azure_vm
, a boolean. For get_vm_cert
, a PKCS-7 certificate object.
Metadata for an Azure VM
instance attested events update_instance_metadata() update_attested_metadata(nonce = NULL) update_scheduled_events()
instance attested events update_instance_metadata() update_attested_metadata(nonce = NULL) update_scheduled_events()
nonce |
For |
instance
, attested
and events
are environments.
The instance
, attested
and events
environments contain the instance metadata, attested metadata, and scheduled events respectively for a VM running in Azure. instance
and attested
are automatically populated when you load the AzureVMmetadata package, or you can manually populate them yourself with the update_instance_metadata
and update_attested_metadata
functions. events
is not populated at package startup, because calling the scheduled event service can require up to several minutes if it is not running already. You can manually populate it with the update_scheduled_events
function.
If AzureVMmetadata is loaded in an R session that is not running in an Azure VM, all the metadata environments will be empty.
The updating functions return the contents of their respective environments as lists, invisibly.
Instance metadata service documentation
To obtain OAuth tokens from the metadata service, see AzureAuth::get_managed_token
## these will only be meaningful when run in an Azure VM # all compute metadata AzureVMmetadata::instance$compute # VM name and ID AzureVMmetadata::instance$compute$name AzureVMmetadata::instance$compute$vmId # VM resource details: subscription, resource group, resource ID AzureVMmetadata::instance$compute$subscriptionId AzureVMmetadata::instance$compute$resourceGroupName AzureVMmetadata::instance$compute$resourceId # all network metadata AzureVMmetadata::instance$network # IPv4 address details (1st network interface) AzureVMmetadata::instance$network$interface[[1]]$ipv4
## these will only be meaningful when run in an Azure VM # all compute metadata AzureVMmetadata::instance$compute # VM name and ID AzureVMmetadata::instance$compute$name AzureVMmetadata::instance$compute$vmId # VM resource details: subscription, resource group, resource ID AzureVMmetadata::instance$compute$subscriptionId AzureVMmetadata::instance$compute$resourceGroupName AzureVMmetadata::instance$compute$resourceId # all network metadata AzureVMmetadata::instance$network # IPv4 address details (1st network interface) AzureVMmetadata::instance$network$interface[[1]]$ipv4