pulumi的python sdk
pulumi的Python项目详细描述
See the Get Started guide to quickly get started with Pulumi on your platform and cloud of choice.
pulumi作为代码sdk的基础设施是创建和 部署使用容器、无服务器功能、托管的云软件 任何云上的服务和基础设施。
只要用你喜欢的语言编写代码,pulumi就会自动 提供并管理 AWS, Azure,Google Cloud Platform, 和/或 Kubernetes 资源,使用 infrastructure-as-code 接近。跳过yaml,使用诸如循环之类的标准语言特性, 已经知道的函数、类和包管理 爱。
例如,创建三个Web服务器:
letaws=require("@pulumi/aws");letsg=newaws.ec2.SecurityGroup("web-sg",{ingress:[{protocol:"tcp",fromPort: 80,toPort: 80,cidrBlocks:["0.0.0.0/0"]}],});for(leti=0;i<3;i++){newaws.ec2.Instance(`web-${i}`,{ami:"ami-7172b611",instanceType:"t2.micro",securityGroups:[sg.name],userData:`#!/bin/bash echo "Hello, World!" > index.html nohup python -m SimpleHTTPServer 80 &`,});}
或者一个简单的无服务器计时器,每天在 上午8:30:
constaws=require("@pulumi/aws");constsnapshots=newaws.dynamodb.Table("snapshots",{attributes:[{name:"id",type:"S",}],hashKey:"id",billingMode:"PAY_PER_REQUEST",});aws.cloudwatch.onSchedule("daily-yc-snapshot","cron(30 8 * * ? *)",()=>{require("https").get("https://news.ycombinator.com",res=>{letcontent="";res.setEncoding("utf8");res.on("data",chunk=>content+=chunk);res.on("end",()=>newaws.sdk.DynamoDB.DocumentClient().put({TableName: snapshots.name.get(),Item:{date: Date.now(),content},}).promise());}).end();});
许多例子可以跨越容器、无服务器和 基础设施 pulumi/examples。
Pulumi是Apache2.0许可下的开源软件,支持许多 语言和云,易于扩展。此回购协议包含 pulumicli、语言sdk和核心pulumi引擎,以及 图书馆有自己的回购协议。
欢迎
- Getting Started:快起来跑步。
- Tutorials: 浏览用于创建无服务器容器的端到端工作流 功能,以及其他云服务和基础设施。
- Examples:浏览 跨多种语言、云和场景的有用示例 包括容器、无服务器和基础设施。
- Reference Docs:读 概念文档,以及有关如何配置的详细信息 pulumi将部署到您的aws、azure或google云帐户中, 和/或kubernetes集群。
- Community Slack:加入我们 社区休闲频道。所有的讨论或问题 欢迎。
- Roadmap:检查 未来Pulumi项目的路线图 月。
开始
请参阅Get Started指南 在您的平台和选择的云上快速开始使用pulumi。
否则,以下步骤将演示如何部署第一个 Pulumi程序,使用AWS无服务器lambdas,分钟:
安装:
要安装最新的pulumi版本,请运行以下命令(请参阅完整的 installation instructions用于 其他安装选项):
$ curl -fsSL https://get.pulumi.com/ | sh
创建项目:
安装后,您可以开始使用pulumi new 命令:
$ mkdir pulumi-demo &&cd pulumi-demo $ pulumi new hello-aws-javascript
new命令为所有语言和云提供模板。 不带参数运行它,它会提示您 项目。此命令创建了一个aws无服务器lambda项目 用javascript编写。
部署到云:
运行pulumi up将代码发送到云端:
$ pulumi up
这使得运行代码所需的所有云资源都成为可能。简单地 对项目进行编辑,随后的pulumi ups将计算 部署更改的最小差异。
使用您的程序:
既然已经部署了代码,就可以与之交互了。在 上面的示例中,我们可以卷曲端点:
$ curl $(pulumi stack output url)
访问日志:
如果您使用的是容器或函数,pulumi的统一日志记录 命令将显示所有日志:
$ pulumi logs -f
销毁资源:
完成后,您可以删除 程序:
$ pulumi destroy -y
要了解更多,请前往pulumi.com了解更多 更多信息,包括 tutorials, examples,以及 核心pulumi cli和programming model concepts。
平台
语言
Language | Status | Runtime | |
---|---|---|---|
JavaScript | Stable | Node.js 8+ | |
TypeScript | Stable | Node.js 8+ | |
Python | Stable | Python 3.6+ | |
Go | Preview | Go 1.x |
云
见Supported Clouds 有关受支持的云和基础设施提供商的完整列表。
贡献
请看 CONTRIBUTING.md 有关从来源或贡献 改进。