使用其他小部件更新CloudWatch现有仪表板

时间:2019-07-19 06:31:17

标签: terraform amazon-cloudwatch terraform-provider-aws

我有使用Terraform构建的Cloud Watch仪表板。此仪表板有4个小部件。现在,如果我尝试使用相同的Terraform脚本添加第五个小部件。之前的所有4个小部件都将被删除,并且在仪表板上只能看到新的第5个小部件。

谁能建议我如何使用附加小部件更新现有的云监视仪表板,而又不会丢失以前的小部件?

这是代码。每当我添加新的一组实例ID并更新仪表板时。它将删除所有旧的窗口小部件,并使用新的ID(即excel)构建窗口小部件。我希望旧的小发动新的小部件

locals {
  instances = csvdecode(file("${path.module}/sample.csv"))
}

locals {
  alar = csvdecode(file("${path.module}/test.csv"))
}

resource "aws_cloudwatch_dashboard" "main" {
  dashboard_name = "my-dashboard"

  dashboard_body = jsonencode({

   "widgets": [
     for inst in range(length(local.instances)):
         {

          "type":"metric",
          "x":0,
          "y":0,
          "width":12,
          "height":6,

          "properties":{

             "metrics":[

                [
                   "AWS/EC2",
                   "${local.instances[inst].para}",
                   "InstanceId",
                   "${local.instances[inst].instance_id}"
                ]
             ],
             "period":300,
             "stat":"Average",
             "region":"ap-south-1",
             "title":"EC2 Instance CPU-${local.instances[inst].instance_id}",

               }
             }
           ]
         }
        )
      }

0 个答案:

没有答案