github.com/peterbale/terraform@v0.9.0-beta2.0.20170315142748-5723acd55547/builtin/providers/circonus/resource_circonus_check_cloudwatch_test.go (about)

     1  package circonus
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/hashicorp/terraform/helper/acctest"
     8  	"github.com/hashicorp/terraform/helper/resource"
     9  )
    10  
    11  func TestAccCirconusCheckCloudWatch_basic(t *testing.T) {
    12  	checkName := fmt.Sprintf("Terraform test: RDS Metrics via CloudWatch - %s", acctest.RandString(5))
    13  
    14  	resource.Test(t, resource.TestCase{
    15  		PreCheck:     func() { testAccPreCheck(t) },
    16  		Providers:    testAccProviders,
    17  		CheckDestroy: testAccCheckDestroyCirconusCheckBundle,
    18  		Steps: []resource.TestStep{
    19  			{
    20  				Config: fmt.Sprintf(testAccCirconusCheckCloudWatchConfigFmt, checkName),
    21  				Check: resource.ComposeTestCheckFunc(
    22  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "active", "true"),
    23  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "collector.#", "1"),
    24  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "collector.2388330941.id", "/broker/1"),
    25  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.#", "1"),
    26  					// resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.api_key", ""),
    27  					// resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.api_secret", ""),
    28  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.dimmensions.%", "1"),
    29  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.dimmensions.DBInstanceIdentifier", "atlas-production"),
    30  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.#", "17"),
    31  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.990896688", "CPUUtilization"),
    32  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.3895259375", "DatabaseConnections"),
    33  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.1328149445", "DiskQueueDepth"),
    34  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.4218650584", "FreeStorageSpace"),
    35  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.1835248983", "FreeableMemory"),
    36  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.2757008135", "MaximumUsedTransactionIDs"),
    37  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.915415866", "NetworkReceiveThroughput"),
    38  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.1852047735", "NetworkTransmitThroughput"),
    39  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.3518416306", "ReadIOPS"),
    40  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.114013313", "ReadLatency"),
    41  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.1284099341", "ReadThroughput"),
    42  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.4205329773", "SwapUsage"),
    43  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.3550163941", "TransactionLogsDiskUsage"),
    44  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.2231806695", "TransactionLogsGeneration"),
    45  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.335777904", "WriteIOPS"),
    46  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.3894876280", "WriteLatency"),
    47  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.metric.1569904650", "WriteThroughput"),
    48  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.namespace", "AWS/RDS"),
    49  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.version", "2010-08-01"),
    50  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "cloudwatch.2270818665.url", "https://monitoring.us-east-1.amazonaws.com"),
    51  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "name", checkName),
    52  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "notes", "Collect all the things exposed"),
    53  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "period", "60s"),
    54  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.#", "17"),
    55  
    56  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.active", "true"),
    57  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.name", "ReadLatency"),
    58  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.tags.#", "4"),
    59  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.tags.1313458811", "app:rds"),
    60  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.tags.1543130091", "lifecycle:unittests"),
    61  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.tags.2964981562", "app:postgresql"),
    62  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.tags.4259413593", "source:cloudwatch"),
    63  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.type", "numeric"),
    64  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.11714944.unit", "seconds"),
    65  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.active", "true"),
    66  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.name", "TransactionLogsGeneration"),
    67  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.tags.#", "4"),
    68  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.tags.1313458811", "app:rds"),
    69  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.tags.1543130091", "lifecycle:unittests"),
    70  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.tags.2964981562", "app:postgresql"),
    71  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.tags.4259413593", "source:cloudwatch"),
    72  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.type", "numeric"),
    73  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1436709022.unit", ""),
    74  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.active", "true"),
    75  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.name", "WriteIOPS"),
    76  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.tags.#", "4"),
    77  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.tags.1313458811", "app:rds"),
    78  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.tags.1543130091", "lifecycle:unittests"),
    79  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.tags.2964981562", "app:postgresql"),
    80  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.tags.4259413593", "source:cloudwatch"),
    81  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.type", "numeric"),
    82  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1444027024.unit", "iops"),
    83  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.active", "true"),
    84  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.name", "FreeStorageSpace"),
    85  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.tags.#", "4"),
    86  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.tags.1313458811", "app:rds"),
    87  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.tags.1543130091", "lifecycle:unittests"),
    88  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.tags.2964981562", "app:postgresql"),
    89  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.tags.4259413593", "source:cloudwatch"),
    90  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.type", "numeric"),
    91  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1604797265.unit", ""),
    92  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.active", "true"),
    93  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.name", "WriteLatency"),
    94  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.tags.#", "4"),
    95  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.tags.1313458811", "app:rds"),
    96  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.tags.1543130091", "lifecycle:unittests"),
    97  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.tags.2964981562", "app:postgresql"),
    98  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.tags.4259413593", "source:cloudwatch"),
    99  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.type", "numeric"),
   100  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1605952596.unit", "seconds"),
   101  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.active", "true"),
   102  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.name", "DatabaseConnections"),
   103  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.tags.#", "4"),
   104  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.tags.1313458811", "app:rds"),
   105  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.tags.1543130091", "lifecycle:unittests"),
   106  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.tags.2964981562", "app:postgresql"),
   107  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.tags.4259413593", "source:cloudwatch"),
   108  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.type", "numeric"),
   109  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.1714840347.unit", "connections"),
   110  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.active", "true"),
   111  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.name", "FreeableMemory"),
   112  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.tags.#", "4"),
   113  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.tags.1313458811", "app:rds"),
   114  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.tags.1543130091", "lifecycle:unittests"),
   115  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.tags.2964981562", "app:postgresql"),
   116  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.tags.4259413593", "source:cloudwatch"),
   117  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.type", "numeric"),
   118  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2132240407.unit", "bytes"),
   119  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.active", "true"),
   120  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.name", "MaximumUsedTransactionIDs"),
   121  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.tags.#", "4"),
   122  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.tags.1313458811", "app:rds"),
   123  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.tags.1543130091", "lifecycle:unittests"),
   124  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.tags.2964981562", "app:postgresql"),
   125  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.tags.4259413593", "source:cloudwatch"),
   126  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.type", "numeric"),
   127  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2395338478.unit", ""),
   128  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.active", "true"),
   129  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.name", "ReadThroughput"),
   130  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.tags.#", "4"),
   131  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.tags.1313458811", "app:rds"),
   132  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.tags.1543130091", "lifecycle:unittests"),
   133  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.tags.2964981562", "app:postgresql"),
   134  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.tags.4259413593", "source:cloudwatch"),
   135  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.type", "numeric"),
   136  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.2968437811.unit", "bytes"),
   137  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.active", "true"),
   138  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.name", "ReadIOPS"),
   139  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.tags.#", "4"),
   140  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.tags.1313458811", "app:rds"),
   141  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.tags.1543130091", "lifecycle:unittests"),
   142  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.tags.2964981562", "app:postgresql"),
   143  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.tags.4259413593", "source:cloudwatch"),
   144  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.type", "numeric"),
   145  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3023676211.unit", "iops"),
   146  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.active", "true"),
   147  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.name", "NetworkReceiveThroughput"),
   148  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.tags.#", "4"),
   149  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.tags.1313458811", "app:rds"),
   150  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.tags.1543130091", "lifecycle:unittests"),
   151  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.tags.2964981562", "app:postgresql"),
   152  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.tags.4259413593", "source:cloudwatch"),
   153  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.type", "numeric"),
   154  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3053289991.unit", "bytes"),
   155  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.active", "true"),
   156  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.name", "TransactionLogsDiskUsage"),
   157  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.tags.#", "4"),
   158  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.tags.1313458811", "app:rds"),
   159  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.tags.1543130091", "lifecycle:unittests"),
   160  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.tags.2964981562", "app:postgresql"),
   161  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.tags.4259413593", "source:cloudwatch"),
   162  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.type", "numeric"),
   163  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3187210440.unit", "bytes"),
   164  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.active", "true"),
   165  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.name", "CPUUtilization"),
   166  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.tags.#", "4"),
   167  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.tags.1313458811", "app:rds"),
   168  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.tags.1543130091", "lifecycle:unittests"),
   169  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.tags.2964981562", "app:postgresql"),
   170  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.tags.4259413593", "source:cloudwatch"),
   171  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.type", "numeric"),
   172  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3202842729.unit", "%"),
   173  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.active", "true"),
   174  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.name", "SwapUsage"),
   175  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.tags.#", "4"),
   176  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.tags.1313458811", "app:rds"),
   177  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.tags.1543130091", "lifecycle:unittests"),
   178  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.tags.2964981562", "app:postgresql"),
   179  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.tags.4259413593", "source:cloudwatch"),
   180  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.type", "numeric"),
   181  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3527192726.unit", "bytes"),
   182  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.active", "true"),
   183  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.name", "NetworkTransmitThroughput"),
   184  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.tags.#", "4"),
   185  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.tags.1313458811", "app:rds"),
   186  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.tags.1543130091", "lifecycle:unittests"),
   187  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.tags.2964981562", "app:postgresql"),
   188  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.tags.4259413593", "source:cloudwatch"),
   189  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.type", "numeric"),
   190  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.3740424181.unit", "bytes"),
   191  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.active", "true"),
   192  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.name", "DiskQueueDepth"),
   193  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.tags.#", "4"),
   194  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.tags.1313458811", "app:rds"),
   195  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.tags.1543130091", "lifecycle:unittests"),
   196  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.tags.2964981562", "app:postgresql"),
   197  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.tags.4259413593", "source:cloudwatch"),
   198  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.type", "numeric"),
   199  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.53704089.unit", ""),
   200  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.active", "true"),
   201  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.name", "WriteThroughput"),
   202  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.tags.#", "4"),
   203  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.tags.1313458811", "app:rds"),
   204  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.tags.1543130091", "lifecycle:unittests"),
   205  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.tags.2964981562", "app:postgresql"),
   206  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.tags.4259413593", "source:cloudwatch"),
   207  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.type", "numeric"),
   208  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "metric.823122139.unit", "bytes"),
   209  
   210  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "tags.#", "4"),
   211  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "tags.2964981562", "app:postgresql"),
   212  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "tags.1313458811", "app:rds"),
   213  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "tags.1543130091", "lifecycle:unittests"),
   214  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "tags.4259413593", "source:cloudwatch"),
   215  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "target", "atlas-production.us-east-1.rds._aws"),
   216  					resource.TestCheckResourceAttr("circonus_check.rds_metrics", "type", "cloudwatch"),
   217  				),
   218  			},
   219  		},
   220  	})
   221  }
   222  
   223  const testAccCirconusCheckCloudWatchConfigFmt = `
   224  variable "cloudwatch_rds_tags" {
   225    type = "list"
   226    default = [
   227      "app:postgresql",
   228      "app:rds",
   229      "lifecycle:unittests",
   230      "source:cloudwatch",
   231    ]
   232  }
   233  
   234  resource "circonus_check" "rds_metrics" {
   235    active = true
   236    name = "%s"
   237    notes = "Collect all the things exposed"
   238    period = "60s"
   239  
   240    collector {
   241      id = "/broker/1"
   242    }
   243  
   244    cloudwatch {
   245      dimmensions = {
   246        DBInstanceIdentifier = "atlas-production",
   247      }
   248  
   249      metric = [
   250        "CPUUtilization",
   251        "DatabaseConnections",
   252        "DiskQueueDepth",
   253        "FreeStorageSpace",
   254        "FreeableMemory",
   255        "MaximumUsedTransactionIDs",
   256        "NetworkReceiveThroughput",
   257        "NetworkTransmitThroughput",
   258        "ReadIOPS",
   259        "ReadLatency",
   260        "ReadThroughput",
   261        "SwapUsage",
   262        "TransactionLogsDiskUsage",
   263        "TransactionLogsGeneration",
   264        "WriteIOPS",
   265        "WriteLatency",
   266        "WriteThroughput",
   267      ]
   268  
   269      namespace = "AWS/RDS"
   270      url = "https://monitoring.us-east-1.amazonaws.com"
   271    }
   272  
   273    metric {
   274      name = "CPUUtilization"
   275      tags = [ "${var.cloudwatch_rds_tags}" ]
   276      type = "numeric"
   277      unit = "%%"
   278    }
   279  
   280    metric {
   281      name = "DatabaseConnections"
   282      tags = [ "${var.cloudwatch_rds_tags}" ]
   283      type = "numeric"
   284      unit = "connections"
   285    }
   286  
   287    metric {
   288      name = "DiskQueueDepth"
   289      tags = [ "${var.cloudwatch_rds_tags}" ]
   290      type = "numeric"
   291    }
   292  
   293    metric {
   294      name = "FreeStorageSpace"
   295      tags = [ "${var.cloudwatch_rds_tags}" ]
   296      type = "numeric"
   297    }
   298  
   299    metric {
   300      name = "FreeableMemory"
   301      tags = [ "${var.cloudwatch_rds_tags}" ]
   302      type = "numeric"
   303      unit = "bytes"
   304    }
   305  
   306    metric {
   307      name = "MaximumUsedTransactionIDs"
   308      tags = [ "${var.cloudwatch_rds_tags}" ]
   309      type = "numeric"
   310    }
   311  
   312    metric {
   313      name = "NetworkReceiveThroughput"
   314      tags = [ "${var.cloudwatch_rds_tags}" ]
   315      type = "numeric"
   316      unit = "bytes"
   317    }
   318  
   319    metric {
   320      name = "NetworkTransmitThroughput"
   321      tags = [ "${var.cloudwatch_rds_tags}" ]
   322      type = "numeric"
   323      unit = "bytes"
   324    }
   325  
   326    metric {
   327      name = "ReadIOPS"
   328      tags = [ "${var.cloudwatch_rds_tags}" ]
   329      type = "numeric"
   330      unit = "iops"
   331    }
   332  
   333    metric {
   334      name = "ReadLatency"
   335      tags = [ "${var.cloudwatch_rds_tags}" ]
   336      type = "numeric"
   337      unit = "seconds"
   338    }
   339  
   340    metric {
   341      name = "ReadThroughput"
   342      tags = [ "${var.cloudwatch_rds_tags}" ]
   343      type = "numeric"
   344      unit = "bytes"
   345    }
   346  
   347    metric {
   348      name = "SwapUsage"
   349      tags = [ "${var.cloudwatch_rds_tags}" ]
   350      type = "numeric"
   351      unit = "bytes"
   352    }
   353  
   354    metric {
   355      name = "TransactionLogsDiskUsage"
   356      tags = [ "${var.cloudwatch_rds_tags}" ]
   357      type = "numeric"
   358      unit = "bytes"
   359    }
   360  
   361    metric {
   362      name = "TransactionLogsGeneration"
   363      tags = [ "${var.cloudwatch_rds_tags}" ]
   364      type = "numeric"
   365    }
   366  
   367    metric {
   368      name = "WriteIOPS"
   369      tags = [ "${var.cloudwatch_rds_tags}" ]
   370      type = "numeric"
   371      unit = "iops"
   372    }
   373  
   374    metric {
   375      name = "WriteLatency"
   376      tags = [ "${var.cloudwatch_rds_tags}" ]
   377      type = "numeric"
   378      unit = "seconds"
   379    }
   380  
   381    metric {
   382      name = "WriteThroughput"
   383      tags = [ "${var.cloudwatch_rds_tags}" ]
   384      type = "numeric"
   385      unit = "bytes"
   386    }
   387  
   388    tags = [ "${var.cloudwatch_rds_tags}" ]
   389  }
   390  `