Documentation
¶
Index ¶
- Variables
- func GenerateInstallAvdScript(ctx context.Context, creds *cloudyazure.AzureCredentials, ...) (string, error)
- func GenerateInstallSaltMinionAndADJoinOnline(ctx context.Context, cfg *VirtualDesktopOrchestratorConfig) (string, error)
- func GenerateInstallSaltMinionScript(ctx context.Context, creds *cloudyazure.AzureCredentials, ...) (string, error)
- func GenerateInstallSaltMinionScriptLinuxOffline(ctx context.Context, creds *cloudyazure.AzureCredentials, ...) (string, error)
- func GenerateJoinDomainScript(adConfig *ADJoinConfig) string
- func GenerateRestartScript() string
- func GenerateScriptEnd() string
- func GenerateScriptStart() string
- func NewVirtualDesktopOrchestrator(ctx context.Context, name string, vmCredentials *cloudyazure.AzureCredentials, ...) (cloudyvm.VirtualDesktopOrchestrator, error)
- type ADJoinConfig
- type AVDConfig
- type AVDInstallConfig
- type InstallerBinaryStorageConfig
- type SaltMinionInstallConfig
- type VirtualDesktopOrchestrator
- func (vdo *VirtualDesktopOrchestrator) CreateSessionHost(ctx context.Context, hostPoolName string, idInPool int) (*armdesktopvirtualization.SessionHost, error)
- func (vdo *VirtualDesktopOrchestrator) CreateVirtualMachine(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
- func (vdo *VirtualDesktopOrchestrator) DeleteVirtualMachine(ctx context.Context, vm *models.VirtualMachine) error
- func (vdo *VirtualDesktopOrchestrator) GetAllVirtualMachineSizes(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
- func (vdo *VirtualDesktopOrchestrator) GetAllVirtualMachines(ctx context.Context, attrs []string, includeState bool) (*[]models.VirtualMachine, error)
- func (vdo *VirtualDesktopOrchestrator) GetVirtualMachine(ctx context.Context, id string, includeState bool) (*models.VirtualMachine, error)
- func (vdo *VirtualDesktopOrchestrator) GetVirtualMachineSizesForTemplate(ctx context.Context, template models.VirtualMachineTemplate) (matches map[string]*models.VirtualMachineSize, ...)
- func (vdo *VirtualDesktopOrchestrator) GetVirtualMachineSizesWithUsage(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
- func (vdo *VirtualDesktopOrchestrator) GetVirtualMachineUsage(ctx context.Context) (map[string]models.VirtualMachineFamily, error)
- func (vdo *VirtualDesktopOrchestrator) RebuildReservationsFromAppGroups(ctx context.Context) error
- func (vdo *VirtualDesktopOrchestrator) StartVirtualMachine(ctx context.Context, vm *models.VirtualMachine) error
- func (vdo *VirtualDesktopOrchestrator) StopVirtualMachine(ctx context.Context, vm *models.VirtualMachine) error
- func (vdo *VirtualDesktopOrchestrator) UpdateVirtualMachine(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
- type VirtualDesktopOrchestratorConfig
Constants ¶
This section is empty.
Variables ¶
var PooledPoolLock sync.Mutex
‼ single global lock for this orchestrator’s Pooled Host Pool operations
Functions ¶
func GenerateInstallAvdScript ¶
func GenerateInstallAvdScript(ctx context.Context, creds *cloudyazure.AzureCredentials, storageAccountName, containerName string, avdConfig *AVDInstallConfig, hostPoolToken string) (string, error)
func GenerateInstallSaltMinionAndADJoinOnline ¶
func GenerateInstallSaltMinionAndADJoinOnline(ctx context.Context, cfg *VirtualDesktopOrchestratorConfig) (string, error)
GenerateLinuxBootstrapScript builds a single bash script: 1) AD join block (if cfg.AD != nil) 2) Salt-minion install block
func GenerateInstallSaltMinionScript ¶
func GenerateInstallSaltMinionScript(ctx context.Context, creds *cloudyazure.AzureCredentials, storageAccountName, containerName string, saltConfig *SaltMinionInstallConfig) (string, error)
func GenerateInstallSaltMinionScriptLinuxOffline ¶
func GenerateInstallSaltMinionScriptLinuxOffline( ctx context.Context, creds *cloudyazure.AzureCredentials, storageAccountName, containerName string, saltConfig *SaltMinionInstallConfig, ) (string, error)
func GenerateJoinDomainScript ¶
func GenerateJoinDomainScript(adConfig *ADJoinConfig) string
func GenerateRestartScript ¶
func GenerateRestartScript() string
func GenerateScriptEnd ¶
func GenerateScriptEnd() string
func GenerateScriptStart ¶
func GenerateScriptStart() string
func NewVirtualDesktopOrchestrator ¶
func NewVirtualDesktopOrchestrator( ctx context.Context, name string, vmCredentials *cloudyazure.AzureCredentials, avdCredentials *cloudyazure.AzureCredentials, config *VirtualDesktopOrchestratorConfig, ) (cloudyvm.VirtualDesktopOrchestrator, error)
Types ¶
type ADJoinConfig ¶
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 AVDConfig ¶
type AVDConfig struct {
InstallerConfig AVDInstallConfig
AVDManagerConfig avd.AzureVirtualDesktopManagerConfig
}
type AVDInstallConfig ¶
type AVDInstallConfig struct {
AVDAgentInstallerFilename string
AVDBootloaderInstallerFilename string
}
AVDInstallConfig defines the settings required for AVD installation
type InstallerBinaryStorageConfig ¶
InstallerBinaryStorageConfig defines the settings required for storing installer binaries
type SaltMinionInstallConfig ¶
type SaltMinionInstallConfig struct {
SaltMaster string // ip or hostname of Salt Master, to be used for registering the Salt Minion
SaltMinionMsiFilename string // For windows installs
SaltMinionRpmFilename string // For RHEL
SaltBaseRpmFilename string
SaltMinionDebFilename string // For debian based, e.g. Ubuntu
SaltCommonDebFilename string
BsdmainDebFilename string
BsdextraDebFilename string
DctrlToolsDebFilename string
NcalDebFilename string
}
SaltMinionInstallConfig defines the settings required for Salt Minion installation
type VirtualDesktopOrchestrator ¶
type VirtualDesktopOrchestrator struct {
// contains filtered or unexported fields
}
The VirtualDesktopOrchestrator manages both Azure Virtual Machines and Azure Virtual Desktop (AVD) resources. It presents a unified interface for creating and managing virtual machines. The management of AVD resources is hidden behind the scenes, and is only used when completing VM operations. AVD can be disabled by setting the AVDManagerConfig to nil in the config.
func (*VirtualDesktopOrchestrator) CreateSessionHost ¶
func (vdo *VirtualDesktopOrchestrator) CreateSessionHost(ctx context.Context, hostPoolName string, idInPool int) (*armdesktopvirtualization.SessionHost, error)
func (*VirtualDesktopOrchestrator) CreateVirtualMachine ¶
func (vdo *VirtualDesktopOrchestrator) CreateVirtualMachine(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
func (*VirtualDesktopOrchestrator) DeleteVirtualMachine ¶
func (vdo *VirtualDesktopOrchestrator) DeleteVirtualMachine(ctx context.Context, vm *models.VirtualMachine) error
func (*VirtualDesktopOrchestrator) GetAllVirtualMachineSizes ¶
func (vdo *VirtualDesktopOrchestrator) GetAllVirtualMachineSizes(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
func (*VirtualDesktopOrchestrator) GetAllVirtualMachines ¶
func (vdo *VirtualDesktopOrchestrator) GetAllVirtualMachines(ctx context.Context, attrs []string, includeState bool) (*[]models.VirtualMachine, error)
func (*VirtualDesktopOrchestrator) GetVirtualMachine ¶
func (vdo *VirtualDesktopOrchestrator) GetVirtualMachine(ctx context.Context, id string, includeState bool) (*models.VirtualMachine, error)
func (*VirtualDesktopOrchestrator) GetVirtualMachineSizesForTemplate ¶
func (vdo *VirtualDesktopOrchestrator) GetVirtualMachineSizesForTemplate(ctx context.Context, template models.VirtualMachineTemplate) ( matches map[string]*models.VirtualMachineSize, worse map[string]*models.VirtualMachineSize, better map[string]*models.VirtualMachineSize, err error)
func (*VirtualDesktopOrchestrator) GetVirtualMachineSizesWithUsage ¶
func (vdo *VirtualDesktopOrchestrator) GetVirtualMachineSizesWithUsage(ctx context.Context) (map[string]*models.VirtualMachineSize, error)
func (*VirtualDesktopOrchestrator) GetVirtualMachineUsage ¶
func (vdo *VirtualDesktopOrchestrator) GetVirtualMachineUsage(ctx context.Context) (map[string]models.VirtualMachineFamily, error)
func (*VirtualDesktopOrchestrator) RebuildReservationsFromAppGroups ¶
func (vdo *VirtualDesktopOrchestrator) RebuildReservationsFromAppGroups(ctx context.Context) error
RebuildReservationsFromAppGroups repopulates the reservation set from AVD app groups
func (*VirtualDesktopOrchestrator) StartVirtualMachine ¶
func (vdo *VirtualDesktopOrchestrator) StartVirtualMachine(ctx context.Context, vm *models.VirtualMachine) error
func (*VirtualDesktopOrchestrator) StopVirtualMachine ¶
func (vdo *VirtualDesktopOrchestrator) StopVirtualMachine(ctx context.Context, vm *models.VirtualMachine) error
func (*VirtualDesktopOrchestrator) UpdateVirtualMachine ¶
func (vdo *VirtualDesktopOrchestrator) UpdateVirtualMachine(ctx context.Context, vm *models.VirtualMachine) (*models.VirtualMachine, error)
type VirtualDesktopOrchestratorConfig ¶
type VirtualDesktopOrchestratorConfig struct {
VM vm.VirtualMachineManagerConfig
AVD *AVDConfig // optional, nil disables AVD install / configuration
AD *ADJoinConfig // optional, nil disables AD join
SaltMinionInstall *SaltMinionInstallConfig // optional, nil disables Salt Minion install
BinaryStorage *InstallerBinaryStorageConfig // optional, nil disables all software installation (AVD / Salt Minion)
RestartVirtualMachineAfterSetup bool // Whether to restart the VM after setup
}