Pulumi Do: Direct Resource Operations for Any Cloud

cnunciato1 pts0 comments

Introducing pulumi do: Direct Resource Operations for Any Cloud | Pulumi BlogSkip to main content<br>It&rsquo;s launch week! The agentic infrastructure era is here, and we&rsquo;ve got some new things to share.<br>Read the blog

25.2K<br>Contact us<br>Sign in<br>Dashboard<br>Get started<br>25.2K<br>Contact us<br>Sign in<br>Dashboard<br>Get started

Navigation

25.2K<br>Contact us<br>Sign in<br>Dashboard<br>Get started<br>Toggle Blog Navigation<br>Pulumi Blog

Program the Cloud<br>Create, deploy, and manage cloud infrastructure using your favorite language.<br>Get started &rarr;

Recent Posts<br>Introducing pulumi do: Direct Resource Operations for Any Cloud<br>Bringing Neo to GitHub and Slack<br>Neo Automations: Scheduled Tasks Shipped as Pull Requests<br>Seven Rules for Building an AI-Native Software Factory<br>Neo, Now in the Terminal<br>Neo Integrations: MCP Servers and Cloud CLIs<br>Ten More Things You Can Do With Pulumi Neo<br>Better CLI Interactions for Agents and Humans<br>The Agentic Infrastructure Era<br>How Building AI Agents Has Changed in 2026

pulumi-releases<br>features<br>aws<br>kubernetes<br>ai<br>platform-engineering<br>azure<br>serverless<br>esc<br>infrastructure-as-code<br>secrets<br>security<br>cloud-engineering<br>pulumi-news<br>policy-as-code<br>continuous-delivery<br>containers<br>devops<br>typescript<br>iac<br>python<br>pulumi-cloud<br>automation-api<br>community<br>eks<br>pulumi-events<br>docker<br>pulumi-neo<br>ai-agents<br>google-cloud<br>terraform<br>insights<br>migration<br>cloud-native<br>guest-post<br>javascript<br>lambda<br>pulumi-service<br>yaml<br>best-practices<br>llm<br>packages<br>All blog tags &rarr;

Introducing pulumi do: Direct Resource Operations for Any Cloud

Fraser Waters

Pat Gavlin

Arun Loganathan

Christian Nunciato<br>Posted on May 22nd, 2026<br>Infrastructure as code is the right model for production systems. State tracking, drift detection, and repeatable deployments all matter when you&rsquo;re managing real workloads.<br>But sometimes, you also need a quick, one-off interaction with the cloud: create a bucket or a database, look up a VPC, delete a stray resource.<br>Today we&rsquo;re introducing pulumi do, a new command for direct resource operations. With pulumi do, you can create, read, update, delete, and query any cloud resource from the terminal with a single command, across thousands of Pulumi-supported providers — no project, code, or state required.<br>The problem: Sometimes IaC is more than you need<br>When you&rsquo;re managing production workloads, IaC is the proven solution. Code lets you declare complex systems, state tracking catches drift before it becomes a problem, dependency graphs sequence changes safely, and policy keeps everything in bounds. That full lifecycle, especially with the backing of a platform like Pulumi Cloud, is exactly what you want to build systems that scale.<br>But when you (or your coding agent) need an ad-hoc Postgres database, the simplest path with IaC still takes several steps: make a directory, create a project, configure your credentials, write the code, preview, deploy. It works, but it&rsquo;s not always necessary for what should be a simple operation. pulumi do collapses all of those steps into one, using the same Pulumi providers, resource model, and ecosystem that powers the core Pulumi platform.<br>Resource creation is also only part of the problem. As Joe laid out in The Agentic Infrastructure Era, the real challenge for AI agents isn&rsquo;t with code or CLI commands, it&rsquo;s with everything else: getting a cloud account, resolving credentials, wiring configuration across multiple services. Agent accounts, also released this week, simplify this by letting an agent provision its own ephemeral Pulumi Cloud account, and Pulumi ESC takes care of consolidating credentials across providers. Together, with pulumi do, agents can now go from zero to deployed infrastructure without requiring a human in the loop — and when that one-off resource needs to grow into a more permanent system, there&rsquo;s a clear graduation path back to full Pulumi IaC.<br>What it looks like<br>As an example, say you wanted to provision an S3 bucket. With the AWS CLI, you&rsquo;d need to assemble an aws s3api create-bucket invocation with the right set of command-line flags, region constraints, a globally unique name, and so on. With pulumi do, it&rsquo;s just this:<br>$ pulumi do aws:s3:Bucket create

That might not look all that different on the surface — but because you&rsquo;re using the Pulumi engine and resource model, you can provide a minimal set of input properties, take advantage of provider-defined defaults, and use Pulumi&rsquo;s auto-naming feature to give the bucket a unique name automatically:<br>$ pulumi do aws:s3:Bucket create

This will create aws:s3/bucket:Bucket with the following inputs:<br>"bucket": "bucket-279ea56",<br>"tagsAll": {}

Please confirm that this is what you'd like to do by typing `yes`:

Answer yes (or just pass --yes), and you&rsquo;re done. To delete the bucket:<br>$ pulumi do aws:s3:Bucket delete bucket-279ea56 --yes

Need to look up an existing resource? Use a provider function:<br>$ pulumi do aws:ec2:getVpc --default

"arn":...

pulumi cloud rsquo bucket resource create

Related Articles