@hiiretail/gcp-infra-generators 1.0.1 → 1.0.2

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 (22) hide show
  1. package/dist/generators/common-resources/monitoring/templates/alerts/generic-infra.yaml +37 -2
  2. package/dist/node_modules/.package-lock.json +40 -41
  3. package/dist/node_modules/@google-cloud/storage/build/cjs/src/bucket.js +5 -5
  4. package/dist/node_modules/@google-cloud/storage/build/cjs/src/file.d.ts +1 -0
  5. package/dist/node_modules/@google-cloud/storage/build/cjs/src/file.js +10 -1
  6. package/dist/node_modules/@google-cloud/storage/build/cjs/src/storage.js +1 -1
  7. package/dist/node_modules/@google-cloud/storage/build/cjs/src/transfer-manager.d.ts +4 -4
  8. package/dist/node_modules/@google-cloud/storage/build/cjs/src/transfer-manager.js +4 -4
  9. package/dist/node_modules/@google-cloud/storage/build/cjs/src/util.d.ts +1 -1
  10. package/dist/node_modules/@google-cloud/storage/build/cjs/src/util.js +2 -2
  11. package/dist/node_modules/@google-cloud/storage/build/esm/src/bucket.js +5 -5
  12. package/dist/node_modules/@google-cloud/storage/build/esm/src/file.d.ts +1 -0
  13. package/dist/node_modules/@google-cloud/storage/build/esm/src/file.js +10 -1
  14. package/dist/node_modules/@google-cloud/storage/build/esm/src/storage.js +1 -1
  15. package/dist/node_modules/@google-cloud/storage/build/esm/src/transfer-manager.d.ts +4 -4
  16. package/dist/node_modules/@google-cloud/storage/build/esm/src/transfer-manager.js +4 -4
  17. package/dist/node_modules/@google-cloud/storage/build/esm/src/util.d.ts +1 -1
  18. package/dist/node_modules/@google-cloud/storage/build/esm/src/util.js +2 -2
  19. package/dist/node_modules/@google-cloud/storage/package.json +5 -5
  20. package/dist/package.json +2 -2
  21. package/package.json +2 -2
  22. package/dist/node_modules/@google-cloud/storage/CHANGELOG.md +0 -1769
@@ -19,6 +19,7 @@ cloud_function:
19
19
  - resource.label.function_name
20
20
  documentation:
21
21
  subject: 'Function: `$${resource.label.function_name}`'
22
+ content: 'Review the function in Cloud Functions: https://console.cloud.google.com/run?deploymentType=function&project=<%-projectId%>'
22
23
  cloud_run:
23
24
  error_count:
24
25
  display_name: "[P3] <%-clan%> - Cloud Run | Error rate"
@@ -40,6 +41,7 @@ cloud_run:
40
41
  - resource.label.service_name
41
42
  documentation:
42
43
  subject: 'Service: `$${resource.label.service_name}`'
44
+ content: 'Review the service in Cloud Run: https://console.cloud.google.com/run?project=<%-projectId%>'
43
45
  request_latency:
44
46
  display_name: "[P3] <%-clan%> - Cloud Run | Request Latency"
45
47
  conditions:
@@ -59,6 +61,7 @@ cloud_run:
59
61
  - resource.label.service_name
60
62
  documentation:
61
63
  subject: 'Service: `$${resource.label.service_name}`'
64
+ content: 'Review the service in Cloud Run: https://console.cloud.google.com/run?project=<%-projectId%>'
62
65
  cpu_utilization:
63
66
  display_name: "[P3] <%-clan%> - Cloud Run | CPU Utilization"
64
67
  conditions:
@@ -72,12 +75,13 @@ cloud_run:
72
75
  duration: 300s
73
76
  aggregations:
74
77
  - alignment_period: 60s
75
- per_series_aligner: ALIGN_MEAN
78
+ per_series_aligner: ALIGN_PERCENTILE_99
76
79
  cross_series_reducer: REDUCE_PERCENTILE_99
77
80
  group_by_fields:
78
81
  - resource.label.service_name
79
82
  documentation:
80
83
  subject: 'Service: `$${resource.label.service_name}`'
84
+ content: 'Review the service in Cloud Run: https://console.cloud.google.com/run?project=<%-projectId%>'
81
85
  memory_utilization:
82
86
  display_name: "[P3] <%-clan%> - Cloud Run | Memory Utilization"
83
87
  conditions:
@@ -91,12 +95,13 @@ cloud_run:
91
95
  duration: 300s
92
96
  aggregations:
93
97
  - alignment_period: 60s
94
- per_series_aligner: ALIGN_MEAN
98
+ per_series_aligner: ALIGN_PERCENTILE_99
95
99
  cross_series_reducer: REDUCE_PERCENTILE_99
96
100
  group_by_fields:
97
101
  - resource.label.service_name
98
102
  documentation:
99
103
  subject: 'Service: `$${resource.label.service_name}`'
104
+ content: 'Review the service in Cloud Run: https://console.cloud.google.com/run?project=<%-projectId%>'
100
105
  startup_latency:
101
106
  display_name: "[P4] <%-clan%> - Cloud Run | Startup Latency"
102
107
  conditions:
