pycloudlib.azure.instance module¶
Azure instance.
-
class
pycloudlib.azure.instance.
AzureInstance
(key_pair, client, instance, username=None)[source]¶ Bases:
pycloudlib.instance.BaseInstance
Azure backed instance.
-
__init__
(key_pair, client, instance, username=None)[source]¶ Set up instance.
Parameters: - key_pair – SSH key object
- client – Azure compute management client
- instance – created azure instance object
-
add_network_interface
() → str¶ Add nic to running instance.
-
clean
()¶ Clean an instance to make it look prestine.
This will clean out specifically the cloud-init files and system logs.
-
console_log
()¶ 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)¶ 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
-
get_boot_id
()¶ Get the instance boot_id.
Returns: string with the boot UUID
-
id
¶ Return instance id.
-
image_id
¶ Return the image_id from which this instance was created.
-
install
(packages)¶ 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.
-
offer
¶ Return instance sku.
-
pull_file
(remote_path, local_path)¶ 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)¶ 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
-
remove_network_interface
(ip_address: str)¶ Remove nic from running instance.
-
restart
(wait=True, **kwargs)¶ Restart an instance.
-
run_script
(script, description=None)¶ 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 shutdown
-
sku
¶ Return instance sku.
-
update
()¶ Run apt-get update/upgrade on instance.
Returns: result from upgrade
-
wait
()¶ Wait for instance to be up and cloud-init to be complete.
-
wait_for_restart
(old_boot_id)¶ Wait for instance to be restarted and cloud-init to be complete.
old_boot_id is the boot id prior to restart
-