跳转到主要内容

一组用于高效配置和管理Terraform资源的CDK模块。

项目描述

Azure Terraform CDK Constructs

欢迎使用Azure Terraform CDK Constructs项目!这个库提供了一套全面的L2 Constructs,旨在简化并增强使用Terraform Cloud Development Kit (CDKTF)构建和管理Azure基础设施的体验。

使用L2 Constructs的好处

使用L2 Constructs,您将获得以下好处

  • 抽象:对Azure资源的更高层次抽象使您的基础设施代码更具声明性和易于理解。
  • 可重用性:将常见模式和最佳实践封装在您的基础设施代码中,促进在不同项目和团队之间的重用。
  • 快速开发:使用预构建的Constructs加速您的云开发过程,这些Constructs已经针对常见用例进行了测试,让您能够专注于独特的应用程序逻辑。
  • 直接IDE集成:在集成开发环境(IDE)中直接访问详细文档,简化您的开发工作流程: alt text

快速示例

这是一个快速示例,展示了L2构建的简单性和强大功能。我们将创建一个存储帐户,向其中添加一个容器,然后上传一个blob,所有这些操作只需要几行直观的面向对象代码。

// Create a new instance of a storage account as an object
const sa = new azcdk.azure_storageaccount.Account(stack, "storageaccount", {
  name: "testStorageAccount",
  location: "eastus",
});

// Add a container to the storage account by calling a method on the storage account object
const container = sa.addContainer("testcontainer");

// Add a blob to the container by calling a method on the container object
// The path "../../../test.txt" points to the source file to be uploaded as a blob
container.addBlob("testblob.txt", "../../../test.txt");

入门指南

本指南将指导您使用Azure L2构建在Azure上定义和配置基础设施的过程。

先决条件

请确保您的计算机上已安装Node.js和npm。这些将被用于安装CDK for Terraform和Azure提供者包。

安装

首先,使用npm全局安装CDK for Terraform CLI

npm install -g cdktf-cli

接下来,使用TypeScript模板初始化一个新的CDK for Terraform项目

cdktf init --template="TypeScript" --local

安装CDKTF的AzureRM提供者

npm install @cdktf/provider-azurerm

然后,添加适用于Azure的Microsoft Terraform CDK构建

npm install @micrsoft/terraform-cdk-constructs

示例1:创建存储帐户

现在让我们创建一个简单的Azure存储帐户。以下TypeScript代码片段使用CDKTF定义了存储帐户资源

// Import necessary modules and classes
import * as azcdk from "@microsoft/terraform-cdk-constructs";
import { Construct } from 'constructs';
import { App, TerraformStack } from 'cdktf';
import { AzurermProvider } from "@cdktf/provider-azurerm/lib/provider";

// Define a new Terraform stack
class AzureAppInfra extends TerraformStack {
 constructor(scope: Construct, name: string) {
   super(scope, name);

   // Initialize Azure provider
   new AzurermProvider(this, "azureFeature", { features: {} });

   // Create a new Azure storage account with the specified name and location
   new azcdk.azure_storageaccount.Account(this, "storageaccount", {
     name: "test42348808",
     location: "eastus",
   });
 }
}

// Initialize the CDK app and synthesize Terraform configurations
const app = new App();
new AzureAppInfra(app, 'cdk');
app.synth();

定义好基础设施后,生成Terraform配置文件

cdktf synth

最后,将您的基础设施部署到Azure

cdktf deploy

支持的语言

目前,我们的CDK L2构建支持以下语言

语言 状态
TypeScript 可用
Python 可用
Java 即将推出
C# 可用

请关注更新,我们将努力扩展对其他流行编程语言的支持!

贡献

本项目欢迎贡献和建议。大多数贡献都需要您同意一份贡献者许可协议(CLA),声明您有权并且实际上确实授予我们使用您贡献的权利。有关详情,请访问https://cla.opensource.microsoft.com

当您提交pull request时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,状态检查,评论)。只需遵循机器人提供的说明。您只需在所有使用我们的CLA的仓库中做一次即可。

本项目已采用Microsoft Open Source Code of Conduct。有关更多信息,请参阅Code of Conduct FAQ或联系opencode@microsoft.com以获取任何额外的疑问或评论。

我们欢迎对这个项目的贡献!有关如何开始贡献的文档,请参阅我们的贡献指南

代码空间

要在此代码空间中打开此仓库,请点击下面的按钮

Open in Code Spaces

商标

本项目可能包含项目、产品或服务的商标或徽标。Microsoft商标或徽标的授权使用必须遵守并遵循Microsoft的商标和品牌指南。在修改后的本项目版本中使用Microsoft商标或徽标不得引起混淆或暗示Microsoft的赞助。任何使用第三方商标或徽标的行为均受那些第三方政策的约束。

项目详情


下载文件

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

源分布

microsoft-cdktfconstructs-0.0.3.dev12.tar.gz (1.6 MB 查看哈希值)

上传时间

构建分发

microsoft_cdktfconstructs-0.0.3.dev12-py3-none-any.whl (1.6 MB 查看哈希值)

上传时间 Python 3

由以下支持