@@ -116,6 +121,7 @@ cloud_run:
116
121
  - resource.label.service_name
117
122
  documentation:
118
123
  subject: 'Service: `$${resource.label.service_name}`'
124
+ content: 'Review the service in Cloud Run: https://console.cloud.google.com/run?project=<%-projectId%>'
119
125
  cloud_scheduler:
120
126
  failed_job:
121
127
  display_name: "[P4] <%-clan%> - Cloud Scheduler | Job Failed"
@@ -135,6 +141,7 @@ cloud_scheduler:
135
141
  - resource.label.job_id
136
142
  documentation:
137
143
  subject: 'Job: `$${resource.label.job_id}`'
144
+ content: 'Review the job in Cloud Scheduler: https://console.cloud.google.com/cloudscheduler?project=<%-projectId%>'
138
145
  failed_executions:
139
146
  display_name: "[P3] <%-clan%> - Cloud Scheduler | Failed Executions"
140
147
  conditions:
@@ -155,6 +162,7 @@ cloud_scheduler:
155
162
  - resource.label.job_id
156
163
  documentation:
157
164
  subject: 'Job: `$${resource.label.job_id}`'
165
+ content: 'Review the job in Cloud Scheduler: https://console.cloud.google.com/cloudscheduler?project=<%-projectId%>'
158
166
  cloud_sql:
159
167
  cpu_over_65:
160
168
  display_name: "[P3] <%-clan%> - CloudSQL | CPU over 65%"
@@ -175,6 +183,7 @@ cloud_sql:
175
183
  - resource.label.database_id
176
184
  documentation:
177
185
  subject: 'Database: `$${resource.label.database_id}`'
186
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
178
187
  cpu_over_85:
179
188
  display_name: "[P3] <%-clan%> - CloudSQL | CPU over 85%"
180
189
  conditions:
@@ -194,6 +203,7 @@ cloud_sql:
194
203
  - resource.label.database_id
195
204
  documentation:
196
205
  subject: 'Database: `$${resource.label.database_id}`'
206
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
197
207
  cpu_over_90:
198
208
  display_name: "[P3] <%-clan%> - CloudSQL | CPU over 90%"
199
209
  conditions:
@@ -213,6 +223,7 @@ cloud_sql:
213
223
  - resource.label.database_id
214
224
  documentation:
215
225
  subject: 'Database: `$${resource.label.database_id}`'
226
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
216
227
  memory_over_90:
217
228
  display_name: "[P2] <%-clan%> - CloudSQL | Memory utilization above 90%"
218
229
  conditions:
@@ -232,6 +243,7 @@ cloud_sql:
232
243
  - resource.label.database_id
233
244
  documentation:
234
245
  subject: 'Database: `$${resource.label.database_id}`'
246
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
235
247
  query_over_1s:
236
248
  display_name: "[P4] <%-clan%> - CloudSQL | Slow query"
237
249
  conditions:
@@ -251,6 +263,7 @@ cloud_sql:
251
263
  - resource.label.resource_id
252
264
  documentation:
253
265
  subject: 'Database: `$${resource.label.resource_id}`'
266
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
254
267
  postgresql_connections:
255
268
  display_name: "[P3] <%-clan%> - CloudSQL | PostgreSQL Connections"
256
269
  conditions:
@@ -269,6 +282,7 @@ cloud_sql:
269
282
  - resource.label.database_id
270
283
  documentation:
271
284
  subject: 'Database: `$${resource.label.database_id}`'
285
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
272
286
  aggregated_lock_time:
273
287
  display_name: "[P4] <%-clan%> - CloudSQL | Aggregated Lock Time"
274
288
  conditions:
@@ -287,6 +301,7 @@ cloud_sql:
287
301
  - resource.label.database_id
288
302
  documentation:
289
303
  subject: 'Database: `$${resource.label.database_id}`'
304
+ content: 'Review the database in Cloud SQL: https://console.cloud.google.com/sql/instances?project=<%-projectId%>'
290
305
  firestore:
291
306
  request_latencies:
292
307
  display_name: "[P3] <%-clan%> - Firestore | High request latencies"
@@ -306,6 +321,7 @@ firestore:
306
321
  - resource.label.database_id
307
322
  documentation:
308
323
  subject: 'Database: `$${resource.label.database_id}`'
324
+ content: 'Review the database in Firestore: https://console.cloud.google.com/firestore/databases?project=<%-projectId%>'
309
325
  failed_commits:
310
326
  display_name: "[P3] <%-clan%> - Firestore | High failed commits errors"
311
327
  conditions:
@@ -324,6 +340,9 @@ firestore:
324
340
  cross_series_reducer: REDUCE_SUM
325
341
  group_by_fields:
326
342
  - metric.label."response_code"
343
+ documentation:
344
+ subject: 'Database: `$${resource.label.database_id}`'
345
+ content: 'Review the database in Firestore: https://console.cloud.google.com/firestore/databases?project=<%-projectId%>'
327
346
  memorystore:
328
347
  memory_over_50:
329
348
  display_name: "[P3] <%-clan%> - Memorystore | Memory over 50%"
@@ -344,6 +363,7 @@ memorystore:
344
363
  - resource.label.instance_id
