pulumi的python sdk

pulumi的Python项目详细描述


SlackNPM versionPython versionGoDocLicense

See the Get Started guide to quickly get started with Pulumi on your platform and cloud of choice.

pulumi作为代码sdk的基础设施是创建和 部署使用容器、无服务器功能、托管的云软件 任何云上的服务和基础设施。

只要用你喜欢的语言编写代码,pulumi就会自动 提供并管理 AWSAzureGoogle 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,分钟:

  1. 安装

    要安装最新的pulumi版本,请运行以下命令(请参阅完整的 installation instructions用于 其他安装选项):

    $ curl -fsSL https://get.pulumi.com/ | sh
    
  2. 创建项目

    安装后,您可以开始使用pulumi new 命令:

    $ mkdir pulumi-demo &&cd pulumi-demo
    $ pulumi new hello-aws-javascript
    

    new命令为所有语言和云提供模板。 不带参数运行它,它会提示您 项目。此命令创建了一个aws无服务器lambda项目 用javascript编写。

  3. 部署到云

    运行pulumi up将代码发送到云端:

    $ pulumi up
    

    这使得运行代码所需的所有云资源都成为可能。简单地 对项目进行编辑,随后的pulumi ups将计算 部署更改的最小差异。

  4. 使用您的程序

    既然已经部署了代码,就可以与之交互了。在 上面的示例中,我们可以卷曲端点:

    $ curl $(pulumi stack output url)
  5. 访问日志

    如果您使用的是容器或函数,pulumi的统一日志记录 命令将显示所有日志:

    $ pulumi logs -f
    
  6. 销毁资源

    完成后,您可以删除 程序:

    $ pulumi destroy -y
    

要了解更多,请前往pulumi.com了解更多 更多信息,包括 tutorialsexamples,以及 核心pulumi cli和programming model concepts

平台

cli

ArchitectureBuild Status
Linux/macOS x64Linux x64 Build Status
Windows x64Windows x64 Build Status

语言

LanguageStatusRuntime
JavaScriptStableNode.js 8+
TypeScriptStableNode.js 8+
PythonStablePython 3.6+
GoPreviewGo 1.x

Supported Clouds 有关受支持的云和基础设施提供商的完整列表。

贡献

请看 CONTRIBUTING.md 有关从来源或贡献 改进。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
html如何在JavaScript中获取当前Windows用户的名称   用于屏蔽电子邮件的java正则表达式   java Jsoup Android解析   为了避免在运行时缺少Java泛型,将超类型绑定到子类实例   java JTextArea。setText(空);不会释放内存   安卓源Java OutOfMemoryError在构建AOSP 10时出错   java打印到达数组末尾所需的最小跳数序列   使用mvn命令的java Selenium TestNG并行执行   javasocket编程:在关闭服务器之前通知所有客户端   java如何在加载新的安卓片段时显示progressbar?   java从actor系统中删除AKKA actor,并创建另一个具有相同路径名的actor   java我可以用浓缩咖啡做性能测试,还是应该用其他东西?   JavaTreeView(TreeItem)是否可以获取层次结构索引?   带远程服务的java Android应用程序