{
  "name": "RedriveEffect",
  "plane": "control",
  "terraformEligible": false,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudSites.RedriveEffect",
    "service": "sites"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "effectId": {
        "type": "string"
      },
      "expectedRevision": {
        "format": "uint64",
        "minimum": 0.0,
        "type": "integer"
      },
      "siteId": {
        "type": "string"
      }
    },
    "required": [
      "effectId",
      "expectedRevision",
      "siteId"
    ],
    "title": "RedriveEffectRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "AsyncEffectState": {
        "enum": [
          "PENDING",
          "LEASED",
          "APPLIED",
          "TERMINAL_FAILED",
          "BLOCKED_PLATFORM"
        ],
        "type": "string"
      },
      "EdgePropagationStatus": {
        "enum": [
          "COMPLETE",
          "PENDING",
          "FAILED"
        ],
        "type": "string"
      }
    },
    "properties": {
      "commandGeneration": {
        "format": "uint64",
        "minimum": 0.0,
        "type": "integer"
      },
      "detail": {
        "type": [
          "string",
          "null"
        ]
      },
      "edgePropagation": {
        "$ref": "#/definitions/EdgePropagationStatus"
      },
      "effectId": {
        "type": "string"
      },
      "state": {
        "$ref": "#/definitions/AsyncEffectState"
      }
    },
    "required": [
      "commandGeneration",
      "edgePropagation",
      "effectId",
      "state"
    ],
    "title": "AsyncOperationStatus",
    "type": "object"
  }
}
