@mistio/mist-form
Version:
A Webcomponent that renders a form defined by a JSONSchema & an optional UISchema spec
1,324 lines • 467 kB
JSON
{
"components": {
"callbacks": {},
"examples": {},
"headers": {},
"links": {},
"parameters": {
"atParam": {
"name": "at",
"description": "Limit results by specific datetime. Return resources created before or at, or deleted after or at, given datetime.",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"examples": {
"Return resources created before or deleted after `2021-07-21T17:32:28Z`": {
"value": "2021-07-21T17:32:28Z"
}
}
}
},
"requestBodies": {},
"responses": {},
"schemas": {
"MachineState": {
"type": "string",
"enum": [
"running",
"starting",
"stopping",
"stopped",
"pending",
"suspended",
"terminated",
"error",
"rebooting",
"paused",
"reconfiguring",
"unknown",
"updating",
"migrating",
"normal",
"succeeded",
"failed"
]
},
"SupportedProviders": {
"type": "string",
"enum": [
"amazon",
"azure",
"google",
"alibaba",
"cloudsigma",
"equinix",
"ibm",
"digitalocean",
"linode",
"rackspace",
"maxihost",
"vultr",
"openstack",
"onapp",
"vsphere",
"vexxhost",
"kvm",
"lxd",
"docker",
"kubevirt",
"kubernetes",
"openshift",
"other"
]
},
"ResponseMetadata": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total items matching the query"
},
"returned": {
"type": "integer",
"description": "Number of items in response"
},
"sort": {
"type": "string",
"description": "Sort order of results"
},
"start": {
"type": "integer",
"description": "Index of first response item in total matching items"
}
}
},
"ListCloudsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Cloud"
}
},
"meta": {
"$ref": "#/components/schemas/ResponseMetadata"
}
}
},
"GetCloudResponse": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Cloud"
},
"meta": {
"$ref": "#/components/schemas/ResponseMetadata"
}
}
},
"Cloud": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"provider": {
"$ref": "#/components/schemas/SupportedProviders"
},
"config": {
"type": "object"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
},
"tags": {
"type": "object"
},
"created_by": {
"type": "string"
},
"owned_by": {
"type": "string"
}
}
},
"AddCloudRequest": {
"allOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the cloud to add"
},
"provider": {
"$ref": "#/components/schemas/SupportedProviders"
}
},
"required": [
"name",
"provider"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/AmazonCloudRequest"
},
{
"$ref": "#/components/schemas/AzureCloudRequest"
},
{
"$ref": "#/components/schemas/GoogleCloudRequest"
},
{
"$ref": "#/components/schemas/AlibabaCloudRequest"
},
{
"$ref": "#/components/schemas/CloudSigmaCloudRequest"
},
{
"$ref": "#/components/schemas/EquinixCloudRequest"
},
{
"$ref": "#/components/schemas/IbmCloudRequest"
},
{
"$ref": "#/components/schemas/DigitaloceanCloudRequest"
},
{
"$ref": "#/components/schemas/LinodeCloudRequest"
},
{
"$ref": "#/components/schemas/RackspaceCloudRequest"
},
{
"$ref": "#/components/schemas/MaxihostCloudRequest"
},
{
"$ref": "#/components/schemas/VultrCloudRequest"
},
{
"$ref": "#/components/schemas/OpenstackCloudRequest"
},
{
"$ref": "#/components/schemas/OnappCloudRequest"
},
{
"$ref": "#/components/schemas/VsphereCloudRequest"
},
{
"$ref": "#/components/schemas/KvmCloudRequest"
},
{
"$ref": "#/components/schemas/LxdCloudRequest"
},
{
"$ref": "#/components/schemas/DockerCloudRequest"
},
{
"$ref": "#/components/schemas/KubernetesCloudRequest"
},
{
"$ref": "#/components/schemas/KubevirtCloudRequest"
},
{
"$ref": "#/components/schemas/OpenshiftCloudRequest"
},
{
"$ref": "#/components/schemas/OtherCloudRequest"
}
],
"discriminator": {
"propertyName": "provider",
"mapping": {
"amazon": "#/components/schemas/AmazonCloudRequest",
"azure": "#/components/schemas/AzureCloudRequest",
"google": "#/components/schemas/GoogleCloudRequest",
"cloudsigma": "#/components/schemas/CloudSigmaCloudRequest",
"alibaba": "#/components/schemas/AlibabaCloudRequest",
"equinix": "#/components/schemas/EquinixCloudRequest",
"ibm": "#/components/schemas/IbmCloudRequest",
"linode": "#/components/schemas/LinodeCloudRequest",
"rackspace": "#/components/schemas/RackspaceCloudRequest",
"maxihost": "#/components/schemas/MaxihostCloudRequest",
"vultr": "#/components/schemas/VultrCloudRequest",
"openstack": "#/components/schemas/OpenstackCloudRequest",
"onapp": "#/components/schemas/OnappCloudRequest",
"vsphere": "#/components/schemas/VsphereCloudRequest",
"kvm": "#/components/schemas/KvmCloudRequest",
"lxd": "#/components/schemas/LxdCloudRequest",
"docker": "#/components/schemas/DockerCloudRequest",
"kubernetes": "#/components/schemas/KubernetesCloudRequest",
"kubevirt": "#/components/schemas/KubevirtCloudRequest",
"openshift": "#/components/schemas/OpenshiftCloudRequest",
"other": "#/components/schemas/OtherCloudRequest"
}
}
}
],
"example": {
"name": "my-cloud",
"provider": "google",
"credentials": {
"projectId": "projectId",
"privateKey": "privateKey",
"email": "email"
}
}
},
"EditCloudRequest_anyOf": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Updated name"
}
},
"additionalProperties": false,
"required": [
"name"
]
},
"EditCloudRequest": {
"anyOf": [
{
"$ref": "#/components/schemas/EditCloudRequest_anyOf"
},
{
"allOf": [
{
"type": "object",
"properties": {
"provider": {
"$ref": "#/components/schemas/SupportedProviders"
}
},
"required": [
"provider"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/AmazonCloudRequest"
},
{
"$ref": "#/components/schemas/AzureCloudRequest"
},
{
"$ref": "#/components/schemas/GoogleCloudRequest"
},
{
"$ref": "#/components/schemas/AlibabaCloudRequest"
},
{
"$ref": "#/components/schemas/CloudSigmaCloudRequest"
},
{
"$ref": "#/components/schemas/EquinixCloudRequest"
},
{
"$ref": "#/components/schemas/IbmCloudRequest"
},
{
"$ref": "#/components/schemas/DigitaloceanCloudRequest"
},
{
"$ref": "#/components/schemas/LinodeCloudRequest"
},
{
"$ref": "#/components/schemas/RackspaceCloudRequest"
},
{
"$ref": "#/components/schemas/MaxihostCloudRequest"
},
{
"$ref": "#/components/schemas/VultrCloudRequest"
},
{
"$ref": "#/components/schemas/OpenstackCloudRequest"
},
{
"$ref": "#/components/schemas/OnappCloudRequest"
},
{
"$ref": "#/components/schemas/VsphereCloudRequest"
},
{
"$ref": "#/components/schemas/KvmCloudRequest"
},
{
"$ref": "#/components/schemas/LxdCloudRequest"
},
{
"$ref": "#/components/schemas/DockerCloudRequest"
},
{
"$ref": "#/components/schemas/KubernetesCloudRequest"
},
{
"$ref": "#/components/schemas/KubevirtCloudRequest"
},
{
"$ref": "#/components/schemas/OpenshiftCloudRequest"
},
{
"$ref": "#/components/schemas/OtherCloudRequest"
}
],
"discriminator": {
"propertyName": "provider",
"mapping": {
"amazon": "#/components/schemas/AmazonCloudRequest",
"azure": "#/components/schemas/AzureCloudRequest",
"google": "#/components/schemas/GoogleCloudRequest",
"cloudsigma": "#/components/schemas/CloudSigmaCloudRequest",
"alibaba": "#/components/schemas/AlibabaCloudRequest",
"equinix": "#/components/schemas/EquinixCloudRequest",
"ibm": "#/components/schemas/IbmCloudRequest",
"linode": "#/components/schemas/LinodeCloudRequest",
"rackspace": "#/components/schemas/RackspaceCloudRequest",
"maxihost": "#/components/schemas/MaxihostCloudRequest",
"vultr": "#/components/schemas/VultrCloudRequest",
"openstack": "#/components/schemas/OpenstackCloudRequest",
"onapp": "#/components/schemas/OnappCloudRequest",
"vsphere": "#/components/schemas/VsphereCloudRequest",
"kvm": "#/components/schemas/KvmCloudRequest",
"lxd": "#/components/schemas/LxdCloudRequest",
"docker": "#/components/schemas/DockerCloudRequest",
"kubernetes": "#/components/schemas/KubernetesCloudRequest",
"kubevirt": "#/components/schemas/KubevirtCloudRequest",
"openshift": "#/components/schemas/OpenshiftCloudRequest",
"other": "#/components/schemas/OtherCloudRequest"
}
}
}
]
}
],
"example": {
"name": "my-renamed-cloud"
}
},
"CloudFeatures": {
"type": "object",
"description": "The cloud features that should be enabled",
"properties": {
"compute": {
"type": "boolean",
"default": true,
"description": "Enable compute services"
},
"dns": {
"type": "boolean",
"default": false,
"description": "Enable DNS services"
},
"container": {
"type": "boolean",
"default": false,
"description": "Enable container services"
}
}
},
"AmazonCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"amazon"
]
},
"credentials": {
"$ref": "#/components/schemas/AmazonCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"AmazonCredentials": {
"type": "object",
"properties": {
"apikey": {
"type": "string",
"description": "Your AWS API key"
},
"apisecret": {
"type": "string",
"description": "Your AWS API secret"
},
"region": {
"type": "string",
"description": "Your AWS region"
}
},
"required": [
"apikey",
"apisecret",
"region"
]
},
"AzureCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"azure"
]
},
"credentials": {
"$ref": "#/components/schemas/AzureCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"AzureCredentials": {
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"description": "Your Azure tenant ID"
},
"subscriptionId": {
"type": "string",
"description": "Your Azure subscription ID"
},
"key": {
"type": "string",
"description": "Your Azure key"
},
"secret": {
"type": "string",
"description": "Your Azure secret"
}
},
"required": [
"tenantId",
"subscriptionId",
"key",
"secret"
]
},
"GoogleCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"google"
]
},
"credentials": {
"$ref": "#/components/schemas/GoogleCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"GoogleCredentials": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"description": "The Id of your GCP project"
},
"privateKey": {
"type": "string",
"description": "Your GCP private key"
},
"email": {
"type": "string",
"description": "Your GCP client email"
}
},
"required": [
"projectId",
"privateKey",
"email"
]
},
"AlibabaCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"alibaba"
]
},
"credentials": {
"$ref": "#/components/schemas/AlibabaCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"AlibabaCredentials": {
"type": "object",
"properties": {
"apikey": {
"type": "string",
"description": "Your Alibaba Cloud API key"
},
"apisecret": {
"type": "string",
"description": "Your Alibaba Cloud API secret"
},
"region": {
"type": "string",
"description": "Your Alibaba Cloud region"
}
},
"required": [
"apikey",
"apisecret",
"region"
]
},
"CloudSigmaCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"cloudsigma"
]
},
"credentials": {
"$ref": "#/components/schemas/CloudSigmaCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"CloudSigmaCredentials": {
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Your CloudSigma username"
},
"password": {
"type": "string",
"description": "Your CloudSigma password"
},
"region": {
"type": "string",
"description": "Your CloudSigma region"
}
},
"required": [
"username",
"password",
"region"
]
},
"EquinixCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"equinix"
]
},
"credentials": {
"$ref": "#/components/schemas/EquinixCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"EquinixCredentials": {
"type": "object",
"properties": {
"apikey": {
"type": "string",
"description": "Your Equinix Metal API key"
}
},
"additionalProperties": false,
"required": [
"apikey"
]
},
"IbmCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"ibm"
]
},
"credentials": {
"$ref": "#/components/schemas/IbmCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"IbmCredentials": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"ibm"
]
},
"username": {
"type": "string",
"description": "Your IBM Cloud username"
},
"apikey": {
"type": "string",
"description": "Your IBM Cloud API key"
}
},
"required": [
"apikey"
]
},
"DigitaloceanCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"digitalocean"
]
},
"credentials": {
"$ref": "#/components/schemas/DigitaloceanCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"DigitaloceanCredentials": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Your DigitalOcean API token"
}
},
"required": [
"token"
]
},
"LinodeCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"linode"
]
},
"credentials": {
"$ref": "#/components/schemas/LinodeCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"LinodeCredentials": {
"type": "object",
"properties": {
"apikey": {
"type": "string",
"description": "You Linode API key"
}
},
"required": [
"apikey"
]
},
"RackspaceCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"rackspace"
]
},
"credentials": {
"$ref": "#/components/schemas/RackspaceCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"RackspaceCredentials": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"rackspace"
]
},
"username": {
"type": "string",
"description": "Your Rackspace Cloud username"
},
"apikey": {
"type": "string",
"description": "Your Rackspace Cloud API key"
},
"region": {
"type": "string",
"description": "Your Rackspace Cloud region"
}
},
"required": [
"username",
"apikey",
"region"
]
},
"MaxihostCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"maxihost"
]
},
"credentials": {
"$ref": "#/components/schemas/MaxihostCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"MaxihostCredentials": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Your Maxihost API token"
}
},
"required": [
"token"
]
},
"VultrCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"vultr"
]
},
"credentials": {
"$ref": "#/components/schemas/VultrCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"VultrCredentials": {
"type": "object",
"properties": {
"apikey": {
"type": "string",
"description": "Your Vultr API key"
}
},
"required": [
"apikey"
]
},
"OpenstackCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"openstack"
]
},
"credentials": {
"$ref": "#/components/schemas/OpenstackCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"OpenstackCredentials": {
"type": "object",
"properties": {
"authUrl": {
"type": "string"
},
"user": {
"type": "string"
},
"password": {
"type": "string"
},
"tenant": {
"type": "string"
},
"domain": {
"type": "string"
},
"region": {
"type": "string"
},
"computeEndpoint": {
"type": "string"
}
},
"required": [
"user",
"password",
"authUrl"
]
},
"OnappCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"onapp"
]
},
"credentials": {
"$ref": "#/components/schemas/OnappCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"OnappCredentials": {
"type": "object",
"properties": {
"authUrl": {
"type": "string"
},
"username": {
"type": "string"
},
"apikey": {
"type": "string"
},
"host": {
"type": "string"
},
"verify": {
"type": "boolean"
}
},
"required": [
"username",
"apikey",
"host"
]
},
"VsphereCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"vsphere"
]
},
"credentials": {
"$ref": "#/components/schemas/VsphereCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"VsphereCredentials": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Your vSphere/vCenter host"
},
"username": {
"type": "string",
"description": "Your username"
},
"password": {
"type": "string",
"description": "Your password"
},
"ca_cert_file": {
"type": "string",
"description": "CA certificate"
}
},
"required": [
"host",
"username",
"password"
]
},
"KvmCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"kvm"
]
},
"credentials": {
"$ref": "#/components/schemas/KvmCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"KvmCredentials": {
"type": "object"
},
"LxdCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"lxd"
]
},
"credentials": {
"$ref": "#/components/schemas/LxdCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"LxdCredentials": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Your LXD host"
},
"port": {
"type": "string",
"description": "Your LXD port"
},
"username": {
"type": "string",
"description": "Your LXD username"
},
"password": {
"type": "string",
"description": "Your LXD password"
},
"tlsKey": {
"type": "string",
"description": "Your TLS auth key"
},
"tlsCert": {
"type": "string",
"description": "Your TLS auth certificate"
},
"tlsCaCert": {
"type": "string",
"description": "Your TLS CA certifcate"
},
"showAll": {
"type": "boolean",
"description": "Show all containers, including stopped"
}
},
"required": [
"host",
"port"
]
},
"DockerCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"docker"
]
},
"credentials": {
"$ref": "#/components/schemas/DockerCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"DockerCredentials": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Your Docker host"
},
"port": {
"type": "string",
"description": "Your Docker port"
},
"username": {
"type": "string",
"description": "Your Docker username"
},
"password": {
"type": "string",
"description": "Your Docker password"
},
"tlsKey": {
"type": "string",
"description": "Your TLS auth key"
},
"tlsCert": {
"type": "string",
"description": "Your TLS auth certificate"
},
"tlsCaCert": {
"type": "string",
"description": "Your TLS CA certifcate"
},
"showAll": {
"type": "boolean",
"description": "Show all containers, including stopped"
}
},
"required": [
"host",
"port"
]
},
"KubevirtCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"kubevirt"
]
},
"credentials": {
"$ref": "#/components/schemas/KubernetesCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"KubernetesCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"kubernetes"
]
},
"credentials": {
"$ref": "#/components/schemas/KubernetesCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"OpenshiftCloudRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"openshift"
]
},
"credentials": {
"$ref": "#/components/schemas/OpenshiftCredentials"
},
"features": {
"$ref": "#/components/schemas/CloudFeatures"
}
},
"required": [
"provider",
"credentials"
]
},
"KubernetesCredentials": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Your Kubernetes API host"
},
"port": {
"type": "string",
"description": "Your Kubernetes API port"
},
"username": {
"type": "string",
"description": "Your Kubernetes API username"
},
"password": {
"type": "string",
"description": "Your Kubernetes API password"
},
"token": {
"type": "string",
"description": "Your Kubernetes API bearer token"
},
"tlsKey": {
"type": "string",
"description": "Your TLS auth key"
},
"tlsCert": {
"type": "string",
"description": "Your TLS auth certificate"
},
"tlsCaCert": {
"type": "string",
"description": "Your TLS CA certifcate"
},
"showAll": {
"type": "boolean",
"description": "Show all containers, including stopped"
}
},
"required": [
"host",
"port"
]
},
"OpenshiftCredentials": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Your OpenShift API host"
},
"port": {
"type": "string",
"description": "Your OpenShift API port"
},
"username": {
"type": "string",
"description": "Your OpenShift API username"