Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问许可证需确认审计异常

pulumi-arm-to-pulumipulumi 臂到 pulumi

Agent Skill

pulumi-arm-to-pulumi 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

39,168

周安装

1,629

GitHub Stars

41

下载量

12,672
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pulumi-arm-to-pulumi(pulumi 臂到 pulumi)
来源仓库:https://github.com/pulumi/agent-skills
仓库路径:skills/pulumi-arm-to-pulumi
安装命令:
npx skills add https://github.com/pulumi/agent-skills --skill pulumi-arm-to-pulumi
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/pulumi/agent-skills --skill pulumi-arm-to-pulumi

简介

将 ARM 模板、Bicep 或现有 Azure 资源转换为 Pulumi 基础结构代码。

  • 处理完整的 ARM 模板转换为 Pulumi(TypeScript、Python、Go、C#、Java 或 YAML),并支持参数、变量、循环、条件和嵌套模板
  • 支持azure-native(完整的API覆盖)和azure(经典、简化)提供程序;自动为每个资源选择正确的提供者
  • 通过零差异验证将现有部署的 Azure 资源导入 Pulumi,以确保 pulumi 预览
  • 显示没有不需要的更改
  • 生成正式的迁移报告,其中包含资源映射表、行为差异以及适合拉取请求的分步验证说明

SKILL.md

IMPORTANT: PLAN ADJUSTMENT REQUIRED

If you have already generated a migration plan before loading this skill, you MUST:

  1. Review your existing plan against the workflows and requirements in this skill
  2. Identify any gaps, missing steps, or incorrect assumptions
  3. Update and revise your plan to align with this skill's guidance
  4. Communicate the adjusted plan to the user before proceeding

CRITICAL SUCCESS REQUIREMENTS

The migration output MUST meet all of the following:

  1. Complete Resource Coverage

- Every ARM template resource MUST: - Be represented in the Pulumi program OR - Be explicitly justified in the final report.

  1. Successful Deployment

- The produced Pulumi program must be structurally valid and capable of a successful pulumi preview (assuming proper config).

  1. Zero-Diff Import Validation (if importing existing resources)

- After import, pulumi preview must show: - NO updates - NO replaces - NO creates - NO deletes - Any diffs must be resolved using the Preview Resolution Workflow. See arm-import.md.

  1. Final Migration Report

- Always output a formal migration report suitable for a Pull Request. - Include: - ARM → Pulumi resource mapping - Provider decisions (azure-native vs azure) - Behavioral differences - Missing or manually required steps - Validation instructions

WHEN INFORMATION IS MISSING

If a user-provided ARM template is incomplete, ambiguous, or missing artifacts, ask targeted questions before generating Pulumi code.

If there is ambiguity on how to handle a specific resource property on import, ask targeted questions before altering Pulumi code.

MIGRATION WORKFLOW

Follow this workflow exactly and in this order:

1. INFORMATION GATHERING

1.1 Verify Azure Credentials

Running Azure CLI commands (e.g., az resource list, az resource show). Requires initial login using ESC and az login

  • If the user has already provided an ESC environment, use it.
  • If no ESC environment is specified, ask the user which ESC environment to use before proceeding with Azure CLI commands.

Setting up Azure CLI using ESC:

  • ESC environments can provide Azure credentials through environment variables or Azure CLI configuration
  • Login to Azure using ESC to provide credentials, e.g: pulumi env run {org}/{project}/{environment} -- bash -c 'az login --service-principal -u "$ARM_CLIENT_ID" --tenant "$ARM_TENANT_ID" --federated-token "$ARM_OIDC_TOKEN"'. ESC is not required after establishing the session
  • Verify credentials are working: az account show
  • Confirm subscription: az account list --query "[].{Name:name, SubscriptionId:id, IsDefault:isDefault}" -o table

For detailed ESC information: Load the pulumi-esc skill by calling the tool "Skill" with name = "pulumi-esc"

1.2 Analyze ARM Template Structure

ARM templates do not have the concept of "stacks" like CloudFormation. Read the ARM template JSON file directly:

# View template structure
cat template.json | jq '.resources[] | {type: .type, name: .name}'

# View parameters
cat template.json | jq '.parameters'

# View variables
cat template.json | jq '.variables'

Extract:

  • Resource types and names
  • Parameters and their default values
  • Variables and expressions
  • Dependencies (dependsOn arrays)
  • Nested templates or linked templates
  • Copy loops (iteration constructs)
  • Conditional deployments (condition property)

Documentation: ARM Template Structure

1.3 Build Resource Inventory (if importing existing resources)

If the ARM template has already been deployed and you're importing existing resources:

# List all resources in a resource group
az resource list \
  --resource-group <resource-group-name> \
  --output json

# Get specific resource details
az resource show \
  --ids <resource-id> \
  --output json

# Query specific properties using JMESPath
az resource show \
  --ids <resource-id> \
  --query "{name:name, location:location, properties:properties}" \
  --output json

Documentation: Azure CLI Documentation

2. CODE CONVERSION (ARM → PULUMI)

IMPORTANT: ARM to Pulumi conversion requires manual translation. There is NO automated conversion tool for ARM templates. You are responsible for the complete conversion.

Key Conversion Principles

  1. Provider Strategy: Documentation:

- Default: Use @pulumi/azure-native for full Azure Resource Manager API coverage - Fallback: Use @pulumi/azure (classic provider) when azure-native doesn't support specific features or when you need simplified abstractions - Azure Native Provider - Azure Classic Provider

  1. Language Support:

- TypeScript/JavaScript: Most common, excellent IDE support - Python: Great for data teams and ML workflows - C#: Natural fit for.NET teams - Go: High performance, strong typing - Java: Enterprise Java teams - YAML: Simple declarative approach - Choose based on user preference or existing codebase

  1. Complete Coverage:

- Convert ALL resources in the ARM template - Preserve all conditionals, loops, and dependencies - Maintain parameter and variable logic

Follow conversion patterns in arm-conversion-patterns.md.

arm-conversion-patterns.md provides:

  • Parameters, variables, and outputs mapping
  • Copy loops, conditionals, and dependsOn translation
  • Nested templates → ComponentResource
  • Azure Classic provider examples (VNet, App Service)
  • TypeScript output handling and common pitfalls

3. RESOURCE IMPORT (EXISTING RESOURCES) - OPTIONAL

After conversion, you can optionally import existing resources to be managed by Pulumi. If the user does not request this, suggest it as a follow-up step to conversion.

CRITICAL: When the user requests importing existing Azure resources into Pulumi, see arm-import.md for detailed import procedures and zero-diff validation workflows.

arm-import.md provides:

  • Inline import ID patterns and examples
  • Azure Resource ID format conventions
  • Child resource handling (e.g., WebAppApplicationSettings)
  • Preview Resolution Workflow for achieving zero-diff after import
  • Step-by-step debugging for property conflicts

Key Import Principles

  1. Inline Import Approach:

- Use import resource option with Azure Resource IDs - No separate import tool (unlike pulumi-cdk-importer)

  1. Azure Resource IDs:

- Follow predictable pattern: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - Can be generated by convention or queried via Azure CLI

  1. Zero-Diff Validation:

- Run pulumi preview after import - Resolve all diffs using Preview Resolution Workflow - Goal: NO updates, replaces, creates, or deletes

4. PULUMI CONFIGURATION

Set up stack configuration matching ARM template parameters:

# Set Azure region
pulumi config set azure-native:location eastus --stack dev

# Set application parameters
pulumi config set storageAccountName mystorageaccount --stack dev

# Set secret parameters
pulumi config set --secret adminPassword MyS3cr3tP@ssw0rd --stack dev

5. VALIDATION

After achieving zero diff in preview (if importing), validate the migration:

  1. Review all exports: pulumi stack output
  2. Verify resource relationships: pulumi stack graph
  3. Test application functionality (if applicable)
  4. Document any manual steps required post-migration

WORKING WITH THE USER

If the user asks for help planning or performing an ARM to Pulumi migration, use the information above to guide the user through the conversion and import process.

FOR DETAILED DOCUMENTATION

When the user wants additional information, use the web-fetch tool to get content from the official Pulumi documentation:

Microsoft Azure Documentation:

OUTPUT FORMAT (REQUIRED)

When performing a migration, always produce:

  1. Overview (high-level description)
  2. Migration Plan Summary

- ARM template resources identified - Conversion strategy (language, providers) - Import approach (if applicable)

  1. Pulumi Code Outputs (organized by file)

- Main program file - Component resources (if any) - Configuration instructions

  1. Resource Mapping Table (ARM → Pulumi)

- ARM resource type → Pulumi resource type - ARM resource name → Pulumi logical name - Import ID (if importing)

  1. Preview Resolution Notes (if importing)

- Diffs encountered - Resolution strategy applied - Properties ignored vs. added

  1. Final Migration Report (PR-ready)

- Summary of changes - Testing instructions - Known limitations - Next steps

  1. Configuration Setup

- Required config values - Example pulumi config set commands

Keep code syntactically valid and clearly separated by files.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.13%
按下载量换算4,578

Claude

31.63%
按下载量换算4,008

Cursor

17.6%
按下载量换算2,230

Gemini CLI

9.21%
按下载量换算1,167

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills