2015-06-21 07:36:07 -04:00
|
|
|
// Copyright (c) Microsoft Open Technologies, Inc.
|
|
|
|
// All Rights Reserved.
|
|
|
|
// Licensed under the Apache License, Version 2.0.
|
|
|
|
// See License.txt in the project root for license information.
|
|
|
|
package common
|
|
|
|
|
|
|
|
// A driver is able to talk to HyperV and perform certain
|
|
|
|
// operations with it. Some of the operations on here may seem overly
|
|
|
|
// specific, but they were built specifically in mind to handle features
|
|
|
|
// of the HyperV builder for Packer, and to abstract differences in
|
|
|
|
// versions out of the builder steps, so sometimes the methods are
|
|
|
|
// extremely specific.
|
|
|
|
type Driver interface {
|
|
|
|
|
|
|
|
// Checks if the VM named is running.
|
|
|
|
IsRunning(string) (bool, error)
|
|
|
|
|
|
|
|
// Start starts a VM specified by the name given.
|
|
|
|
Start(string) error
|
|
|
|
|
|
|
|
// Stop stops a VM specified by the name given.
|
|
|
|
Stop(string) error
|
|
|
|
|
|
|
|
// Verify checks to make sure that this driver should function
|
|
|
|
// properly. If there is any indication the driver can't function,
|
|
|
|
// this will return an error.
|
2015-06-27 17:36:39 -04:00
|
|
|
Verify() error
|
|
|
|
|
2015-06-21 07:36:07 -04:00
|
|
|
// Finds the MAC address of the NIC nic0
|
|
|
|
Mac(string) (string, error)
|
|
|
|
|
|
|
|
// Finds the IP address of a VM connected that uses DHCP by its MAC address
|
|
|
|
IpAddress(string) (string, error)
|
2015-06-27 17:36:39 -04:00
|
|
|
|
|
|
|
// Finds the IP address of a host adapter connected to switch
|
|
|
|
GetHostAdapterIpAddressForSwitch(string) (string, error)
|
|
|
|
|
|
|
|
// Type scan codes to virtual keyboard of vm
|
|
|
|
TypeScanCodes(string, string) error
|
2015-06-21 07:36:07 -04:00
|
|
|
}
|