{
  "terraformType": "cloud_metric_alarm",
  "service": "metrics",
  "resourceType": "MetricAlarm",
  "create": "PutMetricAlarm",
  "read": "DescribeAlarms",
  "update": null,
  "delete": "DeleteMetricAlarm",
  "list": "DescribeAlarms",
  "importId": "{alarm_name}",
  "identifierAttrs": [
    "alarm_name"
  ],
  "createOnly": [
    "alarm_name"
  ],
  "computed": [
    "id"
  ],
  "sensitive": [],
  "readSpec": {
    "calls": [
      {
        "operation": {
          "kind": "cloudJson",
          "service": "metrics",
          "operation": "DescribeAlarms",
          "target": "CloudMetrics.DescribeAlarms"
        },
        "requestBindings": [
          {
            "requestPath": "alarmNamePrefix",
            "source": {
              "kind": "physicalId",
              "member": "alarm_name"
            }
          }
        ]
      }
    ],
    "resultSelector": {
      "kind": "list",
      "path": "metricAlarms",
      "match_path": "alarmName",
      "physical_id_member": "alarm_name"
    },
    "observedFields": [
      {
        "source": {
          "kind": "selected",
          "path": "alarmName"
        },
        "modelField": "alarmName",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "selected",
          "path": "namespace"
        },
        "modelField": "namespace",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "selected",
          "path": "metricName"
        },
        "modelField": "metricName",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "selected",
          "path": "threshold"
        },
        "modelField": "threshold",
        "transform": "identity"
      }
    ],
    "readiness": null,
    "stableComputed": "preserveWhenAbsent",
    "stableComputedFields": [
      "id"
    ]
  },
  "provider": {
    "resourceKind": "metric_alarm",
    "physicalId": [
      "alarm_name"
    ],
    "exposeRevision": true,
    "attributes": [
      {
        "name": "id",
        "terraformType": "string",
        "required": false,
        "optional": false,
        "computed": true,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      },
      {
        "name": "alarm_name",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": true,
        "createOnly": true
      },
      {
        "name": "namespace",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      },
      {
        "name": "metric_name",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      },
      {
        "name": "threshold",
        "terraformType": "number",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      }
    ]
  },
  "updateStrategy": {
    "kind": "replace"
  }
}
