跳转到主要内容

未提供项目描述

项目描述

Made with pop, a Python implementation of Plugin Oriented Programming Made with idem, a Python implementation of Plugin Oriented Programming Documentation is published with Sphinx on docs.idemproject.io Made with Python

Idem插件,用于管理Azure云资源

关于

idem-azure 帮助使用 idem 管理 Azure。

什么是 POP?

该项目使用 pop 构建,它是 Python 的一个实现,用于实现 插件面向编程 (POP)。POP 试图以新的方式结合计算机历史中的概念和智慧,以解决现代计算问题。

更多信息

什么是 Idem?

该项目使用 idem 构建,idem 是用 Python 编写的幂等、命令式执行的声明式编程语言。该项目扩展了 idem!

更多信息

入门

先决条件

  • Python 3.8+

  • git (如果从源安装,或为项目做贡献)

  • Idem

安装

从 PyPI 安装

您可以从 PyPI、源仓库或本地目录安装 idem-azure

在安装 idem-azure 之前,请确保您位于与您的 pyproject.toml 文件相同的目录中。您还可以通过使用 --directory=DIRECTORY (-C) 选项来指定包含您的 pyproject.toml 文件的目录。

从 PyPI 安装

要从 PyPI 安装 idem-azure,请运行以下命令

poetry add idem-azure

从源安装

您还可以直接从源仓库安装 idem-azure

poetry add git+https://gitlab.com/vmware/idem/idem-azure.git

如果您没有指定分支,Poetry 将使用 master 分支上的最新提交。

从本地目录安装

克隆 idem-zure 仓库。然后运行以下命令从克隆的目录安装

poetry add ~/path/to/idem-azure

使用方法

凭证设置

安装后,Azure Idem 的执行和状态模块将对弹出 hub 可用。为了使用它们,我们需要设置我们的凭证。

创建一个名为 credentials.yaml 的新文件,并用凭证填充它。default 配置文件将被 idem 自动选中。

idem-azure 有多个身份验证后端,每个后端都有自己的唯一参数集。以下示例显示了可以用来定义凭证配置文件的参数。

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"

下一步是加密凭证文件,并将加密密钥和加密文件路径添加到 ENVIRONMENT。

加密凭证文件

Idem encrypt credentials.yaml

这将生成一个 credentials.yaml.fernet 文件和命令行输出令牌

-AXFSEFSSEjsfdG_lb333kVhCVSCDyOFH4eABCDEFNwI=

将这些添加到您的环境中

export ACCT_KEY="-AXFSEFSSEjsfdG_lb333kVhCVSCDyOFH4eABCDEFNwI="
export ACCT_FILE=$PWD/credentials.yaml.fernet

您现在可以使用 idem-azure 了!!!

状态

Idem 状态用于确保资源处于所需状态。资源所需状态可以在 sls 文件中指定。在 Idem-azure 中,支持三种状态:存在不存在描述

存在状态

存在 状态确保资源处于所需状态。如果资源不存在,运行 存在 将在提供者上创建资源。如果资源存在,运行 存在 将更新提供者上的资源。(只能更新 Azure REST api 支持的值。)

不存在状态

不存在 状态确保资源不存在。如果资源存在,运行 不存在 将删除资源。如果资源不存在,运行 不存在 是无操作的。

描述状态

描述 状态列出在凭证配置文件中指定的订阅 ID 下相同资源类型下的所有当前资源。

状态可以通过在 idem-azure/idem_azure/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 中的方式完全相同。

当前支持的资源状态

授权

role_definitions, role_assignments

资源管理

resource_groups

策略

策略定义,策略分配

管理组

管理组

订阅

订阅

网络

防火墙,防火墙策略,网络接口,网络安全组,公共IP地址,路由表,路由,安全规则,子网,虚拟网络

计算

虚拟机,日志分析工作区

存储资源提供者

存储帐户

项目详情


下载文件

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

源分布

idem-azure-2.5.0.tar.gz (137.9 kB 查看散列)

上传时间

构建分布

idem_azure-2.5.0-py3-none-any.whl (230.7 kB 查看散列)

上传时间 Python 3

由以下组织支持: