未提供项目描述
项目描述
关于
Azure云提供商Idem插件
什么是POP?
本项目使用pop构建,pop是基于Python实现的面向插件编程(POP)。POP旨在以新的方式结合计算机历史中的概念和智慧,以解决现代计算机问题。
更多信息
入门
先决条件
Python 3.7+
git (如果从源安装,或为项目做出贡献)
安装
如果想要使用idem-azure-auto,可以通过PyPI或源安装。
从PyPI安装
pip install pop-release
从源安装
# clone repo
git clone git@<your-project-path>/idem-azure-auto.git
cd idem-azure-auto
# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
用法
凭证设置
安装后,Azure Idem执行和状态模块将对pop hub可用。为了使用它们,我们需要设置我们的凭证。
创建一个名为 credentials.yaml 的新文件,并填充凭证。默认配置文件将由 idem 自动选择。
idem-azure-auto 有多个认证后端,每个后端都有其独特的参数集。以下示例展示了可以用来定义凭证配置文件的参数。
credentials.yaml
azure:
default:
client_id: "12345678-1234-1234-1234-aaabc1234aaa"
secret: "76543210-4321-4321-4321-bbbb3333aaaa"
subscription_id: "ZzxxxXXXX11xx-aaaaabbbb-k3xxxxxx"
tenant: "bbbbbca-3333-4444-aaaa-cddddddd6666"
下一步是加密凭证文件,并将加密密钥和加密文件路径添加到环境变量中。
加密凭证文件
Idem encrypt credentials.yaml
这将生成一个 credentials.yaml.fernet 文件和一条命令行输出令牌
-AXFSEFSSEjsfdG_lb333kVhCVSCDyOFH4eABCDEFNwI=
将这些添加到您的环境中
export ACCT_KEY="-AXFSEFSSEjsfdG_lb333kVhCVSCDyOFH4eABCDEFNwI="
export ACCT_FILE=$PWD/credentials.yaml.fernet
您现在可以使用 idem-azure-auto 了!!!
状态
Idem 状态用于确保资源处于所需状态。资源的期望状态可以在 sls 文件中指定。在 Idem-azure-auto 中,支持三种状态:存在、不存在、描述
存在状态
存在 状态确保资源处于所需状态。如果资源不存在,运行 存在 将在提供者上创建资源。如果资源存在,运行 存在 将在提供者上更新资源。(只有 Azure REST api 支持的值可以更新。)
不存在状态
不存在 状态确保资源不存在。如果资源存在,运行 不存在 将删除资源。如果资源不存在,运行 不存在 将不执行任何操作。
描述状态
描述 状态列出订阅 ID 中指定资源类型下的所有当前资源。
状态可以通过其在 idem-azure-auto/idem_azure_auto/states 中的相对位置进行访问。例如,在下面的状态 sls yaml 文件中,可以使用 存在 函数创建 Azure 资源组状态。
my_resource_group_state.sls
my-azure-resource-group:
azure.resource_management.resource_groups.present:
- resource_group_name: my-azure-resource-group
- location: eastus
可以使用以下命令执行状态 sls 文件
idem state $PWD/my_resource_group_state.sls
创建 Azure 虚拟网络的示例
my-virtual-network:
azure.network.virtual_networks.present:
- resource_group_name: my-azure-resource-group
- virtual_network_name: my-virtual-network
- location: eastus
- address_space:
- 10.0.0.0/16
sls yaml 文件中的资源参数结构与 Azure REST api 文档中的结构完全相同。URI 参数应以蛇形命名,并在前面加“-”。所有 API 请求体中的参数都应与 Azure REST api 中完全相同。
当前支持的资源状态
资源管理
资源组
策略
策略定义、策略分配
管理组
管理组
订阅
订阅
虚拟网络
虚拟网络、子网、网络接口
计算
虚拟机
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。