基于terraform的ansible动态库存

terrible的Python项目详细描述


糟糕

https://img.shields.io/pypi/v/terrible.svghttps://img.shields.io/travis/palmertime/terrible.svgDocumentation StatusUpdates

可怕的(从terraform到ansible)从terraform创建动态的ansible库存 国家。

安装

要安装糟糕,请在终端中运行此命令。:

$ pip install terrible

一旦安装了符号链接或shell脚本,就可以添加到ansible 库存目录。

符号链接。:

$ ln -s /path/to/terrible inventory/terrible

简单的shell脚本包装器。:

#!/usr/bin/env bash
terrible "$@"

使用量

Usage: terrible [OPTIONS] <root_dir>

  Terrible extracts Ansible inventory data from Terraform state. The
  <root_dir> is relative to the directory where Ansible is executed but
  defaults to ./terraform in the current directory.

Options:
  --host TEXT  Show varibles for single host
  --list       List all variables
  --nometa     Remove _meta from output
  --pretty     Make json look pretty
  --help       Show this message and exit.

功能

地形资源:

常用参数

这些可以由所有资源指定。uniq配置详细信息如下 记录在下面的特定章节中。

ansible_用户(可选)
Ansible将连接到主机的用户。如果未指定,则默认为根。
ansible_group(可选)
与资源关联的库存组。(添加默认全部组?)
ansible_主机(可选)
Ansible将连接到的主机。vmware默认为第一个接口的ip, network_interface:0但如果可以覆盖到特定的IP。自动气象站 默认为public_ip,配置为private_ip。 (TOdo:为值添加测试和错误条件)

vmware

定义terraformvsphere_virtual_machine资源时,请使用 custom_configuration_parameters阻止设置ansibe参数。

配置示例:

custom_configuration_parameters {
  ansible_group = "api-gateway"
  ansible_user = "ansible"
  ansible_host = "192.168.52.101"
}

美国焊接学会

定义terraform aws-instance资源时,使用标记设置ansible 参数。

ansible\u ssh\u私有密钥文件
用于连接到aws实例的键。价值是通向私人 与定义的AWS实例密钥匹配的密钥。默认值为 key_name + .pem。示例:如果aws实例密钥名是terraform 然后ansible将在当前工作目录中查找terraform.pem

配置示例:

tags {
  Name = "app1-aws"
  ansible_groups = "webapp"
  ansible_user = "ansible"
  ansible_host = "private_ip"
  ansible_ssh_private_key_file = "aws-keys/webapp-terraform.pem"
}

目录布局

默认情况下,在ansible playbook根目录中查找terraform会很糟糕。:

.
├── ansible.cfg
├── inventory
│   ├── group_vars
│   └── terrible
├── playbooks
│   └── site.yml
├── requirements.yml
├── roles
│   └── example_role
└── terraform
    ├── terraform.tf
    ├── terraform.tfstate
    ├── terraform.tfvars
    └── variables.tf

学分

这个包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

这个包受sean-abbott/terraform.py项目的影响很大。

历史记录

0.1.2(2017-08-21)

  • 通气版本测试

0.1.1(2017-08-21)

  • 支持aws_instancevsphere_virtual_machineterraform资源。
  • 提供ansible参数:ansible_user,ansible_host,ansible_ssh_private_key_file
  • 将Terraform资源定义为Ansible组。

0.1.0(2017-08-10)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在wicket中创建元素<a>   java如何将字节/整数转换为十六进制以雕刻文件   javajavafx:为什么不管我传递给'textArea'的是什么类型的'changeListener'都无法编译。getKeyPressedProperty()。addListener`   java自定义Listview性能不佳,Listview项名称从数据库转换   单元测试java。lang.AssertionError:响应内容   java如何使用highchart缩放条形图?   RouterFunction中的java Why谓词字段。DefaultRouterFunction<T extends ServerResponse>类获取DefaultErrorWebExceptionHandler?   java我可以用Map<String,Integer>覆盖Map<Integer,Integer>吗?   java Log4j文件已创建但为空   java无法解析JavaCV中的导入   Sun PKCS11实现的java 64位替代方案   java Hibernate与JDO makeTransient的等价物是什么   java从嵌套的switch语句退出到外部switch语句   java Android保留一个位图作为更改色调、对比度、饱和度等的源   java Mule ESB 3.5创建ws-client时出错   java数组循环将自身乘以1024   java数据库自动更新失败   java递归ConcurrentHashMap。ComputeFabSent()调用永远不会终止。Bug还是“功能”?   java是否为调用方方法中正在处理的异常执行hibernate回滚事务?