代码之家  ›  专栏  ›  技术社区  ›  VelNaga

将yaml存储到AWS SSM存储中

  •  0
  • VelNaga  · 技术社区  · 2 年前

    我有下面的YAML文件(下面一节中的示例内容),我想将其存储在AWS-SSM中。YAML中的每个属性都应作为关键字/值对保存在AWS参数存储中。

     doe: "a deer, a female deer"
     ray: "a drop of golden sun"
     pi: 3.14159
     xmas: true
     french-hens: 3
     calling-birds:
       - huey
       - dewey
       - louie
       - fred
     xmas-fifth-day:
       calling-birds: four
       french-hens: 3
       golden-rings: 5
       partridges:
         count: 1
         location: "a pear tree"
       turtle-doves: two
    

    在SSM中,它应该被存储为,

    name=xmas-fifth-day/partridges/count 
    value=1
    
    name=xmas-fifth-day/partridges/location 
    value=a pear tree
    
    etc etc.
    

    有一个图书馆 json2SSM 如果我们有一个用于yaml2SSM的,或者如果我们能够使用AWS-CLI命令来实现它,那就太好了。我们非常感激。

    AWS SSM PUT_PARAMETERS支持 yaml-input 但是YAML的格式与我的不同。如果将YAML转换为另一个是唯一的解决方案,那么我们有什么简单的方法来转换它吗?有任何可以转换格式的python/js/java库吗?

    0 回复  |  直到 2 年前
        1
  •  0
  •   Mehmet Güngören    2 年前

    您可以使用将yaml转换为json yq

    # install on mac 
    brew install yq
    

    yq -o=json ssm-input.yml | json2ssm put-json --json-file /dev/stdin


    • 将yaml转换为json yq -o=json ssm-input.yml
    • json2ssm put-json --json-file /dev/stdin 使用向SSM发送json文件 json2ssm

    它支持 encryption 也 请参阅: https://github.com/b-b3rn4rd/json2ssm/blob/master/cmd/json2ssm/main.go#L25

    已使用加密更新命令:

    yq -o=json ssm-input.yml | json2ssm put-json --json-file /dev/stdin --encrypt


    更新2:

    {
        "Parameters": [
            {
                "Name": "/path/to/base_linux_ami",
                "Type": "String",
                "Value": "ami-aminumber"
            }
        ]
    }
    
    推荐文章