{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/continuous-delivery-foundation/json-schema/continuous-delivery-foundation-spinnaker-plugin-info-schema.json",
  "title": "SpinnakerPluginInfo",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/continuous-delivery-foundation-plugin-info-controller-api-openapi.yml#/components/schemas/SpinnakerPluginInfo",
  "properties": {
    "description": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "projectUrl": {
      "type": "string"
    },
    "provider": {
      "type": "string"
    },
    "releases": {
      "items": {
        "$ref": "#/$defs/SpinnakerPluginRelease"
      },
      "type": "array"
    },
    "repositoryId": {
      "type": "string"
    }
  },
  "required": [
    "releases"
  ],
  "type": "object",
  "$defs": {
    "Headers": {
      "properties": {
        "invokeHeaders": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "readHeaders": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "writeHeaders": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "required": [
        "invokeHeaders",
        "readHeaders",
        "writeHeaders"
      ],
      "type": "object"
    },
    "Http": {
      "properties": {
        "config": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "headers": {
          "$ref": "#/$defs/Headers"
        },
        "queryParams": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "config",
        "headers",
        "queryParams",
        "url"
      ],
      "type": "object"
    },
    "RemoteExtensionConfig": {
      "properties": {
        "config": {
          "additionalProperties": {},
          "type": [
            "object",
            "null"
          ]
        },
        "id": {
          "type": "string"
        },
        "transport": {
          "$ref": "#/$defs/RemoteExtensionTransportConfig"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "transport",
        "type"
      ],
      "type": "object"
    },
    "RemoteExtensionTransportConfig": {
      "properties": {
        "http": {
          "$ref": "#/$defs/Http"
        }
      },
      "required": [
        "http"
      ],
      "type": "object"
    },
    "SpinnakerPluginRelease": {
      "properties": {
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "preferred": {
          "type": "boolean"
        },
        "remoteExtensions": {
          "items": {
            "$ref": "#/$defs/RemoteExtensionConfig"
          },
          "type": "array"
        },
        "requires": {
          "type": "string"
        },
        "sha512sum": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "required": [
        "preferred",
        "remoteExtensions"
      ],
      "type": "object"
    }
  }
}