You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Pulumi代码传递CLI参数?自定义参数使用可行性问询

如何在Pulumi中传递自定义参数

Pulumi CLI本身不支持直接通过-参数名=值的形式传递自定义参数,但可以通过以下几种方式实现类似需求:

1. 使用环境变量

执行命令时直接设置环境变量,代码中读取该变量即可:

  • 命令行:
    EC2_COUNT=15 pulumi up
    
  • 代码示例(Python):
    import os
    ec2_count = int(os.getenv("EC2_COUNT", "1"))  # 1为默认值
    
  • 代码示例(TypeScript):
    const ec2Count = parseInt(process.env.EC2_COUNT || "1", 10);
    

2. 使用Pulumi配置(推荐)

这是最贴合Pulumi设计理念的方式,配置会绑定到当前栈:

  • 先设置配置值:
    pulumi config set ec2-count 15
    
  • 代码示例(Python):
    import pulumi
    config = pulumi.Config()
    ec2_count = config.require_int("ec2-count")
    
  • 代码示例(TypeScript):
    import * as pulumi from "@pulumi/pulumi";
    const config = new pulumi.Config();
    const ec2Count = config.requireNumber("ec2-count");
    

这种方式的优势是配置会持久化在栈中,后续执行无需重复传递,还能为不同栈设置不同参数。

3. 脚本包装命令行参数

如果一定要用pulumi up -ec2_count=15的形式,可以写一个简单的脚本解析参数,再转成环境变量调用Pulumi:

  • Bash脚本示例:
    #!/bin/bash
    EC2_COUNT=1
    ARGS=()
    while [[ $# -gt 0 ]]; do
      case "$1" in
        -ec2_count=*)
          EC2_COUNT="${1#*=}"
          shift
          ;;
        *)
          ARGS+=("$1")
          shift
          ;;
      esac
    done
    export EC2_COUNT
    pulumi up "${ARGS[@]}"
    
  • 执行脚本:
    ./pulumi-up.sh -ec2_count=15
    

代码中依然通过读取环境变量获取参数值。

内容的提问来源于stack exchange,提问作者Tar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 16:05:35