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" yaml:"resources"`
Errors []string `json:"errors" yaml:"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" yaml:"subscription_id"`
TenantID string `json:"tenant_id" yaml:"tenant_id"`
StandaloneVMInstances []VirtualMachine `json:"standalone_vms" yaml:"standalone_vms"`
VMSSVMInstances []VirtualMachineScaleSetVM `json:"vmss_vms" yaml:"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" yaml:"id"`
Details armnetwork.Interface `json:"details" yaml:"details"`
IPFqdns []IPFqdnMapping `json:"ip_fqdn" yaml:"ip_fqdn"`
NetworkSecurityGroupID *string `json:"network_security_group_id" yaml:"network_security_group_id"`
Errors []string `json:"errors" yaml:"errors"`
}
NetworkInterface contains details about a single network interface and its corresponding IP addresses and FQDNs.
type SubnetDetails ¶
type SubnetDetails struct {
ID string `json:"id" yaml:"id"`
AddressPrefix string `json:"address_prefix" yaml:"address_prefix"`
NetworkSecurityGroupID *string `json:"network_security_group_id" yaml:"network_security_group_id"`
}
SubnetDetails contains details about a single subnet.
type VirtualMachine ¶
type VirtualMachine struct {
Details armcompute.VirtualMachine `json:"details" yaml:"details"`
VNetID string `json:"vnet_id" yaml:"vnet_id"`
NetworkInterfaces []NetworkInterface `json:"network_interfaces" yaml:"network_interfaces"`
LinkedSubnetDetails []SubnetDetails `json:"linked_subnet_details" yaml:"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" yaml:"details"`
VNetID string `json:"vnet_id" yaml:"vnet_id"`
NetworkInterfaces []NetworkInterface `json:"network_interfaces" yaml:"network_interfaces"`
LinkedSubnetDetails []SubnetDetails `json:"linked_subnet_details" yaml:"linked_subnet_details"`
}
VirtualMachineScaleSetVM contains details about a single Virtual Machine Scale Set VM and its corresponding network interfaces and linked subnets.