raindancers-cloudfront 0.0.0

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.
Files changed (103) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +176 -0
  3. package/lib/bicep/deploy/deploy.d.ts +46 -0
  4. package/lib/bicep/deploy/deploy.js +123 -0
  5. package/lib/bicep/deploy/index.d.ts +3 -0
  6. package/lib/bicep/deploy/index.js +20 -0
  7. package/lib/bicep/deploy/template.d.ts +75 -0
  8. package/lib/bicep/deploy/template.js +364 -0
  9. package/lib/bicep/deploy/templateBuilder.d.ts +16 -0
  10. package/lib/bicep/deploy/templateBuilder.js +35 -0
  11. package/lib/bicep/index.d.ts +3 -0
  12. package/lib/bicep/index.js +40 -0
  13. package/lib/bicep/patterns/azureAdApplicationFederated.d.ts +58 -0
  14. package/lib/bicep/patterns/azureAdApplicationFederated.js +317 -0
  15. package/lib/bicep/patterns/index.d.ts +1 -0
  16. package/lib/bicep/patterns/index.js +18 -0
  17. package/lib/bicep/resources/azure/appServicePlan.d.ts +11 -0
  18. package/lib/bicep/resources/azure/appServicePlan.js +24 -0
  19. package/lib/bicep/resources/azure/applicationInsights.d.ts +13 -0
  20. package/lib/bicep/resources/azure/applicationInsights.js +27 -0
  21. package/lib/bicep/resources/azure/deploymentScript.d.ts +16 -0
  22. package/lib/bicep/resources/azure/deploymentScript.js +43 -0
  23. package/lib/bicep/resources/azure/functionApp.d.ts +20 -0
  24. package/lib/bicep/resources/azure/functionApp.js +54 -0
  25. package/lib/bicep/resources/azure/index.d.ts +8 -0
  26. package/lib/bicep/resources/azure/index.js +25 -0
  27. package/lib/bicep/resources/azure/logAnalyticsWorkspace.d.ts +11 -0
  28. package/lib/bicep/resources/azure/logAnalyticsWorkspace.js +26 -0
  29. package/lib/bicep/resources/azure/managedIdentity.d.ts +13 -0
  30. package/lib/bicep/resources/azure/managedIdentity.js +24 -0
  31. package/lib/bicep/resources/azure/roleAssignment.d.ts +18 -0
  32. package/lib/bicep/resources/azure/roleAssignment.js +34 -0
  33. package/lib/bicep/resources/azure/storageAccount.d.ts +11 -0
  34. package/lib/bicep/resources/azure/storageAccount.js +28 -0
  35. package/lib/bicep/resources/graph/appRoleAssignment.d.ts +25 -0
  36. package/lib/bicep/resources/graph/appRoleAssignment.js +33 -0
  37. package/lib/bicep/resources/graph/application.d.ts +51 -0
  38. package/lib/bicep/resources/graph/application.js +88 -0
  39. package/lib/bicep/resources/graph/bicepConstruct.d.ts +14 -0
  40. package/lib/bicep/resources/graph/bicepConstruct.js +29 -0
  41. package/lib/bicep/resources/graph/existingServicePrincipal.d.ts +19 -0
  42. package/lib/bicep/resources/graph/existingServicePrincipal.js +26 -0
  43. package/lib/bicep/resources/graph/federatedIdentityCredential.d.ts +29 -0
  44. package/lib/bicep/resources/graph/federatedIdentityCredential.js +31 -0
  45. package/lib/bicep/resources/graph/group.d.ts +26 -0
  46. package/lib/bicep/resources/graph/group.js +31 -0
  47. package/lib/bicep/resources/graph/index.d.ts +8 -0
  48. package/lib/bicep/resources/graph/index.js +25 -0
  49. package/lib/bicep/resources/graph/servicePrincipal.d.ts +22 -0
  50. package/lib/bicep/resources/graph/servicePrincipal.js +27 -0
  51. package/lib/bicep/resources/graph/types/index.d.ts +1 -0
  52. package/lib/bicep/resources/graph/types/index.js +18 -0
  53. package/lib/bicep/resources/graph/types/permissions.d.ts +54 -0
  54. package/lib/bicep/resources/graph/types/permissions.js +73 -0
  55. package/lib/bicep/resources/index.d.ts +2 -0
  56. package/lib/bicep/resources/index.js +39 -0
  57. package/lib/cloudfront/auth/authLambdaFunctions.d.ts +20 -0
  58. package/lib/cloudfront/auth/authLambdaFunctions.js +159 -0
  59. package/lib/cloudfront/auth/authSecretManager.d.ts +19 -0
  60. package/lib/cloudfront/auth/authSecretManager.js +92 -0
  61. package/lib/cloudfront/auth/cognitoAuthSecretManager.d.ts +20 -0
  62. package/lib/cloudfront/auth/cognitoAuthSecretManager.js +93 -0
  63. package/lib/cloudfront/auth/index.d.ts +3 -0
  64. package/lib/cloudfront/auth/index.js +20 -0
  65. package/lib/cloudfront/authSecurityTable.d.ts +10 -0
  66. package/lib/cloudfront/authSecurityTable.js +78 -0
  67. package/lib/cloudfront/cloudfront-functions/function-composer.d.ts +21 -0
  68. package/lib/cloudfront/cloudfront-functions/function-composer.js +132 -0
  69. package/lib/cloudfront/cloudfrontCertificate.d.ts +40 -0
  70. package/lib/cloudfront/cloudfrontCertificate.js +116 -0
  71. package/lib/cloudfront/cloudfrontWebAcl.d.ts +72 -0
  72. package/lib/cloudfront/cloudfrontWebAcl.js +249 -0
  73. package/lib/cloudfront/countries.d.ts +260 -0
  74. package/lib/cloudfront/countries.js +263 -0
  75. package/lib/cloudfront/deployment/viteFrontendDeployment.d.ts +12 -0
  76. package/lib/cloudfront/deployment/viteFrontendDeployment.js +63 -0
  77. package/lib/cloudfront/index.d.ts +11 -0
  78. package/lib/cloudfront/index.js +28 -0
  79. package/lib/cloudfront/jwtDecoder.d.ts +5 -0
  80. package/lib/cloudfront/jwtDecoder.js +57 -0
  81. package/lib/cloudfront/logging/auditLogArchive.d.ts +18 -0
  82. package/lib/cloudfront/logging/auditLogArchive.js +205 -0
  83. package/lib/cloudfront/logging/index.d.ts +1 -0
  84. package/lib/cloudfront/logging/index.js +18 -0
  85. package/lib/cloudfront/oauthEdgeRole.d.ts +9 -0
  86. package/lib/cloudfront/oauthEdgeRole.js +56 -0
  87. package/lib/cloudfront/patterns/authInfrastructure.d.ts +34 -0
  88. package/lib/cloudfront/patterns/authInfrastructure.js +140 -0
  89. package/lib/cloudfront/patterns/cognito-secured-cloudfront.d.ts +36 -0
  90. package/lib/cloudfront/patterns/cognito-secured-cloudfront.js +285 -0
  91. package/lib/cloudfront/patterns/cognitoAuthInfrastructure.d.ts +28 -0
  92. package/lib/cloudfront/patterns/cognitoAuthInfrastructure.js +157 -0
  93. package/lib/cloudfront/patterns/index.d.ts +4 -0
  94. package/lib/cloudfront/patterns/index.js +21 -0
  95. package/lib/cloudfront/patterns/securedCloudFront.d.ts +73 -0
  96. package/lib/cloudfront/patterns/securedCloudFront.js +416 -0
  97. package/lib/cloudfront/ssmCrossRegionWriter.d.ts +9 -0
  98. package/lib/cloudfront/ssmCrossRegionWriter.js +65 -0
  99. package/lib/cloudfront/syncSecretToKvs.d.ts +9 -0
  100. package/lib/cloudfront/syncSecretToKvs.js +89 -0
  101. package/lib/index.d.ts +2 -0
  102. package/lib/index.js +19 -0
  103. package/package.json +105 -0
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Country = void 0;
4
+ /**
5
+ * ISO 3166-1 alpha-2 country codes for use with CloudFront WAF geographic restrictions.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * webAcl.allowGeographies([Country.NewZealand, Country.Australia, Country.UnitedKingdom]);
10
+ * ```
11
+ */
12
+ exports.Country = {
13
+ Afghanistan: 'AF',
14
+ AlandIslands: 'AX',
15
+ Albania: 'AL',
16
+ Algeria: 'DZ',
17
+ AmericanSamoa: 'AS',
18
+ Andorra: 'AD',
19
+ Angola: 'AO',
20
+ Anguilla: 'AI',
21
+ Antarctica: 'AQ',
22
+ AntiguaAndBarbuda: 'AG',
23
+ Argentina: 'AR',
24
+ Armenia: 'AM',
25
+ Aruba: 'AW',
26
+ Australia: 'AU',
27
+ Austria: 'AT',
28
+ Azerbaijan: 'AZ',
29
+ Bahamas: 'BS',
30
+ Bahrain: 'BH',
31
+ Bangladesh: 'BD',
32
+ Barbados: 'BB',
33
+ Belarus: 'BY',
34
+ Belgium: 'BE',
35
+ Belize: 'BZ',
36
+ Benin: 'BJ',
37
+ Bermuda: 'BM',
38
+ Bhutan: 'BT',
39
+ Bolivia: 'BO',
40
+ BonaireSintEustatiusAndSaba: 'BQ',
41
+ BosniaAndHerzegovina: 'BA',
42
+ Botswana: 'BW',
43
+ BouvetIsland: 'BV',
44
+ Brazil: 'BR',
45
+ BritishIndianOceanTerritory: 'IO',
46
+ BruneiDarussalam: 'BN',
47
+ Bulgaria: 'BG',
48
+ BurkinaFaso: 'BF',
49
+ Burundi: 'BI',
50
+ CaboVerde: 'CV',
51
+ Cambodia: 'KH',
52
+ Cameroon: 'CM',
53
+ Canada: 'CA',
54
+ CaymanIslands: 'KY',
55
+ CentralAfricanRepublic: 'CF',
56
+ Chad: 'TD',
57
+ Chile: 'CL',
58
+ China: 'CN',
59
+ ChristmasIsland: 'CX',
60
+ CocosKeelingIslands: 'CC',
61
+ Colombia: 'CO',
62
+ Comoros: 'KM',
63
+ Congo: 'CG',
64
+ CongoDemocraticRepublic: 'CD',
65
+ CookIslands: 'CK',
66
+ CostaRica: 'CR',
67
+ CoteDIvoire: 'CI',
68
+ Croatia: 'HR',
69
+ Cuba: 'CU',
70
+ Curacao: 'CW',
71
+ Cyprus: 'CY',
72
+ Czechia: 'CZ',
73
+ Denmark: 'DK',
74
+ Djibouti: 'DJ',
75
+ Dominica: 'DM',
76
+ DominicanRepublic: 'DO',
77
+ Ecuador: 'EC',
78
+ Egypt: 'EG',
79
+ ElSalvador: 'SV',
80
+ EquatorialGuinea: 'GQ',
81
+ Eritrea: 'ER',
82
+ Estonia: 'EE',
83
+ Eswatini: 'SZ',
84
+ Ethiopia: 'ET',
85
+ FalklandIslands: 'FK',
86
+ FaroeIslands: 'FO',
87
+ Fiji: 'FJ',
88
+ Finland: 'FI',
89
+ France: 'FR',
90
+ FrenchGuiana: 'GF',
91
+ FrenchPolynesia: 'PF',
92
+ FrenchSouthernTerritories: 'TF',
93
+ Gabon: 'GA',
94
+ Gambia: 'GM',
95
+ Georgia: 'GE',
96
+ Germany: 'DE',
97
+ Ghana: 'GH',
98
+ Gibraltar: 'GI',
99
+ Greece: 'GR',
100
+ Greenland: 'GL',
101
+ Grenada: 'GD',
102
+ Guadeloupe: 'GP',
103
+ Guam: 'GU',
104
+ Guatemala: 'GT',
105
+ Guernsey: 'GG',
106
+ Guinea: 'GN',
107
+ GuineaBissau: 'GW',
108
+ Guyana: 'GY',
109
+ Haiti: 'HT',
110
+ HeardIslandAndMcDonaldIslands: 'HM',
111
+ HolySee: 'VA',
112
+ Honduras: 'HN',
113
+ HongKong: 'HK',
114
+ Hungary: 'HU',
115
+ Iceland: 'IS',
116
+ India: 'IN',
117
+ Indonesia: 'ID',
118
+ Iran: 'IR',
119
+ Iraq: 'IQ',
120
+ Ireland: 'IE',
121
+ IsleOfMan: 'IM',
122
+ Israel: 'IL',
123
+ Italy: 'IT',
124
+ Jamaica: 'JM',
125
+ Japan: 'JP',
126
+ Jersey: 'JE',
127
+ Jordan: 'JO',
128
+ Kazakhstan: 'KZ',
129
+ Kenya: 'KE',
130
+ Kiribati: 'KI',
131
+ KoreaDemocraticPeoplesRepublic: 'KP',
132
+ KoreaRepublic: 'KR',
133
+ Kuwait: 'KW',
134
+ Kyrgyzstan: 'KG',
135
+ Lao: 'LA',
136
+ Latvia: 'LV',
137
+ Lebanon: 'LB',
138
+ Lesotho: 'LS',
139
+ Liberia: 'LR',
140
+ Libya: 'LY',
141
+ Liechtenstein: 'LI',
142
+ Lithuania: 'LT',
143
+ Luxembourg: 'LU',
144
+ Macao: 'MO',
145
+ Madagascar: 'MG',
146
+ Malawi: 'MW',
147
+ Malaysia: 'MY',
148
+ Maldives: 'MV',
149
+ Mali: 'ML',
150
+ Malta: 'MT',
151
+ MarshallIslands: 'MH',
152
+ Martinique: 'MQ',
153
+ Mauritania: 'MR',
154
+ Mauritius: 'MU',
155
+ Mayotte: 'YT',
156
+ Mexico: 'MX',
157
+ Micronesia: 'FM',
158
+ Moldova: 'MD',
159
+ Monaco: 'MC',
160
+ Mongolia: 'MN',
161
+ Montenegro: 'ME',
162
+ Montserrat: 'MS',
163
+ Morocco: 'MA',
164
+ Mozambique: 'MZ',
165
+ Myanmar: 'MM',
166
+ Namibia: 'NA',
167
+ Nauru: 'NR',
168
+ Nepal: 'NP',
169
+ Netherlands: 'NL',
170
+ NewCaledonia: 'NC',
171
+ NewZealand: 'NZ',
172
+ Nicaragua: 'NI',
173
+ Niger: 'NE',
174
+ Nigeria: 'NG',
175
+ Niue: 'NU',
176
+ NorfolkIsland: 'NF',
177
+ NorthMacedonia: 'MK',
178
+ NorthernMarianaIslands: 'MP',
179
+ Norway: 'NO',
180
+ Oman: 'OM',
181
+ Pakistan: 'PK',
182
+ Palau: 'PW',
183
+ Palestine: 'PS',
184
+ Panama: 'PA',
185
+ PapuaNewGuinea: 'PG',
186
+ Paraguay: 'PY',
187
+ Peru: 'PE',
188
+ Philippines: 'PH',
189
+ Pitcairn: 'PN',
190
+ Poland: 'PL',
191
+ Portugal: 'PT',
192
+ PuertoRico: 'PR',
193
+ Qatar: 'QA',
194
+ Reunion: 'RE',
195
+ Romania: 'RO',
196
+ RussianFederation: 'RU',
197
+ Rwanda: 'RW',
198
+ SaintBarthelemy: 'BL',
199
+ SaintHelenaAscensionAndTristanDaCunha: 'SH',
200
+ SaintKittsAndNevis: 'KN',
201
+ SaintLucia: 'LC',
202
+ SaintMartinFrenchPart: 'MF',
203
+ SaintPierreAndMiquelon: 'PM',
204
+ SaintVincentAndTheGrenadines: 'VC',
205
+ Samoa: 'WS',
206
+ SanMarino: 'SM',
207
+ SaoTomeAndPrincipe: 'ST',
208
+ SaudiArabia: 'SA',
209
+ Senegal: 'SN',
210
+ Serbia: 'RS',
211
+ Seychelles: 'SC',
212
+ SierraLeone: 'SL',
213
+ Singapore: 'SG',
214
+ SintMaartenDutchPart: 'SX',
215
+ Slovakia: 'SK',
216
+ Slovenia: 'SI',
217
+ SolomonIslands: 'SB',
218
+ Somalia: 'SO',
219
+ SouthAfrica: 'ZA',
220
+ SouthGeorgiaAndTheSouthSandwichIslands: 'GS',
221
+ SouthSudan: 'SS',
222
+ Spain: 'ES',
223
+ SriLanka: 'LK',
224
+ Sudan: 'SD',
225
+ Suriname: 'SR',
226
+ SvalbardAndJanMayen: 'SJ',
227
+ Sweden: 'SE',
228
+ Switzerland: 'CH',
229
+ SyrianArabRepublic: 'SY',
230
+ Taiwan: 'TW',
231
+ Tajikistan: 'TJ',
232
+ Tanzania: 'TZ',
233
+ Thailand: 'TH',
234
+ TimorLeste: 'TL',
235
+ Togo: 'TG',
236
+ Tokelau: 'TK',
237
+ Tonga: 'TO',
238
+ TrinidadAndTobago: 'TT',
239
+ Tunisia: 'TN',
240
+ Turkey: 'TR',
241
+ Turkmenistan: 'TM',
242
+ TurksAndCaicosIslands: 'TC',
243
+ Tuvalu: 'TV',
244
+ Uganda: 'UG',
245
+ Ukraine: 'UA',
246
+ UnitedArabEmirates: 'AE',
247
+ UnitedKingdom: 'GB',
248
+ UnitedStates: 'US',
249
+ UnitedStatesMinorOutlyingIslands: 'UM',
250
+ Uruguay: 'UY',
251
+ Uzbekistan: 'UZ',
252
+ Vanuatu: 'VU',
253
+ Venezuela: 'VE',
254
+ VietNam: 'VN',
255
+ VirginIslandsBritish: 'VG',
256
+ VirginIslandsUS: 'VI',
257
+ WallisAndFutuna: 'WF',
258
+ WesternSahara: 'EH',
259
+ Yemen: 'YE',
260
+ Zambia: 'ZM',
261
+ Zimbabwe: 'ZW',
262
+ };
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nsb3VkZnJvbnQvY291bnRyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLE9BQU8sR0FBRztJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsYUFBYSxFQUFFLElBQUk7SUFDbkIsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxJQUFJO0lBQ2QsVUFBVSxFQUFFLElBQUk7SUFDaEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYiwyQkFBMkIsRUFBRSxJQUFJO0lBQ2pDLG9CQUFvQixFQUFFLElBQUk7SUFDMUIsUUFBUSxFQUFFLElBQUk7SUFDZCxZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLDJCQUEyQixFQUFFLElBQUk7SUFDakMsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixRQUFRLEVBQUUsSUFBSTtJQUNkLFdBQVcsRUFBRSxJ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QUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLElBQUk7SUFDZCxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxVQUFVLEVBQUUsSUFBSTtJQUNoQixJQUFJLEVBQUUsSUFBSTtJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsSUFBSTtJQUNsQixxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLElBQUk7SUFDbEIsZ0NBQWdDLEVBQUUsSUFBSTtJQUN0QyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLG9CQUFvQixFQUFFLElBQUk7SUFDMUIsZUFBZSxFQUFFLElBQUk7SUFDckIsZUFBZSxFQUFFLElBQUk7SUFDckIsYUFBYSxFQUFFLElBQUk7SUFDbkIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxJQUFJO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSVNPIDMxNjYtMSBhbHBoYS0yIGNvdW50cnkgY29kZXMgZm9yIHVzZSB3aXRoIENsb3VkRnJvbnQgV0FGIGdlb2dyYXBoaWMgcmVzdHJpY3Rpb25zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB3ZWJBY2wuYWxsb3dHZW9ncmFwaGllcyhbQ291bnRyeS5OZXdaZWFsYW5kLCBDb3VudHJ5LkF1c3RyYWxpYSwgQ291bnRyeS5Vbml0ZWRLaW5nZG9tXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IENvdW50cnkgPSB7XG4gIEFmZ2hhbmlzdGFuOiAnQUYnLFxuICBBbGFuZElzbGFuZHM6ICdBWCcsXG4gIEFsYmFuaWE6ICdBTCcsXG4gIEFsZ2VyaWE6ICdEWicsXG4gIEFtZXJpY2FuU2Ftb2E6ICdBUycsXG4gIEFuZG9ycmE6ICdBRCcsXG4gIEFuZ29sYTogJ0FPJyxcbiAgQW5ndWlsbGE6ICdBSScsXG4gIEFudGFyY3RpY2E6ICdBUScsXG4gIEFudGlndWFBbmRCYXJidWRhOiAnQUcnLFxuICBBcmdlbnRpbmE6ICdBUicsXG4gIEFybWVuaWE6ICdBTScsXG4gIEFydWJhOiAnQVcnLFxuICBBdXN0cmFsaWE6ICdBVScsXG4gIEF1c3RyaWE6ICdBVCcsXG4gIEF6ZXJiYWlqYW46ICdBWicsXG4gIEJhaGFtYXM6ICdCUycsXG4gIEJhaHJhaW46ICdCSCcsXG4gIEJhbmdsYWRlc2g6ICdCRCcsXG4gIEJhcmJhZG9zOiAnQkInLFxuICBCZWxhcnVzOiAnQlknLFxuICBCZWxnaXVtOiAnQkUnLFxuICBCZWxpemU6ICdCWicsXG4gIEJlbmluOiAnQkonLFxuICBCZXJtdWRhOiAnQk0nLFxuICBCaHV0YW46ICdCVCcsXG4gIEJvbGl2aWE6ICdCTycsXG4gIEJvbmFpcmVTaW50RXVzdGF0aXVzQW5kU2FiYTogJ0JRJyxcbiAgQm9zbmlhQW5kSGVyemVnb3ZpbmE6ICdCQScsXG4gIEJvdHN3YW5hOiAnQlcnLFxuICBCb3V2ZXRJc2xhbmQ6ICdCVicsXG4gIEJyYXppbDogJ0JSJyxcbiAgQnJpdGlzaEluZGlhbk9jZWFuVGVycml0b3J5OiAnSU8nLFxuICBCcnVuZWlEYXJ1c3NhbGFtOiAnQk4nLFxuICBCdWxnYXJpYTogJ0JHJyxcbiAgQnVya2luYUZhc286ICdCRicsXG4gIEJ1cnVuZGk6ICdCSScsXG4gIENhYm9WZXJkZTogJ0NWJyxcbiAgQ2FtYm9kaWE6ICdLSCcsXG4gIENhbWVyb29uOiAnQ00nLFxuICBDYW5hZGE6ICdDQScsXG4gIENheW1hbklzbGFuZHM6ICdLWScsXG4gIENlbnRyYWxBZnJpY2FuUmVwdWJsaWM6ICdDRicsXG4gIENoYWQ6ICdURCcsXG4gIENoaWxlOiAnQ0wnLFxuICBDaGluYTogJ0NOJyxcbiAgQ2hyaXN0bWFzSXNsYW5kOiAnQ1gnLFxuICBDb2Nvc0tlZWxpbmdJc2xhbmRzOiAnQ0MnLFxuICBDb2xvbWJpYTogJ0NPJyxcbiAgQ29tb3JvczogJ0tNJyxcbiAgQ29uZ286ICdDRycsXG4gIENvbmdvRGVtb2NyYXRpY1JlcHVibGljOiAnQ0QnLFxuICBDb29rSXNsYW5kczogJ0NLJyxcbiAgQ29zdGFSaWNhOiAnQ1InLFxuICBDb3RlREl2b2lyZTogJ0NJJyxcbiAgQ3JvYXRpYTogJ0hSJyxcbiAgQ3ViYTogJ0NVJyxcbiAgQ3VyYWNhbzogJ0NXJyxcbiAgQ3lwcnVzOiAnQ1knLFxuICBDemVjaGlhOiAnQ1onLFxuICBEZW5tYXJrOiAnREsnLFxuICBEamlib3V0aTogJ0RKJyxcbiAgRG9taW5pY2E6ICdETScsXG4gIERvbWluaWNhblJlcHVibGljOiAnRE8nLFxuICBFY3VhZG9yOiAnRUMnLFxuICBFZ3lwdDogJ0VHJyxcbiAgRWxTYWx2YWRvcjogJ1NWJyxcbiAgRXF1YXRvcmlhbEd1aW5lYTogJ0dRJyxcbiAgRXJpdHJlYTogJ0VSJyxcbiAgRXN0b25pYTogJ0VFJyxcbiAgRXN3YXRpbmk6ICdTWicsXG4gIEV0aGlvcGlhOiAnRVQnLFxuICBGYWxrbGFuZElzbGFuZHM6ICdGSycsXG4gIEZhcm9lSXNsYW5kczogJ0ZPJyxcbiAgRmlqaTogJ0ZKJyxcbiAgRmlubGFuZDogJ0ZJJyxcbiAgRnJhbmNlOiAnRlInLFxuICBGcmVuY2hHdWlhbmE6ICdHRicsXG4gIEZyZW5jaFBvbHluZXNpYTogJ1BGJyxcbiAgRnJlbmNoU291dGhlcm5UZXJyaXRvcmllczogJ1RGJyxcbiAgR2Fib246ICdHQScsXG4gIEdhbWJpYTogJ0dNJyxcbiAgR2VvcmdpYTogJ0dFJyxcbiAgR2VybWFueTogJ0RFJyxcbiAgR2hhbmE6ICdHSCcsXG4gIEdpYnJhbHRhcjogJ0dJJyxcbiAgR3JlZWNlOiAnR1InLFxuICBHcmVlbmxhbmQ6ICdHTCcsXG4gIEdyZW5hZGE6ICdHRCcsXG4gIEd1YWRlbG91cGU6ICdHUCcsXG4gIEd1YW06ICdHVScsXG4gIEd1YXRlbWFsYTogJ0dUJyxcbiAgR3Vlcm5zZXk6ICdHRycsXG4gIEd1aW5lYTogJ0dOJyxcbiAgR3VpbmVhQmlzc2F1OiAnR1cnLFxuICBHdXlhbmE6ICdHWScsXG4gIEhhaXRpOiAnSFQnLFxuICBIZWFyZElzbGFuZEFuZE1jRG9uYWxkSXNsYW5kczogJ0hNJyxcbiAgSG9seVNlZTogJ1ZBJyxcbiAgSG9uZHVyYXM6ICdITicsXG4gIEhvbmdLb25nOiAnSEsnLFxuICBIdW5nYXJ5OiAnSFUnLFxuICBJY2VsYW5kOiAnSVMnLFxuICBJbmRpYTogJ0lOJyxcbiAgSW5kb25lc2lhOiAnSUQnLFxuICBJcmFuOiAnSVInLFxuICBJcmFxOiAnSVEnLFxuICBJcmVsYW5kOiAnSUUnLFxuICBJc2xlT2ZNYW46ICdJTScsXG4gIElzcmFlbDogJ0lMJyxcbiAgSXRhbHk6ICdJVCcsXG4gIEphbWFpY2E6ICdKTScsXG4gIEphcGFuOiAnSlAnLFxuICBKZXJzZXk6ICdKRScsXG4gIEpvcmRhbjogJ0pPJyxcbiAgS2F6YWtoc3RhbjogJ0taJyxcbiAgS2VueWE6ICdLRScsXG4gIEtpcmliYXRpOiAnS0knLFxuICBLb3JlYURlbW9jcmF0aWNQZW9wbGVzUmVwdWJsaWM6ICdLUCcsXG4gIEtvcmVhUmVwdWJsaWM6ICdLUicsXG4gIEt1d2FpdDogJ0tXJyxcbiAgS3lyZ3l6c3RhbjogJ0tHJyxcbiAgTGFvOiAnTEEnLFxuICBMYXR2aWE6ICdMVicsXG4gIExlYmFub246ICdMQicsXG4gIExlc290aG86ICdMUycsXG4gIExpYmVyaWE6ICdMUicsXG4gIExpYnlhOiAnTFknLFxuICBMaWVjaHRlbnN0ZWluOiAnTEknLFxuICBMaXRodWFuaWE6ICdMVCcsXG4gIEx1eGVtYm91cmc6ICdMVScsXG4gIE1hY2FvOiAnTU8nLFxuICBNYWRhZ2FzY2FyOiAnTUcnLFxuICBNYWxhd2k6ICdNVycsXG4gIE1hbGF5c2lhOiAnTVknLFxuICBNYWxkaXZlczogJ01WJyxcbiAgTWFsaTogJ01MJyxcbiAgTWFsdGE6ICdNVCcsXG4gIE1hcnNoYWxsSXNsYW5kczogJ01IJyxcbiAgTWFydGluaXF1ZTogJ01RJyxcbiAgTWF1cml0YW5pYTogJ01SJyxcbiAgTWF1cml0aXVzOiAnTVUnLFxuICBNYXlvdHRlOiAnWVQnLFxuICBNZXhpY286ICdNWCcsXG4gIE1pY3JvbmVzaWE6ICdGTScsXG4gIE1vbGRvdmE6ICdNRCcsXG4gIE1vbmFjbzogJ01DJyxcbiAgTW9uZ29saWE6ICdNTicsXG4gIE1vbnRlbmVncm86ICdNRScsXG4gIE1vbnRzZXJyYXQ6ICdNUycsXG4gIE1vcm9jY286ICdNQScsXG4gIE1vemFtYmlxdWU6ICdNWicsXG4gIE15YW5tYXI6ICdNTScsXG4gIE5hbWliaWE6ICdOQScsXG4gIE5hdXJ1OiAnTlInLFxuICBOZXBhbDogJ05QJyxcbiAgTmV0aGVybGFuZHM6ICdOTCcsXG4gIE5ld0NhbGVkb25pYTogJ05DJyxcbiAgTmV3WmVhbGFuZDogJ05aJyxcbiAgTmljYXJhZ3VhOiAnTkknLFxuICBOaWdlcjogJ05FJyxcbiAgTmlnZXJpYTogJ05HJyxcbiAgTml1ZTogJ05VJyxcbiAgTm9yZm9sa0lzbGFuZDogJ05GJyxcbiAgTm9ydGhNYWNlZG9uaWE6ICdNSycsXG4gIE5vcnRoZXJuTWFyaWFuYUlzbGFuZHM6ICdNUCcsXG4gIE5vcndheTogJ05PJyxcbiAgT21hbjogJ09NJyxcbiAgUGFraXN0YW46ICdQSycsXG4gIFBhbGF1OiAnUFcnLFxuICBQYWxlc3RpbmU6ICdQUycsXG4gIFBhbmFtYTogJ1BBJyxcbiAgUGFwdWFOZXdHdWluZWE6ICdQRycsXG4gIFBhcmFndWF5OiAnUFknLFxuICBQZXJ1OiAnUEUnLFxuICBQaGlsaXBwaW5lczogJ1BIJyxcbiAgUGl0Y2Fpcm46ICdQTicsXG4gIFBvbGFuZDogJ1BMJyxcbiAgUG9ydHVnYWw6ICdQVCcsXG4gIFB1ZXJ0b1JpY286ICdQUicsXG4gIFFhdGFyOiAnUUEnLFxuICBSZXVuaW9uOiAnUkUnLFxuICBSb21hbmlhOiAnUk8nLFxuICBSdXNzaWFuRmVkZXJhdGlvbjogJ1JVJyxcbiAgUndhbmRhOiAnUlcnLFxuICBTYWludEJhcnRoZWxlbXk6ICdCTCcsXG4gIFNhaW50SGVsZW5hQXNjZW5zaW9uQW5kVHJpc3RhbkRhQ3VuaGE6ICdTSCcsXG4gIFNhaW50S2l0dHNBbmROZXZpczogJ0tOJyxcbiAgU2FpbnRMdWNpYTogJ0xDJyxcbiAgU2FpbnRNYXJ0aW5GcmVuY2hQYXJ0OiAnTUYnLFxuICBTYWludFBpZXJyZUFuZE1pcXVlbG9uOiAnUE0nLFxuICBTYWludFZpbmNlbnRBbmRUaGVHcmVuYWRpbmVzOiAnVkMnLFxuICBTYW1vYTogJ1dTJyxcbiAgU2FuTWFyaW5vOiAnU00nLFxuICBTYW9Ub21lQW5kUHJpbmNpcGU6ICdTVCcsXG4gIFNhdWRpQXJhYmlhOiAnU0EnLFxuICBTZW5lZ2FsOiAnU04nLFxuICBTZXJiaWE6ICdSUycsXG4gIFNleWNoZWxsZXM6ICdTQycsXG4gIFNpZXJyYUxlb25lOiAnU0wnLFxuICBTaW5nYXBvcmU6ICdTRycsXG4gIFNpbnRNYWFydGVuRHV0Y2hQYXJ0OiAnU1gnLFxuICBTbG92YWtpYTogJ1NLJyxcbiAgU2xvdmVuaWE6ICdTSScsXG4gIFNvbG9tb25Jc2xhbmRzOiAnU0InLFxuICBTb21hbGlhOiAnU08nLFxuICBTb3V0aEFmcmljYTogJ1pBJyxcbiAgU291dGhHZW9yZ2lhQW5kVGhlU291dGhTYW5kd2ljaElzbGFuZHM6ICdHUycsXG4gIFNvdXRoU3VkYW46ICdTUycsXG4gIFNwYWluOiAnRVMnLFxuICBTcmlMYW5rYTogJ0xLJyxcbiAgU3VkYW46ICdTRCcsXG4gIFN1cmluYW1lOiAnU1InLFxuICBTdmFsYmFyZEFuZEphbk1heWVuOiAnU0onLFxuICBTd2VkZW46ICdTRScsXG4gIFN3aXR6ZXJsYW5kOiAnQ0gnLFxuICBTeXJpYW5BcmFiUmVwdWJsaWM6ICdTWScsXG4gIFRhaXdhbjogJ1RXJyxcbiAgVGFqaWtpc3RhbjogJ1RKJyxcbiAgVGFuemFuaWE6ICdUWicsXG4gIFRoYWlsYW5kOiAnVEgnLFxuICBUaW1vckxlc3RlOiAnVEwnLFxuICBUb2dvOiAnVEcnLFxuICBUb2tlbGF1OiAnVEsnLFxuICBUb25nYTogJ1RPJyxcbiAgVHJpbmlkYWRBbmRUb2JhZ286ICdUVCcsXG4gIFR1bmlzaWE6ICdUTicsXG4gIFR1cmtleTogJ1RSJyxcbiAgVHVya21lbmlzdGFuOiAnVE0nLFxuICBUdXJrc0FuZENhaWNvc0lzbGFuZHM6ICdUQycsXG4gIFR1dmFsdTogJ1RWJyxcbiAgVWdhbmRhOiAnVUcnLFxuICBVa3JhaW5lOiAnVUEnLFxuICBVbml0ZWRBcmFiRW1pcmF0ZXM6ICdBRScsXG4gIFVuaXRlZEtpbmdkb206ICdHQicsXG4gIFVuaXRlZFN0YXRlczogJ1VTJyxcbiAgVW5pdGVkU3RhdGVzTWlub3JPdXRseWluZ0lzbGFuZHM6ICdVTScsXG4gIFVydWd1YXk6ICdVWScsXG4gIFV6YmVraXN0YW46ICdVWicsXG4gIFZhbnVhdHU6ICdWVScsXG4gIFZlbmV6dWVsYTogJ1ZFJyxcbiAgVmlldE5hbTogJ1ZOJyxcbiAgVmlyZ2luSXNsYW5kc0JyaXRpc2g6ICdWRycsXG4gIFZpcmdpbklzbGFuZHNVUzogJ1ZJJyxcbiAgV2FsbGlzQW5kRnV0dW5hOiAnV0YnLFxuICBXZXN0ZXJuU2FoYXJhOiAnRUgnLFxuICBZZW1lbjogJ1lFJyxcbiAgWmFtYmlhOiAnWk0nLFxuICBaaW1iYWJ3ZTogJ1pXJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIENvdW50cnlDb2RlID0gdHlwZW9mIENvdW50cnlba2V5b2YgdHlwZW9mIENvdW50cnldO1xuIl19
@@ -0,0 +1,12 @@
1
+ import { aws_s3 as s3, aws_s3_deployment as s3deploy, aws_cloudfront as cloudfront } from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+ export interface ViteFrontendDeploymentProps {
4
+ readonly appName: string;
5
+ readonly sourcePath: string;
6
+ readonly destinationBucket: s3.IBucket;
7
+ readonly distribution: cloudfront.IDistribution;
8
+ }
9
+ export declare class ViteFrontendDeployment extends Construct {
10
+ readonly deployment: s3deploy.BucketDeployment;
11
+ constructor(scope: Construct, id: string, props: ViteFrontendDeploymentProps);
12
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ViteFrontendDeployment = void 0;
37
+ const core = __importStar(require("aws-cdk-lib"));
38
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
39
+ const constructs_1 = require("constructs");
40
+ class ViteFrontendDeployment extends constructs_1.Construct {
41
+ constructor(scope, id, props) {
42
+ super(scope, id);
43
+ this.deployment = new aws_cdk_lib_1.aws_s3_deployment.BucketDeployment(this, 'Deployment', {
44
+ sources: [
45
+ aws_cdk_lib_1.aws_s3_deployment.Source.asset(props.sourcePath, {
46
+ bundling: {
47
+ image: core.DockerImage.fromRegistry('node:20-alpine'),
48
+ command: [
49
+ 'sh', '-c',
50
+ 'npm ci --include=dev && npm run build && cp -r dist/. /asset-output/',
51
+ ],
52
+ },
53
+ }),
54
+ ],
55
+ destinationBucket: props.destinationBucket,
56
+ destinationKeyPrefix: `${props.appName}/`,
57
+ distribution: props.distribution,
58
+ distributionPaths: ['/*'],
59
+ });
60
+ }
61
+ }
62
+ exports.ViteFrontendDeployment = ViteFrontendDeployment;
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZUZyb250ZW5kRGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbG91ZGZyb250L2RlcGxveW1lbnQvdml0ZUZyb250ZW5kRGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBb0M7QUFDcEMsNkNBQXdHO0FBQ3hHLDJDQUF1QztBQVN2QyxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBR25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7UUFDMUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksK0JBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2xFLE9BQU8sRUFBRTtnQkFDUCwrQkFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtvQkFDdEMsUUFBUSxFQUFFO3dCQUNSLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDdEQsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxJQUFJOzRCQUNWLHNFQUFzRTt5QkFDdkU7cUJBQ0Y7aUJBQ0YsQ0FBQzthQUNIO1lBQ0QsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxvQkFBb0IsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUc7WUFDekMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXhCRCx3REF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb3JlIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGF3c19zMyBhcyBzMywgYXdzX3MzX2RlcGxveW1lbnQgYXMgczNkZXBsb3ksIGF3c19jbG91ZGZyb250IGFzIGNsb3VkZnJvbnQgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBWaXRlRnJvbnRlbmREZXBsb3ltZW50UHJvcHMge1xuICByZWFkb25seSBhcHBOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzdGluYXRpb25CdWNrZXQ6IHMzLklCdWNrZXQ7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5JRGlzdHJpYnV0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgVml0ZUZyb250ZW5kRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBkZXBsb3ltZW50OiBzM2RlcGxveS5CdWNrZXREZXBsb3ltZW50O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBWaXRlRnJvbnRlbmREZXBsb3ltZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50ID0gbmV3IHMzZGVwbG95LkJ1Y2tldERlcGxveW1lbnQodGhpcywgJ0RlcGxveW1lbnQnLCB7XG4gICAgICBzb3VyY2VzOiBbXG4gICAgICAgIHMzZGVwbG95LlNvdXJjZS5hc3NldChwcm9wcy5zb3VyY2VQYXRoLCB7XG4gICAgICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgICAgIGltYWdlOiBjb3JlLkRvY2tlckltYWdlLmZyb21SZWdpc3RyeSgnbm9kZToyMC1hbHBpbmUnKSxcbiAgICAgICAgICAgIGNvbW1hbmQ6IFtcbiAgICAgICAgICAgICAgJ3NoJywgJy1jJyxcbiAgICAgICAgICAgICAgJ25wbSBjaSAtLWluY2x1ZGU9ZGV2ICYmIG5wbSBydW4gYnVpbGQgJiYgY3AgLXIgZGlzdC8uIC9hc3NldC1vdXRwdXQvJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHByb3BzLmRlc3RpbmF0aW9uQnVja2V0LFxuICAgICAgZGVzdGluYXRpb25LZXlQcmVmaXg6IGAke3Byb3BzLmFwcE5hbWV9L2AsXG4gICAgICBkaXN0cmlidXRpb246IHByb3BzLmRpc3RyaWJ1dGlvbixcbiAgICAgIGRpc3RyaWJ1dGlvblBhdGhzOiBbJy8qJ10sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ export * from './cloudfrontCertificate';
2
+ export * from './cloudfrontWebAcl';
3
+ export * from './syncSecretToKvs';
4
+ export * from './oauthEdgeRole';
5
+ export * from './authSecurityTable';
6
+ export * from './ssmCrossRegionWriter';
7
+ export * from './jwtDecoder';
8
+ export * from './logging';
9
+ export * from './auth';
10
+ export * from './patterns';
11
+ export * from './deployment/viteFrontendDeployment';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cloudfrontCertificate"), exports);
18
+ __exportStar(require("./cloudfrontWebAcl"), exports);
19
+ __exportStar(require("./syncSecretToKvs"), exports);
20
+ __exportStar(require("./oauthEdgeRole"), exports);
21
+ __exportStar(require("./authSecurityTable"), exports);
22
+ __exportStar(require("./ssmCrossRegionWriter"), exports);
23
+ __exportStar(require("./jwtDecoder"), exports);
24
+ __exportStar(require("./logging"), exports);
25
+ __exportStar(require("./auth"), exports);
26
+ __exportStar(require("./patterns"), exports);
27
+ __exportStar(require("./deployment/viteFrontendDeployment"), exports);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWRmcm9udC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQXdDO0FBQ3hDLHFEQUFtQztBQUNuQyxvREFBa0M7QUFDbEMsa0RBQWdDO0FBQ2hDLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsK0NBQTZCO0FBQzdCLDRDQUEwQjtBQUMxQix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLHNFQUFvRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xvdWRmcm9udENlcnRpZmljYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vY2xvdWRmcm9udFdlYkFjbCc7XG5leHBvcnQgKiBmcm9tICcuL3N5bmNTZWNyZXRUb0t2cyc7XG5leHBvcnQgKiBmcm9tICcuL29hdXRoRWRnZVJvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoU2VjdXJpdHlUYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NzbUNyb3NzUmVnaW9uV3JpdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vand0RGVjb2Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3ltZW50L3ZpdGVGcm9udGVuZERlcGxveW1lbnQnO1xuIl19
@@ -0,0 +1,5 @@
1
+ import * as constructs from 'constructs';
2
+ export declare class JwtDecoder extends constructs.Construct {
3
+ readonly functionUrl: string;
4
+ constructor(scope: constructs.Construct, id: string);
5
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.JwtDecoder = void 0;
37
+ const path = __importStar(require("path"));
38
+ const core = __importStar(require("aws-cdk-lib"));
39
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
40
+ const constructs = __importStar(require("constructs"));
41
+ class JwtDecoder extends constructs.Construct {
42
+ constructor(scope, id) {
43
+ super(scope, id);
44
+ const fn = new aws_cdk_lib_1.aws_lambda.Function(this, 'Function', {
45
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_12,
46
+ handler: 'index.handler',
47
+ code: aws_cdk_lib_1.aws_lambda.Code.fromAsset(path.join(__dirname, 'lambda/jwt-decoder')),
48
+ timeout: core.Duration.seconds(30),
49
+ });
50
+ const fnUrl = fn.addFunctionUrl({
51
+ authType: aws_cdk_lib_1.aws_lambda.FunctionUrlAuthType.NONE,
52
+ });
53
+ this.functionUrl = fnUrl.url;
54
+ }
55
+ }
56
+ exports.JwtDecoder = JwtDecoder;
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0RGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbG91ZGZyb250L2p3dERlY29kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLGtEQUFvQztBQUNwQyw2Q0FBbUQ7QUFDbkQsdURBQXlDO0FBRXpDLE1BQWEsVUFBVyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBR2xELFlBQVksS0FBMkIsRUFBRSxFQUFVO1FBQ2pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLEdBQUcsSUFBSSx3QkFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQy9DLE9BQU8sRUFBRSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSx3QkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUN2RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ25DLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDOUIsUUFBUSxFQUFFLHdCQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSTtTQUMxQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBbkJELGdDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjb3JlIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGF3c19sYW1iZGEgYXMgbGFtYmRhIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGNsYXNzIEp3dERlY29kZXIgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBmdW5jdGlvblVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBmbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ0Z1bmN0aW9uJywge1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTIsXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ2xhbWJkYS9qd3QtZGVjb2RlcicpKSxcbiAgICAgIHRpbWVvdXQ6IGNvcmUuRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgfSk7XG5cbiAgICBjb25zdCBmblVybCA9IGZuLmFkZEZ1bmN0aW9uVXJsKHtcbiAgICAgIGF1dGhUeXBlOiBsYW1iZGEuRnVuY3Rpb25VcmxBdXRoVHlwZS5OT05FLFxuICAgIH0pO1xuXG4gICAgdGhpcy5mdW5jdGlvblVybCA9IGZuVXJsLnVybDtcbiAgfVxufVxuIl19
@@ -0,0 +1,18 @@
1
+ import { aws_s3 as s3, aws_kms as kms, aws_kinesisfirehose as firehose, aws_glue as glue, RemovalPolicy } from 'aws-cdk-lib';
2
+ import * as constructs from 'constructs';
3
+ export interface AuditLogArchiveProps {
4
+ readonly logGroupNames: string[];
5
+ readonly kmsKey: kms.IKey;
6
+ readonly retentionDays?: number;
7
+ readonly archiveRetentionDays?: number;
8
+ readonly bucketName?: string;
9
+ readonly databaseName?: string;
10
+ readonly removalPolicy?: RemovalPolicy;
11
+ }
12
+ export declare class AuditLogArchive extends constructs.Construct {
13
+ readonly bucket: s3.Bucket;
14
+ readonly database: glue.CfnDatabase;
15
+ readonly table: glue.CfnTable;
16
+ readonly deliveryStream: firehose.CfnDeliveryStream;
17
+ constructor(scope: constructs.Construct, id: string, props: AuditLogArchiveProps);
18
+ }