class documentation

An `invoke.config.Config` subclass with extra Fabric-related behavior. This class behaves like `invoke.config.Config` in every way, with the following exceptions: - its `global_defaults` staticmethod has been extended to add/modify some default settings (see its documentation, below, for details); - it triggers loading of Fabric-specific env vars (e.g. ``FABRIC_RUN_HIDE=true`` instead of ``INVOKE_RUN_HIDE=true``) and filenames (e.g. ``/etc/fabric.yaml`` instead of ``/etc/invoke.yaml``). - it extends the API to account for loading ``ssh_config`` files (which are stored as additional attributes and have no direct relation to the regular config data/hierarchy.) - it adds a new optional constructor, `from_v1`, which :ref:`generates configuration data from Fabric 1 <from-v1>`. Intended for use with `.Connection`, as using vanilla `invoke.config.Config` objects would require users to manually define ``port``, ``user`` and so forth. .. seealso:: :doc:`/concepts/configuration`, :ref:`ssh-config` .. versionadded:: 2.0

Class Method from_v1 Alternate constructor which uses Fabric 1's ``env`` dict for settings.
Static Method global_defaults Default configuration values and behavior toggles.
Method __init__ Creates a new Fabric-specific config object.
Method clone Undocumented
Method load_ssh_config Load SSH config file(s) from disk.
Method set_runtime_ssh_path Configure a runtime-level SSH config file path.
Class Variable prefix Undocumented
Method _clone_init_kwargs Undocumented
Method _load_ssh_file Attempt to open and parse an SSH config file at ``path``.
Method _load_ssh_files Trigger loading of configured SSH config file paths.
Instance Variable _runtime_ssh_path Undocumented
@classmethod
def from_v1(cls, env, **kwargs): (source)

Alternate constructor which uses Fabric 1's ``env`` dict for settings. All keyword arguments besides ``env`` are passed unmolested into the primary constructor, with the exception of ``overrides``, which is used internally & will end up resembling the data from ``env`` with the user-supplied overrides on top. .. warning:: Because your own config overrides will win over data from ``env``, make sure you only set values you *intend* to change from your v1 environment! For details on exactly which ``env`` vars are imported and what they become in the new API, please see :ref:`v1-env-var-imports`. :param env: An explicit Fabric 1 ``env`` dict (technically, any ``fabric.utils._AttributeDict`` instance should work) to pull configuration from. .. versionadded:: 2.4

@staticmethod
def global_defaults(): (source)

Default configuration values and behavior toggles. Fabric only extends this method in order to make minor adjustments and additions to Invoke's `~invoke.config.Config.global_defaults`; see its documentation for the base values, such as the config subtrees controlling behavior of ``run`` or how ``tasks`` behave. For Fabric-specific modifications and additions to the Invoke-level defaults, see our own config docs at :ref:`default-values`. .. versionadded:: 2.0

def __init__(self, *args, **kwargs): (source)

Creates a new Fabric-specific config object. For most API details, see `invoke.config.Config.__init__`. Parameters new to this subclass are listed below. :param ssh_config: Custom/explicit `paramiko.config.SSHConfig` object. If given, prevents loading of any SSH config files. Default: ``None``. :param str runtime_ssh_path: Runtime SSH config path to load. Prevents loading of system/user files if given. Default: ``None``. :param str system_ssh_path: Location of the system-level SSH config file. Default: ``/etc/ssh/ssh_config``. :param str user_ssh_path: Location of the user-level SSH config file. Default: ``~/.ssh/config``. :param bool lazy: Has the same meaning as the parent class' ``lazy``, but additionally controls whether SSH config file loading is deferred (requires manually calling `load_ssh_config` sometime.) For example, one may need to wait for user input before calling `set_runtime_ssh_path`, which will inform exactly what `load_ssh_config` does.

def clone(self, *args, **kwargs): (source)

Undocumented

def load_ssh_config(self): (source)

Load SSH config file(s) from disk. Also (beforehand) ensures that Invoke-level config re: runtime SSH config file paths, is accounted for. .. versionadded:: 2.0

def set_runtime_ssh_path(self, path): (source)

Configure a runtime-level SSH config file path. If set, this will cause `load_ssh_config` to skip system and user files, as OpenSSH does. .. versionadded:: 2.0

Undocumented

def _clone_init_kwargs(self, *args, **kw): (source)

Undocumented

def _load_ssh_file(self, path): (source)

Attempt to open and parse an SSH config file at ``path``. Does nothing if ``path`` is not a path to a valid file. :returns: ``None``.

def _load_ssh_files(self): (source)

Trigger loading of configured SSH config file paths. Expects that ``base_ssh_config`` has already been set to an `~paramiko.config.SSHConfig` object. :returns: ``None``.

_runtime_ssh_path = (source)

Undocumented