aws参数存储的pathy包装
waddle的Python项目详细描述
摇摇晃晃
企鹅api和aws参数存储周围的工具
参数束
允许您访问存储在文件或参数存储区中的机密!
从文件
创建一个名为test.yml的文件来保存您的配置。
它可以包括机密和非机密
meta:kms_key:devregion:us-west-2profile:mycompanyaws.username:aws-user
现在,使用waddle cli为该文件添加一个秘密
waddle -f /path/to/test.yml aws.password
韦德尔会提示你进入秘密。只要你有一个
名为dev的kms密钥,waddle将在
test.yml
。
现在可以访问test.yml配置文件中的配置值 使用以下语法:
fromwaddleimportParamBunchconf=ParamBunch(filename='/path/to/test.yml')AWS_USERNAME=conf.aws.usernameAWS_PASSWORD=conf.get('aws.password','some default value')
但我想使用参数存储<;/呜咽>;
您还可以通过提供 前缀。
fromwaddleimportParamBunchconf=ParamBunch(prefix='/path/to/parameters')# Access /path/to/paramaters/aws/usernameAWS_USERNAME=conf.aws.username
想从文件里把你的秘密交给SSM吗?
在某些情况下,您可能希望将文件保存在本地,但随后将其推送
作为CI/CD的一部分提交给AWS。例如,如果您希望
在开发人员之间共享的机密存储库中,可以加密
使用waddle的配置文件中的秘密。对于应用程序部署,您可以
使用waddle deploy
将这些文件推送到ssm并/或从ssm中删除它们
使用waddle undeploy
。
waddle deploy -f /path/to/params.yml
- 或-
waddle undeploy -f /path/to/params.yml
束
提供pathy语义的类 访问字典中的值。
束——一般用法
例如,
fromwaddleimportBunchvalues={'a':{'b':{'c':True,'d':False,},},}a=Bunch(values)asserta.b.c==Trueasserta.b.d==Falsea.cat.name='mycat'asserta['cat.name']=='mycat'assert'cat.age'ina==Falseasserta.get('cat.age',22)==22asserta.setdefault('cat.age',45)==45
束——env
您可以使用内置的env
函数来使用
字典作为一组默认值
可由环境变量重写。
例如,
importosfromwaddleimportBunchos.environ['FTP_PASSWORD']='password'config={'ftp':{'host':'127.0.0.1','user':'user',}}config=Bunch(config)env=config.env()assertenv('FTP_PASSWORD')=='password'assertenv('FTP_HOST')=='127.0.0.1'