eslint-plugin-json-schema-validator
Version:
ESLint plugin that validates data using JSON Schema Validator.
1 lines • 10.9 kB
JSON
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://example.com/MTA/mtad.yaml","title":"mtad.yaml v3.3","type":"object","required":["_schema-version","ID","version"],"properties":{"_schema-version":{"type":"string","pattern":"^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$","default":"3.3.0"},"ID":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"version":{"type":"string","pattern":"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\\+[0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+)*)?$"},"description":{"type":"string"},"provider":{"type":"string"},"copyright":{"type":"string"},"parameters":{"type":"object"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"},"hooks":{"$ref":"#/definitions/hooks"},"modules":{"type":"array","items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"type":{"$ref":"#/definitions/module-type"},"description":{"type":"string"},"path":{"type":"string"},"deployed-after":{"type":"array","items":{"type":"string"}},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"$ref":"#/definitions/module-parameters"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"},"hooks":{"$ref":"#/definitions/hooks"},"requires":{"$ref":"#/definitions/module-requires"},"provides":{"$ref":"#/definitions/module-provides"}}}},"resources":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"type":{"$ref":"#/definitions/resource-type"},"active":{"type":"boolean"},"optional":{"type":"boolean"},"description":{"type":"string"},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"$ref":"#/definitions/resource-parameters"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"},"hooks":{"$ref":"#/definitions/hooks"},"requires":{"$ref":"#/definitions/resource-requires"}}}},"module-types":{"type":"array","items":{"type":"object","required":["name","extends"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"extends":{"type":"string"},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"type":"object"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"}}}},"resource-types":{"type":"array","items":{"type":"object","required":["name","extends"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"extends":{"type":"string"},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"type":"object"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"}}}}},"definitions":{"generic-memory":{"type":"string","pattern":"^[1-9][0-9]*(M|MB|G|GB|m|mb|g|gb)$"},"module-type":{"type":"string","anyOf":[{"enum":["application","binary","business-logging","com.sap.application.content","com.sap.html5.application-content","com.sap.portal.site-content","com.sap.xs.hdi","com.sap.xs.hdi-dynamic","custom","dotnet_core","go","java","java.tomcat","java.tomee","javascript.nodejs","nodejs","php","python","ruby","staticfile"]},{"type":"string"}]},"module-parameters":{"type":"object","properties":{"app-name":{"type":"string"},"buildpack":{"type":"string"},"buildpacks":{"$ref":"#/definitions/module-parameters-buildpacks"},"command":{"type":"string"},"create-service-broker":{"type":"boolean"},"dependency-type":{"type":"string","enum":["hard","soft"]},"disk-quota":{"$ref":"#/definitions/generic-memory"},"docker":{"$ref":"#/definitions/module-parameters-docker"},"domain":{"type":"string"},"domains":{"$ref":"#/definitions/module-parameters-domains"},"enable-ssh":{"type":"boolean"},"health-check-type":{"type":"string","enum":["port","process","http"]},"health-check-timeout":{"type":"integer"},"health-check-http-endpoint":{"type":"string","pattern":"^/.+"},"host":{"type":"string"},"hosts":{"$ref":"#/definitions/module-parameters-hosts"},"idle-domain":{"type":"string"},"idle-domains":{"$ref":"#/definitions/module-parameters-domains"},"idle-host":{"type":"string"},"idle-hosts":{"$ref":"#/definitions/module-parameters-hosts"},"instances":{"type":"number","minimum":0},"keep-existing":{"$ref":"#/definitions/module-parameters-keep-existing"},"keep-existing-routes":{"type":"boolean"},"memory":{"$ref":"#/definitions/generic-memory"},"no-route":{"type":"boolean"},"no-start":{"type":"boolean"},"restart-on-env-change":{"$ref":"#/definitions/module-parameters-restart-on-env-change"},"routes":{"$ref":"#/definitions/module-parameters-routes"},"service-broker-name":{"type":"string"},"service-broker-password":{"type":"string"},"service-broker-space-scoped":{"type":"boolean"},"service-broker-url":{"type":"string"},"service-broker-user":{"type":"string"},"stack":{"type":"string"},"tasks":{"$ref":"#/definitions/module-parameters-tasks"},"upload-timeout":{"type":"number","minimum":0}}},"module-parameters-buildpacks":{"type":"array","items":{"type":"string"}},"module-parameters-domains":{"type":"array","items":{"type":"string"}},"module-parameters-hosts":{"type":"array","items":{"type":"string"}},"module-parameters-routes":{"type":"array","items":{"type":"object","required":["route"],"properties":{"route":{"type":"string"}}}},"module-parameters-tasks":{"type":"array","items":{"type":"object","required":["name","command"],"properties":{"name":{"type":"string"},"command":{"type":"string"},"memory":{"$ref":"#/definitions/generic-memory"},"disk-quota":{"$ref":"#/definitions/generic-memory"}}}},"module-parameters-docker":{"type":"object","properties":{"image":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"}}},"module-parameters-keep-existing":{"type":"object","properties":{"env":{"type":"boolean"},"service-bindings":{"type":"boolean"},"routes":{"type":"boolean"}}},"module-parameters-restart-on-env-change":{"type":"array","items":{"properties":{"vcap-application":{"type":"boolean"},"vcap-services":{"type":"boolean"},"user-provided":{"type":"boolean"}}}},"module-requires":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"list":{"type":"string"},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"$ref":"#/definitions/module-requires-parameters"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"}}}},"module-requires-parameters":{"type":"object","properties":{"content-target":{"type":"boolean"}}},"module-provides":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"public":{"type":"boolean"},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"$ref":"#/definitions/module-provides-parameters"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"}}}},"module-provides-parameters":{"type":"object","properties":{"visibility":{"type":"array","items":{"$ref":"#/definitions/resource-configuration-target"}}}},"resource-type":{"type":"string","anyOf":[{"enum":["org.cloudfoundry.managed-service","org.cloudfoundry.existing-service","org.cloudfoundry.existing-service-key","org.cloudfoundry.user-provided-service","configuration"]},{"type":"string"}]},"resource-requires":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"properties":{"type":"object"},"properties-metadata":{"$ref":"#/definitions/properties-metadata"},"parameters":{"type":"object"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"}}}},"resource-parameters":{"type":"object","properties":{"service":{"type":"string","anyOf":[{"enum":["application-logs","auditlog","rabbitmq","autoscaler","portal-services","fs-storage","hana","jobscheduler","xsuaa","connectivity","destination","feature-flags","redis","ml-foundation-services","mongodb","objectstore","postgresql"]},{"type":"string"}]},"service-alternatives":{"type":"array","items":{"type":"string"}},"service-key-name":{"type":"string"},"service-name":{"type":"string"},"service-broker":{"type":"string"},"service-plan":{"type":"string"},"service-tags":{"type":"array","items":{"type":"string"}},"siteId":{"type":"string"},"config":{"type":"object"},"skip-service-updates":{"$ref":"#/definitions/resource-skip-service-updates"},"provider-nid":{"type":"string","enum":["mta"]},"provider-id":{"type":"string"},"version":{"type":"string","pattern":"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\\+[0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+)*)?$"},"target":{"$ref":"#/definitions/resource-configuration-target"}}},"resource-skip-service-updates":{"type":"object","properties":{"parameters":{"type":"boolean"},"plan":{"type":"boolean"},"tags":{"type":"boolean"}}},"resource-configuration-target":{"type":"object","properties":{"org":{"type":"string"},"space":{"type":"string"}}},"properties-metadata":{"type":"object","additionalProperties":{"type":"object","properties":{"overwritable":{"type":"boolean"},"optional":{"type":"boolean"}}}},"hooks":{"type":"array","items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"type":{"type":"string","default":"task","enum":["task"]},"phases":{"type":"array","items":{"type":"string","enum":["application.before-stop.live","application.before-stop.idle","application.after-stop.live","application.after-stop.idle","application.before-unmap-routes","deploy.application.before-stop","blue-green.application.before-stop.idle","blue-green.application.before-stop.live","deploy.application.after-stop","blue-green.application.after-stop.idle","blue-green.application.after-stop.live","deploy.application.before-unmap-routes","blue-green.application.before-unmap-routes.live","blue-green.application.before-unmap-routes.idle","deploy.application.before-start","blue-green.application.before-start.idle","blue-green.application.before-start.live"]}},"parameters":{"$ref":"#/definitions/hooks-parameters"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"},"requires":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_\\-\\.]+$"},"parameters":{"type":"object"},"parameters-metadata":{"$ref":"#/definitions/properties-metadata"}}}}}}},"hooks-parameters":{"type":"object","required":["command"],"properties":{"name":{"type":"string"},"command":{"type":"string"},"memory":{"$ref":"#/definitions/generic-memory"},"disk-quota":{"$ref":"#/definitions/generic-memory"}}}}}