pulumi do: عملیات مستقیم روی منابع ابری بدون کد
خلاصهٔ کاملتر
وقتی فقط میخوای یه bucket بسازی یا یه VPC رو چک کنی، Infrastructure as Code کامل شاید بیش از حد نیاز باشه. باید یه دایرکتوری بسازی، پروژه تعریف کنی، credential تنظیم کنی، کد بنویسی، و بعد deploy کنی. pulumi do این مسیر رو به یه دستور تبدیل میکنه.
دستور جدید pulumi do از همون موتور و مدل resourceهای Pulumi استفاده میکنه، ولی هیچ پروژهای لازم نداره. ساختار دستور سادهست: نوع resource رو با فرمت package:module:type مشخص میکنی و عملیات مورد نظرت رو مینویسی. مثلاً برای ساخت یه S3 bucket:
$ pulumi do aws:s3:Bucket createPulumi خودش یه اسم یونیک میده (auto-naming)، مقادیر پیشفرض پروایدر رو اعمال میکنه، و قبل از انجام کار، ورودیها رو نشون میده تا تأیید کنی.
عملیاتهای پشتیبانیشده شامل create، read، patch، delete، و list میشن. میتونی ورودیها رو از یه فایل YAML یا JSON با آپشن --input-file بدی. برای لوکاپ منابع موجود هم میشه از توابع پروایدر (provider functions) مثل aws:ec2:getVpc استفاده کرد.
یه مزیت مهم این دستور، طراحی یکپارچهشه: ساختار do برای همه پروایدرها — از AWS و Azure گرفته تا Cloudflare، Datadog و Kubernetes — یکیه. خروجی JSON روی stdout و پیامهای progress روی stderr قرار میگیرن، یعنی AI agentها میتونن نتیجه رو بهراحتی parse کنن.
این ابزار بهخصوص برای AI agentها جالبه؛ چون agent میتونه بدون دخالت انسان یه حساب Pulumi Cloud موقت بسازه، credentials رو از طریق Pulumi ESC مدیریت کنه، و با pulumi do زیرساخت deploy کنه. خود Pulumi ESC قراره در آینده مستقیماً داخل pulumi do هم integrate بشه تا credential management چند ابری سادهتر بشه.
در نقشه راه آینده، حالت stateful هم اضافه میشه: state هر resource ذخیره میشه، drift detection فعال میشه، و در نهایت میتونی پروژهات رو به یه Pulumi IaC کامل تبدیل کنی — با کد تولیدشده، dependency graph درست، و اتصال به Pulumi Cloud.
نکات کلیدی:
- pulumi do بدون پروژه، کد، یا state کار میکنه
- از هزاران پروایدر Pulumi با ساختار دستوری یکپارچه پشتیبانی میکنه
- عملیات CRUD کامل روی منابع ابری از ترمینال
- خروجی JSON استاندارد، مناسب برای استفاده توسط AI agentها
- در حال حاضر research preview در Pulumi CLI نسخه 3.242.0 به بعد
- در آینده: یکپارچگی با Pulumi ESC، حالت stateful، و مسیر ارتقا به IaC کامل




