@apistudio/apim-cli
Version:
CLI for API Management Products
1,688 lines (1,687 loc) • 55.2 kB
JavaScript
export default {
"rules": {
"invalid-kind-value-combined": {
"description": "Kind must be one of 'API' | 'Scope' | 'Project' | 'StagedPolicySequence' | 'InvokeAWSLambda' | 'ValidateAPISpecification' | 'CORS' | 'Quota' | 'Plan' | 'Product' | 'URISchemes' | 'properties' | 'Telemetry' | 'Properties' | 'LoadBalancer' | 'SetAuthorization' | 'Invoke' | 'GlobalPolicy' | 'InboundBulkHead' | 'SetMediaType' | 'InboundMessaging' | 'IAM' | 'AuthorizeUser' | 'SetContextVariable' | 'WebMethodsISService' | 'Log' | 'MonitorTraffic' | 'CacheServiceResult' | 'OutboundAlias' | 'OutboundAnonymous' | 'HTTPInvoke' | 'InvokeMessagingExtension' | 'DataMasking' | 'TransformRequest' | 'TransformResponse' | 'Route' | 'MessageConfig' | 'HTTPEndpoint' | 'MockEndpoint' | 'MockResponse' | 'ErrorProcessing' | 'Set' | 'RateLimitDef' | 'RateLimit' | 'Redact' | 'Remove' | 'Transform' | 'DataPowerAssembly' | 'Switch' | 'If' | 'OperationSwitch' | 'Try' | 'IBMCloudLogin' | 'WatsonXAIInvoke' | 'OpenAIInvoke' | 'FreeFlowPolicySequence' | 'Block' | 'TokenMediation' | 'EnforceCircuitBreaker' | 'JavaScript' | 'LuaScript' | 'Cache' | 'Antivirus' | 'SQLInjectionFilter' | 'CountLimit' | 'CountLimitDef' | 'Return' | 'Retry' | 'Throw' | 'HandlebarsTemplate' | 'ExtractIdentity' | 'Authorize' | 'Authenticate' | 'Parse' | 'test' | 'assertion' | 'environment' | 'MCPTool' | 'MCPServerConfig'",
"severity": "error",
"given": "$",
"then": {
"field": "kind",
"function": "schema",
"functionOptions": {
"schema": {
"type": "string",
"enum": [
"API",
"Scope",
"Project",
"StagedPolicySequence",
"InvokeAWSLambda",
"ValidateAPISpecification",
"CORS",
"Quota",
"Plan",
"Product",
"URISchemes",
"properties",
"Telemetry",
"Properties",
"LoadBalancer",
"SetAuthorization",
"Invoke",
"GlobalPolicy",
"InboundBulkHead",
"SetMediaType",
"InboundMessaging",
"IAM",
"AuthorizeUser",
"SetContextVariable",
"WebMethodsISService",
"Log",
"MonitorTraffic",
"CacheServiceResult",
"OutboundAlias",
"OutboundAnonymous",
"HTTPInvoke",
"InvokeMessagingExtension",
"DataMasking",
"TransformRequest",
"TransformResponse",
"Route",
"MessageConfig",
"HTTPEndpoint",
"MockEndpoint",
"MockResponse",
"ErrorProcessing",
"Set",
"RateLimitDef",
"RateLimit",
"Redact",
"Remove",
"Transform",
"DataPowerAssembly",
"Switch",
"If",
"OperationSwitch",
"Try",
"IBMCloudLogin",
"WatsonXAIInvoke",
"OpenAIInvoke",
"FreeFlowPolicySequence",
"Block",
"TokenMediation",
"EnforceCircuitBreaker",
"JavaScript",
"LuaScript",
"Cache",
"Antivirus",
"SQLInjectionFilter",
"CountLimit",
"CountLimitDef",
"Return",
"Retry",
"Throw",
"HandlebarsTemplate",
"ExtractIdentity",
"Authorize",
"Authenticate",
"Parse",
"test",
"assertion",
"environment",
"MCPTool",
"MCPServerConfig"
]
}
}
}
},
"kind-not-exist": {
"description": "Kind does not exist.",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "kind",
"function": "truthy"
}
},
"invalid-kind-value": {
"description": "Kind must be 'Product'",
"severity": "error",
"given": "$",
"then": {
"field": "kind",
"function": "schema",
"functionOptions": {
"schema": {
"type": "string",
"enum": [
"Product"
]
}
}
}
},
"invalid-kind-spl-character": {
"description": "kind should not be having empty or special characters",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "kind",
"function": "pattern",
"functionOptions": {
"match": "^(?![\\s\\W_]+$).+$"
}
}
},
"invalid-api-version": {
"description": "apiVersion must be one of the valid values 'api.ibm.com/v1'",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "apiVersion",
"function": "schema",
"functionOptions": {
"schema": {
"type": "string",
"enum": [
"api.ibm.com/v1"
]
}
}
}
},
"api-version-not-exist": {
"description": "apiVersion does not exist.",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "apiVersion",
"function": "truthy"
}
},
"metadata-not-exist": {
"description": "Metadata does not exist.",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "metadata",
"function": "truthy"
}
},
"metadata-whitelist-check": {
"description": "Metadata should not be having empty or special characters",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "metadata",
"function": "pattern",
"functionOptions": {
"match": "^(?![\\s\\W_]+$).+$"
}
}
},
"metadata-name-not-exist": {
"description": "Metadata name does not exist",
"severity": "error",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "name",
"function": "truthy"
}
},
"metadata-name-whitelist-check": {
"description": "Metadata name should not be having empty or special characters",
"severity": "error",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "name",
"function": "pattern",
"functionOptions": {
"match": "^(?![\\s\\W_]+$).+$"
}
}
},
"metadata-version-not-exist": {
"description": "Metadata version does not exist",
"severity": "error",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "version",
"function": "truthy"
}
},
"metadata-version-whitelist-check": {
"description": "Metadata version should not be having empty or special characters",
"severity": "error",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "version",
"function": "pattern",
"functionOptions": {
"match": "^(?![\\s\\W_]+$).+$"
}
}
},
"metadata-namespace-not-exist": {
"description": "Metadata namespace does not exist",
"severity": "warn",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "namespace",
"function": "truthy"
}
},
"metadata-namespace-whitelist-check": {
"description": "Metadata namespace should not be having empty or special characters",
"severity": "warn",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "namespace",
"function": "pattern",
"functionOptions": {
"match": "^(?![\\s\\W_]+$).+$"
}
}
},
"spec-details-not-exist": {
"description": "Spec details does not exist",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "spec",
"function": "truthy"
}
},
"spec-details-whitelist-check": {
"description": "Spec should not be having empty or special characters",
"severity": "error",
"given": "$",
"resolved": false,
"then": {
"field": "spec",
"function": "pattern",
"functionOptions": {
"match": "^(?![\\s\\W_]+$).+$"
}
}
},
"tags-not-exist": {
"description": "Tag does not exist",
"severity": "warn",
"given": "$.metadata",
"resolved": false,
"then": {
"field": "tags",
"function": "truthy"
}
},
"invalid-tag-type": {
"description": "Invalid Tag Type",
"severity": "error",
"given": "$.metadata.tags",
"resolved": false,
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-metadata-description-type": {
"description": "The description field must be of type string",
"severity": "error",
"given": "$.metadata.description",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-metadata-name-required": {
"description": "The name field is required in the $.metadata",
"severity": "error",
"given": "$.metadata",
"then": {
"field": "name",
"function": "defined"
}
},
"$-metadata-name-type": {
"description": "The name field must be of type string",
"severity": "error",
"given": "$.metadata.name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-metadata-namespace-type": {
"description": "The namespace field must be of type string",
"severity": "error",
"given": "$.metadata.namespace",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-metadata-tags-type": {
"description": "The tags field must be of type array",
"severity": "error",
"given": "$.metadata.tags",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-metadata-tags-items-type": {
"description": "Items in the tags array must be of type string",
"severity": "error",
"given": "$.metadata.tags[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-metadata-type-type": {
"description": "The type field must be of type string",
"severity": "error",
"given": "$.metadata.type",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-metadata-type-enum": {
"description": "The type field must be one of: REST, SWAGGER, SOAP, GRAPHQL, ODATA",
"severity": "error",
"given": "$.metadata.type",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"enum": [
"REST",
"SWAGGER",
"SOAP",
"GRAPHQL",
"ODATA"
]
}
}
}
},
"$-metadata-version-required": {
"description": "The version field is required in the $.metadata",
"severity": "error",
"given": "$.metadata",
"then": {
"field": "version",
"function": "defined"
}
},
"$-metadata-version-type": {
"description": "The version field must be of type string",
"severity": "error",
"given": "$.metadata.version",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-metadata-labels-type": {
"description": "The labels field must be of type object",
"severity": "error",
"given": "$.metadata.labels",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-metadata-labels-gatewayTypes-type": {
"description": "The gatewayTypes field must be of type array",
"severity": "error",
"given": "$.metadata.labels.gatewayTypes",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-metadata-labels-gatewayTypes-items-type": {
"description": "Items in the gatewayTypes array must be of type string",
"severity": "error",
"given": "$.metadata.labels.gatewayTypes[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-type": {
"description": "The info field must be of type object",
"severity": "error",
"given": "$.spec.info",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-info-categories-type": {
"description": "The categories field must be of type array",
"severity": "error",
"given": "$.spec.info.categories",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-info-categories-items-type": {
"description": "Items in the categories array must be of type string",
"severity": "error",
"given": "$.spec.info.categories[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-contact-type": {
"description": "The contact field must be of type object",
"severity": "error",
"given": "$.spec.info.contact",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-info-contact-name-type": {
"description": "The name field must be of type string",
"severity": "error",
"given": "$.spec.info.contact.name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-contact-email-type": {
"description": "The email field must be of type string",
"severity": "error",
"given": "$.spec.info.contact.email",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-contact-url-type": {
"description": "The url field must be of type string",
"severity": "error",
"given": "$.spec.info.contact.url",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-license-type": {
"description": "The license field must be of type object",
"severity": "error",
"given": "$.spec.info.license",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-info-license-name-type": {
"description": "The name field must be of type string",
"severity": "error",
"given": "$.spec.info.license.name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-license-url-type": {
"description": "The url field must be of type string",
"severity": "error",
"given": "$.spec.info.license.url",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-termsOfService-type": {
"description": "The termsOfService field must be of type string",
"severity": "error",
"given": "$.spec.info.termsOfService",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-info-summary-type": {
"description": "The summary field must be of type string",
"severity": "error",
"given": "$.spec.info.summary",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-apis-type": {
"description": "The apis field must be of type array",
"severity": "error",
"given": "$.spec.apis",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-apis-items-type": {
"description": "Items in the apis array must be of type object",
"severity": "error",
"given": "$.spec.apis[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-apis[*]-$ref-type": {
"description": "The $ref field must be of type string",
"severity": "error",
"given": "$.spec.apis[*].$ref",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.apis[*].$ref:string": {
"description": "The $ref field in apis array items must be of type string",
"severity": "error",
"given": "$.spec.apis[*].$ref",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-plans-type": {
"description": "The plans field must be of type array",
"severity": "error",
"given": "$.spec.plans",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-plans-items-type": {
"description": "Items in the plans array must be of type object",
"severity": "error",
"given": "$.spec.plans[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-plans[*]-$ref-type": {
"description": "The $ref field must be of type string",
"severity": "error",
"given": "$.spec.plans[*].$ref",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.plans[*].$ref:string": {
"description": "The $ref field in plans array items must be of type string",
"severity": "error",
"given": "$.spec.plans[*].$ref",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-type": {
"description": "The extensions field must be of type object",
"severity": "error",
"given": "$.spec.extensions",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-portal-config-type": {
"description": "The portal-config field must be of type object",
"severity": "error",
"given": "$.spec.extensions.portal-config",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-portal-config-apiVersion-type": {
"description": "The apiVersion field must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.apiVersion",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-apiVersion-enum": {
"description": "The apiVersion field must be one of: api.ibm.com/v1",
"severity": "error",
"given": "$.spec.extensions.portal-config.apiVersion",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"enum": [
"api.ibm.com/v1"
]
}
}
}
},
"$-spec-extensions-portal-config-spec-type": {
"description": "The spec field must be of type object",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-type": {
"description": "The visibility field must be of type object",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-type": {
"description": "The view field must be of type object",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-type-type": {
"description": "The type field must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.type",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-type-enum": {
"description": "The type field must be one of: authenticated, public, custom",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.type",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"enum": [
"authenticated",
"public",
"custom"
]
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-orgs-type": {
"description": "The orgs field must be of type array",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.orgs",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-orgs-items-type": {
"description": "Items in the orgs array must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.orgs[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-tags-type": {
"description": "The tags field must be of type array",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.tags",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-tags-items-type": {
"description": "Items in the tags array must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.tags[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-view-enabled-type": {
"description": "The enabled field must be of type boolean",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.view.enabled",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "boolean"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-type": {
"description": "The subscribe field must be of type object",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-type-type": {
"description": "The type field must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.type",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-type-enum": {
"description": "The type field must be one of: authenticated, custom",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.type",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"enum": [
"authenticated",
"custom"
]
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-orgs-type": {
"description": "The orgs field must be of type array",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.orgs",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-orgs-items-type": {
"description": "Items in the orgs array must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.orgs[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-tags-type": {
"description": "The tags field must be of type array",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.tags",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-tags-items-type": {
"description": "Items in the tags array must be of type string",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.tags[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-portal-config-spec-visibility-subscribe-enabled-type": {
"description": "The enabled field must be of type boolean",
"severity": "error",
"given": "$.spec.extensions.portal-config.spec.visibility.subscribe.enabled",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "boolean"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-type": {
"description": "The dp-nano-gateway field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-apiVersion-type": {
"description": "The apiVersion field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.apiVersion",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-apiVersion-enum": {
"description": "The apiVersion field must be one of: api.ibm.com/v1",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.apiVersion",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"enum": [
"api.ibm.com/v1"
]
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-type": {
"description": "The spec field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-properties-type": {
"description": "The properties field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.properties",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env-type": {
"description": "The env field must be of type array",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env-items-type": {
"description": "Items in the env array must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-name-type": {
"description": "The name field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-value-type": {
"description": "The value field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].value",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-type": {
"description": "The valueFrom field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-configMapKeyRef-type": {
"description": "The configMapKeyRef field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.configMapKeyRef",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-configMapKeyRef-name-type": {
"description": "The name field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.configMapKeyRef.name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-configMapKeyRef-key-type": {
"description": "The key field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.configMapKeyRef.key",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-secretKeyRef-type": {
"description": "The secretKeyRef field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.secretKeyRef",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-secretKeyRef-name-type": {
"description": "The name field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.secretKeyRef.name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-secretKeyRef-key-type": {
"description": "The key field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.secretKeyRef.key",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-fieldRef-type": {
"description": "The fieldRef field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.fieldRef",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-fieldRef-fieldPath-type": {
"description": "The fieldPath field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.fieldRef.fieldPath",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-resourceFieldRef-type": {
"description": "The resourceFieldRef field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.resourceFieldRef",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-env[*]-valueFrom-resourceFieldRef-resource-type": {
"description": "The resource field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom.resourceFieldRef.resource",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.extensions.dp-nano-gateway.spec.env[*].name:string": {
"description": "The name field in env array items must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].name",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.extensions.dp-nano-gateway.spec.env[*].value:string": {
"description": "The value field in env array items must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].value",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom:object": {
"description": "The valueFrom field in env array items must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.env[*].valueFrom",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-hostAliases-type": {
"description": "The hostAliases field must be of type array",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-hostAliases-items-type": {
"description": "Items in the hostAliases array must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-hostAliases[*]-ip-type": {
"description": "The ip field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].ip",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-hostAliases[*]-hostnames-type": {
"description": "The hostnames field must be of type array",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].hostnames",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-hostAliases[*]-hostnames-items-type": {
"description": "Items in the hostnames array must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].hostnames[*]",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].ip:string": {
"description": "The ip field in hostAliases array items must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].ip",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"type:$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].hostnames:array": {
"description": "The hostnames field in hostAliases array items must be of type array",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.hostAliases[*].hostnames",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "array"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-logLevel-type": {
"description": "The logLevel field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.logLevel",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-logLevel-all-type": {
"description": "The all field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.logLevel.all",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-logLevel-all-enum": {
"description": "The all field must be one of: trace, debug, info, warn, error, off",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.logLevel.all",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"enum": [
"trace",
"debug",
"info",
"warn",
"error",
"off"
]
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-type": {
"description": "The quotaService field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-type": {
"description": "The cache field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-capacity-type": {
"description": "The capacity field must be of type integer",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache.capacity",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "integer"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-maxAgeMilliseconds-type": {
"description": "The maxAgeMilliseconds field must be of type integer",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache.maxAgeMilliseconds",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "integer"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-maxPercent-type": {
"description": "The maxPercent field must be of type integer",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache.maxPercent",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "integer"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-fallback-type": {
"description": "The fallback field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache.fallback",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-fallback-enabled-type": {
"description": "The enabled field must be of type boolean",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache.fallback.enabled",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "boolean"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-cache-fallback-no-additional-properties": {
"description": "The fallback object should only contain the defined properties: enabled",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.cache.fallback",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"additionalProperties": false,
"properties": {
"enabled": {}
}
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-responseHeaders-type": {
"description": "The responseHeaders field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.responseHeaders",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-quotaService-updateInterval-type": {
"description": "The updateInterval field must be of type integer",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.quotaService.updateInterval",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "integer"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-replicas-type": {
"description": "The replicas field must be of type integer",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.replicas",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "integer"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-resources-type": {
"description": "The resources field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.resources",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-resources-limits-type": {
"description": "The limits field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.resources.limits",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-resources-limits-cpu-type": {
"description": "The cpu field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.resources.limits.cpu",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-resources-limits-memory-type": {
"description": "The memory field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.resources.limits.memory",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-resources-requests-type": {
"description": "The requests field must be of type object",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.resources.requests",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "object"
}
}
}
},
"$-spec-extensions-dp-nano-gateway-spec-resources-requests-cpu-type": {
"description": "The cpu field must be of type string",
"severity": "error",
"given": "$.spec.extensions.dp-nano-gateway.spec.resources.requests.cpu",
"then": {
"function": "schema",
"functionOptions": {
"schema": {
"type": "string"
}
}
}