config

class fabric.config.Config(*args, **kwargs)

invoke.config.Config 具有额外结构相关行为的子类。

这个类的行为如下 invoke.config.Config 在所有方面,除了以下例外:

  • 它的 global_defaults StaticMethod已扩展为添加/修改一些默认设置(有关详细信息,请参阅下面的文档);
  • 它触发加载特定于结构的env vars(例如 FABRIC_RUN_HIDE=true 而不是 INVOKE_RUN_HIDE=true )和文件名(例如 /etc/fabric.yaml 而不是 /etc/invoke.yaml
  • 它将API扩展到用于加载的帐户 ssh_config 文件(存储为附加属性,与常规配置数据/层次结构没有直接关系。)
  • 它添加了一个新的可选构造函数, from_v1 哪一个 generates configuration data from Fabric 1 .

用于 Connection ,如使用香草 invoke.config.Config 对象需要用户手动定义 portuser 诸如此类。

2.0 新版功能.

__init__(*args, **kwargs)

创建一个新的特定于结构的配置对象。

有关大多数API详细信息,请参阅 invoke.config.Config.__init__ . 下面列出了此子类的新参数。

参数:
  • ssh_config -- 自定义/显式 paramiko.config.SSHConfig 对象。如果给定,则阻止加载任何ssh配置文件。违约: None .
  • runtime_ssh_path (str) -- 要加载的运行时ssh配置路径。如果给定,则阻止加载系统/用户文件。违约: None .
  • system_ssh_path (str) -- 系统级ssh配置文件的位置。违约: /etc/ssh/ssh_config .
  • user_ssh_path (str) -- 用户级ssh配置文件的位置。违约: ~/.ssh/config .
  • lazy (bool) -- 与父类具有相同的含义' lazy ,但还控制是否延迟ssh配置文件加载(需要手动调用 load_ssh_config 例如,可能需要等待用户输入才能调用 set_runtime_ssh_path ,这将确切地说明 load_ssh_config 做。
clone(*args, **kwargs)

返回此配置对象的副本。

新对象在配置的源和任何加载(或用户操作)的数据方面都是相同的,但将是一个具有尽可能少的共享可变状态的独特对象。

具体来说,所有 dict 配置中的值被递归地重新创建,非dict叶值服从 copy.copy (注: not copy.deepcopy ,因为这可能导致各种对象(如编译的regexen或线程锁)出现问题,这些对象通常隐藏在API或DB客户机等富聚合的深层。

因此,可能最终在配置及其克隆之间共享的唯一剩余配置值是那些不共享的“富”对象 copy.copy 干净地,或组合非dict对象(如列表或元组)。

参数:into -- A Config 新克隆应“升级”到的子类。由拥有自己的客户端库使用 Config 子类,例如定义额外的默认值;克隆到这些子类中的一个子类,可以确保任何新的键/子树被优雅地添加,而不会覆盖任何预先定义的内容。违约: None (克隆到另一个常规 Config
返回:A Config 或类的实例 into .
加薪:TypeError 如果 into 给定了一个值,而该值不是 Config 子类。

1.0 新版功能.

classmethod from_v1(env, **kwargs)

使用结构1的备用构造函数 env 听写设置。

除此之外的所有关键字参数 env 将不受干扰地传递给主构造函数,但 overrides ,内部使用,最终将类似于 env 上面有用户提供的覆盖。

警告

因为您自己的配置覆盖将从 env ,确保只设置值 打算 改变你的v1环境!

详细说明 env var是导入的,它们在新的API中会变成什么,请参见 v1-env-var-imports .

参数:env -- 显式结构1 env 口述(技术上,任何 fabric.utils._AttributeDict 实例应该可以)从中提取配置。

2.4 新版功能.

static global_defaults()

默认配置值和行为切换。

Fabric只扩展此方法,以便对Invoke的 global_defaults ;请参阅其文档以了解基本值,例如配置子树控制 run 或如何 tasks 表现。

有关调用级别默认值的特定于结构的修改和添加,请参阅我们自己的配置文档: 默认配置值 .

2.0 新版功能.

load_ssh_config()

从磁盘加载ssh配置文件。

另外(预先)确保调用级别config re:runtime ssh config文件路径被考虑在内。

2.0 新版功能.

set_runtime_ssh_path(path)

配置运行时级别的ssh配置文件路径。

如果设置,这将导致 load_ssh_config 跳过系统和用户文件,就像openssh一样。

2.0 新版功能.