对LocalStack运行Terraform的轻量级包装脚本
项目描述
tflocal - Terraform与LocalStack
此包提供了tflocal - 一个小的包装脚本,用于在Terraform上针对LocalStack。
先决条件
- Python 3.x
pipterraform
工作原理
该脚本使用Terraform覆盖机制并创建一个临时文件localstack_providers_override.tf来配置AWSprovider部分的端点。所有服务的端点都被配置为指向LocalStack API(默认为https://:4566)。
安装
可以通过pip安装tflocal命令行界面
pip install terraform-local
配置
以下环境变量可以被配置
DRY_RUN:在不调用Terraform的情况下生成覆盖文件TF_CMD:要调用的Terraform命令(默认:terraform)AWS_ENDPOINT_URL:目标LocalStack实例的主机名和端口号LOCALSTACK_HOSTNAME:(已弃用)目标LocalStack实例的主机名EDGE_PORT:(已弃用)目标LocalStack实例的端口号S3_HOSTNAME:用于连接LocalStack S3的特殊主机名(默认:s3.localhost.localstack.cloud)USE_EXEC:是否使用os.exec而不是subprocess.Popen(在I/O问题的情况下尝试使用此选项)<SERVICE>_ENDPOINT:设置自定义服务端点,例如,COGNITO_IDP_ENDPOINT=http://example.comAWS_DEFAULT_REGION:要使用的AWS区域(默认:us-east-1,如果已安装boto3,则根据本地凭据确定)CUSTOMIZE_ACCESS_KEY:启用覆盖静态AWS Access Key ID。以下情况从上到下依次优先级AWS_ACCESS_KEY_ID环境变量已设置access_key已设置在Terraform AWS提供程序中AWS_PROFILE环境变量已设置并配置AWS_DEFAULT_PROFILE环境变量已设置并配置- 默认配置文件中的凭据已配置
- 回退到默认的
AWS_ACCESS_KEY_ID模拟值
AWS_ACCESS_KEY_ID:用于多账户设置的AWS Access Key ID(默认:test-> 账户ID:000000000000)SKIP_ALIASES:允许跳过为指定的别名字段生成AWS提供程序覆盖,例如SKIP_ALIASES=aws_secrets,real_aws
用法
tflocal命令的用法与terraform命令相同。有关详细用法,请参阅terraform --help的man页面。
变更日志
- v0.20.0:修复S3后端选项合并
- v0.19.0:添加
SKIP_ALIASES配置环境变量 - v0.18.2:修复关于别名字端点名称的警告
- v0.18.1:修复未代理命令的问题
- v0.18.0:添加
DRY_RUN并修复S3后端入口点 - v0.17.1:添加
packaging模块以安装要求 - v0.17.0:添加使用新的端点S3后端选项的选项
- v0.16.1:更新Setuptools以排除打包时的测试
- v0.16.0:引入语义版本化和AWS_ENDPOINT_URL变量
- v0.15:更新Terraform AWS提供程序5.22.0的端点覆盖
- v0.14:添加对多账户环境的支持
- v0.13:修复在设置S3_HOSTNAME或LOCALSTACK_HOSTNAME时自动检测S3的
use_s3_path_style - v0.12:修复Terraform AWS提供程序5.9.0的本地端点覆盖;修复解析为值列表的别名和区域定义
- v0.11:对S3后端配置中的布尔值进行小的修复
- v0.10:添加在本地S3后端中存储状态文件的支持
- v0.9:修复对emrserverless提供程序的不受支持的覆盖
- v0.8:配置opensearch服务的端点
- v0.7:添加对提供程序别名的初始支持
- v0.6:修复默认区域的选择
- v0.5:使AWS区域可配置,将
region添加到提供程序配置 - v0.4:修复在S3_HOSTNAME=localhost时使用use_s3_path_style;排除
meteringmarketplace服务端点 - v0.3:修复对-chdir=...的支持以在目标目录中创建提供程序文件
- v0.2:添加指定自定义端点的功能;将INT信号传递给子进程
- v0.1:初始发布
许可证
此软件库根据Apache License,版本2.0发布(见LICENSE)。
项目详情
关闭
terraform_local-0.20.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2f1c7f82d8cbb9f1595b372f3a2892514a6d33b26d1678a004dec31be9614318 |
|
| MD5 | cc5c752770420fa7e7c673d3c481a59a |
|
| BLAKE2b-256 | 3fc8e80071e1de6b2c3f9b069ae78cc2c0bfb0688ee4c2467742891ea254bb11 |