pycloudlib.azure.instance module

Azure instance.

class pycloudlib.azure.instance.AzureInstance(key_pair, client, instance)[source]

Bases: pycloudlib.instance.BaseInstance

Azure backed instance.

__init__(key_pair, client, instance)[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.

delete(wait=True)[source]

Delete instance.

execute(command, stdin=None, description=None, *, use_sudo=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

generalize()[source]

Set the OS state of the instance to generalized.

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)[source]

Restart the 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.

start(wait=True)[source]

Start the instance.

Parameters:wait – wait for the instance to start.
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_delete()[source]

Wait for instance to be deleted.

wait_for_stop()[source]

Wait for instance stop.