ff-ruby-server-sdk 0.0.2 → 1.0.2.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.run/sdk_test.rb.run.xml +3 -3
  3. data/CHANGELOG.md +12 -2
  4. data/Gemfile +17 -3
  5. data/README.md +155 -7
  6. data/api.yaml +736 -0
  7. data/example/example.rb +100 -3
  8. data/lib/ff/ruby/server/generated/lib/openapi_client/api/client_api.rb +545 -0
  9. data/lib/ff/ruby/server/generated/lib/openapi_client/api/metrics_api.rb +89 -0
  10. data/lib/ff/ruby/server/generated/lib/openapi_client/api_client.rb +390 -0
  11. data/lib/ff/ruby/server/generated/lib/openapi_client/api_error.rb +57 -0
  12. data/lib/ff/ruby/server/generated/lib/openapi_client/configuration.rb +282 -0
  13. data/lib/ff/ruby/server/generated/lib/openapi_client/models/authentication_request.rb +232 -0
  14. data/lib/ff/ruby/server/generated/lib/openapi_client/models/authentication_request_target.rb +250 -0
  15. data/lib/ff/ruby/server/generated/lib/openapi_client/models/authentication_response.rb +223 -0
  16. data/lib/ff/ruby/server/generated/lib/openapi_client/models/clause.rb +281 -0
  17. data/lib/ff/ruby/server/generated/lib/openapi_client/models/distribution.rb +239 -0
  18. data/lib/ff/ruby/server/generated/lib/openapi_client/models/error.rb +237 -0
  19. data/lib/ff/ruby/server/generated/lib/openapi_client/models/evaluation.rb +260 -0
  20. data/lib/ff/ruby/server/generated/lib/openapi_client/models/feature_config.rb +418 -0
  21. data/lib/ff/ruby/server/generated/lib/openapi_client/models/feature_state.rb +37 -0
  22. data/lib/ff/ruby/server/generated/lib/openapi_client/models/key_value.rb +237 -0
  23. data/lib/ff/ruby/server/generated/lib/openapi_client/models/metrics.rb +231 -0
  24. data/lib/ff/ruby/server/generated/lib/openapi_client/models/metrics_data.rb +303 -0
  25. data/lib/ff/ruby/server/generated/lib/openapi_client/models/pagination.rb +274 -0
  26. data/lib/ff/ruby/server/generated/lib/openapi_client/models/prerequisite.rb +239 -0
  27. data/lib/ff/ruby/server/generated/lib/openapi_client/models/segment.rb +320 -0
  28. data/lib/ff/ruby/server/generated/lib/openapi_client/models/serve.rb +227 -0
  29. data/lib/ff/ruby/server/generated/lib/openapi_client/models/serving_rule.rb +267 -0
  30. data/lib/ff/ruby/server/generated/lib/openapi_client/models/tag.rb +233 -0
  31. data/lib/ff/ruby/server/generated/lib/openapi_client/models/target.rb +331 -0
  32. data/lib/ff/ruby/server/generated/lib/openapi_client/models/target_data.rb +253 -0
  33. data/lib/ff/ruby/server/generated/lib/openapi_client/models/target_map.rb +232 -0
  34. data/lib/ff/ruby/server/generated/lib/openapi_client/models/variation.rb +255 -0
  35. data/lib/ff/ruby/server/generated/lib/openapi_client/models/variation_map.rb +245 -0
  36. data/lib/ff/ruby/server/generated/lib/openapi_client/models/weighted_variation.rb +237 -0
  37. data/lib/ff/ruby/server/generated/lib/openapi_client/version.rb +15 -0
  38. data/lib/ff/ruby/server/generated/lib/openapi_client.rb +65 -0
  39. data/lib/ff/ruby/server/sdk/api/auth_service.rb +91 -0
  40. data/lib/ff/ruby/server/sdk/api/cf_client.rb +93 -0
  41. data/lib/ff/ruby/server/sdk/api/client_callback.rb +45 -0
  42. data/lib/ff/ruby/server/sdk/api/config.rb +140 -0
  43. data/lib/ff/ruby/server/sdk/api/config_builder.rb +116 -0
  44. data/lib/ff/ruby/server/sdk/api/default_cache.rb +112 -0
  45. data/lib/ff/ruby/server/sdk/api/evaluation.rb +29 -0
  46. data/lib/ff/ruby/server/sdk/api/evaluator.rb +526 -0
  47. data/lib/ff/ruby/server/sdk/api/file_map_store.rb +60 -0
  48. data/lib/ff/ruby/server/sdk/api/flag_evaluate_callback.rb +13 -0
  49. data/lib/ff/ruby/server/sdk/api/inner_client.rb +311 -0
  50. data/lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb +30 -0
  51. data/lib/ff/ruby/server/sdk/api/inner_client_metrics_callback.rb +33 -0
  52. data/lib/ff/ruby/server/sdk/api/inner_client_repository_callback.rb +44 -0
  53. data/lib/ff/ruby/server/sdk/api/inner_client_updater.rb +63 -0
  54. data/lib/ff/ruby/server/sdk/api/metrics_callback.rb +19 -0
  55. data/lib/ff/ruby/server/sdk/api/metrics_event.rb +16 -0
  56. data/lib/ff/ruby/server/sdk/api/metrics_processor.rb +297 -0
  57. data/lib/ff/ruby/server/sdk/api/operators.rb +20 -0
  58. data/lib/ff/ruby/server/sdk/api/polling_processor.rb +164 -0
  59. data/lib/ff/ruby/server/sdk/api/repository_callback.rb +28 -0
  60. data/lib/ff/ruby/server/sdk/api/storage_repository.rb +263 -0
  61. data/lib/ff/ruby/server/sdk/api/summary_metrics.rb +16 -0
  62. data/lib/ff/ruby/server/sdk/api/update_processor.rb +149 -0
  63. data/lib/ff/ruby/server/sdk/common/cache.rb +27 -0
  64. data/lib/ff/ruby/server/sdk/common/closeable.rb +7 -0
  65. data/lib/ff/ruby/server/sdk/common/destroyable.rb +12 -0
  66. data/lib/ff/ruby/server/sdk/common/repository.rb +45 -0
  67. data/lib/ff/ruby/server/sdk/common/storage.rb +29 -0
  68. data/lib/ff/ruby/server/sdk/connector/connector.rb +44 -0
  69. data/lib/ff/ruby/server/sdk/connector/events.rb +118 -0
  70. data/lib/ff/ruby/server/sdk/connector/harness_connector.rb +236 -0
  71. data/lib/ff/ruby/server/sdk/connector/service.rb +19 -0
  72. data/lib/ff/ruby/server/sdk/connector/updater.rb +32 -0
  73. data/lib/ff/ruby/server/sdk/dto/message.rb +13 -0
  74. data/lib/ff/ruby/server/sdk/dto/target.rb +24 -0
  75. data/lib/ff/ruby/server/sdk/version.rb +2 -1
  76. data/lib/ff/ruby/server/sdk.rb +39 -3
  77. data/openapitools.json +7 -0
  78. data/scripts/install.sh +8 -2
  79. data/scripts/openapi.sh +76 -0
  80. data/scripts/publish.sh +1 -1
  81. data/scripts/sdk_specs.sh +1 -1
  82. metadata +263 -11
  83. data/lib/ff/ruby/server/sdk/cf_client.rb +0 -6
