@reventlessdev/rescript-pulumi-aws 2.4.0-alpha.46 → 2.4.0-alpha.48
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.
- package/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/src/AppSync/AppSync_Resolver_Functions.res +15 -1
- package/src/AppSync/AppSync_Resolver_Functions.res.mjs +5 -2
- package/src/Cloudwatch/Cloudwatch.res +1 -0
- package/src/Cloudwatch/Cloudwatch.res.mjs +3 -0
- package/src/Cloudwatch/Cloudwatch_MetricAlarm.res +32 -0
- package/src/Cloudwatch/Cloudwatch_MetricAlarm.res.mjs +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 2.4.0-alpha.48 (2026-07-11)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **monitoring:** deploy-time Monitoring hook seam for provisioned execution units ([30f1c23](https://github.com/ReventlessDev/reventless-core/commit/30f1c23ba118805dae83af9115341f4aff6db92b))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# 2.4.0-alpha.47 (2026-07-08)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **reventless-aws:** exclude internal rows from Platform_Plugins connection scan ([df14af2](https://github.com/ReventlessDev/reventless-core/commit/df14af2cbd70d49062f2afc03418cdbf18d151d6))
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
# 2.4.0-alpha.46 (2026-07-06)
|
|
7
21
|
|
|
8
22
|
### Features
|
package/package.json
CHANGED
|
@@ -430,7 +430,21 @@ let listAllItemsConnection = (
|
|
|
430
430
|
~filterFields: array<string>=[],
|
|
431
431
|
~rangeFields: array<string>=[],
|
|
432
432
|
~sortFields: array<string>=[],
|
|
433
|
+
// When set, emit an always-on `attribute_exists(#<attr>)` FilterExpression clause
|
|
434
|
+
// (ANDed with any client filters) so rows lacking that attribute never enter the
|
|
435
|
+
// Connection. Used for read models whose physical DynamoDB table co-hosts internal
|
|
436
|
+
// bookkeeping rows written outside the projection (e.g. the Plugins admin RM, whose
|
|
437
|
+
// table also holds `deploy-schema:*` / `plugin-info:*` rows with no `name`). Those
|
|
438
|
+
// rows would otherwise resolve `name`/`status`/`version` to null and violate the
|
|
439
|
+
// non-null GraphQL connection schema, nulling the whole connection.
|
|
440
|
+
~requireAttribute: option<string>=?,
|
|
433
441
|
) => {
|
|
442
|
+
let requireAttributeClause = switch requireAttribute {
|
|
443
|
+
| Some(attr) => `
|
|
444
|
+
names['#${attr}'] = '${attr}';
|
|
445
|
+
parts.push('attribute_exists(#${attr})');`
|
|
446
|
+
| None => ""
|
|
447
|
+
}
|
|
434
448
|
let filterClauses =
|
|
435
449
|
filterFields
|
|
436
450
|
->Array.map(f => `
|
|
@@ -514,7 +528,7 @@ export function request(ctx) {
|
|
|
514
528
|
return key;
|
|
515
529
|
});
|
|
516
530
|
parts.push('#id IN (' + placeholders.join(', ') + ')');
|
|
517
|
-
}${filterClauses}${rangeClauses}
|
|
531
|
+
}${filterClauses}${rangeClauses}${requireAttributeClause}
|
|
518
532
|
const req = {
|
|
519
533
|
operation: 'Scan',
|
|
520
534
|
limit: (ctx.args.first ?? 50),
|
|
@@ -360,10 +360,13 @@ export function request(ctx) {
|
|
|
360
360
|
` + resultResponseCode + `
|
|
361
361
|
`;
|
|
362
362
|
|
|
363
|
-
function listAllItemsConnection(labelField, filterFieldsOpt, rangeFieldsOpt, sortFieldsOpt) {
|
|
363
|
+
function listAllItemsConnection(labelField, filterFieldsOpt, rangeFieldsOpt, sortFieldsOpt, requireAttribute) {
|
|
364
364
|
let filterFields = filterFieldsOpt !== undefined ? filterFieldsOpt : [];
|
|
365
365
|
let rangeFields = rangeFieldsOpt !== undefined ? rangeFieldsOpt : [];
|
|
366
366
|
let sortFields = sortFieldsOpt !== undefined ? sortFieldsOpt : [];
|
|
367
|
+
let requireAttributeClause = requireAttribute !== undefined ? `
|
|
368
|
+
names['#` + requireAttribute + `'] = '` + requireAttribute + `';
|
|
369
|
+
parts.push('attribute_exists(#` + requireAttribute + `)');` : "";
|
|
367
370
|
let filterClauses = filterFields.map(f => `
|
|
368
371
|
if (filter.` + f + `Eq !== undefined && filter.` + f + `Eq !== null && filter.` + f + `Eq !== '') {
|
|
369
372
|
names['#` + f + `'] = '` + f + `';
|
|
@@ -427,7 +430,7 @@ export function request(ctx) {
|
|
|
427
430
|
return key;
|
|
428
431
|
});
|
|
429
432
|
parts.push('#id IN (' + placeholders.join(', ') + ')');
|
|
430
|
-
}` + filterClauses + rangeClauses + `
|
|
433
|
+
}` + filterClauses + rangeClauses + requireAttributeClause + `
|
|
431
434
|
const req = {
|
|
432
435
|
operation: 'Scan',
|
|
433
436
|
limit: (ctx.args.first ?? 50),
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudwatch/metricalarm
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudwatch/metricalarm/
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
type t = {arn: Pulumi.Output.t<string>, id: Pulumi.Output.t<string>}
|
|
6
|
+
|
|
7
|
+
/** Single-metric alarm args. `comparisonOperator` uses CloudWatch's operator
|
|
8
|
+
names (e.g. `"GreaterThanOrEqualToThreshold"`); `statistic` is `"Sum"`,
|
|
9
|
+
`"Average"`, … ; `treatMissingData` is `"missing"`, `"notBreaching"`,
|
|
10
|
+
`"breaching"`, or `"ignore"`; `alarmActions` are ARNs (typically an SNS topic)
|
|
11
|
+
fired when the alarm enters ALARM state. */
|
|
12
|
+
type args = {
|
|
13
|
+
name?: Pulumi.Input.t<string>,
|
|
14
|
+
comparisonOperator: Pulumi.Input.t<string>,
|
|
15
|
+
evaluationPeriods: Pulumi.Input.t<int>,
|
|
16
|
+
metricName: Pulumi.Input.t<string>,
|
|
17
|
+
namespace: Pulumi.Input.t<string>,
|
|
18
|
+
/** Metric period in seconds. */
|
|
19
|
+
period: Pulumi.Input.t<int>,
|
|
20
|
+
statistic: Pulumi.Input.t<string>,
|
|
21
|
+
threshold: Pulumi.Input.t<float>,
|
|
22
|
+
/** Metric dimensions, e.g. `{"FunctionName": "AllAggregatesCmdHandler"}`. */
|
|
23
|
+
dimensions?: Pulumi.Input.t<Dict.t<string>>,
|
|
24
|
+
treatMissingData?: Pulumi.Input.t<string>,
|
|
25
|
+
alarmActions?: Pulumi.Input.t<array<Pulumi.Input.t<string>>>,
|
|
26
|
+
alarmDescription?: Pulumi.Input.t<string>,
|
|
27
|
+
tags?: Pulumi.Input.t<Aws.tags>,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@module("@pulumi/aws") @scope("cloudwatch") @new
|
|
31
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
32
|
+
"MetricAlarm"
|