我正在尝试为MySQL RDS实例创建Route53条目,但是:3306从Terraform返回的RDS端点末尾有问题.
resource "aws_db_instance" "mydb" {
allocated_storage = 10
engine = "mysql"
engine_version = "5.6.17"
instance_class = "db.t2.micro"
name = "mydb"
username = "foo"
password = "bar"
db_subnet_group_name = "my_database_subnet_group"
parameter_group_name = "default.mysql5.6"
}
resource "aws_route53_record" "database" {
zone_id = "${aws_route53_zone.primary.zone_id}"
name = "database.example.com"
type = "CNAME"
ttl = "300"
records = ["${aws_db_instance.default.endpoint}"]
}
Run Code Online (Sandbox Code Playgroud)
Terraform将a :3306放在端点的末尾,并将其输入到CNAME的Route53值.
当我尝试database.example.com使用MySQL客户端连接到CNAME时,我得到:
ERROR 2005 (HY000): Unknown MySQL server host 'database.example.com' (0)
Run Code Online (Sandbox Code Playgroud)
一旦我通过AWS route53控制台删除:3306它似乎工作得很好.
问题是:如何:3306从Terraform RDS端点剥离
我希望能够根据本地目录中的文件列表进行校验和。然后能够获取这些文件校验和并将其与远程系统上相同文件的校验和进行比较。
我知道我可以通过以下方式获得
# Local File
- stat:
path: "{{ playbook_dir }}/roles/common/files/myfile.dat"
checksum_algorithm: sha1
delegate_to: localhost
run_once: true
register: localsha_result
# Remote file
- stat:
path: "{{ rmt_dest_dir }}/myfile.dat"
checksum_algorithm: sha1
register: sha_result
Run Code Online (Sandbox Code Playgroud)
我试图遍历我想要校验和的文件:
# Gather Files
- name: gather names of files
local_action: shell ls {{ playbook_dir }}/roles/common/files/*.dat | awk -F '/' '{ print $NF }'
register: datfiles
# Local File
- stat:
path: "{{ playbook_dir }}/roles/common/files/{{ item }}"
checksum_algorithm: sha1
with_items: "{{ datfiles.stdout_lines }}"
delegate_to: localhost
run_once: true
register: …Run Code Online (Sandbox Code Playgroud)