SYMBOL INDEX (693 symbols across 130 files) FILE: setup.py function get_version (line 8) | def get_version(): function get_description (line 20) | def get_description(): FILE: spotty/cli.py function get_parser (line 16) | def get_parser() -> argparse.ArgumentParser: function add_subparsers (line 38) | def add_subparsers(parser: argparse.ArgumentParser, command_classes: Lis... function _get_custom_commands (line 48) | def _get_custom_commands() -> List[Type[AbstractCommand]]: FILE: spotty/commands/abstract_command.py class AbstractCommand (line 6) | class AbstractCommand(ABC): method name (line 11) | def name(self) -> str: method description (line 16) | def description(self) -> str: method configure (line 20) | def configure(self, parser: ArgumentParser): method run (line 25) | def run(self, args: Namespace, output: AbstractOutputWriter): FILE: spotty/commands/abstract_config_command.py class AbstractConfigCommand (line 11) | class AbstractConfigCommand(AbstractCommand): method _run (line 15) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... method configure (line 18) | def configure(self, parser: ArgumentParser): method run (line 23) | def run(self, args: Namespace, output: AbstractOutputWriter): method _get_instance_id (line 38) | def _get_instance_id(instances: List[dict], instance_name: str, output... FILE: spotty/commands/abstract_provider_command.py class AbstractProviderCommand (line 8) | class AbstractProviderCommand(AbstractCommand): method commands (line 13) | def commands(self) -> list: method configure (line 17) | def configure(self, parser: ArgumentParser): method run (line 21) | def run(self, args: Namespace, output: AbstractOutputWriter): FILE: spotty/commands/aws.py class AwsCommand (line 6) | class AwsCommand(AbstractProviderCommand): FILE: spotty/commands/download.py class DownloadCommand (line 9) | class DownloadCommand(AbstractConfigCommand): method configure (line 14) | def configure(self, parser: ArgumentParser): method _run (line 22) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/exec.py class ExecCommand (line 11) | class ExecCommand(AbstractConfigCommand): method configure (line 16) | def configure(self, parser: ArgumentParser): method _run (line 30) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/run.py class RunCommand (line 11) | class RunCommand(AbstractConfigCommand): method configure (line 16) | def configure(self, parser: ArgumentParser): method _run (line 35) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/sh.py class ShCommand (line 9) | class ShCommand(AbstractConfigCommand): method configure (line 14) | def configure(self, parser: ArgumentParser): method _run (line 24) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/start.py class StartCommand (line 8) | class StartCommand(AbstractConfigCommand): method configure (line 13) | def configure(self, parser: ArgumentParser): method _run (line 21) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/status.py class StatusCommand (line 7) | class StatusCommand(AbstractConfigCommand): method _run (line 12) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/stop.py class StopCommand (line 7) | class StopCommand(AbstractConfigCommand): method _run (line 19) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/sync.py class SyncCommand (line 9) | class SyncCommand(AbstractConfigCommand): method configure (line 14) | def configure(self, parser: ArgumentParser): method _run (line 18) | def _run(self, instance_manager: AbstractInstanceManager, args: Namesp... FILE: spotty/commands/writers/abstract_output_writrer.py class AbstractOutputWriter (line 5) | class AbstractOutputWriter(ABC): method __init__ (line 7) | def __init__(self): method _write (line 12) | def _write(self, msg: str, newline: bool = True): method write (line 15) | def write(self, msg: str = '', newline: bool = True): method prefix (line 23) | def prefix(self, prefix): FILE: spotty/commands/writers/null_output_writrer.py class NullOutputWriter (line 4) | class NullOutputWriter(AbstractOutputWriter): method _write (line 6) | def _write(self, msg: str, newline: bool = True): FILE: spotty/commands/writers/output_writrer.py class OutputWriter (line 4) | class OutputWriter(AbstractOutputWriter): method _write (line 6) | def _write(self, msg: str, newline: bool = True): FILE: spotty/config/abstract_instance_config.py class AbstractInstanceConfig (line 17) | class AbstractInstanceConfig(ABC): method __init__ (line 19) | def __init__(self, instance_config: dict, project_config: ProjectConfig): method _validate_instance_params (line 44) | def _validate_instance_params(self, params: dict) -> dict: method _get_instance_volumes (line 49) | def _get_instance_volumes(self) -> List[AbstractInstanceVolume]: method project_config (line 54) | def project_config(self) -> ProjectConfig: method container_config (line 58) | def container_config(self) -> ContainerConfig: method user (line 63) | def user(self) -> str: method name (line 67) | def name(self) -> str: method provider_name (line 72) | def provider_name(self): method container_name (line 77) | def container_name(self) -> str: method full_container_name (line 81) | def full_container_name(self) -> str: method docker_data_root (line 86) | def docker_data_root(self) -> str: method local_ssh_port (line 91) | def local_ssh_port(self) -> int: method commands (line 96) | def commands(self) -> str: method host_project_dir (line 101) | def host_project_dir(self): method volumes (line 106) | def volumes(self) -> List[AbstractInstanceVolume]: method volume_mounts (line 110) | def volume_mounts(self) -> List[VolumeMount]: method dockerfile_path (line 114) | def dockerfile_path(self): method docker_context_path (line 123) | def docker_context_path(self): method host_container_dir (line 132) | def host_container_dir(self): method host_logs_dir (line 137) | def host_logs_dir(self): method host_volumes_dir (line 142) | def host_volumes_dir(self): method _get_volumes (line 149) | def _get_volumes(self) -> List[AbstractInstanceVolume]: method _get_volume_mounts (line 165) | def _get_volume_mounts(self, volumes: List[AbstractInstanceVolume]) \ method _get_host_project_dir (line 184) | def _get_host_project_dir(self, volume_mounts: List[VolumeMount]) -> str: FILE: spotty/config/abstract_instance_volume.py class AbstractInstanceVolume (line 4) | class AbstractInstanceVolume(ABC): method __init__ (line 6) | def __init__(self, volume_config: dict): method _validate_volume_parameters (line 11) | def _validate_volume_parameters(self, params: dict) -> dict: method name (line 15) | def name(self) -> str: method host_path (line 21) | def host_path(self) -> str: method title (line 27) | def title(self) -> str: method deletion_policy_title (line 34) | def deletion_policy_title(self) -> str: FILE: spotty/config/config_utils.py function load_config (line 12) | def load_config(config_path: str = None) -> ProjectConfig: function _read_yaml (line 44) | def _read_yaml(file_path: str): function _merge_configs (line 52) | def _merge_configs(orig_config, override_config): function _update_dict (line 113) | def _update_dict(d, u): FILE: spotty/config/container_config.py class ContainerConfig (line 8) | class ContainerConfig(object): method __init__ (line 10) | def __init__(self, container_config: dict): method name (line 15) | def name(self) -> str: method project_dir (line 19) | def project_dir(self) -> str: method image (line 23) | def image(self) -> str: method file (line 27) | def file(self) -> str: method run_as_host_user (line 31) | def run_as_host_user(self) -> str: method volume_mounts (line 35) | def volume_mounts(self) -> list: method commands (line 39) | def commands(self) -> str: method working_dir (line 43) | def working_dir(self) -> str: method env (line 52) | def env(self) -> dict: method host_network (line 56) | def host_network(self) -> bool: method ports (line 60) | def ports(self) -> List[dict]: method runtime_parameters (line 64) | def runtime_parameters(self) -> list: method _get_volume_mounts (line 67) | def _get_volume_mounts(self): FILE: spotty/config/host_path_volume.py class HostPathVolume (line 6) | class HostPathVolume(AbstractInstanceVolume): method __init__ (line 10) | def __init__(self, volume_config: dict, base_dir: str = None): method _validate_volume_parameters (line 15) | def _validate_volume_parameters(self, params: dict) -> dict: method title (line 19) | def title(self): method name (line 23) | def name(self): method deletion_policy_title (line 27) | def deletion_policy_title(self) -> str: method host_path (line 31) | def host_path(self) -> str: FILE: spotty/config/project_config.py class ProjectConfig (line 4) | class ProjectConfig(object): method __init__ (line 6) | def __init__(self, config: dict, project_dir: str): method project_dir (line 14) | def project_dir(self) -> str: method project_name (line 18) | def project_name(self) -> str: method sync_filters (line 22) | def sync_filters(self) -> list: method containers (line 26) | def containers(self) -> list: method instances (line 30) | def instances(self) -> list: method scripts (line 34) | def scripts(self) -> dict: FILE: spotty/config/tmp_dir_volume.py class TmpDirVolume (line 4) | class TmpDirVolume(HostPathVolume): method title (line 7) | def title(self): method deletion_policy_title (line 11) | def deletion_policy_title(self) -> str: FILE: spotty/config/validation.py function validate_basic_config (line 9) | def validate_basic_config(data): function validate_host_path_volume_parameters (line 112) | def validate_host_path_volume_parameters(params: dict): function get_instance_parameters_schema (line 120) | def get_instance_parameters_schema(instance_parameters: dict, default_vo... function is_unique_value (line 160) | def is_unique_value(x: List[dict], key): function has_prefix (line 165) | def has_prefix(x: list): function is_subdir (line 174) | def is_subdir(subdir_path, dir_path): function validate_config (line 179) | def validate_config(schema: Schema, config): class WrongKey (line 188) | class WrongKey(Hook): method __init__ (line 189) | def __init__(self, *args, **kwargs): method raise_error (line 192) | def raise_error(self, key, *args): FILE: spotty/configuration.py function get_spotty_config_dir (line 4) | def get_spotty_config_dir(): function get_spotty_keys_dir (line 13) | def get_spotty_keys_dir(provider_name: str): FILE: spotty/deployment/abstract_cloud_instance/abstract_bucket_manager.py class AbstractBucketManager (line 5) | class AbstractBucketManager(ABC): method __init__ (line 7) | def __init__(self, project_name: str): method project_name (line 11) | def project_name(self) -> str: method get_bucket (line 14) | def get_bucket(self) -> AbstractBucket: method create_bucket (line 17) | def create_bucket(self) -> AbstractBucket: FILE: spotty/deployment/abstract_cloud_instance/abstract_cloud_instance_manager.py class AbstractCloudInstanceManager (line 13) | class AbstractCloudInstanceManager(AbstractSshInstanceManager, ABC): method __init__ (line 15) | def __init__(self, project_config: ProjectConfig, instance_config: dict): method _get_bucket_manager (line 23) | def _get_bucket_manager(self) -> AbstractBucketManager: method _get_data_transfer (line 28) | def _get_data_transfer(self) -> AbstractDataTransfer: method _get_instance_deployment (line 33) | def _get_instance_deployment(self) -> AbstractInstanceDeployment: method bucket_manager (line 38) | def bucket_manager(self) -> AbstractBucketManager: method data_transfer (line 43) | def data_transfer(self) -> AbstractDataTransfer: method instance_deployment (line 48) | def instance_deployment(self) -> AbstractInstanceDeployment: method is_running (line 52) | def is_running(self) -> bool: method start (line 57) | def start(self, output: AbstractOutputWriter, dry_run=False): method stop (line 98) | def stop(self, only_shutdown: bool, output: AbstractOutputWriter): method clean (line 107) | def clean(self, output: AbstractOutputWriter): method sync (line 110) | def sync(self, output: AbstractOutputWriter, dry_run=False): method download (line 132) | def download(self, download_filters: list, output: AbstractOutputWrite... method ssh_host (line 157) | def ssh_host(self): method ssh_port (line 174) | def ssh_port(self) -> int: method use_tmux (line 181) | def use_tmux(self) -> bool: FILE: spotty/deployment/abstract_cloud_instance/abstract_data_transfer.py class AbstractDataTransfer (line 4) | class AbstractDataTransfer(ABC): method __init__ (line 6) | def __init__(self, local_project_dir: str, host_project_dir: str, sync... method instance_name (line 13) | def instance_name(self): method scheme_name (line 18) | def scheme_name(self) -> str: method _get_bucket_project_path (line 21) | def _get_bucket_project_path(self, bucket_name: str) -> str: method _get_bucket_downloads_path (line 25) | def _get_bucket_downloads_path(self, bucket_name: str) -> str: method upload_local_to_bucket (line 30) | def upload_local_to_bucket(self, bucket_name: str, dry_run: bool = Fal... method download_bucket_to_local (line 35) | def download_bucket_to_local(self, bucket_name: str, download_filters:... method get_download_bucket_to_instance_command (line 40) | def get_download_bucket_to_instance_command(self, bucket_name: str, us... method get_upload_instance_to_bucket_command (line 45) | def get_upload_instance_to_bucket_command(self, bucket_name: str, down... FILE: spotty/deployment/abstract_cloud_instance/abstract_instance_deployment.py class AbstractInstanceDeployment (line 9) | class AbstractInstanceDeployment(ABC): method __init__ (line 11) | def __init__(self, instance_config: AbstractInstanceConfig): method instance_config (line 15) | def instance_config(self) -> AbstractInstanceConfig: method get_instance (line 19) | def get_instance(self) -> AbstractInstance: method deploy (line 24) | def deploy(self, container_commands: AbstractContainerCommands, bucket... method delete (line 30) | def delete(self, output: AbstractOutputWriter): FILE: spotty/deployment/abstract_cloud_instance/errors/bucket_not_found.py class BucketNotFoundError (line 1) | class BucketNotFoundError(Exception): method __init__ (line 2) | def __init__(self): FILE: spotty/deployment/abstract_cloud_instance/resources/abstract_bucket.py class AbstractBucket (line 4) | class AbstractBucket(ABC): method name (line 7) | def name(self): FILE: spotty/deployment/abstract_cloud_instance/resources/abstract_instance.py class AbstractInstance (line 4) | class AbstractInstance(ABC): method public_ip_address (line 7) | def public_ip_address(self): method private_ip_address (line 11) | def private_ip_address(self): method is_running (line 15) | def is_running(self): method is_stopped (line 20) | def is_stopped(self): method terminate (line 24) | def terminate(self, wait: bool = True): method stop (line 27) | def stop(self, wait: bool = True): FILE: spotty/deployment/abstract_docker_instance_manager.py class AbstractDockerInstanceManager (line 13) | class AbstractDockerInstanceManager(AbstractInstanceManager, ABC): method container_commands (line 16) | def container_commands(self) -> DockerCommands: method is_container_running (line 20) | def is_container_running(self) -> bool: method start_container (line 27) | def start_container(self, output: AbstractOutputWriter, dry_run=False): method start (line 47) | def start(self, output: AbstractOutputWriter, dry_run=False): method stop (line 51) | def stop(self, only_shutdown: bool, output: AbstractOutputWriter): method get_status_text (line 60) | def get_status_text(self): method _check_dockerfile_exists (line 68) | def _check_dockerfile_exists(self): FILE: spotty/deployment/abstract_instance_manager.py class AbstractInstanceManager (line 9) | class AbstractInstanceManager(ABC): method __init__ (line 11) | def __init__(self, project_config: ProjectConfig, instance_config: dict): method project_config (line 16) | def project_config(self) -> ProjectConfig: method instance_config (line 20) | def instance_config(self) -> AbstractInstanceConfig: method _get_instance_config (line 24) | def _get_instance_config(self, instance_config: dict) -> AbstractInsta... method container_commands (line 30) | def container_commands(self) -> AbstractContainerCommands: method is_running (line 35) | def is_running(self) -> bool: method start (line 40) | def start(self, output: AbstractOutputWriter, dry_run=False): method start_container (line 45) | def start_container(self, output: AbstractOutputWriter, dry_run=False): method stop (line 50) | def stop(self, only_shutdown: bool, output: AbstractOutputWriter): method exec (line 54) | def exec(self, command: str, tty: bool = True) -> int: method clean (line 59) | def clean(self, output: AbstractOutputWriter): method sync (line 64) | def sync(self, output: AbstractOutputWriter, dry_run=False): method download (line 69) | def download(self, download_filters: list, output: AbstractOutputWrite... method get_status_text (line 74) | def get_status_text(self) -> str: method use_tmux (line 82) | def use_tmux(self) -> bool: FILE: spotty/deployment/abstract_ssh_instance_manager.py class AbstractSshInstanceManager (line 8) | class AbstractSshInstanceManager(AbstractDockerInstanceManager): method exec (line 10) | def exec(self, command: str, tty: bool = True) -> int: method ssh_host (line 23) | def ssh_host(self): method ssh_port (line 28) | def ssh_port(self) -> int: method ssh_key_path (line 33) | def ssh_key_path(self) -> str: method ssh_user (line 37) | def ssh_user(self) -> str: method ssh_env_vars (line 41) | def ssh_env_vars(self) -> dict: method use_tmux (line 49) | def use_tmux(self) -> bool: FILE: spotty/deployment/container/abstract_container_commands.py class AbstractContainerCommands (line 5) | class AbstractContainerCommands(ABC): method __init__ (line 7) | def __init__(self, instance_config: AbstractInstanceConfig): method instance_config (line 11) | def instance_config(self) -> AbstractInstanceConfig: method exec (line 15) | def exec(self, command: str, interactive: bool = False, tty: bool = Fa... FILE: spotty/deployment/container/abstract_container_script.py class AbstractContainerScript (line 5) | class AbstractContainerScript(ABC): method __init__ (line 7) | def __init__(self, container_commands: AbstractContainerCommands): method commands (line 11) | def commands(self) -> AbstractContainerCommands: method render (line 15) | def render(self) -> str: FILE: spotty/deployment/container/docker/docker_commands.py class DockerCommands (line 6) | class DockerCommands(AbstractContainerCommands): method build (line 8) | def build(self, image_name: str) -> str: method pull (line 24) | def pull(self) -> str: method run (line 27) | def run(self, image_name: str = None) -> str: method is_created (line 59) | def is_created(self, container_name: str = None, is_running: bool = Fa... method remove (line 67) | def remove(self): method exec (line 70) | def exec(self, command: str, interactive: bool = False, tty: bool = Fa... FILE: spotty/deployment/container/docker/scripts/abstract_docker_script.py class AbstractDockerScript (line 6) | class AbstractDockerScript(AbstractContainerScript, ABC): method commands (line 9) | def commands(self) -> DockerCommands: FILE: spotty/deployment/container/docker/scripts/container_bash_script.py class ContainerBashScript (line 7) | class ContainerBashScript(AbstractDockerScript): method render (line 9) | def render(self) -> str: FILE: spotty/deployment/container/docker/scripts/start_container_script.py class StartContainerScript (line 8) | class StartContainerScript(AbstractDockerScript): method _partials (line 10) | def _partials(self) -> dict: method render (line 17) | def render(self, print_trace: bool = False) -> str: FILE: spotty/deployment/container/docker/scripts/stop_container_script.py class StopContainerScript (line 6) | class StopContainerScript(AbstractDockerScript): method render (line 8) | def render(self) -> str: FILE: spotty/deployment/utils/cli.py function shlex_join (line 4) | def shlex_join(split_command: list): FILE: spotty/deployment/utils/commands.py function get_bash_command (line 8) | def get_bash_command() -> str: function get_script_command (line 12) | def get_script_command(script_name: str, script_content: str, script_arg... function get_log_command (line 42) | def get_log_command(command: str, log_file_path: str) -> str: function get_tmux_session_command (line 56) | def get_tmux_session_command(command: str, session_name: str, window_nam... function get_ssh_command (line 82) | def get_ssh_command(host: str, port: int, user: str, key_path: str, comm... FILE: spotty/deployment/utils/print_info.py function render_volumes_info_table (line 8) | def render_volumes_info_table(volume_mounts: List[VolumeMount], volumes:... FILE: spotty/deployment/utils/user_scripts.py function parse_script_parameters (line 6) | def parse_script_parameters(script_params: str): function render_script (line 24) | def render_script(template: str, params: dict): FILE: spotty/errors/instance_not_running.py class InstanceNotRunningError (line 1) | class InstanceNotRunningError(Exception): method __init__ (line 2) | def __init__(self, instance_name: str): FILE: spotty/errors/nothing_to_do.py class NothingToDoError (line 1) | class NothingToDoError(Exception): FILE: spotty/providers/aws/cfn_templates/instance/start_container_script.py class StartContainerScriptWithCfnSignals (line 4) | class StartContainerScriptWithCfnSignals(StartContainerScript): method _get_signal_command (line 7) | def _get_signal_command(resource_name: str): method _partials (line 10) | def _partials(self) -> dict: method render (line 17) | def render(self, print_trace: bool = False) -> str: FILE: spotty/providers/aws/cfn_templates/instance/template.py function prepare_instance_template (line 25) | def prepare_instance_template(ec2, instance_config: InstanceConfig, dock... function _read_template_file (line 240) | def _read_template_file(filename: str, params: dict = None): function _get_volume_attachment_resource (line 250) | def _get_volume_attachment_resource(volume_id, device_name): function _get_volume_resource (line 267) | def _get_volume_resource(ec2, volume: EbsVolume, output: AbstractOutputW... function _get_volume_resources (line 314) | def _get_volume_resources(ec2, volumes: List[AbstractInstanceVolume], ou... function get_template_parameters (line 357) | def get_template_parameters(ec2, instance_config: InstanceConfig, instan... FILE: spotty/providers/aws/cfn_templates/instance_profile/template.py function prepare_instance_profile_template (line 5) | def prepare_instance_profile_template(managed_policy_arns: list): FILE: spotty/providers/aws/commands/clean_logs.py class CleanLogsCommand (line 8) | class CleanLogsCommand(AbstractCommand): method configure (line 13) | def configure(self, parser: ArgumentParser): method run (line 19) | def run(self, args: Namespace, output: AbstractOutputWriter): method _delete_log_groups (line 38) | def _delete_log_groups(logs, log_groups: list, prefixes: list, only_em... FILE: spotty/providers/aws/commands/spot_prices.py class SpotPricesCommand (line 8) | class SpotPricesCommand(AbstractCommand): method configure (line 13) | def configure(self, parser: ArgumentParser): method run (line 18) | def run(self, args: Namespace, output: AbstractOutputWriter): FILE: spotty/providers/aws/config/ebs_volume.py class EbsVolume (line 5) | class EbsVolume(AbstractInstanceVolume): method __init__ (line 14) | def __init__(self, volume_config: dict, project_name: str, instance_na... method _validate_volume_parameters (line 20) | def _validate_volume_parameters(self, params: dict) -> dict: method title (line 24) | def title(self): method size (line 28) | def size(self) -> int: method type (line 32) | def type(self) -> str: method deletion_policy (line 36) | def deletion_policy(self) -> str: method deletion_policy_title (line 40) | def deletion_policy_title(self) -> str: method ec2_volume_name (line 49) | def ec2_volume_name(self) -> str: method mount_dir (line 58) | def mount_dir(self) -> str: method host_path (line 68) | def host_path(self) -> str: FILE: spotty/providers/aws/config/instance_config.py class InstanceConfig (line 11) | class InstanceConfig(AbstractInstanceConfig): method _validate_instance_params (line 13) | def _validate_instance_params(self, params: dict) -> dict: method _get_instance_volumes (line 16) | def _get_instance_volumes(self) -> List[AbstractInstanceVolume]: method user (line 28) | def user(self): method ec2_instance_name (line 32) | def ec2_instance_name(self) -> str: method region (line 36) | def region(self) -> str: method availability_zone (line 40) | def availability_zone(self) -> str: method subnet_id (line 44) | def subnet_id(self) -> str: method instance_type (line 48) | def instance_type(self) -> str: method is_spot_instance (line 52) | def is_spot_instance(self) -> bool: method ami_name (line 56) | def ami_name(self) -> str: method ami_id (line 60) | def ami_id(self) -> str: method root_volume_size (line 64) | def root_volume_size(self) -> int: method ports (line 68) | def ports(self) -> List[int]: method max_price (line 72) | def max_price(self) -> float: method managed_policy_arns (line 76) | def managed_policy_arns(self) -> list: method instance_profile_arn (line 80) | def instance_profile_arn(self) -> str: FILE: spotty/providers/aws/config/validation.py function validate_instance_parameters (line 6) | def validate_instance_parameters(params: dict): function validate_ebs_volume_parameters (line 54) | def validate_ebs_volume_parameters(params: dict): FILE: spotty/providers/aws/data_transfer.py class DataTransfer (line 7) | class DataTransfer(AbstractDataTransfer): method __init__ (line 9) | def __init__(self, local_project_dir: str, host_project_dir: str, sync... method scheme_name (line 16) | def scheme_name(self) -> str: method upload_local_to_bucket (line 19) | def upload_local_to_bucket(self, bucket_name: str, dry_run: bool = Fal... method download_bucket_to_local (line 34) | def download_bucket_to_local(self, bucket_name: str, download_filters:... method get_download_bucket_to_instance_command (line 49) | def get_download_bucket_to_instance_command(self, bucket_name: str, us... method get_upload_instance_to_bucket_command (line 58) | def get_upload_instance_to_bucket_command(self, bucket_name: str, down... FILE: spotty/providers/aws/deletion_policies.py function apply_deletion_policies (line 9) | def apply_deletion_policies(ec2, volumes: List[AbstractInstanceVolume], ... function _delete_ec2_volume (line 92) | def _delete_ec2_volume(ec2_volume: Volume, output: AbstractOutputWriter): function _delete_snapshot (line 100) | def _delete_snapshot(snapshot: Snapshot, output: AbstractOutputWriter): FILE: spotty/providers/aws/errors/volume_not_found.py class VolumeNotFoundError (line 1) | class VolumeNotFoundError(Exception): method __init__ (line 2) | def __init__(self, volume_name): FILE: spotty/providers/aws/helpers/ami.py function get_ami (line 5) | def get_ami(ec2, ami_id: str = None, ami_name: str = None) -> Image: FILE: spotty/providers/aws/helpers/availability_zone.py function update_availability_zone (line 7) | def update_availability_zone(ec2, availability_zone: str, volumes: List[... FILE: spotty/providers/aws/helpers/instance_prices.py function get_spot_prices (line 8) | def get_spot_prices(ec2, instance_type: str): function get_current_spot_price (line 24) | def get_current_spot_price(ec2, instance_type, availability_zone=''): function get_on_demand_price (line 40) | def get_on_demand_price(instance_type: str, region: str): function _get_region_name (line 64) | def _get_region_name(region: str): function check_max_spot_price (line 77) | def check_max_spot_price(ec2, instance_type: str, is_spot_instance: bool... FILE: spotty/providers/aws/helpers/logs.py function get_logs_s3_path (line 8) | def get_logs_s3_path(bucket_name: str, instance_name: str) -> str: function download_logs (line 12) | def download_logs(bucket_name: str, instance_name: str, stack_uuid: str,... FILE: spotty/providers/aws/helpers/s3_sync.py function check_aws_installed (line 5) | def check_aws_installed(): function get_s3_sync_command (line 11) | def get_s3_sync_command(from_path: str, to_path: str, profile: str = Non... FILE: spotty/providers/aws/helpers/subnet.py function check_az_and_subnet (line 4) | def check_az_and_subnet(ec2, region: str, availability_zone: str, subnet... FILE: spotty/providers/aws/helpers/vpc.py function get_vpc_id (line 5) | def get_vpc_id(ec2, subnet_id: str = None) -> str: FILE: spotty/providers/aws/instance_deployment.py class InstanceDeployment (line 20) | class InstanceDeployment(AbstractInstanceDeployment): method __init__ (line 24) | def __init__(self, instance_config: InstanceConfig): method stack_manager (line 31) | def stack_manager(self) -> InstanceStackManager: method key_pair_manager (line 35) | def key_pair_manager(self) -> KeyPairManager: method get_instance (line 38) | def get_instance(self) -> Instance: method deploy (line 41) | def deploy(self, container_commands: DockerCommands, bucket_name: str, method delete (line 122) | def delete(self, output: AbstractOutputWriter): FILE: spotty/providers/aws/instance_manager.py class InstanceManager (line 10) | class InstanceManager(AbstractCloudInstanceManager): method _get_instance_config (line 17) | def _get_instance_config(self, instance_config: dict) -> InstanceConfig: method _get_bucket_manager (line 21) | def _get_bucket_manager(self) -> BucketManager: method _get_data_transfer (line 25) | def _get_data_transfer(self) -> DataTransfer: method _get_instance_deployment (line 35) | def _get_instance_deployment(self) -> InstanceDeployment: method get_status_text (line 39) | def get_status_text(self): method ssh_key_path (line 67) | def ssh_key_path(self): FILE: spotty/providers/aws/resource_managers/bucket_manager.py class BucketManager (line 9) | class BucketManager(AbstractBucketManager): method __init__ (line 11) | def __init__(self, project_name: str, region: str): method get_bucket (line 18) | def get_bucket(self) -> Bucket: method create_bucket (line 34) | def create_bucket(self) -> Bucket: method delete_bucket (line 46) | def delete_bucket(self): FILE: spotty/providers/aws/resource_managers/instance_profile_stack_manager.py class InstanceProfileStackManager (line 8) | class InstanceProfileStackManager(object): method __init__ (line 10) | def __init__(self, project_name: str, instance_name: str, region: str): method create_or_update_stack (line 15) | def create_or_update_stack(self, managed_policy_arns: list, output: Ab... method _create_stack (line 48) | def _create_stack(self, template: str, output: AbstractOutputWriter): method _update_stack (line 63) | def _update_stack(self, template: str, output: AbstractOutputWriter): FILE: spotty/providers/aws/resource_managers/instance_stack_manager.py class InstanceStackManager (line 7) | class InstanceStackManager(object): method __init__ (line 9) | def __init__(self, project_name: str, instance_name: str, region: str): method name (line 16) | def name(self): method create_or_update_stack (line 19) | def create_or_update_stack(self, template: str, parameters: dict, inst... method delete_stack (line 105) | def delete_stack(self, output: AbstractOutputWriter, no_wait=False): FILE: spotty/providers/aws/resource_managers/key_pair_manager.py class KeyPairManager (line 6) | class KeyPairManager(object): method __init__ (line 8) | def __init__(self, ec2, project_name: str, region: str): method key_name (line 14) | def key_name(self): method key_path (line 18) | def key_path(self): method maybe_create_key (line 21) | def maybe_create_key(self): method delete_key (line 49) | def delete_key(self): method _ec2_key_exists (line 58) | def _ec2_key_exists(self): FILE: spotty/providers/aws/resources/bucket.py class Bucket (line 4) | class Bucket(AbstractBucket): method __init__ (line 6) | def __init__(self, data: dict): method name (line 10) | def name(self) -> str: FILE: spotty/providers/aws/resources/image.py class Image (line 1) | class Image(object): method __init__ (line 3) | def __init__(self, ec2, ami_info): method get_by_name (line 8) | def get_by_name(ec2, ami_name: str): method get_by_id (line 23) | def get_by_id(ec2, ami_id: str): method image_id (line 33) | def image_id(self) -> str: method name (line 37) | def name(self) -> str: method size (line 41) | def size(self) -> int: method get_tag_value (line 44) | def get_tag_value(self, tag_name): FILE: spotty/providers/aws/resources/instance.py class Instance (line 6) | class Instance(AbstractInstance): method __init__ (line 8) | def __init__(self, ec2, data: dict): method get_by_stack_name (line 13) | def get_by_stack_name(ec2, stack_name): method instance_id (line 31) | def instance_id(self): method public_ip_address (line 35) | def public_ip_address(self) -> str: method private_ip_address (line 39) | def private_ip_address(self) -> str: method state (line 43) | def state(self) -> str: method instance_type (line 47) | def instance_type(self) -> str: method availability_zone (line 51) | def availability_zone(self) -> str: method launch_time (line 55) | def launch_time(self) -> datetime: method lifecycle (line 59) | def lifecycle(self) -> str: method is_running (line 63) | def is_running(self): method is_stopped (line 67) | def is_stopped(self): method get_spot_price (line 70) | def get_spot_price(self): method get_on_demand_price (line 74) | def get_on_demand_price(self): method terminate (line 78) | def terminate(self, wait: bool = True): method stop (line 84) | def stop(self, wait: bool = True): FILE: spotty/providers/aws/resources/snapshot.py class Snapshot (line 4) | class Snapshot(object): method __init__ (line 6) | def __init__(self, ec2, snapshot_info): method get_by_name (line 11) | def get_by_name(ec2, snapshot_name: str): method name (line 26) | def name(self) -> str: method snapshot_id (line 34) | def snapshot_id(self): method size (line 38) | def size(self) -> int: method creation_time (line 42) | def creation_time(self) -> int: method rename (line 45) | def rename(self, new_name): method delete (line 49) | def delete(self): method wait_snapshot_completed (line 52) | def wait_snapshot_completed(self): FILE: spotty/providers/aws/resources/stack.py class Stack (line 12) | class Stack(object): method __init__ (line 14) | def __init__(self, cf, stack_info): method get_by_name (line 19) | def get_by_name(cf, stack_name: str): method create_stack (line 37) | def create_stack(cf, *args, **kwargs): method update_stack (line 42) | def update_stack(cf, *args, **kwargs): method stack_id (line 47) | def stack_id(self) -> str: method stack_uuid (line 51) | def stack_uuid(self) -> str: method name (line 55) | def name(self) -> str: method status (line 59) | def status(self) -> str: method outputs (line 63) | def outputs(self) -> str: method delete (line 66) | def delete(self): method wait_stack_created (line 69) | def wait_stack_created(self, delay_secs: int = 30): method wait_stack_updated (line 73) | def wait_stack_updated(self, delay_secs: int = 30): method wait_stack_deleted (line 77) | def wait_stack_deleted(self, delay_secs: int = 30): method wait_status_changed (line 81) | def wait_status_changed(self, stack_waiting_status: str, output: Abstr... method wait_tasks (line 98) | def wait_tasks(self, tasks: List[Task], resource_success_status: str, ... method _get_resource_statuses (line 128) | def _get_resource_statuses(self) -> Dict[str, str]: FILE: spotty/providers/aws/resources/subnet.py class Subnet (line 1) | class Subnet(object): method __init__ (line 3) | def __init__(self, ec2, subnet_info): method get_by_id (line 8) | def get_by_id(ec2, subnet_id: str): method get_default_subnets (line 20) | def get_default_subnets(ec2): method availability_zone (line 30) | def availability_zone(self) -> str: method vpc_id (line 34) | def vpc_id(self) -> str: FILE: spotty/providers/aws/resources/volume.py class Volume (line 4) | class Volume(object): method __init__ (line 6) | def __init__(self, ec2, volume_info): method get_by_name (line 11) | def get_by_name(ec2, volume_name: str): method name (line 26) | def name(self) -> str: method volume_id (line 34) | def volume_id(self) -> str: method size (line 38) | def size(self) -> int: method availability_zone (line 42) | def availability_zone(self) -> str: method state (line 46) | def state(self) -> str: method is_available (line 49) | def is_available(self): method create_snapshot (line 52) | def create_snapshot(self) -> Snapshot: method delete (line 66) | def delete(self): FILE: spotty/providers/aws/resources/vpc.py class Vpc (line 1) | class Vpc(object): method __init__ (line 3) | def __init__(self, ec2, vpc_info): method get_default_vpc (line 8) | def get_default_vpc(ec2): method vpc_id (line 17) | def vpc_id(self) -> str: FILE: spotty/providers/gcp/config/disk_volume.py class DiskVolume (line 5) | class DiskVolume(AbstractInstanceVolume): method __init__ (line 14) | def __init__(self, volume_config: dict, project_name: str, instance_na... method _validate_volume_parameters (line 20) | def _validate_volume_parameters(self, params: dict) -> dict: method title (line 24) | def title(self): method size (line 28) | def size(self) -> int: method deletion_policy (line 32) | def deletion_policy(self) -> str: method deletion_policy_title (line 36) | def deletion_policy_title(self) -> str: method disk_name (line 45) | def disk_name(self) -> str: method mount_dir (line 54) | def mount_dir(self) -> str: method host_path (line 64) | def host_path(self) -> str: FILE: spotty/providers/gcp/config/image_uri.py class ImageUri (line 8) | class ImageUri(object): method __init__ (line 10) | def __init__(self, image_uri: str): method project_id (line 18) | def project_id(self) -> str: method is_family (line 22) | def is_family(self): method name (line 26) | def name(self): FILE: spotty/providers/gcp/config/instance_config.py class InstanceConfig (line 12) | class InstanceConfig(AbstractInstanceConfig): method _validate_instance_params (line 14) | def _validate_instance_params(self, params: dict) -> dict: method _get_instance_volumes (line 17) | def _get_instance_volumes(self) -> List[AbstractInstanceVolume]: method user (line 29) | def user(self): method machine_name (line 33) | def machine_name(self) -> str: method project_id (line 38) | def project_id(self) -> str: method zone (line 42) | def zone(self) -> str: method machine_type (line 46) | def machine_type(self) -> str: method gpu (line 50) | def gpu(self) -> dict: method is_preemptible_instance (line 54) | def is_preemptible_instance(self) -> bool: method boot_disk_size (line 58) | def boot_disk_size(self) -> int: method ports (line 62) | def ports(self) -> List[int]: method image_name (line 66) | def image_name(self) -> str: method has_image_name (line 70) | def has_image_name(self) -> bool: method image_uri (line 74) | def image_uri(self) -> str: FILE: spotty/providers/gcp/config/validation.py function validate_instance_parameters (line 7) | def validate_instance_parameters(params: dict): function validate_disk_volume_parameters (line 46) | def validate_disk_volume_parameters(params: dict): FILE: spotty/providers/gcp/data_transfer.py class DataTransfer (line 7) | class DataTransfer(AbstractDataTransfer): method scheme_name (line 10) | def scheme_name(self) -> str: method upload_local_to_bucket (line 13) | def upload_local_to_bucket(self, bucket_name: str, dry_run: bool = Fal... method download_bucket_to_local (line 28) | def download_bucket_to_local(self, bucket_name: str, download_filters:... method get_download_bucket_to_instance_command (line 32) | def get_download_bucket_to_instance_command(self, bucket_name: str, us... method get_upload_instance_to_bucket_command (line 41) | def get_upload_instance_to_bucket_command(self, bucket_name: str, down... FILE: spotty/providers/gcp/dm_templates/instance/instance_template.py function prepare_instance_template (line 17) | def prepare_instance_template(instance_config: InstanceConfig, docker_co... function _get_disk_attachments (line 137) | def _get_disk_attachments(volumes: List[AbstractInstanceVolume], zone: s... FILE: spotty/providers/gcp/errors/image_not_found.py class ImageNotFoundError (line 1) | class ImageNotFoundError(Exception): method __init__ (line 2) | def __init__(self, image_name): FILE: spotty/providers/gcp/helpers/ce_client.py class CEClient (line 6) | class CEClient(object): method __init__ (line 9) | def __init__(self, project_id: str, zone: str): method zone (line 15) | def zone(self): method list_images (line 18) | def list_images(self, image_name: str = None, project_id: str = None): method get_image_from_family (line 33) | def get_image_from_family(self, family_name: str, project_id: str = No... method list_instances (line 41) | def list_instances(self, machine_name=None): method list_disks (line 50) | def list_disks(self, disk_name=None): method list_snapshots (line 59) | def list_snapshots(self, snapshot_name=None): method get_accelerator_types (line 68) | def get_accelerator_types(self) -> OrderedDict: method create_disk (line 75) | def create_disk(self, name: str, size: int = None, snapshot_link: str ... method get_machine_types (line 92) | def get_machine_types(self, machine_type: str = None): method stop_instance (line 104) | def stop_instance(self, machine_name: str, wait: bool = True) -> str: method delete_instance (line 113) | def delete_instance(self, machine_name: str, wait: bool = True) -> str: method _wait_operation (line 122) | def _wait_operation(self, operation: dict): FILE: spotty/providers/gcp/helpers/deployment.py function wait_resources (line 13) | def wait_resources(dm: DMClient, ce: CEClient, deployment_name: str, res... function check_gpu_configuration (line 64) | def check_gpu_configuration(ce: CEClient, gpu_parameters: dict): FILE: spotty/providers/gcp/helpers/dm_client.py class DMClient (line 6) | class DMClient(object): method __init__ (line 9) | def __init__(self, project_id: str, zone: str): method get (line 14) | def get(self, deployment_name: str): method deploy (line 25) | def deploy(self, deployment_name: str, template: str, dry_run: bool = ... method stop (line 37) | def stop(self, deployment_name: str, fingerprint: str): method delete (line 44) | def delete(self, deployment_name: str): method get_resource (line 49) | def get_resource(self, deployment_name: str, resource_name: str) -> dict: FILE: spotty/providers/gcp/helpers/dm_resource.py class DMResource (line 4) | class DMResource(object): method __init__ (line 6) | def __init__(self, dm: DMClient, data: dict): method get_by_name (line 61) | def get_by_name(dm: DMClient, deployment_name: str, resource_name: str): method is_created (line 70) | def is_created(self) -> bool: method error_message (line 74) | def error_message(self) -> str: method state (line 81) | def state(self) -> str: method is_in_progress (line 85) | def is_in_progress(self) -> bool: method is_failed (line 89) | def is_failed(self) -> bool: FILE: spotty/providers/gcp/helpers/gcp_credentials.py class GcpCredentials (line 4) | class GcpCredentials(object): method __init__ (line 5) | def __init__(self): method project_id (line 12) | def project_id(self): method service_account_email (line 16) | def service_account_email(self): FILE: spotty/providers/gcp/helpers/gs_client.py class GSClient (line 6) | class GSClient(object): method __init__ (line 9) | def __init__(self): method list_buckets (line 12) | def list_buckets(self) -> List[Bucket]: method create_bucket (line 16) | def create_bucket(self, bucket_name: str, region: str) -> Bucket: method create_dir (line 22) | def create_dir(self, bucket_name: str, path: str): FILE: spotty/providers/gcp/helpers/gsutil_rsync.py function check_gsutil_installed (line 9) | def check_gsutil_installed(): function get_rsync_command (line 15) | def get_rsync_command(from_path: str, to_path: str, filters: List[dict] ... FILE: spotty/providers/gcp/helpers/image.py function get_image (line 6) | def get_image(ce: CEClient, image_uri: str = None, image_name: str = Non... FILE: spotty/providers/gcp/helpers/rtc_client.py class RtcClient (line 4) | class RtcClient(object): method __init__ (line 6) | def __init__(self, project_id: str, zone: str): method get_value (line 11) | def get_value(self, config_name, template): method set_value (line 18) | def set_value(self, config_name: str, variable_name: str, value: str): FILE: spotty/providers/gcp/helpers/volumes.py function create_disks (line 10) | def create_disks(ce: CEClient, volumes: List[AbstractInstanceVolume], ou... FILE: spotty/providers/gcp/instance_deployment.py class InstanceDeployment (line 18) | class InstanceDeployment(AbstractInstanceDeployment): method __init__ (line 22) | def __init__(self, instance_config: InstanceConfig): method stack_manager (line 30) | def stack_manager(self) -> InstanceStackManager: method ssh_key_manager (line 34) | def ssh_key_manager(self) -> SshKeyManager: method get_instance (line 37) | def get_instance(self) -> Instance: method deploy (line 40) | def deploy(self, container_commands: DockerCommands, bucket_name: str, method delete (line 99) | def delete(self, output: AbstractOutputWriter): FILE: spotty/providers/gcp/instance_manager.py class InstanceManager (line 11) | class InstanceManager(AbstractCloudInstanceManager): method _get_instance_config (line 18) | def _get_instance_config(self, instance_config: dict) -> InstanceConfig: method _get_bucket_manager (line 22) | def _get_bucket_manager(self) -> BucketManager: method _get_data_transfer (line 26) | def _get_data_transfer(self) -> DataTransfer: method _get_instance_deployment (line 35) | def _get_instance_deployment(self) -> InstanceDeployment: method download (line 39) | def download(self, download_filters: list, output: AbstractOutputWrite... method get_status_text (line 42) | def get_status_text(self) -> str: method ssh_key_path (line 61) | def ssh_key_path(self): FILE: spotty/providers/gcp/resource_managers/bucket_manager.py class BucketManager (line 9) | class BucketManager(AbstractBucketManager): method __init__ (line 11) | def __init__(self, project_name: str, region: str): method get_bucket (line 18) | def get_bucket(self) -> Bucket: method create_bucket (line 35) | def create_bucket(self) -> Bucket: FILE: spotty/providers/gcp/resource_managers/instance_stack_manager.py class InstanceStackManager (line 11) | class InstanceStackManager(object): method __init__ (line 13) | def __init__(self, machine_name: str, project_id: str, zone: str): method name (line 26) | def name(self): method create_stack (line 29) | def create_stack(self, template: str, output: AbstractOutputWriter): method delete_stack (line 50) | def delete_stack(self, output: AbstractOutputWriter): FILE: spotty/providers/gcp/resource_managers/ssh_key_manager.py class SshKeyManager (line 8) | class SshKeyManager(object): method __init__ (line 10) | def __init__(self, project_name: str, zone: str): method private_key_file (line 15) | def private_key_file(self): method public_key_file (line 19) | def public_key_file(self): method get_public_key_value (line 22) | def get_public_key_value(self): method _generate_ssh_key (line 33) | def _generate_ssh_key(self): FILE: spotty/providers/gcp/resources/bucket.py class Bucket (line 5) | class Bucket(AbstractBucket): method __init__ (line 7) | def __init__(self, bucket: GSBucket): method name (line 11) | def name(self) -> str: FILE: spotty/providers/gcp/resources/disk.py class Disk (line 4) | class Disk(object): method __init__ (line 6) | def __init__(self, ce: CEClient, data: dict): method get_by_name (line 33) | def get_by_name(ce: CEClient, disk_name: str): method name (line 42) | def name(self) -> str: method status (line 46) | def status(self) -> str: method size (line 50) | def size(self) -> int: method users (line 54) | def users(self) -> list: method is_available (line 57) | def is_available(self): FILE: spotty/providers/gcp/resources/image.py class Image (line 5) | class Image(object): method __init__ (line 7) | def __init__(self, data: dict): method get_by_name (line 31) | def get_by_name(ce: CEClient, image_name: str): method get_by_uri (line 40) | def get_by_uri(ce: CEClient, image_uri: str): method image_id (line 54) | def image_id(self) -> str: method name (line 58) | def name(self) -> str: method size (line 62) | def size(self) -> int: method self_link (line 66) | def self_link(self) -> str: method source_disk (line 70) | def source_disk(self): FILE: spotty/providers/gcp/resources/instance.py class Instance (line 6) | class Instance(AbstractInstance): method __init__ (line 8) | def __init__(self, ce: CEClient, data: dict): method get_by_name (line 66) | def get_by_name(ce: CEClient, machine_name: str): method name (line 75) | def name(self) -> str: method is_running (line 79) | def is_running(self) -> bool: method is_stopped (line 83) | def is_stopped(self) -> bool: method public_ip_address (line 88) | def public_ip_address(self) -> str: method status (line 92) | def status(self) -> str: method machine_type (line 96) | def machine_type(self) -> str: method zone (line 100) | def zone(self) -> str: method creation_timestamp (line 104) | def creation_timestamp(self) -> datetime: method is_preemtible (line 112) | def is_preemtible(self) -> bool: method terminate (line 115) | def terminate(self, wait: bool = True): method stop (line 118) | def stop(self, wait: bool = True): FILE: spotty/providers/gcp/resources/snapshot.py class Snapshot (line 4) | class Snapshot(object): method __init__ (line 6) | def __init__(self, data: dict): method get_by_name (line 27) | def get_by_name(ce: CEClient, snapshot_name: str): method name (line 36) | def name(self) -> str: method size (line 40) | def size(self) -> int: method self_link (line 44) | def self_link(self) -> str: FILE: spotty/providers/gcp/resources/stack.py class Stack (line 7) | class Stack(object): method __init__ (line 9) | def __init__(self, dm: DMClient, data: dict): method get_by_name (line 53) | def get_by_name(dm: DMClient, deployment_name: str): method create (line 62) | def create(dm: DMClient, deployment_name: str, template: str): method name (line 66) | def name(self) -> str: method status (line 70) | def status(self) -> str: method is_running (line 74) | def is_running(self): method is_done (line 78) | def is_done(self): method error (line 83) | def error(self) -> str: method fingerprint (line 88) | def fingerprint(self) -> str: method stop (line 91) | def stop(self): method delete (line 94) | def delete(self): method wait_stack_deleted (line 97) | def wait_stack_deleted(self, delay=15): method wait_stack_done (line 108) | def wait_stack_done(self, delay=5): FILE: spotty/providers/instance_manager_factory.py class InstanceManagerFactory (line 12) | class InstanceManagerFactory(object): method get_instance (line 22) | def get_instance(cls, project_config: ProjectConfig, instance_config: ... FILE: spotty/providers/local/config/instance_config.py class InstanceConfig (line 11) | class InstanceConfig(AbstractInstanceConfig): method __init__ (line 13) | def __init__(self, instance_config: dict, project_config: ProjectConfig): method _validate_instance_params (line 16) | def _validate_instance_params(self, params: dict): method _get_instance_volumes (line 20) | def _get_instance_volumes(self) -> List[AbstractInstanceVolume]: method _get_volume_mounts (line 31) | def _get_volume_mounts(self, volumes: List[AbstractInstanceVolume]) ->... method user (line 50) | def user(self) -> str: FILE: spotty/providers/local/config/validation.py function validate_instance_parameters (line 4) | def validate_instance_parameters(params: dict): FILE: spotty/providers/local/instance_manager.py class InstanceManager (line 7) | class InstanceManager(AbstractDockerInstanceManager): method _get_instance_config (line 11) | def _get_instance_config(self, instance_config: dict) -> InstanceConfig: method is_running (line 15) | def is_running(self): method clean (line 18) | def clean(self, output: AbstractOutputWriter): method sync (line 21) | def sync(self, output: AbstractOutputWriter, dry_run=False): method download (line 24) | def download(self, download_filters: list, output: AbstractOutputWrite... FILE: spotty/providers/remote/config/instance_config.py class InstanceConfig (line 10) | class InstanceConfig(AbstractInstanceConfig): method __init__ (line 12) | def __init__(self, instance_config: dict, project_config: ProjectConfig): method _validate_instance_params (line 15) | def _validate_instance_params(self, params: dict): method user (line 20) | def user(self) -> str: method host (line 24) | def host(self) -> str: method port (line 28) | def port(self) -> int: method key_path (line 32) | def key_path(self) -> str: method _get_instance_volumes (line 41) | def _get_instance_volumes(self) -> List[AbstractInstanceVolume]: FILE: spotty/providers/remote/config/validation.py function validate_instance_parameters (line 5) | def validate_instance_parameters(params: dict): FILE: spotty/providers/remote/helpers/rsync.py function check_rsync_installed (line 6) | def check_rsync_installed(): function get_upload_command (line 12) | def get_upload_command(local_dir: str, remote_dir: str, ssh_user: str, s... function get_download_command (line 24) | def get_download_command(remote_dir: str, local_dir: str, ssh_user: str,... function _get_rsync_command (line 33) | def _get_rsync_command(src_path: str, dst_path: str, ssh_port: int, ssh_... function _fix_filter_path (line 70) | def _fix_filter_path(path: str) -> str: FILE: spotty/providers/remote/instance_manager.py class InstanceManager (line 9) | class InstanceManager(AbstractSshInstanceManager): method _get_instance_config (line 13) | def _get_instance_config(self, instance_config: dict) -> InstanceConfig: method is_running (line 17) | def is_running(self): method clean (line 21) | def clean(self, output: AbstractOutputWriter): method sync (line 24) | def sync(self, output: AbstractOutputWriter, dry_run=False): method download (line 50) | def download(self, download_filters: list, output: AbstractOutputWrite... method ssh_host (line 77) | def ssh_host(self) -> str: method ssh_key_path (line 81) | def ssh_key_path(self) -> str: method ssh_port (line 85) | def ssh_port(self) -> int: FILE: spotty/utils.py function package_dir (line 7) | def package_dir(path: str = ''): function check_path (line 21) | def check_path(path): function random_string (line 31) | def random_string(length: int, chars: str = string.ascii_lowercase + str... function filter_list (line 35) | def filter_list(list_of_dicts, key_name, value): function render_table (line 39) | def render_table(table: list, separate_title=False): FILE: tests/container_config.py class TestContainerConfig (line 5) | class TestContainerConfig(unittest.TestCase): method test_working_dir (line 7) | def test_working_dir(self): FILE: tests/helpers/cli.py function run (line 5) | def run(command: str, capture_output: bool = False, assert_zero_code: bo... function touch_file (line 20) | def touch_file(file_path: str): FILE: tests/helpers/spotty_cli.py class SpottyCli (line 7) | class SpottyCli: method __init__ (line 9) | def __init__(self, instance_name: str): method is_instance_running (line 12) | def is_instance_running(self) -> bool: method start_instance (line 17) | def start_instance(self): method list_remote_files (line 23) | def list_remote_files(self) -> List[str]: method touch_file (line 30) | def touch_file(self, file_path: str): method sync (line 34) | def sync(self): method download (line 48) | def download(self, filter_pattern: str): method exec (line 67) | def exec(self, container_command: str): FILE: tests/providers/aws/commands/download.py class TestInstanceDownload (line 7) | class TestInstanceDownload(unittest.TestCase): method setUpClass (line 12) | def setUpClass(cls): method test_download_file (line 30) | def test_download_file(self): method test_wildcard (line 64) | def test_wildcard(self): FILE: tests/providers/aws/commands/sync.py class TestInstanceSync (line 7) | class TestInstanceSync(unittest.TestCase): method setUpClass (line 12) | def setUpClass(cls): method test_update_local_file (line 30) | def test_update_local_file(self): method test_update_remote_file (line 54) | def test_update_remote_file(self): method test_new_remote_file (line 73) | def test_new_remote_file(self): FILE: tests/providers/aws/config/container_deployment.py class TestContainerDeployment (line 9) | class TestContainerDeployment(unittest.TestCase): method test_instance_volume (line 11) | def test_instance_volume(self): method test_tmp_project_volume (line 33) | def test_tmp_project_volume(self): FILE: tests/providers/aws/config/instance_config_validation.py class TestBucketResource (line 5) | class TestBucketResource(unittest.TestCase): method test_default_configuration (line 7) | def test_default_configuration(self): method test_failed_validation (line 35) | def test_failed_validation(self): FILE: tests/providers/aws/project_resources/bucket.py class TestBucketResource (line 7) | class TestBucketResource(unittest.TestCase): method test_create_and_find_bucket (line 10) | def test_create_and_find_bucket(self): FILE: tests/providers/aws/project_resources/key_pair.py class TestKeyPairResource (line 9) | class TestKeyPairResource(unittest.TestCase): method test_key_path (line 11) | def test_key_path(self): method test_create_and_delete_key (line 22) | def test_create_and_delete_key(self): FILE: tests/providers/gcp/config/image_uri.py class TestImageUrl (line 5) | class TestImageUrl(unittest.TestCase): method test_image_url_parsing (line 7) | def test_image_url_parsing(self): FILE: tests/providers/local/commands/run.py class TestInstanceRun (line 8) | class TestInstanceRun(unittest.TestCase): method setUpClass (line 13) | def setUpClass(cls): method test_script_arguments (line 21) | def test_script_arguments(self): method test_script_params (line 35) | def test_script_params(self): method test_script_logging (line 48) | def test_script_logging(self): FILE: tests/providers/local/config/container_deployment.py class TestContainerDeployment (line 9) | class TestContainerDeployment(unittest.TestCase): method test_instance_volume (line 11) | def test_instance_volume(self):