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"]
}