{
  "terraformType": "cloud_event_rule",
  "service": "events",
  "resourceType": "EventRule",
  "create": "PutRule",
  "read": "DescribeRule",
  "update": "PutRule",
  "delete": "DeleteRule",
  "list": "ListRules",
  "importId": "{event_bus_name}/{name}",
  "identifierAttrs": [
    "name",
    "event_bus_name"
  ],
  "createOnly": [
    "name",
    "event_bus_name"
  ],
  "computed": [
    "id"
  ],
  "sensitive": [],
  "readSpec": {
    "calls": [
      {
        "operation": {
          "kind": "cloudJson",
          "service": "events",
          "operation": "DescribeRule",
          "target": "CloudEvents.DescribeRule"
        },
        "requestBindings": [
          {
            "requestPath": "eventBusName",
            "source": {
              "kind": "physicalId",
              "member": "event_bus_name"
            }
          },
          {
            "requestPath": "name",
            "source": {
              "kind": "physicalId",
              "member": "name"
            }
          }
        ]
      }
    ],
    "resultSelector": null,
    "observedFields": [
      {
        "source": {
          "kind": "response",
          "call": 0,
          "path": "name"
        },
        "modelField": "name",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "response",
          "call": 0,
          "path": "eventBusName"
        },
        "modelField": "eventBusName",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "response",
          "call": 0,
          "path": "eventPattern"
        },
        "modelField": "eventPattern",
        "transform": "jsonToString"
      }
    ],
    "readiness": null,
    "stableComputed": "preserveWhenAbsent",
    "stableComputedFields": [
      "id"
    ]
  },
  "provider": {
    "resourceKind": "event_rule",
    "physicalId": [
      "name",
      "event_bus_name"
    ],
    "exposeRevision": true,
    "attributes": [
      {
        "name": "id",
        "terraformType": "string",
        "required": false,
        "optional": false,
        "computed": true,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      },
      {
        "name": "name",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": true,
        "createOnly": true
      },
      {
        "name": "event_bus_name",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": true,
        "createOnly": true
      },
      {
        "name": "event_pattern",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      }
    ]
  },
  "updateStrategy": {
    "kind": "inPlace",
    "operation": "PutRule"
  }
}
