Documentation
¶
Overview ¶
Package vm provides functions and data structures to interact with Azure Virtual Machine resources.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AzureResourceReport ¶
type AzureResourceReport struct {
Resources AzureResources `json:"resources"`
Errors []string `json:"errors"`
}
AzureResourceReport contains the AzureResources and any non-fatal errors encountered during enumeration.
func EnumerateVMs ¶
func EnumerateVMs(ctx context.Context, cfg config.AzureConfig) (*AzureResourceReport, error)
EnumerateVMs enumerates all VM related resources in the subscription, returning a report of the resources and any non-fatal errors encountered.
type AzureResources ¶
type AzureResources struct {
SubscriptionID string `json:"subscription_id"`
StandaloneVMInstances []VirtualMachine `json:"standalone_vms"`
VMSSVMInstances []VirtualMachineScaleSetVM `json:"vmss_vms"`
}
AzureResources contains details about all VM related resources in the subscription.
type IPFqdnMapping ¶
IPFqdnMapping provides a mapping between an IP address and an FQDN.
type NetworkInterface ¶
type NetworkInterface struct {
ID string `json:"id"`
Details armnetwork.Interface `json:"details"`
IPFqdns []IPFqdnMapping `json:"ip_fqdn"`
}
NetworkInterface contains details about a single network interface and its corresponding IP addresses and FQDNs.
type SubnetDetails ¶
SubnetDetails contains details about a single subnet.
type VirtualMachine ¶
type VirtualMachine struct {
Details armcompute.VirtualMachine `json:"details"`
VNetID string `json:"vnet_id"`
NetworkInterfaces []NetworkInterface `json:"network_interfaces"`
LinkedSubnetDetails []SubnetDetails `json:"linked_subnet_details"`
}
VirtualMachine contains details about a single Virtual Machine and its corresponding network interfaces and linked subnets.
type VirtualMachineScaleSetVM ¶
type VirtualMachineScaleSetVM struct {
Details armcompute.VirtualMachineScaleSetVM `json:"details"`
VNetID string `json:"vnet_id"`
NetworkInterfaces []NetworkInterface `json:"network_interfaces"`
LinkedSubnetDetails []SubnetDetails `json:"linked_subnet_details"`
}
VirtualMachineScaleSetVM contains details about a single Virtual Machine Scale Set VM and its corresponding network interfaces and linked subnets.