Dns 通过terraform将监控连接到ns1记录
我有一个创建ns1记录的地形代码:Dns 通过terraform将监控连接到ns1记录,dns,terraform,Dns,Terraform,我有一个创建ns1记录的地形代码: answers { answer = "MY_FIRST_IP" meta = { up = true georegion = "US-WEST,ASIAPAC" } } answers { answer = "MY_SECOUND_IP" meta = { up = true georegion = &q
answers {
answer = "MY_FIRST_IP"
meta = {
up = true
georegion = "US-WEST,ASIAPAC"
}
}
answers {
answer = "MY_SECOUND_IP"
meta = {
up = true
georegion = "EUROPE"
}
我想在第二个答案中,它将取决于我的监控是否启动,在UI中它看起来是这样的:
它的工作原理和预期的一样,但当我试图用类似的东西在地形中创建它时:
answers {
answer = "MY_FIRST_IP"
meta = {
up = true
georegion = "US-WEST,ASIAPAC"
}
}
answers {
answer = "MY_SECOUND_IP"
meta = {
up = "My Monitoring Name"
georegion = "EUROPE"
}
我得到了这个错误:
Error: found error/s in answer metadata,found type mismatch for meta field 'Up'. expected [bool], got: string
我在文档中搜索了它,但没有发现任何关于此选项的提及
谢谢 以下内容应该适合您:
- 创建数据源:
resource "ns1_datasource" "example" { name = "example" sourcetype = "nsone_monitoring" }
- 创建监视作业:
resource "ns1_monitoringjob" "uswest_monitor" { name = "uswest" active = true regions = ["sjc", "sin", "lga"] job_type = "tcp" frequency = 60 rapid_recheck = true policy = "quorum" config = { ssl = 1 send = "HEAD / HTTP/1.0\r\n\r\n" port = 443 host = "example-elb-uswest.aws.amazon.com" } rules { value = "200 OK" comparison = "contains" key = "output" } }
- 创建数据源:
resource "ns1_datafeed" "uswest_feed" { name = "uswest_feed" source_id = "${ns1_datasource.example.id}" config = { jobid = "${ns1_monitoringjob.uswest_monitor.id}" } }
- 然后,您可以使用以下回答模式创建记录:
answers { answer = "MY_SECOND_IP" meta = { georegion = "EUROPE" up = "{\"feed\":\"${ns1_datafeed.uswest_feed.id}\"}" } }