我想识别terraform执行环境的公共IP并将其添加到AWS安全组入站,以防止来自其他环境的访问。
目前,我正在手动编辑variables.tf文件中的值。
变量
variable public_ip_address {
default = "xx"
}
Run Code Online (Sandbox Code Playgroud)
我想在本地主机上执行“ curl ifconfig.co”命令,并根据结果自动设置安全组
有办法做这种事情吗?
我可以通过将local-exec的结果放在某个变量中来做到这一点,但是我不知道该怎么做。
感谢您阅读我的问题。
运行terraform并等待需要很长时间.所以我想运行它来排除花费最长时间执行的rds,或者我想只运行ec2资源.有没有办法在terraform中做这样的事情?
我想知道如何使用node.js使用aws s3命令将对象从s3复制到s3,可以按以下方式执行。
s3 cp --recursive s3://xx/yy s3://zz/aa
Run Code Online (Sandbox Code Playgroud)
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#copyObject-property
我指的是上面的链接,但我不知道如何使用node.js
任何的想法?
了解它按照terraform的main.tf中定义的顺序运行是否有意义?
我了解必须描述触发器选项才能定义terraform的顺序。
但是,如果无法将其用作触发选项(如“外部”数据),该如何定义执行顺序?
例如,我想按以下顺序运行。
get_my_public_ip -> ec2 -> db -> test_http_status
Run Code Online (Sandbox Code Playgroud)
main.tf如下
data "external" "get_my_public_ip" {
program = ["sh", "scripts/get_my_public_ip.sh"]
}
module "ec2" {
...
}
module "db" {
...
}
data "external" "test_http_status" {
program = ["sh", "scripts/test_http_status.sh"]
}
Run Code Online (Sandbox Code Playgroud)