aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/resources/schema/federation.rnc
blob: 15b57b9dd7b22e5a80c5b95890cf6840d0f0413f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
# Schema for federation configuration inside the searchchains section.

GenericSource =
    GenericSearchChainInQrservers &
    FederationOptions?

Source =
    element source {
        GenericSource
    }

Provider =
    element provider {
        GenericSource &
        attribute cachesize { xsd:string { pattern = "\d+(\.\d*)?\s*[kmgKMG]?" } }? &
        attribute type { xsd:string }? &
        attribute cluster { xsd:string }? &

	# TODO Vespa 8 Remove yca concepts from services.xml syntax
	attribute yca-application-id { xsd:string }? &
	attribute yca-cache-ttl { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
	attribute yca-cache-retry-wait { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
	YcaProxy? &
        HttpProviderSearcherOptions &

        Source*
    }

YcaProxy =
    element yca-proxy {
        GenericNode?
    }

GenericNode =
    attribute host { xsd:string } &
    attribute port { xsd:int }


HttpProviderSearcherOptions =
    attribute cacheweight { xsd:float { minInclusive = "0" } }? &
    attribute path { xsd:string }? &
    attribute readtimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
    attribute connectiontimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
    attribute connectionpooltimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
    attribute retries { xsd:int }? &
    element nodes {
        element node {
            attribute host { xsd:string } &
            attribute port { xsd:int }
        }+
   } ?

FederationOptions =
    element federationoptions {
        attribute optional { xsd:boolean }? &
        attribute timeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
        attribute requestTimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? &
        attribute default { xsd:boolean }?
    }

FederationSearcher =
    element federation {
        GenericSearcherOrDocumentProcessor &
        element source {
            ComponentSpec &
            FederationOptions?
        }* &
        element target-selector {
            ComponentDefinition
        }? &
        element source-set {
          attribute inherits { string "default" }
        }?
    }