{
  "name": "PutTargets",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudEvents.PutTargets",
    "service": "events"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "definitions": {
      "TargetInput": {
        "additionalProperties": false,
        "properties": {
          "arn": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "arn",
          "id"
        ],
        "type": "object"
      }
    },
    "properties": {
      "eventBusName": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "rule": {
        "type": "string"
      },
      "targets": {
        "items": {
          "$ref": "#/definitions/TargetInput"
        },
        "type": "array"
      }
    },
    "required": [
      "rule",
      "targets"
    ],
    "title": "PutTargetsRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "TargetFailure": {
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          }
        },
        "required": [
          "errorCode",
          "errorMessage",
          "targetId"
        ],
        "type": "object"
      }
    },
    "properties": {
      "failedEntries": {
        "items": {
          "$ref": "#/definitions/TargetFailure"
        },
        "type": "array"
      },
      "failedEntryCount": {
        "format": "uint",
        "minimum": 0.0,
        "type": "integer"
      }
    },
    "required": [
      "failedEntries",
      "failedEntryCount"
    ],
    "title": "TargetMutationResponse",
    "type": "object"
  }
}