345
364
  documentation:
346
365
  subject: 'Instance: `$${resource.label.instance_id}`'
366
+ content: 'Review the instance in Memorystore: https://console.cloud.google.com/memorystore/redis/instances?project=<%-projectId%>'
347
367
  memory_over_75:
348
368
  display_name: "[P3] <%-clan%> - Memorystore | Memory over 75%"
349
369
  conditions:
@@ -363,6 +383,7 @@ memorystore:
363
383
  - resource.label.instance_id
364
384
  documentation:
365
385
  subject: 'Instance: `$${resource.label.instance_id}`'
386
+ content: 'Review the instance in Memorystore: https://console.cloud.google.com/memorystore/redis/instances?project=<%-projectId%>'
366
387
  memory_over_90:
367
388
  display_name: "[P2] <%-clan%> - Memorystore | Memory over 90%"
368
389
  conditions:
@@ -382,6 +403,7 @@ memorystore:
382
403
  - resource.label.instance_id
383
404
  documentation:
384
405
  subject: 'Instance: `$${resource.label.instance_id}`'
406
+ content: 'Review the instance in Memorystore: https://console.cloud.google.com/memorystore/redis/instances?project=<%-projectId%>'
385
407
  cpu_utilization:
386
408
  display_name: "[P2] <%-clan%> - Memorystore | CPU Utilization"
387
409
  conditions:
@@ -401,6 +423,7 @@ memorystore:
401
423
  - resource.label.instance_id
402
424
  documentation:
403
425
  subject: 'Instance: `$${resource.label.instance_id}`'
426
+ content: 'Review the instance in Memorystore: https://console.cloud.google.com/memorystore/redis/instances?project=<%-projectId%>'
404
427
  system_memory_overload_duration:
405
428
  display_name: "[P1] <%-clan%> - Memorystore | System Memory Overload Duration"
406
429
  conditions:
@@ -419,6 +442,7 @@ memorystore:
419
442
  - resource.label.instance_id
420
443
  documentation:
421
444
  subject: 'Instance: `$${resource.label.instance_id}`'
445
+ content: 'Review the instance in Memorystore: https://console.cloud.google.com/memorystore/redis/instances?project=<%-projectId%>'
422
446
  calls:
423
447
  display_name: "[P3] <%-clan%> - Memorystore | Calls"
424
448
  conditions:
@@ -438,6 +462,7 @@ memorystore:
438
462
  - resource.label.instance_id
439
463
  documentation:
440
464
  subject: 'Instance: `$${resource.label.instance_id}`'
465
+ content: 'Review the instance in Memorystore: https://console.cloud.google.com/memorystore/redis/instances?project=<%-projectId%>'
441
466
  pub_sub:
442
467
  unacknowledged_messages:
443
468
  display_name: "[P3] <%-clan%> - Pub/Sub | Undelivered message(s)"
@@ -457,6 +482,7 @@ pub_sub:
457
482
  - resource.label.subscription_id
458
483
  documentation:
459
484
  subject: 'Subscription: `$${resource.label.subscription_id}`'
485
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
460
486
  messages_in_dlq:
461
487
  display_name: "[P3] <%-clan%> - Pub/Sub | Message(s) in DLQ"
462
488
  conditions:
@@ -477,6 +503,7 @@ pub_sub:
477
503
  - metric.label.response_code
478
504
  documentation:
479
505
  subject: 'Subscription: `$${resource.label.subscription_id}`, Response code: `$${metric.label.response_code}`'
506
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
480
507
  latency:
481
508
  display_name: "[P3] <%-clan%> - Pub/Sub | Response latency distribution"
482
509
  conditions:
@@ -496,6 +523,7 @@ pub_sub:
496
523
  - resource.label.subscription_id
497
524
  documentation:
498
525
  subject: 'Subscription: `$${resource.label.subscription_id}`'
526
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
499
527
  oldest_unacked_message_age:
500
528
  display_name: "[P3] <%-clan%> - Pub/Sub | Oldest unacked message age"
501
529
  conditions:
@@ -514,6 +542,7 @@ pub_sub:
514
542
  - resource.label.subscription_id
515
543
  documentation:
516
544
  subject: 'Subscription: `$${resource.label.subscription_id}`'
545
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
517
546
  push_requests_ack:
518
547
  display_name: "[P3] <%-clan%> - Pub/Sub | Push requests ack"
519
548
  conditions:
@@ -533,6 +562,7 @@ pub_sub:
533
562
  - resource.label.subscription_id
534
563
  documentation:
535
564
  subject: 'Subscription: `$${resource.label.subscription_id}`'
565
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
536
566
  push_requests_success:
537
567
  display_name: "[P3] <%-clan%> - Pub/Sub | Push requests success"
538
568
  conditions:
@@ -552,6 +582,7 @@ pub_sub:
552
582
  - resource.label.subscription_id
553
583
  documentation:
554
584
  subject: 'Subscription: `$${resource.label.subscription_id}`'
585
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
555
586
  delivery_latency_health_score:
556
587
  display_name: "[P3] <%-clan%> - Pub/Sub | Delivery latency health score"
557
588
  conditions:
@@ -571,6 +602,7 @@ pub_sub:
571
602
  - resource.label.subscription_id
