-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
configcat.yaml
100 lines (97 loc) · 2.89 KB
/
configcat.yaml
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
version: "0.1.0"
definitions:
selector:
extractor:
field_pointer: []
requester:
url_base: "https://api.configcat.com/v1"
http_method: "GET"
authenticator:
type: BasicHttpAuthenticator
username: "{{ config['username'] }}"
password: "{{ config['password'] }}"
retriever:
record_selector:
$ref: "*ref(definitions.selector)"
paginator:
type: NoPagination
requester:
$ref: "*ref(definitions.requester)"
base_stream:
retriever:
$ref: "*ref(definitions.retriever)"
organizations_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "organizations"
primary_key: "organizationId"
path: "/organizations"
products_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "products"
primary_key: "productId"
path: "/products"
product_stream_slicer:
type: SubstreamSlicer
parent_stream_configs:
- stream: "*ref(definitions.products_stream)"
parent_key: productId
stream_slice_field: productId
tags_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "tags"
primary_key: "tagId"
retriever:
$ref: "*ref(definitions.retriever)"
requester:
$ref: "*ref(definitions.requester)"
path: "/products/{{ stream_slice.productId }}/tags"
stream_slicer:
$ref: "*ref(definitions.product_stream_slicer)"
record_selector:
$ref: "*ref(definitions.selector)"
environments_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "environments"
primary_key: "environmentId"
retriever:
$ref: "*ref(definitions.retriever)"
requester:
$ref: "*ref(definitions.requester)"
path: "/products/{{ stream_slice.productId }}/environments"
stream_slicer:
$ref: "*ref(definitions.product_stream_slicer)"
record_selector:
$ref: "*ref(definitions.selector)"
organization_stream_slicer:
type: SubstreamSlicer
parent_stream_configs:
- stream: "*ref(definitions.organizations_stream)"
parent_key: organizationId
stream_slice_field: organizationId
organization_members_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "organization_members"
primary_key: "userId"
retriever:
$ref: "*ref(definitions.retriever)"
requester:
$ref: "*ref(definitions.requester)"
path: "/organizations/{{ stream_slice.organizationId }}/members"
stream_slicer:
$ref: "*ref(definitions.organization_stream_slicer)"
record_selector:
$ref: "*ref(definitions.selector)"
streams:
- "*ref(definitions.organizations_stream)"
- "*ref(definitions.organization_members_stream)"
- "*ref(definitions.products_stream)"
- "*ref(definitions.tags_stream)"
- "*ref(definitions.environments_stream)"
check:
stream_names:
- "organizations"