summaryrefslogtreecommitdiff
path: root/os_client_config/schema.json
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2015-06-06 09:40:03 -0400
committerMonty Taylor <mordred@inaugust.com>2015-11-03 10:38:17 -0500
commit796bfad22dae30e39f678c38fc9fba4f7f96032b (patch)
tree8a5bbcf5e7fb16a949c48146249fb02e1fcc055c /os_client_config/schema.json
parent48c0668b155232137cbdcf6537caca83cb870630 (diff)
downloados-client-config-796bfad22dae30e39f678c38fc9fba4f7f96032b.tar.gz
Use json for in-tree cloud data
In preparation for sharing the default and vendor data with other projects, potentially even non-python ones, move the data into json format, which is slighly less exciting to read, but has more widespread standard library support. The user-facing config file will still be in yaml format, because that's easier on the eyes and it's expected to be read and edited by humans. Continue to accept yaml everywhere, because an end user may have dropped a yaml config file into a dir somewhere, and that's fine. Change-Id: I269d31e61da433ac20abb39acdde0f9f9fe12837
Diffstat (limited to 'os_client_config/schema.json')
-rw-r--r--os_client_config/schema.json121
1 files changed, 121 insertions, 0 deletions
diff --git a/os_client_config/schema.json b/os_client_config/schema.json
new file mode 100644
index 0000000..dfd1f4a
--- /dev/null
+++ b/os_client_config/schema.json
@@ -0,0 +1,121 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "https://git.openstack.org/cgit/openstack/cloud-data/plain/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"
+ },
+ "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_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"
+ }
+ },
+ "required": [
+ "auth_type",
+ "baremetal_api_version",
+ "compute_api_version",
+ "database_api_version",
+ "disable_vendor_agent",
+ "dns_api_version",
+ "floating_ip_source",
+ "identity_api_version",
+ "image_api_use_tasks",
+ "image_api_version",
+ "image_format",
+ "interface",
+ "network_api_version",
+ "object_api_version",
+ "secgroup_source",
+ "volume_api_version"
+ ]
+}