This repository was archived by the owner on Sep 3, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathclient.sh
9856 lines (9280 loc) · 477 KB
/
client.sh
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/usr/bin/env bash
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !
# ! Note:
# !
# ! THIS SCRIPT HAS BEEN AUTOMATICALLY GENERATED USING
# ! swagger-codegen (https://github.com/swagger-api/swagger-codegen)
# ! FROM SWAGGER SPECIFICATION IN JSON.
# !
# !
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
# This is a Bash client for LaunchDarkly REST API.
#
# LICENSE:
# http://www.apache.org/licenses/LICENSE-2.0.html
#
# CONTACT:
#
# MORE INFORMATION:
#
#
# For improved pattern matching in case statemets
shopt -s extglob
###############################################################################
#
# Make sure Bash is at least in version 4.3
#
###############################################################################
if ! ( (("${BASH_VERSION:0:1}" == "4")) && (("${BASH_VERSION:2:1}" >= "3")) ) \
&& ! (("${BASH_VERSION:0:1}" >= "5")); then
echo ""
echo "Sorry - your Bash version is ${BASH_VERSION}"
echo ""
echo "You need at least Bash 4.3 to run this script."
echo ""
exit 1
fi
###############################################################################
#
# Global variables
#
###############################################################################
##
# The filename of this script for help messages
script_name=$(basename "$0")
##
# Map for headers passed after operation as KEY:VALUE
declare -A header_arguments
##
# Map for operation parameters passed after operation as PARAMETER=VALUE
# These will be mapped to appropriate path or query parameters
# The values in operation_parameters are arrays, so that multiple values
# can be provided for the same parameter if allowed by API specification
declare -A operation_parameters
##
# Declare colors with autodection if output is terminal
if [ -t 1 ]; then
RED="$(tput setaf 1)"
GREEN="$(tput setaf 2)"
YELLOW="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
MAGENTA="$(tput setaf 5)"
CYAN="$(tput setaf 6)"
WHITE="$(tput setaf 7)"
BOLD="$(tput bold)"
OFF="$(tput sgr0)"
else
RED=""
GREEN=""
YELLOW=""
BLUE=""
MAGENTA=""
CYAN=""
WHITE=""
BOLD=""
OFF=""
fi
declare -a result_color_table=( "$WHITE" "$WHITE" "$GREEN" "$YELLOW" "$WHITE" "$MAGENTA" "$WHITE" )
##
# This array stores the minimum number of required occurrences for parameter
# 0 - optional
# 1 - required
declare -A operation_parameters_minimum_occurrences
operation_parameters_minimum_occurrences["deleteToken:::tokenId"]=1
operation_parameters_minimum_occurrences["getToken:::tokenId"]=1
operation_parameters_minimum_occurrences["getTokens:::showAll"]=0
operation_parameters_minimum_occurrences["patchToken:::tokenId"]=1
operation_parameters_minimum_occurrences["patchToken:::patchDelta"]=1
operation_parameters_minimum_occurrences["postToken:::tokenBody"]=1
operation_parameters_minimum_occurrences["resetToken:::tokenId"]=1
operation_parameters_minimum_occurrences["resetToken:::expiry"]=0
operation_parameters_minimum_occurrences["getAuditLogEntries:::before"]=0
operation_parameters_minimum_occurrences["getAuditLogEntries:::after"]=0
operation_parameters_minimum_occurrences["getAuditLogEntries:::q"]=0
operation_parameters_minimum_occurrences["getAuditLogEntries:::limit"]=0
operation_parameters_minimum_occurrences["getAuditLogEntries:::spec"]=0
operation_parameters_minimum_occurrences["getAuditLogEntry:::resourceId"]=1
operation_parameters_minimum_occurrences["deleteCustomRole:::customRoleKey"]=1
operation_parameters_minimum_occurrences["getCustomRole:::customRoleKey"]=1
operation_parameters_minimum_occurrences["patchCustomRole:::customRoleKey"]=1
operation_parameters_minimum_occurrences["patchCustomRole:::patchDelta"]=1
operation_parameters_minimum_occurrences["postCustomRole:::customRoleBody"]=1
operation_parameters_minimum_occurrences["getEvaluations:::envId"]=1
operation_parameters_minimum_occurrences["getEvaluations:::flagKey"]=1
operation_parameters_minimum_occurrences["getEvent:::type"]=1
operation_parameters_minimum_occurrences["getStream:::source"]=1
operation_parameters_minimum_occurrences["getStreamBySDK:::source"]=1
operation_parameters_minimum_occurrences["getStreamSDKVersion:::source"]=1
operation_parameters_minimum_occurrences["deleteDestination:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteDestination:::environmentKey"]=1
operation_parameters_minimum_occurrences["deleteDestination:::destinationId"]=1
operation_parameters_minimum_occurrences["getDestination:::projectKey"]=1
operation_parameters_minimum_occurrences["getDestination:::environmentKey"]=1
operation_parameters_minimum_occurrences["getDestination:::destinationId"]=1
operation_parameters_minimum_occurrences["patchDestination:::projectKey"]=1
operation_parameters_minimum_occurrences["patchDestination:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchDestination:::destinationId"]=1
operation_parameters_minimum_occurrences["patchDestination:::PatchOnly"]=1
operation_parameters_minimum_occurrences["postDestination:::projectKey"]=1
operation_parameters_minimum_occurrences["postDestination:::environmentKey"]=1
operation_parameters_minimum_occurrences["postDestination:::destinationBody"]=1
operation_parameters_minimum_occurrences["deleteEnvironment:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteEnvironment:::environmentKey"]=1
operation_parameters_minimum_occurrences["getEnvironment:::projectKey"]=1
operation_parameters_minimum_occurrences["getEnvironment:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchEnvironment:::projectKey"]=1
operation_parameters_minimum_occurrences["patchEnvironment:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchEnvironment:::patchDelta"]=1
operation_parameters_minimum_occurrences["postEnvironment:::projectKey"]=1
operation_parameters_minimum_occurrences["postEnvironment:::environmentBody"]=1
operation_parameters_minimum_occurrences["resetEnvironmentMobileKey:::projectKey"]=1
operation_parameters_minimum_occurrences["resetEnvironmentMobileKey:::environmentKey"]=1
operation_parameters_minimum_occurrences["resetEnvironmentMobileKey:::expiry"]=0
operation_parameters_minimum_occurrences["resetEnvironmentSDKKey:::projectKey"]=1
operation_parameters_minimum_occurrences["resetEnvironmentSDKKey:::environmentKey"]=1
operation_parameters_minimum_occurrences["resetEnvironmentSDKKey:::expiry"]=0
operation_parameters_minimum_occurrences["copyFeatureFlag:::projectKey"]=1
operation_parameters_minimum_occurrences["copyFeatureFlag:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["copyFeatureFlag:::featureFlagCopyBody"]=1
operation_parameters_minimum_occurrences["deleteApprovalRequest:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteApprovalRequest:::environmentKey"]=1
operation_parameters_minimum_occurrences["deleteApprovalRequest:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["deleteApprovalRequest:::approvalRequestId"]=1
operation_parameters_minimum_occurrences["deleteApprovalRequest:::approvalRequestConfigBody"]=0
operation_parameters_minimum_occurrences["deleteFeatureFlag:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteFeatureFlag:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["deleteFlagConfigScheduledChanges:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteFlagConfigScheduledChanges:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["deleteFlagConfigScheduledChanges:::environmentKey"]=1
operation_parameters_minimum_occurrences["deleteFlagConfigScheduledChanges:::scheduledChangeId"]=1
operation_parameters_minimum_occurrences["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::projectKey"]=1
operation_parameters_minimum_occurrences["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::environmentKey"]=1
operation_parameters_minimum_occurrences["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["flagsProjectKeyFeatureFlagKeyDependentFlagsGet:::projectKey"]=1
operation_parameters_minimum_occurrences["flagsProjectKeyFeatureFlagKeyDependentFlagsGet:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getApprovalRequest:::projectKey"]=1
operation_parameters_minimum_occurrences["getApprovalRequest:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getApprovalRequest:::environmentKey"]=1
operation_parameters_minimum_occurrences["getApprovalRequest:::approvalRequestId"]=1
operation_parameters_minimum_occurrences["getApprovalRequests:::projectKey"]=1
operation_parameters_minimum_occurrences["getApprovalRequests:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getApprovalRequests:::environmentKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargets:::projectKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargets:::environmentKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargets:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlag:::projectKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlag:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlag:::env"]=0
operation_parameters_minimum_occurrences["getFeatureFlagStatus:::projectKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlagStatus:::environmentKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlagStatus:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlagStatusAcrossEnvironments:::projectKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlagStatusAcrossEnvironments:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlagStatuses:::projectKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlagStatuses:::environmentKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlags:::projectKey"]=1
operation_parameters_minimum_occurrences["getFeatureFlags:::env"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::summary"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::archived"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::limit"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::offset"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::filter"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::sort"]=0
operation_parameters_minimum_occurrences["getFeatureFlags:::tag"]=0
operation_parameters_minimum_occurrences["getFlagConfigScheduledChange:::projectKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChange:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChange:::environmentKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChange:::scheduledChangeId"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChanges:::projectKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChanges:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChanges:::environmentKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChangesConflicts:::projectKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChangesConflicts:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChangesConflicts:::environmentKey"]=1
operation_parameters_minimum_occurrences["getFlagConfigScheduledChangesConflicts:::flagConfigScheduledChangesConflictsBody"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargets:::projectKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargets:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargets:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargets:::SemanticPatchWithComment"]=1
operation_parameters_minimum_occurrences["patchFeatureFlag:::projectKey"]=1
operation_parameters_minimum_occurrences["patchFeatureFlag:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["patchFeatureFlag:::patchComment"]=1
operation_parameters_minimum_occurrences["patchFlagConfigScheduledChange:::projectKey"]=1
operation_parameters_minimum_occurrences["patchFlagConfigScheduledChange:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["patchFlagConfigScheduledChange:::flagConfigScheduledChangesPatchBody"]=1
operation_parameters_minimum_occurrences["patchFlagConfigScheduledChange:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchFlagConfigScheduledChange:::scheduledChangeId"]=1
operation_parameters_minimum_occurrences["postApplyApprovalRequest:::projectKey"]=1
operation_parameters_minimum_occurrences["postApplyApprovalRequest:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["postApplyApprovalRequest:::environmentKey"]=1
operation_parameters_minimum_occurrences["postApplyApprovalRequest:::approvalRequestId"]=1
operation_parameters_minimum_occurrences["postApplyApprovalRequest:::approvalRequestApplyConfigBody"]=1
operation_parameters_minimum_occurrences["postApprovalRequest:::projectKey"]=1
operation_parameters_minimum_occurrences["postApprovalRequest:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["postApprovalRequest:::environmentKey"]=1
operation_parameters_minimum_occurrences["postApprovalRequest:::approvalRequestId"]=1
operation_parameters_minimum_occurrences["postApprovalRequest:::approvalRequestConfigBody"]=0
operation_parameters_minimum_occurrences["postFeatureFlag:::projectKey"]=1
operation_parameters_minimum_occurrences["postFeatureFlag:::featureFlagBody"]=1
operation_parameters_minimum_occurrences["postFeatureFlag:::clone"]=0
operation_parameters_minimum_occurrences["postFlagConfigScheduledChanges:::projectKey"]=1
operation_parameters_minimum_occurrences["postFlagConfigScheduledChanges:::flagConfigScheduledChangesPostBody"]=1
operation_parameters_minimum_occurrences["postFlagConfigScheduledChanges:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["postFlagConfigScheduledChanges:::environmentKey"]=1
operation_parameters_minimum_occurrences["postReviewApprovalRequest:::projectKey"]=1
operation_parameters_minimum_occurrences["postReviewApprovalRequest:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["postReviewApprovalRequest:::environmentKey"]=1
operation_parameters_minimum_occurrences["postReviewApprovalRequest:::approvalRequestId"]=1
operation_parameters_minimum_occurrences["postReviewApprovalRequest:::approvalRequestReviewConfigBody"]=1
operation_parameters_minimum_occurrences["deleteIntegrationSubscription:::integrationKey"]=1
operation_parameters_minimum_occurrences["deleteIntegrationSubscription:::integrationId"]=1
operation_parameters_minimum_occurrences["getIntegrationSubscription:::integrationKey"]=1
operation_parameters_minimum_occurrences["getIntegrationSubscription:::integrationId"]=1
operation_parameters_minimum_occurrences["getIntegrationSubscriptions:::integrationKey"]=1
operation_parameters_minimum_occurrences["patchIntegrationSubscription:::integrationKey"]=1
operation_parameters_minimum_occurrences["patchIntegrationSubscription:::integrationId"]=1
operation_parameters_minimum_occurrences["patchIntegrationSubscription:::patchDelta"]=1
operation_parameters_minimum_occurrences["postIntegrationSubscription:::integrationKey"]=1
operation_parameters_minimum_occurrences["postIntegrationSubscription:::subscriptionBody"]=1
operation_parameters_minimum_occurrences["deleteProject:::projectKey"]=1
operation_parameters_minimum_occurrences["getProject:::projectKey"]=1
operation_parameters_minimum_occurrences["patchProject:::projectKey"]=1
operation_parameters_minimum_occurrences["patchProject:::patchDelta"]=1
operation_parameters_minimum_occurrences["postProject:::projectBody"]=1
operation_parameters_minimum_occurrences["deleteRelayProxyConfig:::id"]=1
operation_parameters_minimum_occurrences["getRelayProxyConfig:::id"]=1
operation_parameters_minimum_occurrences["patchRelayProxyConfig:::id"]=1
operation_parameters_minimum_occurrences["patchRelayProxyConfig:::patchDelta"]=1
operation_parameters_minimum_occurrences["postRelayAutoConfig:::relayProxyConfigBody"]=1
operation_parameters_minimum_occurrences["resetRelayProxyConfig:::id"]=1
operation_parameters_minimum_occurrences["resetRelayProxyConfig:::expiry"]=0
operation_parameters_minimum_occurrences["deleteMember:::memberId"]=1
operation_parameters_minimum_occurrences["getMember:::memberId"]=1
operation_parameters_minimum_occurrences["getMembers:::limit"]=0
operation_parameters_minimum_occurrences["getMembers:::offset"]=0
operation_parameters_minimum_occurrences["getMembers:::filter"]=0
operation_parameters_minimum_occurrences["getMembers:::sort"]=0
operation_parameters_minimum_occurrences["patchMember:::memberId"]=1
operation_parameters_minimum_occurrences["patchMember:::patchDelta"]=1
operation_parameters_minimum_occurrences["postMembers:::membersBody"]=1
operation_parameters_minimum_occurrences["deleteUserSegment:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteUserSegment:::environmentKey"]=1
operation_parameters_minimum_occurrences["deleteUserSegment:::userSegmentKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargetsOnSegment:::projectKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargetsOnSegment:::environmentKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargetsOnSegment:::userSegmentKey"]=1
operation_parameters_minimum_occurrences["getUserSegment:::projectKey"]=1
operation_parameters_minimum_occurrences["getUserSegment:::environmentKey"]=1
operation_parameters_minimum_occurrences["getUserSegment:::userSegmentKey"]=1
operation_parameters_minimum_occurrences["getUserSegments:::projectKey"]=1
operation_parameters_minimum_occurrences["getUserSegments:::environmentKey"]=1
operation_parameters_minimum_occurrences["getUserSegments:::tag"]=0
operation_parameters_minimum_occurrences["patchExpiringUserTargetsOnSegment:::projectKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsOnSegment:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsOnSegment:::userSegmentKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsOnSegment:::SemanticPatchWithComment"]=1
operation_parameters_minimum_occurrences["patchUserSegment:::projectKey"]=1
operation_parameters_minimum_occurrences["patchUserSegment:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchUserSegment:::userSegmentKey"]=1
operation_parameters_minimum_occurrences["patchUserSegment:::PatchOnly"]=1
operation_parameters_minimum_occurrences["postUserSegment:::projectKey"]=1
operation_parameters_minimum_occurrences["postUserSegment:::environmentKey"]=1
operation_parameters_minimum_occurrences["postUserSegment:::userSegmentBody"]=1
operation_parameters_minimum_occurrences["updateBigSegmentTargets:::projectKey"]=1
operation_parameters_minimum_occurrences["updateBigSegmentTargets:::environmentKey"]=1
operation_parameters_minimum_occurrences["updateBigSegmentTargets:::userSegmentKey"]=1
operation_parameters_minimum_occurrences["updateBigSegmentTargets:::bigSegmentTargetsBody"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargetsForUser:::projectKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargetsForUser:::environmentKey"]=1
operation_parameters_minimum_occurrences["getExpiringUserTargetsForUser:::userKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSetting:::projectKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSetting:::environmentKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSetting:::userKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSetting:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSettings:::projectKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSettings:::environmentKey"]=1
operation_parameters_minimum_occurrences["getUserFlagSettings:::userKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsForFlags:::projectKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsForFlags:::environmentKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsForFlags:::userKey"]=1
operation_parameters_minimum_occurrences["patchExpiringUserTargetsForFlags:::SemanticPatchWithComment"]=1
operation_parameters_minimum_occurrences["putFlagSetting:::projectKey"]=1
operation_parameters_minimum_occurrences["putFlagSetting:::environmentKey"]=1
operation_parameters_minimum_occurrences["putFlagSetting:::userKey"]=1
operation_parameters_minimum_occurrences["putFlagSetting:::featureFlagKey"]=1
operation_parameters_minimum_occurrences["putFlagSetting:::userSettingsBody"]=1
operation_parameters_minimum_occurrences["deleteUser:::projectKey"]=1
operation_parameters_minimum_occurrences["deleteUser:::environmentKey"]=1
operation_parameters_minimum_occurrences["deleteUser:::userKey"]=1
operation_parameters_minimum_occurrences["getSearchUsers:::projectKey"]=1
operation_parameters_minimum_occurrences["getSearchUsers:::environmentKey"]=1
operation_parameters_minimum_occurrences["getSearchUsers:::q"]=0
operation_parameters_minimum_occurrences["getSearchUsers:::limit"]=0
operation_parameters_minimum_occurrences["getSearchUsers:::offset"]=0
operation_parameters_minimum_occurrences["getSearchUsers:::after"]=0
operation_parameters_minimum_occurrences["getUser:::projectKey"]=1
operation_parameters_minimum_occurrences["getUser:::environmentKey"]=1
operation_parameters_minimum_occurrences["getUser:::userKey"]=1
operation_parameters_minimum_occurrences["getUsers:::projectKey"]=1
operation_parameters_minimum_occurrences["getUsers:::environmentKey"]=1
operation_parameters_minimum_occurrences["getUsers:::limit"]=0
operation_parameters_minimum_occurrences["getUsers:::h"]=0
operation_parameters_minimum_occurrences["getUsers:::scrollId"]=0
operation_parameters_minimum_occurrences["deleteWebhook:::resourceId"]=1
operation_parameters_minimum_occurrences["getWebhook:::resourceId"]=1
operation_parameters_minimum_occurrences["patchWebhook:::resourceId"]=1
operation_parameters_minimum_occurrences["patchWebhook:::patchDelta"]=1
operation_parameters_minimum_occurrences["postWebhook:::webhookBody"]=1
##
# This array stores the maximum number of allowed occurrences for parameter
# 1 - single value
# 2 - 2 values
# N - N values
# 0 - unlimited
declare -A operation_parameters_maximum_occurrences
operation_parameters_maximum_occurrences["deleteToken:::tokenId"]=0
operation_parameters_maximum_occurrences["getToken:::tokenId"]=0
operation_parameters_maximum_occurrences["getTokens:::showAll"]=0
operation_parameters_maximum_occurrences["patchToken:::tokenId"]=0
operation_parameters_maximum_occurrences["patchToken:::patchDelta"]=0
operation_parameters_maximum_occurrences["postToken:::tokenBody"]=0
operation_parameters_maximum_occurrences["resetToken:::tokenId"]=0
operation_parameters_maximum_occurrences["resetToken:::expiry"]=0
operation_parameters_maximum_occurrences["getAuditLogEntries:::before"]=0
operation_parameters_maximum_occurrences["getAuditLogEntries:::after"]=0
operation_parameters_maximum_occurrences["getAuditLogEntries:::q"]=0
operation_parameters_maximum_occurrences["getAuditLogEntries:::limit"]=0
operation_parameters_maximum_occurrences["getAuditLogEntries:::spec"]=0
operation_parameters_maximum_occurrences["getAuditLogEntry:::resourceId"]=0
operation_parameters_maximum_occurrences["deleteCustomRole:::customRoleKey"]=0
operation_parameters_maximum_occurrences["getCustomRole:::customRoleKey"]=0
operation_parameters_maximum_occurrences["patchCustomRole:::customRoleKey"]=0
operation_parameters_maximum_occurrences["patchCustomRole:::patchDelta"]=0
operation_parameters_maximum_occurrences["postCustomRole:::customRoleBody"]=0
operation_parameters_maximum_occurrences["getEvaluations:::envId"]=0
operation_parameters_maximum_occurrences["getEvaluations:::flagKey"]=0
operation_parameters_maximum_occurrences["getEvent:::type"]=0
operation_parameters_maximum_occurrences["getStream:::source"]=0
operation_parameters_maximum_occurrences["getStreamBySDK:::source"]=0
operation_parameters_maximum_occurrences["getStreamSDKVersion:::source"]=0
operation_parameters_maximum_occurrences["deleteDestination:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteDestination:::environmentKey"]=0
operation_parameters_maximum_occurrences["deleteDestination:::destinationId"]=0
operation_parameters_maximum_occurrences["getDestination:::projectKey"]=0
operation_parameters_maximum_occurrences["getDestination:::environmentKey"]=0
operation_parameters_maximum_occurrences["getDestination:::destinationId"]=0
operation_parameters_maximum_occurrences["patchDestination:::projectKey"]=0
operation_parameters_maximum_occurrences["patchDestination:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchDestination:::destinationId"]=0
operation_parameters_maximum_occurrences["patchDestination:::PatchOnly"]=0
operation_parameters_maximum_occurrences["postDestination:::projectKey"]=0
operation_parameters_maximum_occurrences["postDestination:::environmentKey"]=0
operation_parameters_maximum_occurrences["postDestination:::destinationBody"]=0
operation_parameters_maximum_occurrences["deleteEnvironment:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteEnvironment:::environmentKey"]=0
operation_parameters_maximum_occurrences["getEnvironment:::projectKey"]=0
operation_parameters_maximum_occurrences["getEnvironment:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchEnvironment:::projectKey"]=0
operation_parameters_maximum_occurrences["patchEnvironment:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchEnvironment:::patchDelta"]=0
operation_parameters_maximum_occurrences["postEnvironment:::projectKey"]=0
operation_parameters_maximum_occurrences["postEnvironment:::environmentBody"]=0
operation_parameters_maximum_occurrences["resetEnvironmentMobileKey:::projectKey"]=0
operation_parameters_maximum_occurrences["resetEnvironmentMobileKey:::environmentKey"]=0
operation_parameters_maximum_occurrences["resetEnvironmentMobileKey:::expiry"]=0
operation_parameters_maximum_occurrences["resetEnvironmentSDKKey:::projectKey"]=0
operation_parameters_maximum_occurrences["resetEnvironmentSDKKey:::environmentKey"]=0
operation_parameters_maximum_occurrences["resetEnvironmentSDKKey:::expiry"]=0
operation_parameters_maximum_occurrences["copyFeatureFlag:::projectKey"]=0
operation_parameters_maximum_occurrences["copyFeatureFlag:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["copyFeatureFlag:::featureFlagCopyBody"]=0
operation_parameters_maximum_occurrences["deleteApprovalRequest:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteApprovalRequest:::environmentKey"]=0
operation_parameters_maximum_occurrences["deleteApprovalRequest:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["deleteApprovalRequest:::approvalRequestId"]=0
operation_parameters_maximum_occurrences["deleteApprovalRequest:::approvalRequestConfigBody"]=0
operation_parameters_maximum_occurrences["deleteFeatureFlag:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteFeatureFlag:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["deleteFlagConfigScheduledChanges:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteFlagConfigScheduledChanges:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["deleteFlagConfigScheduledChanges:::environmentKey"]=0
operation_parameters_maximum_occurrences["deleteFlagConfigScheduledChanges:::scheduledChangeId"]=0
operation_parameters_maximum_occurrences["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::projectKey"]=0
operation_parameters_maximum_occurrences["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::environmentKey"]=0
operation_parameters_maximum_occurrences["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["flagsProjectKeyFeatureFlagKeyDependentFlagsGet:::projectKey"]=0
operation_parameters_maximum_occurrences["flagsProjectKeyFeatureFlagKeyDependentFlagsGet:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getApprovalRequest:::projectKey"]=0
operation_parameters_maximum_occurrences["getApprovalRequest:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getApprovalRequest:::environmentKey"]=0
operation_parameters_maximum_occurrences["getApprovalRequest:::approvalRequestId"]=0
operation_parameters_maximum_occurrences["getApprovalRequests:::projectKey"]=0
operation_parameters_maximum_occurrences["getApprovalRequests:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getApprovalRequests:::environmentKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargets:::projectKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargets:::environmentKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargets:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlag:::projectKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlag:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlag:::env"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatus:::projectKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatus:::environmentKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatus:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatusAcrossEnvironments:::projectKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatusAcrossEnvironments:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatuses:::projectKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlagStatuses:::environmentKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::projectKey"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::env"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::summary"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::archived"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::limit"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::offset"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::filter"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::sort"]=0
operation_parameters_maximum_occurrences["getFeatureFlags:::tag"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChange:::projectKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChange:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChange:::environmentKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChange:::scheduledChangeId"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChanges:::projectKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChanges:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChanges:::environmentKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChangesConflicts:::projectKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChangesConflicts:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChangesConflicts:::environmentKey"]=0
operation_parameters_maximum_occurrences["getFlagConfigScheduledChangesConflicts:::flagConfigScheduledChangesConflictsBody"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargets:::projectKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargets:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargets:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargets:::SemanticPatchWithComment"]=0
operation_parameters_maximum_occurrences["patchFeatureFlag:::projectKey"]=0
operation_parameters_maximum_occurrences["patchFeatureFlag:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["patchFeatureFlag:::patchComment"]=0
operation_parameters_maximum_occurrences["patchFlagConfigScheduledChange:::projectKey"]=0
operation_parameters_maximum_occurrences["patchFlagConfigScheduledChange:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["patchFlagConfigScheduledChange:::flagConfigScheduledChangesPatchBody"]=0
operation_parameters_maximum_occurrences["patchFlagConfigScheduledChange:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchFlagConfigScheduledChange:::scheduledChangeId"]=0
operation_parameters_maximum_occurrences["postApplyApprovalRequest:::projectKey"]=0
operation_parameters_maximum_occurrences["postApplyApprovalRequest:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["postApplyApprovalRequest:::environmentKey"]=0
operation_parameters_maximum_occurrences["postApplyApprovalRequest:::approvalRequestId"]=0
operation_parameters_maximum_occurrences["postApplyApprovalRequest:::approvalRequestApplyConfigBody"]=0
operation_parameters_maximum_occurrences["postApprovalRequest:::projectKey"]=0
operation_parameters_maximum_occurrences["postApprovalRequest:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["postApprovalRequest:::environmentKey"]=0
operation_parameters_maximum_occurrences["postApprovalRequest:::approvalRequestId"]=0
operation_parameters_maximum_occurrences["postApprovalRequest:::approvalRequestConfigBody"]=0
operation_parameters_maximum_occurrences["postFeatureFlag:::projectKey"]=0
operation_parameters_maximum_occurrences["postFeatureFlag:::featureFlagBody"]=0
operation_parameters_maximum_occurrences["postFeatureFlag:::clone"]=0
operation_parameters_maximum_occurrences["postFlagConfigScheduledChanges:::projectKey"]=0
operation_parameters_maximum_occurrences["postFlagConfigScheduledChanges:::flagConfigScheduledChangesPostBody"]=0
operation_parameters_maximum_occurrences["postFlagConfigScheduledChanges:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["postFlagConfigScheduledChanges:::environmentKey"]=0
operation_parameters_maximum_occurrences["postReviewApprovalRequest:::projectKey"]=0
operation_parameters_maximum_occurrences["postReviewApprovalRequest:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["postReviewApprovalRequest:::environmentKey"]=0
operation_parameters_maximum_occurrences["postReviewApprovalRequest:::approvalRequestId"]=0
operation_parameters_maximum_occurrences["postReviewApprovalRequest:::approvalRequestReviewConfigBody"]=0
operation_parameters_maximum_occurrences["deleteIntegrationSubscription:::integrationKey"]=0
operation_parameters_maximum_occurrences["deleteIntegrationSubscription:::integrationId"]=0
operation_parameters_maximum_occurrences["getIntegrationSubscription:::integrationKey"]=0
operation_parameters_maximum_occurrences["getIntegrationSubscription:::integrationId"]=0
operation_parameters_maximum_occurrences["getIntegrationSubscriptions:::integrationKey"]=0
operation_parameters_maximum_occurrences["patchIntegrationSubscription:::integrationKey"]=0
operation_parameters_maximum_occurrences["patchIntegrationSubscription:::integrationId"]=0
operation_parameters_maximum_occurrences["patchIntegrationSubscription:::patchDelta"]=0
operation_parameters_maximum_occurrences["postIntegrationSubscription:::integrationKey"]=0
operation_parameters_maximum_occurrences["postIntegrationSubscription:::subscriptionBody"]=0
operation_parameters_maximum_occurrences["deleteProject:::projectKey"]=0
operation_parameters_maximum_occurrences["getProject:::projectKey"]=0
operation_parameters_maximum_occurrences["patchProject:::projectKey"]=0
operation_parameters_maximum_occurrences["patchProject:::patchDelta"]=0
operation_parameters_maximum_occurrences["postProject:::projectBody"]=0
operation_parameters_maximum_occurrences["deleteRelayProxyConfig:::id"]=0
operation_parameters_maximum_occurrences["getRelayProxyConfig:::id"]=0
operation_parameters_maximum_occurrences["patchRelayProxyConfig:::id"]=0
operation_parameters_maximum_occurrences["patchRelayProxyConfig:::patchDelta"]=0
operation_parameters_maximum_occurrences["postRelayAutoConfig:::relayProxyConfigBody"]=0
operation_parameters_maximum_occurrences["resetRelayProxyConfig:::id"]=0
operation_parameters_maximum_occurrences["resetRelayProxyConfig:::expiry"]=0
operation_parameters_maximum_occurrences["deleteMember:::memberId"]=0
operation_parameters_maximum_occurrences["getMember:::memberId"]=0
operation_parameters_maximum_occurrences["getMembers:::limit"]=0
operation_parameters_maximum_occurrences["getMembers:::offset"]=0
operation_parameters_maximum_occurrences["getMembers:::filter"]=0
operation_parameters_maximum_occurrences["getMembers:::sort"]=0
operation_parameters_maximum_occurrences["patchMember:::memberId"]=0
operation_parameters_maximum_occurrences["patchMember:::patchDelta"]=0
operation_parameters_maximum_occurrences["postMembers:::membersBody"]=0
operation_parameters_maximum_occurrences["deleteUserSegment:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteUserSegment:::environmentKey"]=0
operation_parameters_maximum_occurrences["deleteUserSegment:::userSegmentKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargetsOnSegment:::projectKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargetsOnSegment:::environmentKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargetsOnSegment:::userSegmentKey"]=0
operation_parameters_maximum_occurrences["getUserSegment:::projectKey"]=0
operation_parameters_maximum_occurrences["getUserSegment:::environmentKey"]=0
operation_parameters_maximum_occurrences["getUserSegment:::userSegmentKey"]=0
operation_parameters_maximum_occurrences["getUserSegments:::projectKey"]=0
operation_parameters_maximum_occurrences["getUserSegments:::environmentKey"]=0
operation_parameters_maximum_occurrences["getUserSegments:::tag"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsOnSegment:::projectKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsOnSegment:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsOnSegment:::userSegmentKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsOnSegment:::SemanticPatchWithComment"]=0
operation_parameters_maximum_occurrences["patchUserSegment:::projectKey"]=0
operation_parameters_maximum_occurrences["patchUserSegment:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchUserSegment:::userSegmentKey"]=0
operation_parameters_maximum_occurrences["patchUserSegment:::PatchOnly"]=0
operation_parameters_maximum_occurrences["postUserSegment:::projectKey"]=0
operation_parameters_maximum_occurrences["postUserSegment:::environmentKey"]=0
operation_parameters_maximum_occurrences["postUserSegment:::userSegmentBody"]=0
operation_parameters_maximum_occurrences["updateBigSegmentTargets:::projectKey"]=0
operation_parameters_maximum_occurrences["updateBigSegmentTargets:::environmentKey"]=0
operation_parameters_maximum_occurrences["updateBigSegmentTargets:::userSegmentKey"]=0
operation_parameters_maximum_occurrences["updateBigSegmentTargets:::bigSegmentTargetsBody"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargetsForUser:::projectKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargetsForUser:::environmentKey"]=0
operation_parameters_maximum_occurrences["getExpiringUserTargetsForUser:::userKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSetting:::projectKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSetting:::environmentKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSetting:::userKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSetting:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSettings:::projectKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSettings:::environmentKey"]=0
operation_parameters_maximum_occurrences["getUserFlagSettings:::userKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsForFlags:::projectKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsForFlags:::environmentKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsForFlags:::userKey"]=0
operation_parameters_maximum_occurrences["patchExpiringUserTargetsForFlags:::SemanticPatchWithComment"]=0
operation_parameters_maximum_occurrences["putFlagSetting:::projectKey"]=0
operation_parameters_maximum_occurrences["putFlagSetting:::environmentKey"]=0
operation_parameters_maximum_occurrences["putFlagSetting:::userKey"]=0
operation_parameters_maximum_occurrences["putFlagSetting:::featureFlagKey"]=0
operation_parameters_maximum_occurrences["putFlagSetting:::userSettingsBody"]=0
operation_parameters_maximum_occurrences["deleteUser:::projectKey"]=0
operation_parameters_maximum_occurrences["deleteUser:::environmentKey"]=0
operation_parameters_maximum_occurrences["deleteUser:::userKey"]=0
operation_parameters_maximum_occurrences["getSearchUsers:::projectKey"]=0
operation_parameters_maximum_occurrences["getSearchUsers:::environmentKey"]=0
operation_parameters_maximum_occurrences["getSearchUsers:::q"]=0
operation_parameters_maximum_occurrences["getSearchUsers:::limit"]=0
operation_parameters_maximum_occurrences["getSearchUsers:::offset"]=0
operation_parameters_maximum_occurrences["getSearchUsers:::after"]=0
operation_parameters_maximum_occurrences["getUser:::projectKey"]=0
operation_parameters_maximum_occurrences["getUser:::environmentKey"]=0
operation_parameters_maximum_occurrences["getUser:::userKey"]=0
operation_parameters_maximum_occurrences["getUsers:::projectKey"]=0
operation_parameters_maximum_occurrences["getUsers:::environmentKey"]=0
operation_parameters_maximum_occurrences["getUsers:::limit"]=0
operation_parameters_maximum_occurrences["getUsers:::h"]=0
operation_parameters_maximum_occurrences["getUsers:::scrollId"]=0
operation_parameters_maximum_occurrences["deleteWebhook:::resourceId"]=0
operation_parameters_maximum_occurrences["getWebhook:::resourceId"]=0
operation_parameters_maximum_occurrences["patchWebhook:::resourceId"]=0
operation_parameters_maximum_occurrences["patchWebhook:::patchDelta"]=0
operation_parameters_maximum_occurrences["postWebhook:::webhookBody"]=0
##
# The type of collection for specifying multiple values for parameter:
# - multi, csv, ssv, tsv
declare -A operation_parameters_collection_type
operation_parameters_collection_type["deleteToken:::tokenId"]=""
operation_parameters_collection_type["getToken:::tokenId"]=""
operation_parameters_collection_type["getTokens:::showAll"]=""
operation_parameters_collection_type["patchToken:::tokenId"]=""
operation_parameters_collection_type["patchToken:::patchDelta"]=
operation_parameters_collection_type["postToken:::tokenBody"]=""
operation_parameters_collection_type["resetToken:::tokenId"]=""
operation_parameters_collection_type["resetToken:::expiry"]=""
operation_parameters_collection_type["getAuditLogEntries:::before"]=""
operation_parameters_collection_type["getAuditLogEntries:::after"]=""
operation_parameters_collection_type["getAuditLogEntries:::q"]=""
operation_parameters_collection_type["getAuditLogEntries:::limit"]=""
operation_parameters_collection_type["getAuditLogEntries:::spec"]=""
operation_parameters_collection_type["getAuditLogEntry:::resourceId"]=""
operation_parameters_collection_type["deleteCustomRole:::customRoleKey"]=""
operation_parameters_collection_type["getCustomRole:::customRoleKey"]=""
operation_parameters_collection_type["patchCustomRole:::customRoleKey"]=""
operation_parameters_collection_type["patchCustomRole:::patchDelta"]=
operation_parameters_collection_type["postCustomRole:::customRoleBody"]=""
operation_parameters_collection_type["getEvaluations:::envId"]=""
operation_parameters_collection_type["getEvaluations:::flagKey"]=""
operation_parameters_collection_type["getEvent:::type"]=""
operation_parameters_collection_type["getStream:::source"]=""
operation_parameters_collection_type["getStreamBySDK:::source"]=""
operation_parameters_collection_type["getStreamSDKVersion:::source"]=""
operation_parameters_collection_type["deleteDestination:::projectKey"]=""
operation_parameters_collection_type["deleteDestination:::environmentKey"]=""
operation_parameters_collection_type["deleteDestination:::destinationId"]=""
operation_parameters_collection_type["getDestination:::projectKey"]=""
operation_parameters_collection_type["getDestination:::environmentKey"]=""
operation_parameters_collection_type["getDestination:::destinationId"]=""
operation_parameters_collection_type["patchDestination:::projectKey"]=""
operation_parameters_collection_type["patchDestination:::environmentKey"]=""
operation_parameters_collection_type["patchDestination:::destinationId"]=""
operation_parameters_collection_type["patchDestination:::PatchOnly"]=
operation_parameters_collection_type["postDestination:::projectKey"]=""
operation_parameters_collection_type["postDestination:::environmentKey"]=""
operation_parameters_collection_type["postDestination:::destinationBody"]=""
operation_parameters_collection_type["deleteEnvironment:::projectKey"]=""
operation_parameters_collection_type["deleteEnvironment:::environmentKey"]=""
operation_parameters_collection_type["getEnvironment:::projectKey"]=""
operation_parameters_collection_type["getEnvironment:::environmentKey"]=""
operation_parameters_collection_type["patchEnvironment:::projectKey"]=""
operation_parameters_collection_type["patchEnvironment:::environmentKey"]=""
operation_parameters_collection_type["patchEnvironment:::patchDelta"]=
operation_parameters_collection_type["postEnvironment:::projectKey"]=""
operation_parameters_collection_type["postEnvironment:::environmentBody"]=""
operation_parameters_collection_type["resetEnvironmentMobileKey:::projectKey"]=""
operation_parameters_collection_type["resetEnvironmentMobileKey:::environmentKey"]=""
operation_parameters_collection_type["resetEnvironmentMobileKey:::expiry"]=""
operation_parameters_collection_type["resetEnvironmentSDKKey:::projectKey"]=""
operation_parameters_collection_type["resetEnvironmentSDKKey:::environmentKey"]=""
operation_parameters_collection_type["resetEnvironmentSDKKey:::expiry"]=""
operation_parameters_collection_type["copyFeatureFlag:::projectKey"]=""
operation_parameters_collection_type["copyFeatureFlag:::featureFlagKey"]=""
operation_parameters_collection_type["copyFeatureFlag:::featureFlagCopyBody"]=""
operation_parameters_collection_type["deleteApprovalRequest:::projectKey"]=""
operation_parameters_collection_type["deleteApprovalRequest:::environmentKey"]=""
operation_parameters_collection_type["deleteApprovalRequest:::featureFlagKey"]=""
operation_parameters_collection_type["deleteApprovalRequest:::approvalRequestId"]=""
operation_parameters_collection_type["deleteApprovalRequest:::approvalRequestConfigBody"]=""
operation_parameters_collection_type["deleteFeatureFlag:::projectKey"]=""
operation_parameters_collection_type["deleteFeatureFlag:::featureFlagKey"]=""
operation_parameters_collection_type["deleteFlagConfigScheduledChanges:::projectKey"]=""
operation_parameters_collection_type["deleteFlagConfigScheduledChanges:::featureFlagKey"]=""
operation_parameters_collection_type["deleteFlagConfigScheduledChanges:::environmentKey"]=""
operation_parameters_collection_type["deleteFlagConfigScheduledChanges:::scheduledChangeId"]=""
operation_parameters_collection_type["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::projectKey"]=""
operation_parameters_collection_type["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::environmentKey"]=""
operation_parameters_collection_type["flagsProjectKeyEnvironmentKeyFeatureFlagKeyDependentFlagsGet:::featureFlagKey"]=""
operation_parameters_collection_type["flagsProjectKeyFeatureFlagKeyDependentFlagsGet:::projectKey"]=""
operation_parameters_collection_type["flagsProjectKeyFeatureFlagKeyDependentFlagsGet:::featureFlagKey"]=""
operation_parameters_collection_type["getApprovalRequest:::projectKey"]=""
operation_parameters_collection_type["getApprovalRequest:::featureFlagKey"]=""
operation_parameters_collection_type["getApprovalRequest:::environmentKey"]=""
operation_parameters_collection_type["getApprovalRequest:::approvalRequestId"]=""
operation_parameters_collection_type["getApprovalRequests:::projectKey"]=""
operation_parameters_collection_type["getApprovalRequests:::featureFlagKey"]=""
operation_parameters_collection_type["getApprovalRequests:::environmentKey"]=""
operation_parameters_collection_type["getExpiringUserTargets:::projectKey"]=""
operation_parameters_collection_type["getExpiringUserTargets:::environmentKey"]=""
operation_parameters_collection_type["getExpiringUserTargets:::featureFlagKey"]=""
operation_parameters_collection_type["getFeatureFlag:::projectKey"]=""
operation_parameters_collection_type["getFeatureFlag:::featureFlagKey"]=""
operation_parameters_collection_type["getFeatureFlag:::env"]="multi"
operation_parameters_collection_type["getFeatureFlagStatus:::projectKey"]=""
operation_parameters_collection_type["getFeatureFlagStatus:::environmentKey"]=""
operation_parameters_collection_type["getFeatureFlagStatus:::featureFlagKey"]=""
operation_parameters_collection_type["getFeatureFlagStatusAcrossEnvironments:::projectKey"]=""
operation_parameters_collection_type["getFeatureFlagStatusAcrossEnvironments:::featureFlagKey"]=""
operation_parameters_collection_type["getFeatureFlagStatuses:::projectKey"]=""
operation_parameters_collection_type["getFeatureFlagStatuses:::environmentKey"]=""
operation_parameters_collection_type["getFeatureFlags:::projectKey"]=""
operation_parameters_collection_type["getFeatureFlags:::env"]="multi"
operation_parameters_collection_type["getFeatureFlags:::summary"]=""
operation_parameters_collection_type["getFeatureFlags:::archived"]=""
operation_parameters_collection_type["getFeatureFlags:::limit"]=""
operation_parameters_collection_type["getFeatureFlags:::offset"]=""
operation_parameters_collection_type["getFeatureFlags:::filter"]=""
operation_parameters_collection_type["getFeatureFlags:::sort"]=""
operation_parameters_collection_type["getFeatureFlags:::tag"]=""
operation_parameters_collection_type["getFlagConfigScheduledChange:::projectKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChange:::featureFlagKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChange:::environmentKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChange:::scheduledChangeId"]=""
operation_parameters_collection_type["getFlagConfigScheduledChanges:::projectKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChanges:::featureFlagKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChanges:::environmentKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChangesConflicts:::projectKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChangesConflicts:::featureFlagKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChangesConflicts:::environmentKey"]=""
operation_parameters_collection_type["getFlagConfigScheduledChangesConflicts:::flagConfigScheduledChangesConflictsBody"]=""
operation_parameters_collection_type["patchExpiringUserTargets:::projectKey"]=""
operation_parameters_collection_type["patchExpiringUserTargets:::environmentKey"]=""
operation_parameters_collection_type["patchExpiringUserTargets:::featureFlagKey"]=""
operation_parameters_collection_type["patchExpiringUserTargets:::SemanticPatchWithComment"]=""
operation_parameters_collection_type["patchFeatureFlag:::projectKey"]=""
operation_parameters_collection_type["patchFeatureFlag:::featureFlagKey"]=""
operation_parameters_collection_type["patchFeatureFlag:::patchComment"]=""
operation_parameters_collection_type["patchFlagConfigScheduledChange:::projectKey"]=""
operation_parameters_collection_type["patchFlagConfigScheduledChange:::featureFlagKey"]=""
operation_parameters_collection_type["patchFlagConfigScheduledChange:::flagConfigScheduledChangesPatchBody"]=""
operation_parameters_collection_type["patchFlagConfigScheduledChange:::environmentKey"]=""
operation_parameters_collection_type["patchFlagConfigScheduledChange:::scheduledChangeId"]=""
operation_parameters_collection_type["postApplyApprovalRequest:::projectKey"]=""
operation_parameters_collection_type["postApplyApprovalRequest:::featureFlagKey"]=""
operation_parameters_collection_type["postApplyApprovalRequest:::environmentKey"]=""
operation_parameters_collection_type["postApplyApprovalRequest:::approvalRequestId"]=""
operation_parameters_collection_type["postApplyApprovalRequest:::approvalRequestApplyConfigBody"]=""
operation_parameters_collection_type["postApprovalRequest:::projectKey"]=""
operation_parameters_collection_type["postApprovalRequest:::featureFlagKey"]=""
operation_parameters_collection_type["postApprovalRequest:::environmentKey"]=""
operation_parameters_collection_type["postApprovalRequest:::approvalRequestId"]=""
operation_parameters_collection_type["postApprovalRequest:::approvalRequestConfigBody"]=""
operation_parameters_collection_type["postFeatureFlag:::projectKey"]=""
operation_parameters_collection_type["postFeatureFlag:::featureFlagBody"]=""
operation_parameters_collection_type["postFeatureFlag:::clone"]=""
operation_parameters_collection_type["postFlagConfigScheduledChanges:::projectKey"]=""
operation_parameters_collection_type["postFlagConfigScheduledChanges:::flagConfigScheduledChangesPostBody"]=""
operation_parameters_collection_type["postFlagConfigScheduledChanges:::featureFlagKey"]=""
operation_parameters_collection_type["postFlagConfigScheduledChanges:::environmentKey"]=""
operation_parameters_collection_type["postReviewApprovalRequest:::projectKey"]=""
operation_parameters_collection_type["postReviewApprovalRequest:::featureFlagKey"]=""
operation_parameters_collection_type["postReviewApprovalRequest:::environmentKey"]=""
operation_parameters_collection_type["postReviewApprovalRequest:::approvalRequestId"]=""
operation_parameters_collection_type["postReviewApprovalRequest:::approvalRequestReviewConfigBody"]=""
operation_parameters_collection_type["deleteIntegrationSubscription:::integrationKey"]=""
operation_parameters_collection_type["deleteIntegrationSubscription:::integrationId"]=""
operation_parameters_collection_type["getIntegrationSubscription:::integrationKey"]=""
operation_parameters_collection_type["getIntegrationSubscription:::integrationId"]=""
operation_parameters_collection_type["getIntegrationSubscriptions:::integrationKey"]=""
operation_parameters_collection_type["patchIntegrationSubscription:::integrationKey"]=""
operation_parameters_collection_type["patchIntegrationSubscription:::integrationId"]=""
operation_parameters_collection_type["patchIntegrationSubscription:::patchDelta"]=
operation_parameters_collection_type["postIntegrationSubscription:::integrationKey"]=""
operation_parameters_collection_type["postIntegrationSubscription:::subscriptionBody"]=""
operation_parameters_collection_type["deleteProject:::projectKey"]=""
operation_parameters_collection_type["getProject:::projectKey"]=""
operation_parameters_collection_type["patchProject:::projectKey"]=""
operation_parameters_collection_type["patchProject:::patchDelta"]=
operation_parameters_collection_type["postProject:::projectBody"]=""
operation_parameters_collection_type["deleteRelayProxyConfig:::id"]=""
operation_parameters_collection_type["getRelayProxyConfig:::id"]=""
operation_parameters_collection_type["patchRelayProxyConfig:::id"]=""
operation_parameters_collection_type["patchRelayProxyConfig:::patchDelta"]=
operation_parameters_collection_type["postRelayAutoConfig:::relayProxyConfigBody"]=""
operation_parameters_collection_type["resetRelayProxyConfig:::id"]=""
operation_parameters_collection_type["resetRelayProxyConfig:::expiry"]=""
operation_parameters_collection_type["deleteMember:::memberId"]=""
operation_parameters_collection_type["getMember:::memberId"]=""
operation_parameters_collection_type["getMembers:::limit"]=""
operation_parameters_collection_type["getMembers:::offset"]=""
operation_parameters_collection_type["getMembers:::filter"]=""
operation_parameters_collection_type["getMembers:::sort"]=""
operation_parameters_collection_type["patchMember:::memberId"]=""
operation_parameters_collection_type["patchMember:::patchDelta"]=
operation_parameters_collection_type["postMembers:::membersBody"]=
operation_parameters_collection_type["deleteUserSegment:::projectKey"]=""
operation_parameters_collection_type["deleteUserSegment:::environmentKey"]=""
operation_parameters_collection_type["deleteUserSegment:::userSegmentKey"]=""
operation_parameters_collection_type["getExpiringUserTargetsOnSegment:::projectKey"]=""
operation_parameters_collection_type["getExpiringUserTargetsOnSegment:::environmentKey"]=""
operation_parameters_collection_type["getExpiringUserTargetsOnSegment:::userSegmentKey"]=""
operation_parameters_collection_type["getUserSegment:::projectKey"]=""
operation_parameters_collection_type["getUserSegment:::environmentKey"]=""
operation_parameters_collection_type["getUserSegment:::userSegmentKey"]=""
operation_parameters_collection_type["getUserSegments:::projectKey"]=""
operation_parameters_collection_type["getUserSegments:::environmentKey"]=""
operation_parameters_collection_type["getUserSegments:::tag"]=""
operation_parameters_collection_type["patchExpiringUserTargetsOnSegment:::projectKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsOnSegment:::environmentKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsOnSegment:::userSegmentKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsOnSegment:::SemanticPatchWithComment"]=""
operation_parameters_collection_type["patchUserSegment:::projectKey"]=""
operation_parameters_collection_type["patchUserSegment:::environmentKey"]=""
operation_parameters_collection_type["patchUserSegment:::userSegmentKey"]=""
operation_parameters_collection_type["patchUserSegment:::PatchOnly"]=
operation_parameters_collection_type["postUserSegment:::projectKey"]=""
operation_parameters_collection_type["postUserSegment:::environmentKey"]=""
operation_parameters_collection_type["postUserSegment:::userSegmentBody"]=""
operation_parameters_collection_type["updateBigSegmentTargets:::projectKey"]=""
operation_parameters_collection_type["updateBigSegmentTargets:::environmentKey"]=""
operation_parameters_collection_type["updateBigSegmentTargets:::userSegmentKey"]=""
operation_parameters_collection_type["updateBigSegmentTargets:::bigSegmentTargetsBody"]=""
operation_parameters_collection_type["getExpiringUserTargetsForUser:::projectKey"]=""
operation_parameters_collection_type["getExpiringUserTargetsForUser:::environmentKey"]=""
operation_parameters_collection_type["getExpiringUserTargetsForUser:::userKey"]=""
operation_parameters_collection_type["getUserFlagSetting:::projectKey"]=""
operation_parameters_collection_type["getUserFlagSetting:::environmentKey"]=""
operation_parameters_collection_type["getUserFlagSetting:::userKey"]=""
operation_parameters_collection_type["getUserFlagSetting:::featureFlagKey"]=""
operation_parameters_collection_type["getUserFlagSettings:::projectKey"]=""
operation_parameters_collection_type["getUserFlagSettings:::environmentKey"]=""
operation_parameters_collection_type["getUserFlagSettings:::userKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsForFlags:::projectKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsForFlags:::environmentKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsForFlags:::userKey"]=""
operation_parameters_collection_type["patchExpiringUserTargetsForFlags:::SemanticPatchWithComment"]=""
operation_parameters_collection_type["putFlagSetting:::projectKey"]=""
operation_parameters_collection_type["putFlagSetting:::environmentKey"]=""
operation_parameters_collection_type["putFlagSetting:::userKey"]=""
operation_parameters_collection_type["putFlagSetting:::featureFlagKey"]=""
operation_parameters_collection_type["putFlagSetting:::userSettingsBody"]=""
operation_parameters_collection_type["deleteUser:::projectKey"]=""
operation_parameters_collection_type["deleteUser:::environmentKey"]=""
operation_parameters_collection_type["deleteUser:::userKey"]=""
operation_parameters_collection_type["getSearchUsers:::projectKey"]=""
operation_parameters_collection_type["getSearchUsers:::environmentKey"]=""
operation_parameters_collection_type["getSearchUsers:::q"]=""
operation_parameters_collection_type["getSearchUsers:::limit"]=""
operation_parameters_collection_type["getSearchUsers:::offset"]=""
operation_parameters_collection_type["getSearchUsers:::after"]=""
operation_parameters_collection_type["getUser:::projectKey"]=""
operation_parameters_collection_type["getUser:::environmentKey"]=""
operation_parameters_collection_type["getUser:::userKey"]=""
operation_parameters_collection_type["getUsers:::projectKey"]=""
operation_parameters_collection_type["getUsers:::environmentKey"]=""
operation_parameters_collection_type["getUsers:::limit"]=""
operation_parameters_collection_type["getUsers:::h"]=""
operation_parameters_collection_type["getUsers:::scrollId"]=""
operation_parameters_collection_type["deleteWebhook:::resourceId"]=""
operation_parameters_collection_type["getWebhook:::resourceId"]=""
operation_parameters_collection_type["patchWebhook:::resourceId"]=""
operation_parameters_collection_type["patchWebhook:::patchDelta"]=
operation_parameters_collection_type["postWebhook:::webhookBody"]=""
##
# Map for body parameters passed after operation as
# PARAMETER==STRING_VALUE or PARAMETER:=NUMERIC_VALUE
# These will be mapped to top level json keys ( { "PARAMETER": "VALUE" })
declare -A body_parameters
##
# These arguments will be directly passed to cURL
curl_arguments=""
##
# The host for making the request
host=""
##
# The user credentials for basic authentication
basic_auth_credential=""
##
# The user API key
apikey_auth_credential=""
##
# If true, the script will only output the actual cURL command that would be
# used
print_curl=false
##
# The operation ID passed on the command line
operation=""
##
# The provided Accept header value
header_accept=""
##
# The provided Content-type header value
header_content_type=""
##
# If there is any body content on the stdin pass it to the body of the request
body_content_temp_file=""
##
# If this variable is set to true, the request will be performed even
# if parameters for required query, header or body values are not provided
# (path parameters are still required).
force=false
##
# Declare some mime types abbreviations for easier content-type and accepts
# headers specification
declare -A mime_type_abbreviations
# text/*
mime_type_abbreviations["text"]="text/plain"
mime_type_abbreviations["html"]="text/html"
mime_type_abbreviations["md"]="text/x-markdown"
mime_type_abbreviations["csv"]="text/csv"
mime_type_abbreviations["css"]="text/css"
mime_type_abbreviations["rtf"]="text/rtf"
# application/*
mime_type_abbreviations["json"]="application/json"
mime_type_abbreviations["xml"]="application/xml"
mime_type_abbreviations["yaml"]="application/yaml"
mime_type_abbreviations["js"]="application/javascript"
mime_type_abbreviations["bin"]="application/octet-stream"
mime_type_abbreviations["rdf"]="application/rdf+xml"
# image/*
mime_type_abbreviations["jpg"]="image/jpeg"
mime_type_abbreviations["png"]="image/png"
mime_type_abbreviations["gif"]="image/gif"
mime_type_abbreviations["bmp"]="image/bmp"
mime_type_abbreviations["tiff"]="image/tiff"
##############################################################################
#
# Escape special URL characters
# Based on table at http://www.w3schools.com/tags/ref_urlencode.asp
#
##############################################################################
url_escape() {
local raw_url="$1"
value=$(sed -e 's/ /%20/g' \
-e 's/!/%21/g' \
-e 's/"/%22/g' \
-e 's/#/%23/g' \
-e 's/\&/%26/g' \
-e 's/'\''/%28/g' \
-e 's/(/%28/g' \
-e 's/)/%29/g' \
-e 's/:/%3A/g' \
-e 's/\t/%09/g' \
-e 's/?/%3F/g' <<<"$raw_url");
echo "$value"
}
##############################################################################
#
# Lookup the mime type abbreviation in the mime_type_abbreviations array.
# If not present assume the user provided a valid mime type
#
##############################################################################
lookup_mime_type() {
local mime_type="$1"
if [[ ${mime_type_abbreviations[$mime_type]} ]]; then
echo "${mime_type_abbreviations[$mime_type]}"
else
echo "$mime_type"
fi
}
##############################################################################
#
# Converts an associative array into a list of cURL header
# arguments (-H "KEY: VALUE")
#
##############################################################################
header_arguments_to_curl() {
local headers_curl=""
local api_key_header=""
local api_key_header_in_cli=""
api_key_header="Authorization"
for key in "${!header_arguments[@]}"; do
headers_curl+="-H \"${key}: ${header_arguments[${key}]}\" "
if [[ "${key}XX" == "${api_key_header}XX" ]]; then
api_key_header_in_cli="YES"
fi
done
#
# If the api_key was not provided in the header, try one from the
# environment variable
#
if [[ -z $api_key_header_in_cli && -n $apikey_auth_credential ]]; then
headers_curl+="-H \"${api_key_header}: ${apikey_auth_credential}\""
fi
headers_curl+=" "
echo "${headers_curl}"
}
##############################################################################
#
# Converts an associative array into a simple JSON with keys as top
# level object attributes
#
# \todo Add conversion of more complex attributes using paths
#
##############################################################################