Pulumi是一个架构即是代码的开源项目,可在任何云上创建和部署使用容器,无服务器功能,托管服务和基础架构的云软件的最简单方法。
只需用您喜欢的语言编写代码,Pulumi就可以使用基础架构即代码方法自动配置和管理您的AWS,Azure,GoogleCloudPlatform和/或Kuberetes资源。跳过YAML,使用您已经熟悉和喜爱的标准语言功能,如循环,函数,类和包管理。
如下代码可创建三个Web服务器:
letaws=require("@pulumi/aws");letsg=ewaws.ec2.SecurityGroup("web-sg",{igress:[{protocol:"tcp",fromPort:80,toPort:80,cidrBlocks:["0.0.0.0/0"]}],});for(leti=0;i<3;i++){ewaws.ec2.Istace(`web-${i}`,{ami:"ami-7172b611",istaceType:"t2.micro",securityGroups:[sg.ame],userData:`#!/bi/bashecho"Hello,World!">idex.htmlohuppytho-mSimpleHTTPServer80&`,});}或者一个简单的无服务器定时器,在每天早上八点半抓取HackerNews的信息:
costaws=require("@pulumi/aws");costsapshots=ewaws.dyamodb.Table("sapshots",{attributes:[{ame:"id",type:"S",}],hashKey:"id",billigMode:"PAY_PER_REQUEST",});aws.cloudwatch.oSchedule("daily-yc-sapshot","cro(308**?*)",()=>{require("https").get("https://ews.ycombiator.com",res=>{letcotet="";res.setEcodig("utf8");res.o("data",chuk=>cotet+=chuk);res.o("ed",()=>ewaws.sdk.DyamoDB.DocumetCliet().put({TableName:sapshots.ame.get(),Item:{date:Date.ow(),cotet},}).promise());}).ed();});更多的例子请看 pulumi/examples.
该项目包含Pulumi的命令行工具、语言SDK和核心引擎。











评论