跳转到主要内容

未提供项目描述

项目描述

Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

关于

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 中完全相同。

当前支持的资源状态

授权

角色分配

资源管理

资源组

策略

策略定义、策略分配

管理组

管理组

订阅

订阅

虚拟网络

虚拟网络、子网、网络接口

计算

虚拟机

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分布

idem-azure-auto-0.2.6.tar.gz (60.8 kB 查看哈希)

上传时间

构建分布

idem_azure_auto-0.2.6-py3-none-any.whl (109.2 kB 查看哈希)

上传时间 Python 3

由以下支持