{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "https://opendev.org/openstack/openstacksdk/raw/branch/master/openstack/config/schema.json",
  "type": "object",
  "properties": {
    "auth_type": {
      "name": "Auth Type",
      "description": "Name of authentication plugin to be used",
      "default": "password",
      "type": "string"
    },
    "disable_vendor_agent": {
      "name": "Disable Vendor Agent Properties",
      "description": "Image properties required to disable vendor agent",
      "type": "object",
      "properties": {}
    },
    "floating_ip_source": {
      "name": "Floating IP Source",
      "description": "Which service provides Floating IPs",
      "enum": [ "neutron", "nova", "None" ],
      "default": "neutron"
    },
    "image_api_use_tasks": {
      "name": "Image Task API",
      "description": "Does the cloud require the Image Task API",
      "default": false,
      "type": "boolean"
    },
    "image_format": {
      "name": "Image Format",
      "description": "Format for uploaded Images",
      "default": "qcow2",
      "type": "string"
    },
    "interface": {
      "name": "API Interface",
      "description": "Which API Interface should connections hit",
      "default": "public",
      "enum": [ "public", "internal", "admin" ]
    },
    "secgroup_source": {
      "name": "Security Group Source",
      "description": "Which service provides security groups",
      "default": "neutron",
      "enum": [ "neutron", "nova", "None" ]
    },
    "baremetal_api_version": {
      "name": "Baremetal API Service Type",
      "description": "Baremetal API Service Type",
      "default": "1",
      "type": "string"
    },
    "block_storage_api_version": {
      "name": "Block Storage API Version",
      "description": "Block Storage API Version",
      "default": "2",
      "type": "string"
    },
    "compute_api_version": {
      "name": "Compute API Version",
      "description": "Compute API Version",
      "default": "2",
      "type": "string"
    },
    "database_api_version": {
      "name": "Database API Version",
      "description": "Database API Version",
      "default": "1.0",
      "type": "string"
    },
    "dns_api_version": {
      "name": "DNS API Version",
      "description": "DNS API Version",
      "default": "2",
      "type": "string"
    },
    "identity_api_version": {
      "name": "Identity API Version",
      "description": "Identity API Version",
      "default": "2",
      "type": "string"
    },
    "image_api_version": {
      "name": "Image API Version",
      "description": "Image API Version",
      "default": "1",
      "type": "string"
    },
    "network_api_version": {
      "name": "Network API Version",
      "description": "Network API Version",
      "default": "2",
      "type": "string"
    },
    "object_store_api_version": {
      "name": "Object Storage API Version",
      "description": "Object Storage API Version",
      "default": "1",
      "type": "string"
    },
    "volume_api_version": {
      "name": "Volume API Version",
      "description": "Volume API Version",
      "default": "2",
      "type": "string"
    },
    "vendor_hook": {
      "name": "Hook for vendor customization",
      "description": "A possibility for a vendor to alter connection object",
      "type": "string"
    }
  },
  "required": [
    "auth_type",
    "disable_vendor_agent",
    "floating_ip_source",
    "image_api_use_tasks",
    "image_format",
    "interface",
    "secgroup_source"
  ]
}