572
603
  documentation:
573
604
  subject: 'Subscription: `$${resource.label.subscription_id}`'
605
+ content: 'Review the subscription in Pub/Sub: https://console.cloud.google.com/cloudpubsub/subscriptions?project=<%-projectId%>'
574
606
  spanner:
575
607
  cpu_utilization_by_priority:
576
608
  display_name: "[P2] <%-clan%> - Spanner | CPU Utilization"
@@ -591,6 +623,7 @@ spanner:
591
623
  - metric.label.database
592
624
  documentation:
593
625
  subject: 'Instance: `$${resource.label.instance_id}`, Database: `$${resource.label.database}`'
626
+ content: 'Review the instance in Spanner: https://console.cloud.google.com/spanner/instances?project=<%-projectId%>'
594
627
  api_request_error_rate:
595
628
  display_name: "[P2] <%-clan%> - Spanner | API request error rate"
596
629
  conditions:
@@ -611,6 +644,7 @@ spanner:
611
644
  - resource.label.database
612
645
  documentation:
613
646
  subject: 'Instance: `$${resource.label.instance_id}`, Database: `$${resource.label.database}`'
647
+ content: 'Review the instance in Spanner: https://console.cloud.google.com/spanner/instances?project=<%-projectId%>'
614
648
  request_latencies:
615
649
  display_name: '[P3] <%-clan%> - Spanner | API transaction latency'
616
650
  conditions:
@@ -631,3 +665,4 @@ spanner:
631
665
  per_series_aligner: ALIGN_PERCENTILE_95
632
666
  documentation:
633
667
  subject: 'Instance: `$${resource.label.instance_id}`, Database: `$${resource.label.database}}`'
668
+ content: 'Review the instance in Spanner: https://console.cloud.google.com/spanner/instances?project=<%-projectId%>'
@@ -563,9 +563,9 @@
563
563
  "license": "MIT"
564
564
  },
565
565
  "node_modules/@esbuild/linux-x64": {
566
- "version": "0.25.8",
567
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz",
568
- "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==",
566
+ "version": "0.25.9",
567
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
568
+ "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
569
569
  "cpu": [
570
570
  "x64"
571
571
  ],
@@ -775,10 +775,9 @@
775
775
  }
776
776
  },
777
777
  "node_modules/@google-cloud/storage": {
778
- "version": "7.16.0",
779
- "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-7.16.0.tgz",
780
- "integrity": "sha512-7/5LRgykyOfQENcm6hDKP8SX/u9XxE5YOiWOkgkwcoO+cG8xT/cyOvp9wwN3IxfdYgpHs8CE7Nq2PKX2lNaEXw==",
781
- "license": "Apache-2.0",
778
+ "version": "7.17.0",
779
+ "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-7.17.0.tgz",
780
+ "integrity": "sha512-5m9GoZqKh52a1UqkxDBu/+WVFDALNtHg5up5gNmNbXQWBcV813tzJKsyDtKjOPrlR1em1TxtD7NSPCrObH7koQ==",
782
781
  "dependencies": {
783
782
  "@google-cloud/paginator": "^5.0.0",
784
783
  "@google-cloud/projectify": "^4.0.0",
@@ -3894,9 +3893,9 @@
3894
3893
  }
3895
3894
  },
3896
3895
  "node_modules/esbuild": {
3897
- "version": "0.25.8",
3898
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz",
3899
- "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==",
3896
+ "version": "0.25.9",
3897
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
3898
+ "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
3900
3899
  "dev": true,
3901
3900
  "hasInstallScript": true,
3902
3901
  "license": "MIT",
@@ -3907,32 +3906,32 @@
3907
3906
  "node": ">=18"
3908
3907
  },
