metalsmith.instance_config 模块¶
- class metalsmith.instance_config.CloudInitConfig(ssh_keys=None, user_data=None, meta_data=None)¶
基类:
GenericConfig使用 cloud-init 配置目标实例。
与
GenericConfig相比,此配置增加了管理用户支持。- 变量:
ssh_keys – SSH 公钥列表。
user_data – 云配置数据,格式为字典。
meta_data – 要添加到生成的
meta_data的字典
- add_user(name, admin=True, password_hash=None, sudo=False, **kwargs)¶
添加要在首次启动时创建的用户。
- 参数:
name – 用户名。
admin – 是否将用户添加到管理员组 (wheel)。
password_hash – 用户密码哈希,如果需要密码身份验证。
sudo – 是否允许用户无需密码即可使用 sudo。
kwargs – 其他要传递的参数。
- populate_user_data()¶
获取此配置的用户数据。
获取自定义用户数据,并将请求的用户追加到其中。
- 返回值:
用户数据,格式为字符串。
- class metalsmith.instance_config.GenericConfig(ssh_keys=None, user_data=None, meta_data=None)¶
基类:
object目标实例的配置。
此对象附加的信息将通过 configdrive 传递到实例的首次启动脚本(例如 cloud-init)。
此类表示与大多数首次启动实现兼容的通用配置。对于特定于 cloud-init 的功能,请使用
CloudInitConfig。- 变量:
ssh_keys – SSH 公钥列表。
user_data – 用户数据,格式为字符串。
meta_data – 要添加到生成的
meta_data的字典
- generate(node, hostname=None, network_data=None)¶
生成 configdrive 信息。
- 参数:
node – Node 对象。
hostname – 所需的主机名(默认为节点名称或 ID)。
network_data – 网络元数据,格式为字典
- 返回值:
configdrive 内容,格式为包含键的字典
meta_data元数据字典
network_data网络数据,格式为字典
user_data用户数据,格式为字符串
- populate_user_data()¶
获取此配置的用户数据。
可以重写以提供其他功能。
- 返回值:
用户数据,格式为字符串。