{
  "name": "ListRules",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudEvents.ListRules",
    "service": "events"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "eventBusName": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "namePrefix": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "title": "ListRulesRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "RuleDescription": {
        "properties": {
          "arn": {
            "type": "string"
          },
          "eventBusName": {
            "type": "string"
          },
          "eventPattern": true,
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        },
        "required": [
          "arn",
          "eventBusName",
          "eventPattern",
          "name",
          "state"
        ],
        "type": "object"
      }
    },
    "properties": {
      "rules": {
        "items": {
          "$ref": "#/definitions/RuleDescription"
        },
        "type": "array"
      }
    },
    "required": [
      "rules"
    ],
    "title": "ListRulesResponse",
    "type": "object"
  }
}
