Documentation
¶
Index ¶
- Constants
- func ExtractResourceGroupFromID(ctx context.Context, id string) string
- func FromCloudyVirtualMachine(ctx context.Context, cloudyVM *models.VirtualMachine) armcompute.VirtualMachine
- func GenerateInstallAvdScript(ctx context.Context, creds *cloudyazure.AzureCredentials, ...) (string, error)
- func GenerateInstallSaltMinionScript(ctx context.Context, creds *cloudyazure.AzureCredentials, ...) (string, error)
- func GenerateJoinDomainScript(adConfig *ADJoinConfig) string
- func GenerateRestartScript() string
- func GenerateScriptEnd() string
- func GenerateScriptStart() string
- func IsAvailable(restrictions []*armcompute.ResourceSKURestrictions) bool
- func IsInLocation(region string, locations []*string) bool
- func LongIdToShortId(longId string) string
- func NewAzureVirtualMachineManager(ctx context.Context, credentials *cloudyazure.AzureCredentials, ...) (cloudyvm.VirtualMachineManager, error)
- func SizeFromResource(ctx context.Context, res *armcompute.ResourceSKU) *cloudyvm.VmSize
- func ToCloudyVirtualMachine(ctx context.Context, azVM *armcompute.VirtualMachine) *models.VirtualMachine
- func ToCloudyVirtualMachineLocation(location *string) *models.VirtualMachineLocation
- func ToCloudyVirtualMachineSize(ctx context.Context, resource *armcompute.ResourceSKU) *models.VirtualMachineSize
- func UpdateCloudyVirtualMachine(vm *models.VirtualMachine, responseVirtualMachine armcompute.VirtualMachine) error
- func VMAddTag(ctx context.Context)
- func VMGetPowerState(vm *armcompute.VirtualMachine) string
- type ADJoinConfig
- type AVDInstallConfig
- type AzureVMController
- func (vmc *AzureVMController) ConfigureDiskSize(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (int32, error)
- func (vmc *AzureVMController) ConfigureVmOsDiskOsTypeType(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) *armcompute.OperatingSystemTypes
- func (vmc *AzureVMController) ConfigureVmOsProfile(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) *armcompute.OSProfile
- func (vmc *AzureVMController) Create(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineConfiguration, error)
- func (vmc *AzureVMController) CreateNIC(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration, subnetId string) error
- func (vmc *AzureVMController) CreateNSG(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (string, error)
- func (vmc *AzureVMController) CreateVirtualMachine(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
- func (vmc *AzureVMController) Delete(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineConfiguration, error)
- func (vmc *AzureVMController) DeleteNIC(ctx context.Context, vmId string, nicName string) error
- func (vmc *AzureVMController) DeleteVM(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
- func (vmc *AzureVMController) DeleteVMOSDisk(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
- func (vmc *AzureVMController) FindBestSubnet(ctx context.Context, availableSubnets []string) (string, error)
- func (vmc *AzureVMController) GetAvailableIPS(ctx context.Context, subnet string) (int, error)
- func (vmc *AzureVMController) GetLatestImageVersion(ctx context.Context, imageName string) (string, error)
- func (vmc *AzureVMController) GetLimits(ctx context.Context) ([]*cloudyvm.VirtualMachineLimit, error)
- func (vmc *AzureVMController) GetNIC(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineNetwork, error)
- func (vmc *AzureVMController) GetNSG(ctx context.Context, name string) (*armnetwork.SecurityGroup, error)
- func (vmc *AzureVMController) GetVM(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineConfiguration, error)
- func (vmc *AzureVMController) GetVMSize(ctx context.Context, size string) (*cloudyvm.VmSize, error)
- func (vmc *AzureVMController) GetVMSizes(ctx context.Context) (map[string]*cloudyvm.VmSize, error)
- func (vmc *AzureVMController) GetVmOsDisk(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineDisk, error)
- func (vmc *AzureVMController) ListAll(ctx context.Context) ([]*cloudyvm.VirtualMachineStatus, error)
- func (vmc *AzureVMController) ListWithTag(ctx context.Context, tag string) ([]*cloudyvm.VirtualMachineStatus, error)
- func (vmc *AzureVMController) SetState(ctx context.Context, state cloudyvm.VirtualMachineAction, vmName string, ...) (*cloudyvm.VirtualMachineStatus, error)
- func (vmc *AzureVMController) Start(ctx context.Context, vmName string, wait bool) error
- func (vmc *AzureVMController) Status(ctx context.Context, vmName string) (*cloudyvm.VirtualMachineStatus, error)
- func (vmc *AzureVMController) Stop(ctx context.Context, vmName string, wait bool) error
- func (vmc *AzureVMController) Terminate(ctx context.Context, vmName string, wait bool) error
- func (vmc *AzureVMController) ValidateConfiguration(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
- type AzureVMControllerConfig
- type AzureVMControllerFactory
- type AzureVirtualMachineManager
- func (vmm *AzureVirtualMachineManager) Configure(ctx context.Context) error
- func (vmm *AzureVirtualMachineManager) Create(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
- func (vmm *AzureVirtualMachineManager) CreateNic(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachineNic, error)
- func (vmm *AzureVirtualMachineManager) Deallocate(ctx context.Context, vmName string) error
- func (vmm *AzureVirtualMachineManager) Delete(ctx context.Context, vmId string) error
- func (vmm *AzureVirtualMachineManager) DeleteDisk(ctx context.Context, diskName string) error
- func (vmm *AzureVirtualMachineManager) DeleteNic(ctx context.Context, nic *models.VirtualMachineNic) error
- func (vmm *AzureVirtualMachineManager) DeleteNics(ctx context.Context, nics []*models.VirtualMachineNic) error
- func (vmm *AzureVirtualMachineManager) ExecuteRemotePowershell(ctx context.Context, vmID string, script *string, ...) error
- func (vmm *AzureVirtualMachineManager) GetAll(ctx context.Context, filter string, attrs []string, includeState bool) (*[]models.VirtualMachine, error)
- func (vmm *AzureVirtualMachineManager) GetAllDisks(ctx context.Context) ([]*models.VirtualMachineDisk, error)
- func (vmm *AzureVirtualMachineManager) GetAllNics(ctx context.Context) ([]*models.VirtualMachineNic, error)
- func (vmm *AzureVirtualMachineManager) GetAllSizes(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
- func (vmm *AzureVirtualMachineManager) GetAllVmDisks(ctx context.Context, vmId string) ([]*models.VirtualMachineDisk, error)
- func (vmm *AzureVirtualMachineManager) GetById(ctx context.Context, id string, includeState bool) (*models.VirtualMachine, error)
- func (vmm *AzureVirtualMachineManager) GetLatestImageVersion(ctx context.Context, imageName string) (string, error)
- func (vmm *AzureVirtualMachineManager) GetNics(ctx context.Context, vmId string) ([]*models.VirtualMachineNic, error)
- func (vmm *AzureVirtualMachineManager) GetOsDisk(ctx context.Context, vmId string) (*models.VirtualMachineDisk, error)
- func (vmm *AzureVirtualMachineManager) GetSizesForTemplate(ctx context.Context, template models.VirtualMachineTemplate) (matches map[string]*models.VirtualMachineSize, ...)
- func (vmm *AzureVirtualMachineManager) GetSizesWithUsage(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
- func (vmm *AzureVirtualMachineManager) GetUsage(ctx context.Context) (map[string]models.VirtualMachineFamily, error)
- func (vmm *AzureVirtualMachineManager) InitialVirtualMachineSetup(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
- func (vmm *AzureVirtualMachineManager) RunCommand(ctx context.Context, vmId string, script string) error
- func (vmm *AzureVirtualMachineManager) Start(ctx context.Context, vmName string) error
- func (vmm *AzureVirtualMachineManager) Stop(ctx context.Context, vmName string) error
- func (vmm *AzureVirtualMachineManager) Update(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
- type InstallerBinaryStorageConfig
- type PowershellConfig
- type SaltMinionInstallConfig
- type ScoredVMSize
- type VirtualMachineManagerConfig
Constants ¶
const AzureArmCompute = "azure-arm-compute"
const (
MIN_WINDOWS_OS_DISK_SIZE = 200
)
Variables ¶
This section is empty.
Functions ¶
func FromCloudyVirtualMachine ¶
func FromCloudyVirtualMachine(ctx context.Context, cloudyVM *models.VirtualMachine) armcompute.VirtualMachine
func GenerateInstallAvdScript ¶ added in v0.0.51
func GenerateInstallAvdScript(ctx context.Context, creds *cloudyazure.AzureCredentials, storageAccountName, containerName string, avdConfig *AVDInstallConfig, hostPoolToken string) (string, error)
func GenerateInstallSaltMinionScript ¶ added in v0.0.51
func GenerateInstallSaltMinionScript(ctx context.Context, creds *cloudyazure.AzureCredentials, storageAccountName, containerName string, saltConfig *SaltMinionInstallConfig) (string, error)
func GenerateJoinDomainScript ¶ added in v0.0.51
func GenerateJoinDomainScript(adConfig *ADJoinConfig) string
func GenerateRestartScript ¶ added in v0.0.51
func GenerateRestartScript() string
func GenerateScriptEnd ¶ added in v0.0.51
func GenerateScriptEnd() string
func GenerateScriptStart ¶ added in v0.0.51
func GenerateScriptStart() string
func IsAvailable ¶
func IsAvailable(restrictions []*armcompute.ResourceSKURestrictions) bool
func IsInLocation ¶
func LongIdToShortId ¶
func NewAzureVirtualMachineManager ¶
func NewAzureVirtualMachineManager(ctx context.Context, credentials *cloudyazure.AzureCredentials, config *VirtualMachineManagerConfig, avdManager *avd.AzureVirtualDesktopManager) (cloudyvm.VirtualMachineManager, error)
func SizeFromResource ¶
func SizeFromResource(ctx context.Context, res *armcompute.ResourceSKU) *cloudyvm.VmSize
func ToCloudyVirtualMachine ¶
func ToCloudyVirtualMachine(ctx context.Context, azVM *armcompute.VirtualMachine) *models.VirtualMachine
func ToCloudyVirtualMachineLocation ¶
func ToCloudyVirtualMachineLocation(location *string) *models.VirtualMachineLocation
func ToCloudyVirtualMachineSize ¶
func ToCloudyVirtualMachineSize(ctx context.Context, resource *armcompute.ResourceSKU) *models.VirtualMachineSize
func UpdateCloudyVirtualMachine ¶
func UpdateCloudyVirtualMachine(vm *models.VirtualMachine, responseVirtualMachine armcompute.VirtualMachine) error
func VMGetPowerState ¶
func VMGetPowerState(vm *armcompute.VirtualMachine) string
Types ¶
type ADJoinConfig ¶ added in v0.0.51
type ADJoinConfig struct {
DomainName string
DomainUsername string
DomainPassword string
OrganizationalUnitPath *string // optional, nil is not specified
}
ADJoinConfig defines the settings required for Active Directory Join
type AVDInstallConfig ¶ added in v0.0.51
type AVDInstallConfig struct {
AVDAgentInstallerFilename string
AVDBootloaderInstallerFilename string
}
AVDInstallConfig defines the settings required for AVD installation
type AzureVMController ¶
type AzureVMController struct {
Vault *keyvault.KeyVault
Client *armcompute.VirtualMachinesClient
Usage *armcompute.UsageClient
Config *AzureVMControllerConfig
// contains filtered or unexported fields
}
func NewAzureVMController ¶
func NewAzureVMController(ctx context.Context, config *AzureVMControllerConfig) (*AzureVMController, error)
func (*AzureVMController) ConfigureDiskSize ¶
func (vmc *AzureVMController) ConfigureDiskSize(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (int32, error)
func (*AzureVMController) ConfigureVmOsDiskOsTypeType ¶
func (vmc *AzureVMController) ConfigureVmOsDiskOsTypeType(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) *armcompute.OperatingSystemTypes
func (*AzureVMController) ConfigureVmOsProfile ¶
func (vmc *AzureVMController) ConfigureVmOsProfile(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) *armcompute.OSProfile
func (*AzureVMController) Create ¶
func (vmc *AzureVMController) Create(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineConfiguration, error)
func (*AzureVMController) CreateNIC ¶
func (vmc *AzureVMController) CreateNIC(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration, subnetId string) error
CreateNIC - Creates the Network Interface for the virtual machine. It mimics the terraform code listed below. The elements used by this method are: - VM Name / ID (from vm) - Region (from factory) - Resource Group (from factory) - Subnet ID (from vm)
Once created the NIC has an ID and an IP address that we care about. The VirtualMachineConfiguration input is mutated to add the appropriate information.
az network nic create \ --resource-group go-on-azure \ --vnet-name go-on-azure-vmVNET \ --subnet go-on-azure-vmSubnet \ --name uvm-gotest-ip
resource "azurerm_network_interface" "main-nic" {
name = join("-", [var.vdi-name, random_string.random.result])
location = data.azurerm_resource_group.main-rg.location
resource_group_name = data.azurerm_resource_group.main-rg.name
ip_configuration {
name = join("-", [var.vdi-name, "IP"])
subnet_id = data.azurerm_subnet.main-subnet.id
private_ip_address_allocation = "Dynamic"
}
}
NOT WORKING YET
func (*AzureVMController) CreateNSG ¶
func (vmc *AzureVMController) CreateNSG(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (string, error)
data "azurerm_network_security_group" "vdi-security-group" {
name = var.vdi-nsg
resource_group_name = data.azurerm_resource_group.main-rg.name
}
func (*AzureVMController) CreateVirtualMachine ¶
func (vmc *AzureVMController) CreateVirtualMachine(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
CreateVirtualMachine
resource "azurerm_linux_virtual_machine" "main-vm" {
name = var.vdi-name
computer_name = var.vdi-name
admin_username = "salt"
resource_group_name = var.app-rg-name
location = var.def-location
size = var.vdi-size
source_image_id = "/subscriptions/${var.subscription-id}/resourceGroups/${var.app-rg-name}/providers/Microsoft.Compute/galleries/${var.source-image-gallery-name}/images/${var.source-image}/versions/${var.source-image-version}"
network_interface_ids = [
azurerm_network_interface.main-nic.id,
]
admin_ssh_key {
username = "salt"
public_key = file("${path.module}/vdi-terraform_id_rsa.pub")
}
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}
tags = {
Application = "SKYBORG"
"Functional Area " = "VDI"
"User Principle Name" = var.user-principle-name
}
}
func (*AzureVMController) Delete ¶
func (vmc *AzureVMController) Delete(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineConfiguration, error)
func (*AzureVMController) DeleteVM ¶
func (vmc *AzureVMController) DeleteVM(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
func (*AzureVMController) DeleteVMOSDisk ¶
func (vmc *AzureVMController) DeleteVMOSDisk(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
func (*AzureVMController) FindBestSubnet ¶
func (vmc *AzureVMController) FindBestSubnet(ctx context.Context, availableSubnets []string) (string, error)
Finds the best subnet based on IP availabilty
func (*AzureVMController) GetAvailableIPS ¶
Finds the best subnet based on IP availabilty
func (*AzureVMController) GetLatestImageVersion ¶
func (*AzureVMController) GetLimits ¶
func (vmc *AzureVMController) GetLimits(ctx context.Context) ([]*cloudyvm.VirtualMachineLimit, error)
func (*AzureVMController) GetNIC ¶
func (vmc *AzureVMController) GetNIC(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineNetwork, error)
Find NIC if it already exists
func (*AzureVMController) GetNSG ¶
func (vmc *AzureVMController) GetNSG(ctx context.Context, name string) (*armnetwork.SecurityGroup, error)
func (*AzureVMController) GetVM ¶
func (vmc *AzureVMController) GetVM(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineConfiguration, error)
Find VM if it already exists
func (*AzureVMController) GetVMSizes ¶
func (*AzureVMController) GetVmOsDisk ¶
func (vmc *AzureVMController) GetVmOsDisk(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) (*cloudyvm.VirtualMachineDisk, error)
func (*AzureVMController) ListAll ¶
func (vmc *AzureVMController) ListAll(ctx context.Context) ([]*cloudyvm.VirtualMachineStatus, error)
func (*AzureVMController) ListWithTag ¶
func (vmc *AzureVMController) ListWithTag(ctx context.Context, tag string) ([]*cloudyvm.VirtualMachineStatus, error)
func (*AzureVMController) SetState ¶
func (vmc *AzureVMController) SetState(ctx context.Context, state cloudyvm.VirtualMachineAction, vmName string, wait bool) (*cloudyvm.VirtualMachineStatus, error)
func (*AzureVMController) Status ¶
func (vmc *AzureVMController) Status(ctx context.Context, vmName string) (*cloudyvm.VirtualMachineStatus, error)
func (*AzureVMController) ValidateConfiguration ¶
func (vmc *AzureVMController) ValidateConfiguration(ctx context.Context, vm *cloudyvm.VirtualMachineConfiguration) error
type AzureVMControllerConfig ¶
type AzureVMControllerConfig struct {
cloudyazure.AzureCredentials
SubscriptionID string
ResourceGroup string
// ??
NetworkResourceGroup string // From Environment Variable
SourceImageGalleryResourceGroup string
SourceImageGalleryName string // From Environment Variable
Vnet string // From Environment Variable
AvailableSubnets []string // From Environment Variable
NetworkSecurityGroupName string // From Environment Variable
NetworkSecurityGroupID string // From Environment Variable
// SaltCmd string // From Environment Variable
VaultURL string
DomainControllerOverride string
DomainControllers []*string // From Environment Variable
LogBody bool
}
type AzureVMControllerFactory ¶
type AzureVMControllerFactory struct{}
func (*AzureVMControllerFactory) Create ¶
func (f *AzureVMControllerFactory) Create(cfg interface{}) (cloudyvm.VMController, error)
func (*AzureVMControllerFactory) FromEnv ¶
func (f *AzureVMControllerFactory) FromEnv(env *cloudy.Environment) (interface{}, error)
type AzureVirtualMachineManager ¶
type AzureVirtualMachineManager struct {
LogBody bool
// contains filtered or unexported fields
}
func (*AzureVirtualMachineManager) Configure ¶
func (vmm *AzureVirtualMachineManager) Configure(ctx context.Context) error
func (*AzureVirtualMachineManager) Create ¶
func (vmm *AzureVirtualMachineManager) Create(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
func (*AzureVirtualMachineManager) CreateNic ¶
func (vmm *AzureVirtualMachineManager) CreateNic(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachineNic, error)
func (*AzureVirtualMachineManager) Deallocate ¶
func (vmm *AzureVirtualMachineManager) Deallocate(ctx context.Context, vmName string) error
func (*AzureVirtualMachineManager) Delete ¶
func (vmm *AzureVirtualMachineManager) Delete(ctx context.Context, vmId string) error
func (*AzureVirtualMachineManager) DeleteDisk ¶
func (vmm *AzureVirtualMachineManager) DeleteDisk(ctx context.Context, diskName string) error
func (*AzureVirtualMachineManager) DeleteNic ¶
func (vmm *AzureVirtualMachineManager) DeleteNic(ctx context.Context, nic *models.VirtualMachineNic) error
func (*AzureVirtualMachineManager) DeleteNics ¶
func (vmm *AzureVirtualMachineManager) DeleteNics(ctx context.Context, nics []*models.VirtualMachineNic) error
func (*AzureVirtualMachineManager) ExecuteRemotePowershell ¶ added in v0.0.51
func (vmm *AzureVirtualMachineManager) ExecuteRemotePowershell(ctx context.Context, vmID string, script *string, timeout, pollInterval time.Duration) error
ExecuteRemotePowershell executes a PowerShell script on a remote Azure virtual machine. It constructs a RunCommandInput for PowerShell execution, starts the execution, and polls for the result.
func (*AzureVirtualMachineManager) GetAll ¶
func (vmm *AzureVirtualMachineManager) GetAll(ctx context.Context, filter string, attrs []string, includeState bool) (*[]models.VirtualMachine, error)
Queries Azure for the details of all VMs.
If includeState is true, this will also retrieve the state of the VMs (running, stopped, etc.) If includeState is false, vm.State will be an empty string
func (*AzureVirtualMachineManager) GetAllDisks ¶
func (vmm *AzureVirtualMachineManager) GetAllDisks(ctx context.Context) ([]*models.VirtualMachineDisk, error)
func (*AzureVirtualMachineManager) GetAllNics ¶
func (vmm *AzureVirtualMachineManager) GetAllNics(ctx context.Context) ([]*models.VirtualMachineNic, error)
func (*AzureVirtualMachineManager) GetAllSizes ¶
func (vmm *AzureVirtualMachineManager) GetAllSizes(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
func (*AzureVirtualMachineManager) GetAllVmDisks ¶
func (vmm *AzureVirtualMachineManager) GetAllVmDisks(ctx context.Context, vmId string) ([]*models.VirtualMachineDisk, error)
func (*AzureVirtualMachineManager) GetById ¶
func (vmm *AzureVirtualMachineManager) GetById(ctx context.Context, id string, includeState bool) (*models.VirtualMachine, error)
Queries Azure for the details of a single VM.
If includeState is true, this will also retrieve the state of the VM (running, stopped, etc.) If includeState is false, vm.State will be an empty string
func (*AzureVirtualMachineManager) GetLatestImageVersion ¶
func (vmm *AzureVirtualMachineManager) GetLatestImageVersion(ctx context.Context, imageName string) (string, error)
This function was unused in v1 It would need the config to have the source image gallery name in it
func (*AzureVirtualMachineManager) GetNics ¶
func (vmm *AzureVirtualMachineManager) GetNics(ctx context.Context, vmId string) ([]*models.VirtualMachineNic, error)
func (*AzureVirtualMachineManager) GetOsDisk ¶
func (vmm *AzureVirtualMachineManager) GetOsDisk(ctx context.Context, vmId string) (*models.VirtualMachineDisk, error)
func (*AzureVirtualMachineManager) GetSizesForTemplate ¶
func (vmm *AzureVirtualMachineManager) GetSizesForTemplate(ctx context.Context, template models.VirtualMachineTemplate) ( matches map[string]*models.VirtualMachineSize, worse map[string]*models.VirtualMachineSize, better map[string]*models.VirtualMachineSize, err error)
func (*AzureVirtualMachineManager) GetSizesWithUsage ¶
func (vmm *AzureVirtualMachineManager) GetSizesWithUsage(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
func (*AzureVirtualMachineManager) GetUsage ¶
func (vmm *AzureVirtualMachineManager) GetUsage(ctx context.Context) (map[string]models.VirtualMachineFamily, error)
func (*AzureVirtualMachineManager) InitialVirtualMachineSetup ¶ added in v0.0.51
func (vmm *AzureVirtualMachineManager) InitialVirtualMachineSetup(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
func (*AzureVirtualMachineManager) RunCommand ¶
func (*AzureVirtualMachineManager) Start ¶
func (vmm *AzureVirtualMachineManager) Start(ctx context.Context, vmName string) error
func (*AzureVirtualMachineManager) Stop ¶
func (vmm *AzureVirtualMachineManager) Stop(ctx context.Context, vmName string) error
func (*AzureVirtualMachineManager) Update ¶
func (vmm *AzureVirtualMachineManager) Update(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
type InstallerBinaryStorageConfig ¶ added in v0.0.51
InstallerBinaryStorageConfig defines the settings required for storing installer binaries
type PowershellConfig ¶ added in v0.0.51
type PowershellConfig struct {
ADJoin *ADJoinConfig
AVDInstall *AVDInstallConfig
SaltMinionInstallConfig *SaltMinionInstallConfig
BinaryStorage *InstallerBinaryStorageConfig
RestartVirtualMachine bool
}
PowershellConfig defines the overall configuration for the powershell script used in the initial setup process on the Virtual Machine. Marking a section nil / not defined will remove it from the setup process.
type SaltMinionInstallConfig ¶ added in v0.0.51
type SaltMinionInstallConfig struct {
SaltMaster string // ip or hostname of Salt Master, to be used for registering the Salt Minion
SaltMinionInstallerFilename string
}
SaltMinionInstallConfig defines the settings required for Salt Minion installation
type ScoredVMSize ¶
type ScoredVMSize struct {
Score float64
Size *models.VirtualMachineSize
}
type VirtualMachineManagerConfig ¶
type VirtualMachineManagerConfig struct {
DomainControllers []*string
SubnetIds []string
VnetResourceGroup string
VnetId string
InitialSetupConfig *PowershellConfig
}