Solace Queue Template Meta-Schema
The allowable values in a Solace queue template are controlled by a meta-schema. Review the following meta-schema to understand all of the options available in a Solace queue template.
For more information about creating and updating Solace queue templates, see Creating Solace Queue Templates.
{
"$id": "https://solace.cloud/schemas/solace/msg-vpn-queue-2-41-0.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Solace queue meta-schema",
"type": "object",
"customProperties": {
"booleanProperty": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "boolean" },
"const": { "type": "boolean" },
"default": { "type": "boolean" }
},
"required": ["type"]
},
"integerProperty": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "integer" },
"const": { "type": "integer" },
"default": { "type": "integer" },
"maximum": { "type": "integer" },
"minimum": { "type": "integer" }
},
"required": ["type"]
},
"accessType": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "string" },
"const": {
"enum": ["exclusive", "non-exclusive"],
"type": "string"
},
"default": {
"enum": ["exclusive", "non-exclusive"],
"type": "string"
},
"enum": {
"items": {
"enum": ["exclusive", "non-exclusive"]
},
"type": "array",
"uniqueItems": true
}
},
"required": ["type"]
},
"deadMsgQueue": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "string" },
"const": { "type": "string" },
"default": { "type": "string" },
"minLength": { "type": "integer" },
"maxLength": { "type": "integer" },
"pattern": { "type": "string" },
"placeholder": { "type": "string" }
},
"required": ["type"]
},
"eventThreshold": {
"type": "object",
"oneOf": [{ "$ref": "#/customProperties/eventThresholdByPercent" }, { "$ref": "#/customProperties/eventThresholdByValue" }]
},
"eventThresholdByPercent": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "object" },
"additionalProperties": { "const": false },
"properties": {
"type": "object",
"additionalProperties": false,
"properties": {
"clearPercent": { "$ref": "#/customProperties/eventThresholdPercentProperty" },
"setPercent": { "$ref": "#/customProperties/eventThresholdPercentProperty" }
}
},
"required": {
"type": "array",
"uniqueItems": true,
"allOf": [{ "contains": { "const": "clearPercent" } }, { "contains": { "const": "setPercent" } }],
"items": {
"enum": ["clearPercent", "setPercent"]
}
}
},
"required": ["type", "additionalProperties", "properties", "required"]
},
"eventThresholdByValue": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "object" },
"additionalProperties": { "const": false },
"properties": {
"type": "object",
"additionalProperties": false,
"properties": {
"clearValue": { "$ref": "#/customProperties/eventThresholdValueProperty" },
"setValue": { "$ref": "#/customProperties/eventThresholdValueProperty" }
}
},
"required": {
"type": "array",
"uniqueItems": true,
"allOf": [{ "contains": { "const": "clearValue" } }, { "contains": { "const": "setValue" } }],
"items": {
"enum": ["setValue", "clearValue"]
}
}
},
"required": ["type", "additionalProperties", "properties", "required"]
},
"eventThresholdPercentProperty": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "integer" },
"const": { "type": "integer" },
"default": { "type": "integer" },
"maximum": { "type": "integer", "maximum": 100, "minimum": 0 },
"minimum": { "type": "integer", "maximum": 100, "minimum": 0 }
},
"required": ["type"]
},
"eventThresholdValueProperty": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "integer" },
"const": { "type": "integer" },
"default": { "type": "integer" },
"maximum": { "type": "integer", "minimum": 0 },
"minimum": { "type": "integer", "minimum": 0 }
},
"required": ["type"]
},
"queueName": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "string" },
"minLength": { "type": "integer" },
"maxLength": { "type": "integer" },
"pattern": { "type": "string" },
"placeholder": { "type": "string" }
},
"required": ["type"]
},
"rejectMsgToSenderOnDiscardBehavior": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "const": "string" },
"const": {
"enum": ["never", "when-queue-enabled", "always"],
"type": "string"
},
"default": {
"enum": ["never", "when-queue-enabled", "always"],
"type": "string"
},
"enum": {
"items": {
"enum": ["never", "when-queue-enabled", "always"]
},
"type": "array",
"uniqueItems": true
}
},
"required": ["type"]
}
},
"properties": {
"additionalProperties": { "const": false },
"properties": {
"type": "object",
"additionalProperties": false,
"properties": {
"accessType": { "$ref": "#/customProperties/accessType" },
"consumerAckPropagationEnabled": { "$ref": "#/customProperties/booleanProperty" },
"deadMsgQueue": { "$ref": "#/customProperties/deadMsgQueue" },
"deliveryCountEnabled": { "$ref": "#/customProperties/booleanProperty" },
"deliveryDelay": { "$ref": "#/customProperties/integerProperty" },
"eventBindCountThreshold": { "$ref": "#/customProperties/eventThreshold" },
"eventMsgSpoolUsageThreshold": { "$ref": "#/customProperties/eventThreshold" },
"eventRejectLowPriorityMsgLimitThreshold": { "$ref": "#/customProperties/eventThreshold" },
"maxBindCount": { "$ref": "#/customProperties/integerProperty" },
"maxDeliveredUnackedMsgsPerFlow": { "$ref": "#/customProperties/integerProperty" },
"maxMsgSize": { "$ref": "#/customProperties/integerProperty" },
"maxMsgSpoolUsage": { "$ref": "#/customProperties/integerProperty" },
"maxRedeliveryCount": { "$ref": "#/customProperties/integerProperty" },
"maxTtl": { "$ref": "#/customProperties/integerProperty" },
"partitionCount": { "$ref": "#/customProperties/integerProperty" },
"partitionRebalanceDelay": { "$ref": "#/customProperties/integerProperty" },
"partitionRebalanceMaxHandoffTime": { "$ref": "#/customProperties/integerProperty" },
"queueName": { "$ref": "#/customProperties/queueName" },
"redeliveryDelayEnabled": { "$ref": "#/customProperties/booleanProperty" },
"redeliveryDelayInitialInterval": { "$ref": "#/customProperties/integerProperty" },
"redeliveryDelayMaxInterval": { "$ref": "#/customProperties/integerProperty" },
"redeliveryDelayMultiplier": { "$ref": "#/customProperties/integerProperty" },
"redeliveryEnabled": { "$ref": "#/customProperties/booleanProperty" },
"rejectLowPriorityMsgEnabled": { "$ref": "#/customProperties/booleanProperty" },
"rejectLowPriorityMsgLimit": { "$ref": "#/customProperties/integerProperty" },
"rejectMsgToSenderOnDiscardBehavior": { "$ref": "#/customProperties/rejectMsgToSenderOnDiscardBehavior" },
"respectMsgPriorityEnabled": { "$ref": "#/customProperties/booleanProperty" },
"respectTtlEnabled": { "$ref": "#/customProperties/booleanProperty" }
},
"required": ["queueName"]
},
"required": {
"type": "array",
"uniqueItems": true,
"allOf": [
{
"contains": { "const": "queueName" }
}
],
"items": {
"enum": [
"accessType",
"consumerAckPropagationEnabled",
"deadMsgQueue",
"deliveryCountEnabled",
"deliveryDelay",
"eventBindCountThreshold",
"eventMsgSpoolUsageThreshold",
"eventRejectLowPriorityMsgLimitThreshold",
"maxBindCount",
"maxDeliveredUnackedMsgsPerFlow",
"maxMsgSize",
"maxMsgSpoolUsage",
"maxRedeliveryCount",
"maxTtl",
"partitionCount",
"partitionRebalanceDelay",
"partitionRebalanceMaxHandoffTime",
"queueName",
"redeliveryDelayEnabled",
"redeliveryDelayInitialInterval",
"redeliveryDelayMaxInterval",
"redeliveryDelayMultiplier",
"redeliveryEnabled",
"rejectLowPriorityMsgEnabled",
"rejectLowPriorityMsgLimit",
"rejectMsgToSenderOnDiscardBehavior",
"respectMsgPriorityEnabled",
"respectTtlEnabled"
]
}
}
},
"required": ["additionalProperties", "properties", "required"]
}