{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://api-evangelist.github.io/service-mesh-interface/json-schema/traffic-target-schema.json", "title": "SMI TrafficTarget", "description": "Service Mesh Interface (SMI) TrafficTarget resource (access.smi-spec.io/v1alpha3). Associates a set of traffic rules with a service identity allocated to a group of pods. A valid TrafficTarget must specify a destination, at least one rule, and at least one source. Source: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-access/v1alpha3/traffic-access.md", "type": "object", "required": ["apiVersion", "kind", "metadata", "spec"], "properties": { "apiVersion": { "const": "access.smi-spec.io/v1alpha3" }, "kind": { "const": "TrafficTarget" }, "metadata": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string" }, "namespace": { "type": "string" } } }, "spec": { "type": "object", "required": ["destination", "rules", "sources"], "properties": { "destination": { "type": "object", "required": ["kind", "name"], "properties": { "kind": { "type": "string", "enum": ["ServiceAccount"] }, "name": { "type": "string" }, "namespace": { "type": "string" }, "port": { "type": "integer", "minimum": 1, "maximum": 65535 } } }, "rules": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["kind", "name"], "properties": { "kind": { "type": "string", "enum": ["TCPRoute", "HTTPRouteGroup", "UDPRoute"] }, "name": { "type": "string" }, "matches": { "type": "array", "items": { "type": "string" } } } } }, "sources": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["kind", "name"], "properties": { "kind": { "type": "string", "enum": ["ServiceAccount"] }, "name": { "type": "string" }, "namespace": { "type": "string" } } } } } } } }