一组用于高效配置和管理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)中直接访问详细文档,简化您的开发工作流程:
快速示例
这是一个快速示例,展示了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以获取任何额外的疑问或评论。
我们欢迎对这个项目的贡献!有关如何开始贡献的文档,请参阅我们的贡献指南。
代码空间
要在此代码空间中打开此仓库,请点击下面的按钮
商标
本项目可能包含项目、产品或服务的商标或徽标。Microsoft商标或徽标的授权使用必须遵守并遵循Microsoft的商标和品牌指南。在修改后的本项目版本中使用Microsoft商标或徽标不得引起混淆或暗示Microsoft的赞助。任何使用第三方商标或徽标的行为均受那些第三方政策的约束。
项目详情
microsoft-cdktfconstructs-0.0.3.dev12.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c3c604adbccc42f6011bc1a7920f89b271e5b25782c383a0b786be1b4048a64 |
|
MD5 | 4699df25b62941191a4e41cf193d1d3b |
|
BLAKE2b-256 | 9811ad7eac85faa17a5f7b1827e9ddcf2ec1a5f485168686ca521ccb488c9d74 |
microsoft_cdktfconstructs-0.0.3.dev12-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3fe2de593e1564804cecab8e4293f87f5ef0ed9c34c6cf3085966bcc51d21760 |
|
MD5 | 116ea0608f5034893b82c63c8f246bbc |
|
BLAKE2b-256 | 8aa2b5af260b4d8493cf7432eacbf04ae693aba3572c6b57411656ed0a413fa3 |