Documentation
¶
Index ¶
Constants ¶
View Source
const ManualInstancePrefix = "manual:"
Variables ¶
View Source
var ( // ErrProvisioned is returned by ProvisionMachine if the target // machine has an existing machine agent. ErrProvisioned = errors.New("machine is already provisioned") )
Functions ¶
func HostAddress ¶
func HostAddress(hostname string) (network.ProviderAddress, error)
HostAddress returns an network.Address for the specified hostname, depending on whether it is an IP or a resolvable hostname. The address is given public scope.
func RecordMachineInState ¶
func RecordMachineInState(client ProvisioningClientAPI, machineParams params.AddMachineParams) (machineId string, err error)
RecordMachineInState records and saves into the state machine the provisioned machine
Types ¶
type ProvisionMachineArgs ¶
type ProvisionMachineArgs struct { // user and host of the ssh or winrm conn Host string User string // DataDir is the root directory for juju data. // If left blank, the default location "/var/lib/juju" will be used. DataDir string // Client provides the API needed to provision the machines. Client ProvisioningClientAPI // Stdin is required to respond to sudo prompts, // and must be a terminal (except in tests) Stdin io.Reader // Stdout is required to present sudo prompts to the user. Stdout io.Writer // Stderr is required to present machine provisioning progress to the user. Stderr io.Writer // AuthorizedKeys contains the concatenated authorized-keys to add to the // ubuntu user's ~/.ssh/authorized_keys. AuthorizedKeys string // PrivateKey contains the path of the identify file containing the // private key to be used during the ssh connection with a target // machine. PrivateKey string *params.UpdateBehavior }
ProvisionMachineArgs used for arguments for the Provisioner methods
type ProvisionMachineFunc ¶
type ProvisionMachineFunc func(ProvisionMachineArgs) (machineId string, err error)
ProvisionMachineFunc that every provisioner should have
type ProvisioningClientAPI ¶
type ProvisioningClientAPI interface { AddMachines([]params.AddMachineParams) ([]params.AddMachinesResult, error) DestroyMachinesWithParams(force, keep, dryRun bool, maxWait *time.Duration, machines ...string) ([]params.DestroyMachineResult, error) ProvisioningScript(params.ProvisioningScriptParams) (script string, err error) }
ProvisioningClientAPI defines the methods that are needed for the manual provisioning of machines. An interface is used here to decouple the API consumer from the actual API implementation type.
Click to show internal directories.
Click to hide internal directories.