3909
3908
  "optionalDependencies": {
3910
- "@esbuild/aix-ppc64": "0.25.8",
3911
- "@esbuild/android-arm": "0.25.8",
3912
- "@esbuild/android-arm64": "0.25.8",
3913
- "@esbuild/android-x64": "0.25.8",
3914
- "@esbuild/darwin-arm64": "0.25.8",
3915
- "@esbuild/darwin-x64": "0.25.8",
3916
- "@esbuild/freebsd-arm64": "0.25.8",
3917
- "@esbuild/freebsd-x64": "0.25.8",
3918
- "@esbuild/linux-arm": "0.25.8",
3919
- "@esbuild/linux-arm64": "0.25.8",
3920
- "@esbuild/linux-ia32": "0.25.8",
3921
- "@esbuild/linux-loong64": "0.25.8",
3922
- "@esbuild/linux-mips64el": "0.25.8",
3923
- "@esbuild/linux-ppc64": "0.25.8",
3924
- "@esbuild/linux-riscv64": "0.25.8",
3925
- "@esbuild/linux-s390x": "0.25.8",
3926
- "@esbuild/linux-x64": "0.25.8",
3927
- "@esbuild/netbsd-arm64": "0.25.8",
3928
- "@esbuild/netbsd-x64": "0.25.8",
3929
- "@esbuild/openbsd-arm64": "0.25.8",
3930
- "@esbuild/openbsd-x64": "0.25.8",
3931
- "@esbuild/openharmony-arm64": "0.25.8",
3932
- "@esbuild/sunos-x64": "0.25.8",
3933
- "@esbuild/win32-arm64": "0.25.8",
3934
- "@esbuild/win32-ia32": "0.25.8",
3935
- "@esbuild/win32-x64": "0.25.8"
3909
+ "@esbuild/aix-ppc64": "0.25.9",
3910
+ "@esbuild/android-arm": "0.25.9",
3911
+ "@esbuild/android-arm64": "0.25.9",
3912
+ "@esbuild/android-x64": "0.25.9",
3913
+ "@esbuild/darwin-arm64": "0.25.9",
3914
+ "@esbuild/darwin-x64": "0.25.9",
3915
+ "@esbuild/freebsd-arm64": "0.25.9",
3916
+ "@esbuild/freebsd-x64": "0.25.9",
3917
+ "@esbuild/linux-arm": "0.25.9",
3918
+ "@esbuild/linux-arm64": "0.25.9",
3919
+ "@esbuild/linux-ia32": "0.25.9",
3920
+ "@esbuild/linux-loong64": "0.25.9",
3921
+ "@esbuild/linux-mips64el": "0.25.9",
3922
+ "@esbuild/linux-ppc64": "0.25.9",
3923
+ "@esbuild/linux-riscv64": "0.25.9",
3924
+ "@esbuild/linux-s390x": "0.25.9",
3925
+ "@esbuild/linux-x64": "0.25.9",
3926
+ "@esbuild/netbsd-arm64": "0.25.9",
3927
+ "@esbuild/netbsd-x64": "0.25.9",
3928
+ "@esbuild/openbsd-arm64": "0.25.9",
3929
+ "@esbuild/openbsd-x64": "0.25.9",
3930
+ "@esbuild/openharmony-arm64": "0.25.9",
3931
+ "@esbuild/sunos-x64": "0.25.9",
3932
+ "@esbuild/win32-arm64": "0.25.9",
3933
+ "@esbuild/win32-ia32": "0.25.9",
3934
+ "@esbuild/win32-x64": "0.25.9"
3936
3935
  }
3937
3936
  },
3938
3937
  "node_modules/escalade": {
@@ -8285,9 +8284,9 @@
8285
8284
  "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
8286
8285
  },
