ac-awssecrets 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,610 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for index.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="prettify.css" />
9
- <link rel="stylesheet" href="base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="index.html">All files</a> index.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">84.33% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>70/83</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">68.85% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>42/61</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">92.85% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>13/14</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">85.52% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>65/76</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
242
- <span class="cline-any cline-yes">1x</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">1x</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">1x</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-yes">25x</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-yes">1x</span>
267
- <span class="cline-any cline-yes">23x</span>
268
- <span class="cline-any cline-yes">23x</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-yes">1x</span>
276
- <span class="cline-any cline-yes">3x</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">3x</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">3x</span>
284
- <span class="cline-any cline-no">&nbsp;</span>
285
- <span class="cline-any cline-no">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-yes">3x</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-yes">3x</span>
291
- <span class="cline-any cline-yes">19x</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-yes">19x</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-yes">124x</span>
297
- <span class="cline-any cline-yes">19x</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-no">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-no">&nbsp;</span>
304
- <span class="cline-any cline-no">&nbsp;</span>
305
- <span class="cline-any cline-no">&nbsp;</span>
306
- <span class="cline-any cline-no">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-no">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-yes">19x</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">3x</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-yes">5x</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-yes">19x</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-yes">3x</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-yes">2x</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-yes">2x</span>
331
- <span class="cline-any cline-yes">2x</span>
332
- <span class="cline-any cline-yes">2x</span>
333
- <span class="cline-any cline-no">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-yes">2x</span>
337
- <span class="cline-any cline-yes">4x</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-yes">4x</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-yes">3x</span>
348
- <span class="cline-any cline-yes">3x</span>
349
- <span class="cline-any cline-yes">3x</span>
350
- <span class="cline-any cline-yes">17x</span>
351
- <span class="cline-any cline-yes">17x</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-yes">17x</span>
355
- <span class="cline-any cline-yes">17x</span>
356
- <span class="cline-any cline-yes">33x</span>
357
- <span class="cline-any cline-yes">33x</span>
358
- <span class="cline-any cline-yes">32x</span>
359
- <span class="cline-any cline-yes">32x</span>
360
- <span class="cline-any cline-yes">2x</span>
361
- <span class="cline-any cline-yes">2x</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">1x</span>
365
- <span class="cline-any cline-yes">1x</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">32x</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-yes">16x</span>
373
- <span class="cline-any cline-yes">2x</span>
374
- <span class="cline-any cline-yes">2x</span>
375
- <span class="cline-any cline-yes">2x</span>
376
- <span class="cline-any cline-yes">2x</span>
377
- <span class="cline-any cline-yes">2x</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-yes">2x</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-yes">14x</span>
392
- <span class="cline-any cline-yes">6x</span>
393
- <span class="cline-any cline-yes">6x</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-yes">8x</span>
397
- <span class="cline-any cline-yes">1x</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-yes">8x</span>
400
- <span class="cline-any cline-yes">8x</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-yes">16x</span>
404
- <span class="cline-any cline-yes">9x</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-yes">1x</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-yes">1x</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { SecretsManagerClient, GetSecretValueCommand } = require("@aws-sdk/client-secrets-manager");
417
- const { fromIni } = require("@aws-sdk/credential-providers")
418
- &nbsp;
419
- const testConfig = require('./test/config')
420
- &nbsp;
421
- /**
422
- * Replaces configuration variables with secrets
423
- &nbsp;
424
- KEY is the variable name
425
- NAME is the name of the secret
426
- &nbsp;
427
- OPT
428
- serverName
429
- &nbsp;
430
- MULTISECRETS
431
- Multisecrets -&gt; the secret contains a list of secrets that should be fetched
432
- *
433
- * TESTMODES
434
- * 3 -&gt; use secrets from testConfig
435
- */
436
- &nbsp;
437
- const awsSecrets = () =&gt; {
438
- &nbsp;
439
- const getKey = (obj, key) =&gt; key.split('.').reduce((acc, cur) =&gt; acc[cur], obj)
440
- &nbsp;
441
- const setKey = (obj, key, value ) =&gt; {
442
- const [head, ...rest] = key.split('.')
443
- !rest.length
444
- ? obj[head] = value
445
- : setKey(obj[head], rest.join('.'), value)
446
- }
447
- &nbsp;
448
- &nbsp;
449
- const functionName = 'ac-awsSecrets'.padEnd(15)
450
- const loadSecrets = async({ secrets = <span class="branch-0 cbranch-no" title="branch not covered" >[],</span> multisecrets = [], config = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span> profile = process.env['profile'], testMode = <span class="branch-0 cbranch-no" title="branch not covered" >0,</span> debug = false } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
451
- const environment = config?.environment || 'development'
452
- &nbsp;
453
- const awsConfig = {
454
- region: 'eu-central-1'
455
- }
456
- // credentials are determined from Lambda role.
457
- // But you can also use a set profile
458
- <span class="missing-if-branch" title="if path not taken" >I</span>if (profile) {
459
- <span class="cstat-no" title="statement not covered" > console.error('%s | Using AWS profile | %s', functionName, profile)</span>
460
- <span class="cstat-no" title="statement not covered" > awsConfig.credentials = fromIni({ profile })</span>
461
- }
462
- const client = new SecretsManagerClient(awsConfig)
463
- &nbsp;
464
-
465
- const getSecret = async({ secret }) =&gt; {
466
- const secretName = (environment === 'test' ? <span class="branch-0 cbranch-no" title="branch not covered" >'test.' </span>: '') + secret?.name + (secret?.suffix ? <span class="branch-0 cbranch-no" title="branch not covered" >'.' + secret?.suffix </span>: '')
467
- &nbsp;
468
- // TESTMODE
469
- <span class="missing-if-branch" title="else path not taken" >E</span>if (testMode === 3) {
470
- // fetch from availableSecrets
471
- let found = testConfig.availableSecrets.find(item =&gt; item.name === secret.name)
472
- secret.value = found?.value
473
- }
474
- else {
475
- const command = <span class="cstat-no" title="statement not covered" >new GetSecretValueCommand({</span>
476
- SecretId: secretName
477
- })
478
- <span class="cstat-no" title="statement not covered" > try {</span>
479
- const response = <span class="cstat-no" title="statement not covered" >await client.send(command)</span>
480
- <span class="cstat-no" title="statement not covered" > if (response?.SecretString) {</span>
481
- <span class="cstat-no" title="statement not covered" > secret.value = JSON.parse(response?.SecretString)</span>
482
- }
483
- }
484
- catch(e) {
485
- <span class="cstat-no" title="statement not covered" > console.error('%s | %s | %s', functionName, secretName, e?.message)</span>
486
- }
487
- }
488
- return secret
489
- }
490
- &nbsp;
491
- const fetchSecrets = async({ secrets }) =&gt; {
492
- // filter out secrets with ignoreInTestMode = true
493
- <span class="missing-if-branch" title="if path not taken" >I</span>if (environment === 'test') {
494
- <span class="cstat-no" title="statement not covered" > secrets = secrets.filter(<span class="fstat-no" title="function not covered" >se</span>cret =&gt; <span class="cstat-no" title="statement not covered" >!secret.ignoreInTestMode)</span></span>
495
- }
496
- return Promise.all(secrets.map(secret =&gt; getSecret({ secret })))
497
- }
498
- &nbsp;
499
- // fetch placeholder
500
- if (multisecrets.length &gt; 0) {
501
- // some keys can have multiple entries (e.g. cloudfrontCOnfigs can have 1 - n entries)
502
- // we have to fetch them first from a secret and add them to the secrets to fetch
503
- let secretsToAdd = await fetchSecrets({ secrets: multisecrets })
504
- // iterate each multisecret and add the values as new secrets
505
- secretsToAdd.forEach(secadd =&gt; {
506
- let items = JSON.parse(secadd?.value?.values) || <span class="branch-1 cbranch-no" title="branch not covered" >[]</span>
507
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof items !== 'object' || items.length &lt; 1) {
508
- <span class="cstat-no" title="statement not covered" > console.error('%s | %s | MultiSecret has no valid property values', functionName, secadd.name)</span>
509
- <span class="cstat-no" title="statement not covered" > throw new Error('MultiSecret has no valid property values')</span>
510
- }
511
- items.forEach(item =&gt; {
512
- let p = {
513
- key: secadd.key,
514
- name: item,
515
- type: 'arrayObject' // multisecrets contain multiple secrets that belong to the same config property (which is an array of objects)
516
- }
517
- secrets.push(p)
518
- })
519
- })
520
- }
521
- &nbsp;
522
- <span class="missing-if-branch" title="else path not taken" >E</span>if (secrets.length &gt; 0) {
523
- await fetchSecrets({ secrets })
524
- for (const secret of secrets) {
525
- let existingValue = getKey(config, secret.key) || {}
526
- let value = secret?.value
527
- &nbsp;
528
- // convert values
529
- <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof value === 'object') {
530
- Object.keys(value).forEach((key) =&gt; {
531
- let val = value[key]
532
- if (val === 'true') val = true
533
- else <span class="missing-if-branch" title="if path not taken" >I</span>if (val === 'false') <span class="cstat-no" title="statement not covered" >val = false</span>
534
- else if (typeof val === 'string' &amp;&amp; val.startsWith('JSON:')) {
535
- try {
536
- val = JSON.parse(val.substring(5))
537
- }
538
- catch(e) {
539
- console.error('%s | %s | JSON could not be parsed %j', functionName, secret.name, val)
540
- throw new Error('invalidJSON')
541
- }
542
- }
543
- value[key] = val
544
- })
545
- }
546
- &nbsp;
547
- if (secret.servers) {
548
- <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof secret.servers === 'boolean') {
549
- let servers = existingValue?.servers || <span class="branch-1 cbranch-no" title="branch not covered" >[]</span>
550
- config[secret.key].servers = servers.map(server =&gt; {
551
- <span class="missing-if-branch" title="else path not taken" >E</span>if (server.server === secret.serverName) {
552
- server = { ...server, ...value }
553
- }
554
- return server
555
- })
556
- }
557
- else {
558
- // NEW NOTATION AS OBJECT
559
- /* TODO: Probably not used anywhere, so legacy is ok
560
- let match = {}
561
- _.set(match, _.get(secret.servers, 'identifier'), _.get(secret.servers, 'value'))
562
- existingValue = _.find(_.get(config, key, []), match)
563
- */
564
- }
565
- }
566
- else if (secret?.type === 'arrayObject') {
567
- existingValue.push(value)
568
- setKey(config, secret.key, existingValue)
569
- }
570
- else {
571
- if (Object.keys(existingValue).length === 0) {
572
- setKey(config, secret.key, {})
573
- }
574
- existingValue = { ...existingValue, ...value }
575
- setKey(config, secret.key, existingValue)
576
- }
577
- &nbsp;
578
- if (secret?.log || debug) {
579
- console.log('%s | %s | %j', functionName, secret?.name, existingValue)
580
- }
581
- }
582
- }
583
- }
584
- &nbsp;
585
- return {
586
- loadSecrets
587
- }
588
- }
589
- &nbsp;
590
- module.exports = awsSecrets()
591
- &nbsp;</pre></td></tr></table></pre>
592
-
593
- <div class='push'></div><!-- for sticky footer -->
594
- </div><!-- /wrapper -->
595
- <div class='footer quiet pad2 space-top1 center small'>
596
- Code coverage generated by
597
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598
- at 2023-02-25T07:46:45.054Z
599
- </div>
600
- <script src="prettify.js"></script>
601
- <script>
602
- window.onload = function () {
603
- prettyPrint();
604
- };
605
- </script>
606
- <script src="sorter.js"></script>
607
- <script src="block-navigation.js"></script>
608
- </body>
609
- </html>
610
-
@@ -1 +0,0 @@
1
- .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}