未提供项目描述
项目描述
内置函数的Idem插件
关于
一个包含常用函数的Idem插件,您可以使用exec.run状态运行这些函数。您可以使用参数绑定将这些常用函数的输出传递到其他Idem插件资源状态,例如在idem-aws、idem-k8s或其他Idem插件中。
什么是POP?
该项目使用pop构建,pop是基于Python实现的插件导向编程(POP)。POP旨在以新的方式结合计算机历史中的概念和智慧来解决现代计算问题。
更多信息
入门
先决条件
Python 3.8+
git (如果从源代码安装或为项目做贡献)
要为项目做贡献并设置您的本地开发环境,请查看该项目源存储库中的CONTRIBUTING.rst。
安装
您可以使用Python包管理器(PyPI)或从源代码安装 idem-core-functions。
从PyPI安装
pip install idem-core-functions
从源代码安装
# clone repo
git clone git@<your-project-path>/idem-core-functions.git
cd idem-core-functions
# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
使用方法
配置
安装后,idem-core-functions 执行模块将可供pop hub 使用。
更多信息
现在您可以使用 idem-core-functions。
执行模块
SLS文件指定资源的期望状态。您可以使用 exec.run 状态在SLS文件中运行exec模块,其中exec模块返回一个新状态,可以用参数绑定引用。
core.encoding.base64encode
对字符串应用Base64编码。
core.encoding.base64decode
将Base64编码的字符字符串恢复为原始字符串。
core.conversion.to_json
将对象序列化为JSON字符串。
core.collection.distinct
对于给定的列表,返回一个新列表,其中移除了任何重复的元素。
core.collection.flatten
对于给定的列表,将任何列表元素替换为该列表的扁平序列。
core.collection.element
从列表中检索单个元素。
core.collection.length
确定给定列表、映射或字符串的长度。
语法
[Idem-state-name]:
exec.run:
- path: core.encoder.base64.encode
- kwargs:
data: test-user-name:test-password
[Idem-state-name]:
exec.run:
- path: core.encoder.base64.decode
- kwargs:
encoded_data: dGVzdC11c2VyLW5hbWU6dGVzdC1wYXNzd29yZA==
[Idem-state-name]:
exec.run:
- path: core.conversion.to_json
- kwargs:
data: '{
"cluster_name": "idem-eks-test",
"region": "ap-south-1",
}'
[Idem-state-name]:
exec.run:
- path: core.encryption.gpg.encrypt
- kwargs:
data: test-data-for-encryption
示例
vault_generic_secret.example-creds.search:
vault.secrets.kv_v1.secret.search:
- path: "example/projects.registry.example.com"
idem.core.encoder.base64.encode.test-2:
exec.run:
- path: core.encoder.base64.encode
- kwargs:
data: "${vault.secrets.kv_v1.secret:vault_generic_secret.example-creds.search:data:user}:${vault.secrets.kv_v1.secret:vault_generic_secret.example-creds.search:data:pass}"
kubernetes_secret.registry-secret-example:
k8s.core.v1.secret.present:
- resource_id: {{ params.get('kubernetes_secret.registry-secret-example') }}
- metadata:
name: "registrysecret-example"
- string_data:
".dockerconfigjson": |+
{
"auths": {
"projects.registry.example.com": {
"auth": "${exec:idem.core.b64Encode.test-2:data}"
}
}
}
- type: "kubernetes.io/dockerconfigjson"
idem.core.encryption.gpg.encrypt.test-1:
exec.run:
- path: core.encryption.gpg.encrypt
- kwargs:
data: test-data-for-encryption
Idem命令行示例
idem exec exec.core.encoding.base64encode data=sample-data
idem exec exec.core.encoding.base64decode encoded_data=dGVzdC11c2VyLW5hbWU6dGVzdC1wYXNzd29yZA==
当前支持的执行函数
core
conversion
collection
encoder
encryption
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
idem-core-functions-2.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2ace415ec52cea74c81b1df83654784a692eee85c5c05811d7438dadd84747bf |
|
MD5 | f8dbb9d739b9c33c3888cd7881bc04c7 |
|
BLAKE2b-256 | c7c71c988d7e892a3a016cdf28910e859c7f9858418fd2ee3a02635b7cad6d4f |
idem_core_functions-2.0.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 493dcdda296ea02f1591f4405b0898488257d9d91507565a2e07c081e59bc043 |
|
MD5 | bf6b239d8ee4e4a59e9dff8f6b5bf4e3 |
|
BLAKE2b-256 | 19d7ddd6be476dc21a98e8032a42e0d44ca6220f6154603eea1f6dacb2ecd431 |