8287
8286
  "node_modules/nock": {
8288
- "version": "14.0.9",
8289
- "resolved": "https://registry.npmjs.org/nock/-/nock-14.0.9.tgz",
8290
- "integrity": "sha512-aVIPgW9WVyb3XPCqfrwETc+hazxzgt8/QvARHAhC6BYHtTsZONUjlXoIB8EGmwqUBkKvOew4yqkGRBmwctdCrw==",
8287
+ "version": "14.0.10",
8288
+ "resolved": "https://registry.npmjs.org/nock/-/nock-14.0.10.tgz",
8289
+ "integrity": "sha512-Q7HjkpyPeLa0ZVZC5qpxBt5EyLczFJ91MEewQiIi9taWuA0KB/MDJlUWtON+7dGouVdADTQsf9RA7TZk6D8VMw==",
8291
8290
  "dev": true,
8292
8291
  "license": "MIT",
8293
8292
  "dependencies": {
@@ -11543,10 +11542,10 @@
11543
11542
  },
11544
11543
  "packages/generators": {
11545
11544
  "name": "@hiiretail/gcp-infra-generators",
11546
- "version": "1.0.1",
11545
+ "version": "1.0.2",
11547
11546
  "license": "MIT",
11548
11547
  "dependencies": {
11549
- "@google-cloud/storage": "^7.16.0",
11548
+ "@google-cloud/storage": "^7.17.0",
11550
11549
  "axios": "^1.11.0",
11551
11550
  "chalk": "^4.1.2",
11552
11551
  "commander": "^14.0.0",
@@ -821,7 +821,7 @@ class Bucket extends index_js_1.ServiceObject {
821
821
  * **Note**: For configuring a raw-formatted rule object to be passed as `action`
822
822
  * please refer to the [examples]{@link https://cloud.google.com/storage/docs/managing-lifecycles#configexamples}.
823
823
  * @param {object} rule.condition Condition a bucket must meet before the
824
- * action occurson the bucket. Refer to followitn supported [conditions]{@link https://cloud.google.com/storage/docs/lifecycle#conditions}.
824
+ * action occurs on the bucket. Refer to following supported [conditions]{@link https://cloud.google.com/storage/docs/lifecycle#conditions}.
825
825
  * @param {string} [rule.storageClass] When using the `setStorageClass`
826
826
  * action, provide this option to dictate which storage class the object
827
827
  * should update to.
@@ -1347,7 +1347,7 @@ class Bucket extends index_js_1.ServiceObject {
1347
1347
  * myBucket.createNotification('my-topic', callback);
1348
1348
  *
1349
1349
  * //-
1350
- * // Configure the nofiication by providing Notification metadata.
1350
+ * // Configure the notification by providing Notification metadata.
1351
1351
  * //-
1352
1352
  * const metadata = {
1353
1353
  * objectNamePrefix: 'prefix-'
@@ -2304,7 +2304,7 @@ class Bucket extends index_js_1.ServiceObject {
2304
2304
  * @property {boolean} [virtualHostedStyle=false] Use virtual hosted-style
2305
2305
  * URLs ('https://mybucket.storage.googleapis.com/...') instead of path-style
2306
2306
  * ('https://storage.googleapis.com/mybucket/...'). Virtual hosted-style URLs
2307
- * should generally be preferred instaed of path-style URL.
2307
+ * should generally be preferred instead of path-style URL.
2308
2308
  * Currently defaults to `false` for path-style, although this may change in a
2309
2309
  * future major-version release.
2310
2310
  * @property {string} [cname] The cname for this bucket, i.e.,
@@ -2351,7 +2351,7 @@ class Bucket extends index_js_1.ServiceObject {
2351
2351
  * @param {boolean} [config.virtualHostedStyle=false] Use virtual hosted-style
2352
2352
  * URLs ('https://mybucket.storage.googleapis.com/...') instead of path-style
2353
2353
  * ('https://storage.googleapis.com/mybucket/...'). Virtual hosted-style URLs
2354
- * should generally be preferred instaed of path-style URL.
2354
+ * should generally be preferred instead of path-style URL.
2355
2355
  * Currently defaults to `false` for path-style, although this may change in a
2356
2356
  * future major-version release.
2357
2357
  * @param {string} [config.cname] The cname for this bucket, i.e.,
@@ -2441,7 +2441,7 @@ class Bucket extends index_js_1.ServiceObject {
2441
2441
  * @throws {Error} if a metageneration is not provided.
2442
2442
  *
2443
2443
  * @param {number|string} metageneration The bucket's metageneration. This is
2444
- * accesssible from calling {@link File#getMetadata}.
2444
+ * accessible from calling {@link File#getMetadata}.
2445
2445
  * @param {BucketLockCallback} [callback] Callback function.
2446
2446
  * @returns {Promise<BucketLockResponse>}
2447
2447
  *
@@ -217,6 +217,7 @@ export type DownloadResponse = [Buffer];
217
217
  export type DownloadCallback = (err: RequestError | null, contents: Buffer) => void;
218
218
  export interface DownloadOptions extends CreateReadStreamOptions {
219
219
  destination?: string;
220
+ encryptionKey?: string | Buffer;
220
221
  }
221
222
  export interface CreateReadStreamOptions {
222
223
  userProject?: string;
@@ -1507,6 +1507,9 @@ class File extends index_js_1.ServiceObject {
1507
1507
  transformStreams.push(zlib.createGzip());
1508
1508
  }
1509
1509
  const emitStream = new util_js_2.PassThroughShim();
1510
+ // If `writeStream` is destroyed before the `writing` event, `emitStream` will not have any listeners. This prevents an unhandled error.
1511
+ const noop = () => { };
1512
+ emitStream.on('error', noop);
1510
1513
  let hashCalculatingStream = null;
1511
1514
  if (crc32c || md5) {
1512
1515
  const crc32cInstance = options.resumeCRC32C
@@ -1539,6 +1542,8 @@ class File extends index_js_1.ServiceObject {
1539
1542
  else {
1540
1543
  this.startResumableUpload_(fileWriteStream, options);
1541
1544
  }
1545
+ // remove temporary noop listener as we now create a pipeline that handles the errors
1546
+ emitStream.removeListener('error', noop);
1542
1547
  (0, stream_1.pipeline)(emitStream, ...transformStreams, fileWriteStream, async (e) => {
1543
1548
  if (e) {
1544
1549
  return pipelineCallback(e);
@@ -1673,6 +1678,10 @@ class File extends index_js_1.ServiceObject {
1673
1678
  });
1674
1679
  const destination = options.destination;
1675
1680
  delete options.destination;
1681
+ if (options.encryptionKey) {
1682
+ this.setEncryptionKey(options.encryptionKey);
1683
+ delete options.encryptionKey;
1684
+ }
1676
1685
  const fileStream = this.createReadStream(options);
1677
1686
  let receivedData = false;
1678
1687
  if (destination) {
@@ -2226,7 +2235,7 @@ class File extends index_js_1.ServiceObject {
2226
2235
  * @param {boolean} [config.virtualHostedStyle=false] Use virtual hosted-style
2227
2236
  * URLs (e.g. 'https://mybucket.storage.googleapis.com/...') instead of path-style
2228
2237
  * (e.g. 'https://storage.googleapis.com/mybucket/...'). Virtual hosted-style URLs
2229
- * should generally be preferred instaed of path-style URL.
2238
+ * should generally be preferred instead of path-style URL.
2230
2239
  * Currently defaults to `false` for path-style, although this may change in a
2231
2240
  * future major-version release.
2232
2241
  * @param {string} [config.cname] The cname for this bucket, i.e.,
@@ -599,7 +599,7 @@ class Storage extends index_js_1.Service {
599
599
  * For more information, see {@link https://cloud.google.com/storage/docs/locations| Bucket Locations}.
600
600
  * @property {boolean} [dra=false] Specify the storage class as Durable Reduced
601
601
  * Availability.
602
- * @property {boolean} [enableObjectRetention=false] Specifiy whether or not object retention should be enabled on this bucket.
602
+ * @property {boolean} [enableObjectRetention=false] Specify whether or not object retention should be enabled on this bucket.
603
603
  * @property {object} [hierarchicalNamespace.enabled=false] Specify whether or not to enable hierarchical namespace on this bucket.
604
604
  * @property {string} [location] Specify the bucket's location. If specifying
605
605
  * a dual-region, the `customPlacementConfig` property should be set in conjunction.
@@ -84,7 +84,7 @@ export declare class TransferManager {
84
84
  * @typedef {object} UploadManyFilesOptions
85
85
  * @property {number} [concurrencyLimit] The number of concurrently executing promises
86
86
  * to use when uploading the files.
87
- * @property {Function} [customDestinationBuilder] A fuction that will take the current path of a local file
87
+ * @property {Function} [customDestinationBuilder] A function that will take the current path of a local file
88
88
  * and return a string representing a custom path to be used to upload the file to GCS.
89
89
  * @property {boolean} [skipIfExists] Do not upload the file if it already exists in
90
90
  * the bucket. This will set the precondition ifGenerationMatch = 0.
@@ -209,7 +209,7 @@ export declare class TransferManager {
209
209
  * @property {number} [concurrencyLimit] The number of concurrently executing promises
210
210
  * to use when uploading the file.
211
211
  * @property {number} [chunkSizeBytes] The size in bytes of each chunk to be uploaded.
212
- * @property {string} [uploadName] Name of the file when saving to GCS. If ommitted the name is taken from the file path.
212
+ * @property {string} [uploadName] Name of the file when saving to GCS. If omitted the name is taken from the file path.
213
213
  * @property {number} [maxQueueSize] The number of chunks to be uploaded to hold in memory concurrently. If not specified
214
214
  * defaults to the specified concurrency limit.
215
215
  * @property {string} [uploadId] If specified attempts to resume a previous upload.
@@ -222,14 +222,14 @@ export declare class TransferManager {
222
222
  *
223
223
  */
224
224
  /**
225
- * Upload a large file in chunks utilizing parallel upload opertions. If the upload fails, an uploadId and
225
+ * Upload a large file in chunks utilizing parallel upload operations. If the upload fails, an uploadId and
226
226
  * map containing all the successfully uploaded parts will be returned to the caller. These arguments can be used to
227
227
  * resume the upload.
228
228
  *
229
229
  * @param {string} [filePath] The path of the file to be uploaded
230
230
  * @param {UploadFileInChunksOptions} [options] Configuration options.
231
231
  * @param {MultiPartHelperGenerator} [generator] A function that will return a type that implements the MPU interface. Most users will not need to use this.
232
- * @returns {Promise<void>} If successful a promise resolving to void, otherwise a error containing the message, uploadid, and parts map.
232
+ * @returns {Promise<void>} If successful a promise resolving to void, otherwise a error containing the message, uploadId, and parts map.
233
233
  *
234
234
  * @example
235
235
  * ```
@@ -326,7 +326,7 @@ class TransferManager {
326
326
  * @typedef {object} UploadManyFilesOptions
327
327
  * @property {number} [concurrencyLimit] The number of concurrently executing promises
328
328
  * to use when uploading the files.
329
- * @property {Function} [customDestinationBuilder] A fuction that will take the current path of a local file
329
+ * @property {Function} [customDestinationBuilder] A function that will take the current path of a local file
330
330
  * and return a string representing a custom path to be used to upload the file to GCS.
331
331
  * @property {boolean} [skipIfExists] Do not upload the file if it already exists in
332
332
  * the bucket. This will set the precondition ifGenerationMatch = 0.
@@ -595,7 +595,7 @@ class TransferManager {
595
595
  * @property {number} [concurrencyLimit] The number of concurrently executing promises
596
596
  * to use when uploading the file.
597
597
  * @property {number} [chunkSizeBytes] The size in bytes of each chunk to be uploaded.
598
- * @property {string} [uploadName] Name of the file when saving to GCS. If ommitted the name is taken from the file path.
598
+ * @property {string} [uploadName] Name of the file when saving to GCS. If omitted the name is taken from the file path.
599
599
  * @property {number} [maxQueueSize] The number of chunks to be uploaded to hold in memory concurrently. If not specified
600
600
  * defaults to the specified concurrency limit.
601
601
  * @property {string} [uploadId] If specified attempts to resume a previous upload.
@@ -608,14 +608,14 @@ class TransferManager {
608
608
  *
609
609
  */
610
610
  /**
611
- * Upload a large file in chunks utilizing parallel upload opertions. If the upload fails, an uploadId and
611
+ * Upload a large file in chunks utilizing parallel upload operations. If the upload fails, an uploadId and
612
612
  * map containing all the successfully uploaded parts will be returned to the caller. These arguments can be used to
613
613
  * resume the upload.
614
614
  *
615
615
  * @param {string} [filePath] The path of the file to be uploaded
616
616
  * @param {UploadFileInChunksOptions} [options] Configuration options.
617
617
  * @param {MultiPartHelperGenerator} [generator] A function that will return a type that implements the MPU interface. Most users will not need to use this.
618
- * @returns {Promise<void>} If successful a promise resolving to void, otherwise a error containing the message, uploadid, and parts map.
618
+ * @returns {Promise<void>} If successful a promise resolving to void, otherwise a error containing the message, uploadId, and parts map.
619
619
  *
620
620
  * @example
621
621
  * ```
@@ -61,7 +61,7 @@ export declare function convertObjKeysToSnakeCase(obj: object): object;
61
61
  * @param {boolean} includeTime flag to include hours, minutes, seconds in output.
62
62
  * @param {string} dateDelimiter delimiter between date components.
63
63
  * @param {string} timeDelimiter delimiter between time components.
64
- * @returns {string} UTC ISO format of provided date obect.
64
+ * @returns {string} UTC ISO format of provided date object.
65
65
  */
66
66
  export declare function formatAsUTCISO(dateTimeToFormat: Date, includeTime?: boolean, dateDelimiter?: string, timeDelimiter?: string): string;
67
67
  /**
@@ -179,7 +179,7 @@ function convertObjKeysToSnakeCase(obj) {
179
179
  * @param {boolean} includeTime flag to include hours, minutes, seconds in output.
180
180
  * @param {string} dateDelimiter delimiter between date components.
181
181
  * @param {string} timeDelimiter delimiter between time components.
182
- * @returns {string} UTC ISO format of provided date obect.
182
+ * @returns {string} UTC ISO format of provided date object.
183
183
  */
184
184
  function formatAsUTCISO(dateTimeToFormat, includeTime = false, dateDelimiter = '', timeDelimiter = '') {
185
185
  const year = dateTimeToFormat.getUTCFullYear();
@@ -258,7 +258,7 @@ class PassThroughShim extends stream_1.PassThrough {
258
258
  this.emit('writing');
259
259
  this.shouldEmitWriting = false;
260
260
  }
261
- // Per the nodejs documention, callback must be invoked on the next tick
261
+ // Per the nodejs documentation, callback must be invoked on the next tick
262
262
  process.nextTick(() => {
263
263
  super._write(chunk, encoding, callback);
264
264
  });
@@ -782,7 +782,7 @@ class Bucket extends ServiceObject {
782
782
  * **Note**: For configuring a raw-formatted rule object to be passed as `action`
783
783
  * please refer to the [examples]{@link https://cloud.google.com/storage/docs/managing-lifecycles#configexamples}.
784
784
  * @param {object} rule.condition Condition a bucket must meet before the
785
- * action occurson the bucket. Refer to followitn supported [conditions]{@link https://cloud.google.com/storage/docs/lifecycle#conditions}.
785
+ * action occurs on the bucket. Refer to following supported [conditions]{@link https://cloud.google.com/storage/docs/lifecycle#conditions}.
786
786
  * @param {string} [rule.storageClass] When using the `setStorageClass`
787
787
  * action, provide this option to dictate which storage class the object
788
788
  * should update to.
@@ -1308,7 +1308,7 @@ class Bucket extends ServiceObject {
1308
1308
  * myBucket.createNotification('my-topic', callback);
1309
1309
  *
1310
1310
  * //-
1311
- * // Configure the nofiication by providing Notification metadata.
1311
+ * // Configure the notification by providing Notification metadata.
1312
1312
  * //-
1313
1313
  * const metadata = {
1314
1314
  * objectNamePrefix: 'prefix-'
@@ -2265,7 +2265,7 @@ class Bucket extends ServiceObject {
2265
2265
  * @property {boolean} [virtualHostedStyle=false] Use virtual hosted-style
2266
2266
  * URLs ('https://mybucket.storage.googleapis.com/...') instead of path-style
2267
2267
  * ('https://storage.googleapis.com/mybucket/...'). Virtual hosted-style URLs
2268
- * should generally be preferred instaed of path-style URL.
2268
+ * should generally be preferred instead of path-style URL.
2269
2269
  * Currently defaults to `false` for path-style, although this may change in a
2270
2270
  * future major-version release.
2271
2271
  * @property {string} [cname] The cname for this bucket, i.e.,
@@ -2312,7 +2312,7 @@ class Bucket extends ServiceObject {
2312
2312
  * @param {boolean} [config.virtualHostedStyle=false] Use virtual hosted-style
2313
2313
  * URLs ('https://mybucket.storage.googleapis.com/...') instead of path-style
2314
2314
  * ('https://storage.googleapis.com/mybucket/...'). Virtual hosted-style URLs
2315
- * should generally be preferred instaed of path-style URL.
2315
+ * should generally be preferred instead of path-style URL.
2316
2316
  * Currently defaults to `false` for path-style, although this may change in a
2317
2317
  * future major-version release.
2318
2318
  * @param {string} [config.cname] The cname for this bucket, i.e.,
@@ -2402,7 +2402,7 @@ class Bucket extends ServiceObject {
2402
2402
  * @throws {Error} if a metageneration is not provided.
2403
2403
  *
2404
2404
  * @param {number|string} metageneration The bucket's metageneration. This is
2405
- * accesssible from calling {@link File#getMetadata}.
2405
+ * accessible from calling {@link File#getMetadata}.
2406
2406
  * @param {BucketLockCallback} [callback] Callback function.
2407
2407
  * @returns {Promise<BucketLockResponse>}
2408
2408
  *