pycloudlib.instance module¶
Base class for all instances to provide consistent set of functions.
-
class
pycloudlib.instance.
BaseInstance
(key_pair, username: Optional[str] = None)[source]¶ Bases:
abc.ABC
Base instance object.
-
clean
()[source]¶ Clean an instance to make it look prestine.
This will clean out specifically the cloud-init files and system logs.
-
console_log
()[source]¶ Return the instance console log.
Raises NotImplementedError if the cloud does not support fetching the console log for this instance.
-
execute
(command, stdin=None, description=None, *, use_sudo=False, no_log=False, **kwargs)[source]¶ Execute command in instance, recording output, error and exit code.
Assumes functional networking and execution with the target filesystem being available at /.
Parameters: - command – the command to execute as root inside the image. If command is a string, then it will be executed as: [‘sh’, ‘-c’, command]
- stdin – bytes content for standard in
- description – purpose of command
- use_sudo – boolean to run the command as sudo
Returns: Result object
Raises SSHException if there are any problem with the ssh connection
-
install
(packages)[source]¶ Install specific packages.
Parameters: packages – string or list of package(s) to install Returns: result from install
-
ip
¶ Return IP address of instance.
-
name
¶ Return instance name.
-
pull_file
(remote_path, local_path)[source]¶ Copy file at ‘remote_path’, from instance to ‘local_path’.
Parameters: - remote_path – path on remote instance
- local_path – local path
Raises SSHException if there are any problem with the ssh connection
-
push_file
(local_path, remote_path)[source]¶ Copy file at ‘local_path’ to instance at ‘remote_path’.
Parameters: - local_path – local path
- remote_path – path on remote instance
Raises SSHException if there are any problem with the ssh connection
-
run_script
(script, description=None)[source]¶ Run script in target and return stdout.
Parameters: - script – script contents
- description – purpose of script
Returns: result from script execution
Raises SSHException if there are any problem with the ssh connection
-
shutdown
(wait=True, **kwargs)[source]¶ Shutdown the instance.
Parameters: wait – wait for the instance to shutdown
-