data/api.yaml ADDED
@@ -0,0 +1,736 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Harness feature flag service client apis
4
+ version: 1.0.0
5
+ contact:
6
+ name: Feature Flag - developers
7
+ url: 'https://www.harness.io'
8
+ email: cf@harness.io
9
+ servers:
10
+ - url: /api/1.0
11
+ description: no host specified
12
+ - url: 'http://localhost:3000/api/1.0'
13
+ description: CfClient description
14
+ tags:
15
+ - name: client
16
+ - name: metrics
17
+ paths:
18
+ '/client/env/{environmentUUID}/feature-configs':
19
+ get:
20
+ summary: Get all feature flags activations
21
+ description: All feature flags with activations in project environment
22
+ operationId: GetFeatureConfig
23
+ tags:
24
+ - client
25
+ parameters:
26
+ - name: environmentUUID
27
+ in: path
28
+ required: true
29
+ description: Unique identifier for the environment object in the API.
30
+ schema:
31
+ type: string
32
+ security:
33
+ - BearerAuth: [ ]
34
+ responses:
35
+ '200':
36
+ description: OK
37
+ content:
38
+ application/json:
39
+ schema:
40
+ type: array
41
+ items:
42
+ $ref: '#/components/schemas/FeatureConfig'
43
+ '/client/env/{environmentUUID}/feature-configs/{identifier}':
44
+ get:
45
+ summary: Get feature config
46
+ operationId: GetFeatureConfigByIdentifier
47
+ tags:
48
+ - client
49
+ parameters:
50
+ - name: identifier
51
+ in: path
52
+ required: true
53
+ description: Unique identifier for the flag object in the API.
54
+ schema:
55
+ type: string
56
+ - name: environmentUUID
57
+ in: path
58
+ required: true
59
+ description: Unique identifier for the environment object in the API.
60
+ schema:
61
+ type: string
62
+ security:
63
+ - BearerAuth: [ ]
64
+ responses:
65
+ '200':
66
+ description: OK
67
+ content:
68
+ application/json:
69
+ schema:
70
+ $ref: '#/components/schemas/FeatureConfig'
71
+ '/client/env/{environmentUUID}/target-segments':
72
+ get:
73
+ summary: Retrieve all segments.
74
+ description: Used to retrieve all segments for certain account id.
75
+ operationId: GetAllSegments
76
+ tags:
77
+ - client
78
+ parameters:
79
+ - name: environmentUUID
80
+ in: path
81
+ required: true
82
+ description: Unique identifier for the environment object in the API.
83
+ schema:
84
+ type: string
85
+ security:
86
+ - BearerAuth: [ ]
87
+ responses:
88
+ '200':
89
+ description: OK
90
+ content:
91
+ application/json:
92
+ schema:
93
+ type: array
94
+ items:
95
+ $ref: '#/components/schemas/Segment'
96
+ '401':
97
+ $ref: '#/components/responses/Unauthenticated'
98
+ '403':
99
+ $ref: '#/components/responses/Unauthorized'
100
+ '404':
101
+ $ref: '#/components/responses/NotFound'
102
+ '500':
103
+ $ref: '#/components/responses/InternalServerError'
104
+ '/client/env/{environmentUUID}/target-segments/{identifier}':
105
+ get:
106
+ summary: Retrieve a segment by identifier
107
+ description: Used to retrieve a segment for a certain account id by identifier
108
+ operationId: GetSegmentByIdentifier
109
+ tags:
110
+ - client
111
+ parameters:
112
+ - name: identifier
113
+ in: path
114
+ required: true
115
+ description: Unique identifier for the segment object in the API
116
+ schema:
117
+ type: string
118
+ - name: environmentUUID
119
+ in: path
120
+ required: true
121
+ description: Unique identifier for the environment object in the API
122
+ schema:
123
+ type: string
124
+ security:
125
+ - BearerAuth: [ ]
126
+ responses:
127
+ '200':
128
+ description: OK
129
+ content:
130
+ application/json:
131
+ schema:
132
+ $ref: '#/components/schemas/Segment'
133
+ '401':
134
+ $ref: '#/components/responses/Unauthenticated'
135
+ '403':
136
+ $ref: '#/components/responses/Unauthorized'
137
+ '404':
138
+ $ref: '#/components/responses/NotFound'
139
+ '500':
140
+ $ref: '#/components/responses/InternalServerError'
141
+ /client/auth:
142
+ post:
143
+ summary: Authenticate with the admin server.
144
+ description: Used to retrieve all target segments for certain account id.
145
+ operationId: Authenticate
146
+ tags:
147
+ - client
148
+ requestBody:
149
+ content:
150
+ application/json:
151
+ schema:
152
+ $ref: '#/components/schemas/AuthenticationRequest'
153
+ responses:
154
+ '200':
155
+ description: OK
156
+ content:
157
+ application/json:
158
+ schema:
159
+ $ref: '#/components/schemas/AuthenticationResponse'
160
+ '401':
161
+ $ref: '#/components/responses/Unauthenticated'
162
+ '403':
163
+ $ref: '#/components/responses/Unauthorized'
164
+ '404':
165
+ $ref: '#/components/responses/NotFound'
166
+ '500':
167
+ $ref: '#/components/responses/InternalServerError'
168
+ '/client/env/{environmentUUID}/target/{target}/evaluations':
169
+ get:
170
+ summary: Get feature evaluations for target
171
+ operationId: GetEvaluations
172
+ tags:
173
+ - client
174
+ parameters:
175
+ - name: environmentUUID
176
+ in: path
177
+ required: true
178
+ description: Unique identifier for the environment object in the API.
179
+ schema:
180
+ type: string
181
+ - name: target
182
+ in: path
183
+ required: true
184
+ description: Unique identifier for the target object in the API.
185
+ schema:
186
+ type: string
187
+ security:
188
+ - BearerAuth: [ ]
189
+ responses:
190
+ '200':
191
+ description: OK
192
+ content:
193
+ application/json:
194
+ schema:
195
+ allOf:
196
+ - $ref: '#/components/schemas/Pagination'
197
+ - type: object
198
+ properties:
199
+ evaluations:
200
+ $ref: '#/components/schemas/Evaluations'
201
+ '/client/env/{environmentUUID}/target/{target}/evaluations/{feature}':
202
+ get:
203
+ summary: Get feature evaluations for target
204
+ operationId: GetEvaluationByIdentifier
205
+ tags:
206
+ - client
207
+ parameters:
208
+ - name: environmentUUID
209
+ in: path
210
+ required: true
211
+ description: Unique identifier for the environment object in the API.
212
+ schema:
213
+ type: string
214
+ - name: feature
215
+ in: path
216
+ required: true
217
+ description: Unique identifier for the flag object in the API.
218
+ schema:
219
+ type: string
220
+ - name: target
221
+ in: path
222
+ required: true
223
+ description: Unique identifier for the target object in the API.
224
+ schema:
225
+ type: string
226
+ security:
227
+ - BearerAuth: [ ]
228
+ responses:
229
+ '200':
230
+ description: OK
231
+ content:
232
+ application/json:
233
+ schema:
234
+ $ref: '#/components/schemas/Evaluation'
235
+ '/metrics/{environment}':
236
+ post:
237
+ tags:
238
+ - metrics
239
+ summary: Send metrics to the Analytics server.
240
+ description: Send metrics to Analytics server
241
+ operationId: postMetrics
242
+ parameters:
243
+ - $ref: '#/components/parameters/environmentPathParam'
244
+ requestBody:
245
+ content:
246
+ application/json:
247
+ schema:
248
+ $ref: '#/components/schemas/Metrics'
249
+ security:
250
+ - BearerAuth: [ ]
251
+ responses:
252
+ '200':
253
+ description: OK
254
+ '401':
255
+ $ref: '#/components/responses/Unauthenticated'
256
+ '403':
257
+ $ref: '#/components/responses/Unauthorized'
258
+ '500':
259
+ $ref: '#/components/responses/InternalServerError'
260
+ /stream:
261
+ get:
262
+ summary: Stream endpoint.
263
+ operationId: Stream
264
+ tags:
265
+ - client
266
+ parameters:
267
+ - in: header
268
+ name: API-Key
269
+ schema:
270
+ type: string
271
+ required: true
272
+ security:
273
+ - BearerAuth: [ ]
274
+ responses:
275
+ '200':
276
+ description: OK
277
+ headers:
278
+ Content-Type:
279
+ schema:
280
+ type: string
281
+ default: text/event-stream
282
+ Cache-Control:
283
+ schema:
284
+ type: string
285
+ default: no-cache
286
+ Connection:
287
+ schema:
288
+ type: string
289
+ default: keep-alive
290
+ Access-Control-Allow-Origin:
291
+ schema:
292
+ type: string
293
+ default: '*'
294
+ '503':
295
+ description: Service Unavailable
296
+ components:
297
+ schemas:
298
+ FeatureState:
299
+ type: string
300
+ enum:
301
+ - 'on'
302
+ - 'off'
303
+ Variation:
304
+ type: object
305
+ properties:
306
+ identifier:
307
+ type: string
308
+ value:
309
+ type: string
310
+ name:
311
+ type: string
312
+ description:
313
+ type: string
314
+ required:
315
+ - identifier
316
+ - value
317
+ Clause:
318
+ type: object
319
+ properties:
320
+ id:
321
+ type: string
322
+ attribute:
323
+ type: string
324
+ op:
325
+ type: string
326
+ values:
327
+ type: array
328
+ items:
329
+ type: string
330
+ negate:
331
+ type: boolean
332
+ required:
333
+ - id
334
+ - attribute
335
+ - op
336
+ - negate
337
+ - values
338
+ WeightedVariation:
339
+ type: object
340
+ properties:
341
+ variation:
342
+ type: string
343
+ weight:
344
+ type: integer
345
+ required:
346
+ - variation
347
+ - weight
348
+ Distribution:
349
+ type: object
350
+ properties:
351
+ bucketBy:
352
+ type: string
353
+ variations:
354
+ type: array
355
+ items:
356
+ $ref: '#/components/schemas/WeightedVariation'
357
+ required:
358
+ - bucketBy
359
+ - variations
360
+ Serve:
361
+ type: object
362
+ properties:
363
+ distribution:
364
+ $ref: '#/components/schemas/Distribution'
365
+ variation:
366
+ type: string
367
+ ServingRule:
368
+ type: object
369
+ properties:
370
+ ruleId:
371
+ type: string
372
+ priority:
373
+ type: integer
374
+ clauses:
375
+ type: array
376
+ items:
377
+ $ref: '#/components/schemas/Clause'
378
+ serve:
379
+ $ref: '#/components/schemas/Serve'
380
+ required:
381
+ - priority
382
+ - clauses
383
+ - serve
384
+ - ruleId
385
+ Prerequisite:
386
+ type: object
387
+ properties:
388
+ feature:
389
+ type: string
390
+ variations:
391
+ type: array
392
+ items:
393
+ type: string
394
+ required:
395
+ - feature
396
+ - variations
397
+ TargetMap:
398
+ type: object
399
+ properties:
400
+ identifier:
401
+ type: string
402
+ name:
403
+ type: string
404
+ required:
405
+ - idenfifier
406
+ - name
407
+ VariationMap:
408
+ type: object
409
+ properties:
410
+ variation:
411
+ type: string
412
+ targets:
413
+ type: array
414
+ items:
415
+ $ref: '#/components/schemas/TargetMap'
416
+ targetSegments:
417
+ type: array
418
+ items:
419
+ type: string
420
+ required:
421
+ - variation
422
+ FeatureConfig:
423
+ type: object
424
+ properties:
425
+ project:
426
+ type: string
427
+ environment:
428
+ type: string
429
+ feature:
430
+ type: string
431
+ state:
432
+ $ref: '#/components/schemas/FeatureState'
433
+ kind:
434
+ type: string
435
+ enum:
436
+ - boolean
437
+ - int
438
+ - string
439
+ - json
440
+ variations:
441
+ type: array
442
+ items:
443
+ $ref: '#/components/schemas/Variation'
444
+ minItems: 2
445
+ rules:
446
+ type: array
447
+ items:
448
+ $ref: '#/components/schemas/ServingRule'
449
+ defaultServe:
450
+ $ref: '#/components/schemas/Serve'
451
+ offVariation:
452
+ type: string
453
+ prerequisites:
454
+ type: array
455
+ items:
456
+ $ref: '#/components/schemas/Prerequisite'
457
+ variationToTargetMap:
458
+ type: array
459
+ items:
460
+ $ref: '#/components/schemas/VariationMap'
461
+ version:
462
+ type: integer
463
+ format: int64
464
+ required:
465
+ - project
466
+ - environment
467
+ - feature
468
+ - state
469
+ - kind
470
+ - variations
471
+ - defaultTarget
472
+ - offVariation
473
+ - defaultServe
474
+ Tag:
475
+ type: object
476
+ description: A name and value pair.
477
+ properties:
478
+ name:
479
+ type: string
480
+ value:
481
+ type: string
482
+ required:
483
+ - name
484
+ Segment:
485
+ type: object
486
+ properties:
487
+ identifier:
488
+ type: string
489
+ description: Unique identifier for the segment.
490
+ name:
491
+ type: string
492
+ description: Name of the segment.
493
+ example: Beta Testers
494
+ environment:
495
+ type: string
496
+ tags:
497
+ type: array
498
+ items:
499
+ $ref: '#/components/schemas/Tag'
500
+ included:
501
+ type: array
502
+ items:
503
+ $ref: '#/components/schemas/Target'
504
+ excluded:
505
+ type: array
506
+ items:
507
+ $ref: '#/components/schemas/Target'
508
+ rules:
509
+ type: array
510
+ items:
511
+ $ref: '#/components/schemas/Clause'
512
+ description: >-
513
+ An array of rules that can cause a user to be included in this
514
+ segment.
515
+ createdAt:
516
+ type: integer
517
+ format: int64
518
+ modifiedAt:
519
+ type: integer
520
+ format: int64
521
+ version:
522
+ type: integer
523
+ format: int64
524
+ required:
525
+ - identifier
526
+ - name
527
+ Target:
528
+ type: object
529
+ properties:
530
+ identifier:
531
+ type: string
532
+ account:
533
+ type: string
534
+ org:
535
+ type: string
536
+ environment:
537
+ type: string
538
+ project:
539
+ type: string
540
+ name:
541
+ type: string
542
+ anonymous:
543
+ type: boolean
544
+ attributes:
545
+ type: object
546
+ createdAt:
547
+ type: integer
548
+ format: int64
549
+ segments:
550
+ type: array
551
+ items:
552
+ $ref: '#/components/schemas/Segment'
553
+ required:
554
+ - identifier
555
+ - name
556
+ - environment
557
+ - project
558
+ - account
559
+ - org
560
+ Error:
561
+ type: object
562
+ properties:
563
+ code:
564
+ type: string
565
+ message:
566
+ type: string
567
+ required:
568
+ - code
569
+ - message
570
+ AuthenticationRequest:
571
+ type: object
572
+ properties:
573
+ apiKey:
574
+ type: string
575
+ example: 896045f3-42ee-4e73-9154-086644768b96
576
+ target:
577
+ type: object
578
+ properties:
579
+ identifier:
580
+ type: string
581
+ name:
582
+ type: string
583
+ anonymous:
584
+ type: boolean
585
+ attributes:
586
+ type: object
587
+ required:
588
+ - identifier
589
+ required:
590
+ - apiKey
591
+ AuthenticationResponse:
592
+ type: object
593
+ properties:
594
+ authToken:
595
+ type: string
596
+ required:
597
+ - authToken
598
+ Pagination:
599
+ type: object
600
+ properties:
601
+ version:
602
+ type: integer
603
+ pageCount:
604
+ type: integer
605
+ itemCount:
606
+ type: integer
607
+ example: 1
608
+ pageSize:
609
+ type: integer
610
+ example: 1
611
+ pageIndex:
612
+ type: integer
613
+ example: 0
614
+ required:
615
+ - pageCount
616
+ - itemCount
617
+ - pageSize
618
+ - pageIndex
619
+ - pageIndex
620
+ Evaluation:
621
+ type: object
622
+ properties:
623
+ flag:
624
+ type: string
625
+ value:
626
+ type: string
627
+ kind:
628
+ type: string
629
+ identifier:
630
+ type: string
631
+ required:
632
+ - flag
633
+ - value
634
+ - kind
635
+ Evaluations:
636
+ type: array
637
+ items:
638
+ $ref: '#/components/schemas/Evaluation'
639
+ KeyValue:
640
+ type: object
641
+ properties:
642
+ key:
643
+ type: string
644
+ value:
645
+ type: string
646
+ required:
647
+ - key
648
+ - value
649
+ TargetData:
650
+ type: object
651
+ properties:
652
+ identifier:
653
+ type: string
654
+ name:
655
+ type: string
656
+ attributes:
657
+ type: array
658
+ items:
659
+ $ref: '#/components/schemas/KeyValue'
660
+ required:
661
+ - name
662
+ - identifier
663
+ - attributes
664
+ MetricsData:
665
+ type: object
666
+ properties:
667
+ timestamp:
668
+ type: integer
669
+ format: int64
670
+ example: 1608175465
671
+ description: time at when this data was recorded
672
+ count:
673
+ type: integer
674
+ metricsType:
675
+ type: string
676
+ enum:
677
+ - FFMETRICS
678
+ description: This can be of type FeatureMetrics
679
+ attributes:
680
+ type: array
681
+ items:
682
+ $ref: '#/components/schemas/KeyValue'
683
+ required:
684
+ - attributes
685
+ - count
686
+ - timestamp
687
+ - metricsType
688
+ Metrics:
689
+ type: object
690
+ properties:
691
+ targetData:
692
+ type: array
693
+ items:
694
+ $ref: '#/components/schemas/TargetData'
695
+ metricsData:
696
+ type: array
697
+ items:
698
+ $ref: '#/components/schemas/MetricsData'
699
+ securitySchemes:
700
+ BearerAuth:
701
+ type: http
702
+ scheme: bearer
703
+ bearerFormat: JWT
704
+ responses:
705
+ Unauthenticated:
706
+ description: Unauthenticated
707
+ content:
708
+ application/json:
709
+ schema:
710
+ $ref: '#/components/schemas/Error'
711
+ Unauthorized:
712
+ description: Unauthorized
713
+ content:
714
+ application/json:
715
+ schema:
716
+ $ref: '#/components/schemas/Error'
717
+ NotFound:
718
+ description: The specified resource was not found
719
+ content:
720
+ application/json:
721
+ schema:
722
+ $ref: '#/components/schemas/Error'
723
+ InternalServerError:
724
+ description: Internal server error
725
+ content:
726
+ application/json:
727
+ schema:
728
+ $ref: '#/components/schemas/Error'
729
+ parameters:
730
+ environmentPathParam:
731
+ name: environment
732
+ in: path
733
+ required: true
734
+ description: environment parameter in query.
735
+ schema:
736
+ type: string