1

我正在尝试使用 Troposphere 创建一个 AWS 模板,但我被困在必须将我的 Bash 脚本用作 UserData 的地方。我的主要问题是 Ref 在 Bash 脚本中使用。我将 Bash 脚本作为文件读取并将它们编码为 Base64,如下所示:

UserData= Base64(Join("", [
    open('path to my bashscript', "r")
    .read()
    .splitlines(True)
]))

我的 bash 脚本将 Ref 用作:

#!/bin/bash

set -x

export -f check_instance_service_status

timeout Ref('ValueReferenced') bash -c "check_instance_service_status $ELB_NAME"

我得到的输出是:

"#!/bin/bash\n",
"set -x\n",
"\n",
"  export -f check_instance_service_status\n",
"  timeout Ref('ValueReferenced') bash -c \"check_instance_service_status $ELB_NAME\"\n",
"  RC=$?\n",

但是,我希望将 Ref 转换为与 JSON 兼容的正确格式:

"  timeout \"",
{
   "Ref": "ValueReferenced"
},
4

0 回答 0