@cumulus/api-client 9.2.3 → 9.4.1
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/CumulusApiClientError.d.ts +3 -1
- package/CumulusApiClientError.d.ts.map +1 -1
- package/CumulusApiClientError.js +4 -2
- package/CumulusApiClientError.js.map +1 -1
- package/cumulusApiClient.d.ts.map +1 -1
- package/cumulusApiClient.js +6 -3
- package/cumulusApiClient.js.map +1 -1
- package/deadLetterArchive.d.ts.map +1 -1
- package/deadLetterArchive.js +1 -0
- package/deadLetterArchive.js.map +1 -1
- package/executions.d.ts +32 -0
- package/executions.d.ts.map +1 -1
- package/executions.js +55 -1
- package/executions.js.map +1 -1
- package/granules.d.ts +22 -16
- package/granules.d.ts.map +1 -1
- package/granules.js +32 -20
- package/granules.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/migrationCounts.d.ts.map +1 -1
- package/migrationCounts.js +1 -0
- package/migrationCounts.js.map +1 -1
- package/package.json +5 -5
- package/pdrs.d.ts +16 -0
- package/pdrs.d.ts.map +1 -1
- package/pdrs.js +24 -2
- package/pdrs.js.map +1 -1
- package/reconciliationReports.d.ts.map +1 -1
- package/reconciliationReports.js +3 -2
- package/reconciliationReports.js.map +1 -1
- package/replays.d.ts +38 -0
- package/replays.d.ts.map +1 -0
- package/replays.js +61 -0
- package/replays.js.map +1 -0
- package/rules.d.ts.map +1 -1
- package/rules.js +1 -1
- package/rules.js.map +1 -1
- package/src/CumulusApiClientError.ts +7 -2
- package/src/cumulusApiClient.ts +19 -3
- package/src/deadLetterArchive.ts +1 -0
- package/src/executions.ts +66 -0
- package/src/granules.ts +48 -22
- package/src/index.ts +1 -2
- package/src/migrationCounts.ts +1 -0
- package/src/pdrs.ts +29 -1
- package/src/reconciliationReports.ts +11 -2
- package/src/replays.ts +72 -0
- package/src/rules.ts +5 -1
- package/src/types.ts +2 -1
- package/types.d.ts +1 -0
- package/types.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciliationReports.d.ts","sourceRoot":"","sources":["src/reconciliationReports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,WAAkB;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,
|
|
1
|
+
{"version":3,"file":"reconciliationReports.d.ts","sourceRoot":"","sources":["src/reconciliationReports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,WAAkB;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,WAAkB;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAW5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAoB7C"}
|
package/reconciliationReports.js
CHANGED
|
@@ -15,7 +15,7 @@ const cumulusApiClient_1 = require("./cumulusApiClient");
|
|
|
15
15
|
* @returns {Promise<Object>} - the report fetched by the API
|
|
16
16
|
*/
|
|
17
17
|
exports.getReconciliationReport = async (params) => {
|
|
18
|
-
const { prefix, name, callback = cumulusApiClient_1.invokeApi } = params;
|
|
18
|
+
const { prefix, name, callback = cumulusApiClient_1.invokeApi, } = params;
|
|
19
19
|
return await callback({
|
|
20
20
|
prefix: prefix,
|
|
21
21
|
payload: {
|
|
@@ -62,7 +62,7 @@ exports.deleteReconciliationReport = async (params) => {
|
|
|
62
62
|
* @returns {Promise<Object>} - promise that resolves to the output of the API lambda
|
|
63
63
|
*/
|
|
64
64
|
async function createReconciliationReport(params) {
|
|
65
|
-
const { prefix, request, callback = cumulusApiClient_1.invokeApi } = params;
|
|
65
|
+
const { prefix, request, callback = cumulusApiClient_1.invokeApi, } = params;
|
|
66
66
|
return await callback({
|
|
67
67
|
prefix: prefix,
|
|
68
68
|
payload: {
|
|
@@ -74,6 +74,7 @@ async function createReconciliationReport(params) {
|
|
|
74
74
|
path: '/reconciliationReports',
|
|
75
75
|
body: JSON.stringify(request),
|
|
76
76
|
},
|
|
77
|
+
expectedStatusCode: 202,
|
|
77
78
|
});
|
|
78
79
|
}
|
|
79
80
|
exports.createReconciliationReport = createReconciliationReport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciliationReports.js","sourceRoot":"","sources":["src/reconciliationReports.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAG/C;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAAG,KAAK,EAAE,MAI7C,EAA8C,EAAE;IAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"reconciliationReports.js","sourceRoot":"","sources":["src/reconciliationReports.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAG/C;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAAG,KAAK,EAAE,MAI7C,EAA8C,EAAE;IAC/C,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GAAG,4BAAS,GACrB,GAAG,MAAM,CAAC;IAEX,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,0BAA0B,IAAI,EAAE;SACvC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACU,QAAA,0BAA0B,GAAG,KAAK,EAAE,MAIhD,EAA8C,EAAE;IAC/C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,4BAAS,EAAE,GAAG,MAAM,CAAC;IAEtD,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,0BAA0B,IAAI,EAAE;SACvC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,0BAA0B,CAAC,MAIhD;IACC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,GAAG,4BAAS,GACrB,GAAG,MAAM,CAAC;IAEX,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B;QACD,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC;AAxBD,gEAwBC"}
|
package/replays.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { MigrationCountsPayload } from '@cumulus/types/api/migrationCounts';
|
|
2
|
+
import { ReplaySqsMessagesPayload } from '@cumulus/types/api/replaySqsMessages';
|
|
3
|
+
import { ApiGatewayLambdaHttpProxyResponse, InvokeApiFunction } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* POST a request to start a replay of Kinesis message
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} params - params
|
|
8
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
9
|
+
* @param {Object} params.payload - payload to post to the endpoint
|
|
10
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
11
|
+
* that takes a prefix / user payload. Defaults
|
|
12
|
+
* to cumulusApiClient.invokeApi
|
|
13
|
+
* @returns {Promise<Object>} - promise that resolves to the output
|
|
14
|
+
* of the API lambda
|
|
15
|
+
*/
|
|
16
|
+
export declare const postKinesisReplays: (params: {
|
|
17
|
+
prefix: string;
|
|
18
|
+
payload: MigrationCountsPayload;
|
|
19
|
+
callback?: InvokeApiFunction;
|
|
20
|
+
}) => Promise<ApiGatewayLambdaHttpProxyResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* POST a request to start replaying archived SQS Messages
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} params - params
|
|
25
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
26
|
+
* @param {Object} params.payload - payload to post to the endpoint
|
|
27
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
28
|
+
* that takes a prefix / user payload. Defaults
|
|
29
|
+
* to cumulusApiClient.invokeApi
|
|
30
|
+
* @returns {Promise<Object>} - promise that resolves to the output
|
|
31
|
+
* of the API lambda
|
|
32
|
+
*/
|
|
33
|
+
export declare const replaySqsMessages: (params: {
|
|
34
|
+
prefix: string;
|
|
35
|
+
payload: ReplaySqsMessagesPayload;
|
|
36
|
+
callback?: InvokeApiFunction;
|
|
37
|
+
}) => Promise<ApiGatewayLambdaHttpProxyResponse>;
|
|
38
|
+
//# sourceMappingURL=replays.d.ts.map
|
package/replays.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replays.d.ts","sourceRoot":"","sources":["src/replays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,WAAkB;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAgB5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,WAAkB;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,wBAAwB,CAAC;IAClC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,KAAG,OAAO,CAAC,iCAAiC,CAgB5C,CAAC"}
|
package/replays.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaySqsMessages = exports.postKinesisReplays = void 0;
|
|
4
|
+
const cumulusApiClient_1 = require("./cumulusApiClient");
|
|
5
|
+
/**
|
|
6
|
+
* POST a request to start a replay of Kinesis message
|
|
7
|
+
*
|
|
8
|
+
* @param {Object} params - params
|
|
9
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
10
|
+
* @param {Object} params.payload - payload to post to the endpoint
|
|
11
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
12
|
+
* that takes a prefix / user payload. Defaults
|
|
13
|
+
* to cumulusApiClient.invokeApi
|
|
14
|
+
* @returns {Promise<Object>} - promise that resolves to the output
|
|
15
|
+
* of the API lambda
|
|
16
|
+
*/
|
|
17
|
+
exports.postKinesisReplays = async (params) => {
|
|
18
|
+
const { prefix, payload, callback = cumulusApiClient_1.invokeApi } = params;
|
|
19
|
+
return await callback({
|
|
20
|
+
prefix,
|
|
21
|
+
payload: {
|
|
22
|
+
httpMethod: 'POST',
|
|
23
|
+
resource: '/{proxy+}',
|
|
24
|
+
headers: {
|
|
25
|
+
'Content-Type': 'application/json',
|
|
26
|
+
},
|
|
27
|
+
path: '/replays',
|
|
28
|
+
body: JSON.stringify(payload),
|
|
29
|
+
},
|
|
30
|
+
expectedStatusCode: 202,
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* POST a request to start replaying archived SQS Messages
|
|
35
|
+
*
|
|
36
|
+
* @param {Object} params - params
|
|
37
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
38
|
+
* @param {Object} params.payload - payload to post to the endpoint
|
|
39
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
40
|
+
* that takes a prefix / user payload. Defaults
|
|
41
|
+
* to cumulusApiClient.invokeApi
|
|
42
|
+
* @returns {Promise<Object>} - promise that resolves to the output
|
|
43
|
+
* of the API lambda
|
|
44
|
+
*/
|
|
45
|
+
exports.replaySqsMessages = async (params) => {
|
|
46
|
+
const { payload, prefix, callback = cumulusApiClient_1.invokeApi } = params;
|
|
47
|
+
return await callback({
|
|
48
|
+
prefix,
|
|
49
|
+
payload: {
|
|
50
|
+
httpMethod: 'POST',
|
|
51
|
+
resource: '/{proxy+}',
|
|
52
|
+
headers: {
|
|
53
|
+
'Content-Type': 'application/json',
|
|
54
|
+
},
|
|
55
|
+
path: '/replays/sqs',
|
|
56
|
+
body: JSON.stringify(payload),
|
|
57
|
+
},
|
|
58
|
+
expectedStatusCode: 202,
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=replays.js.map
|
package/replays.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replays.js","sourceRoot":"","sources":["src/replays.ts"],"names":[],"mappings":";;;AAEA,yDAA+C;AAG/C;;;;;;;;;;;GAWG;AACU,QAAA,kBAAkB,GAAG,KAAK,EAAE,MAIxC,EAA8C,EAAE;IAC/C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,4BAAS,EAAE,GAAG,MAAM,CAAC;IAEzD,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM;QACN,OAAO,EAAE;YACP,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B;QACD,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACU,QAAA,iBAAiB,GAAG,KAAK,EAAE,MAIvC,EAA8C,EAAE;IAC/C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,4BAAS,EAAE,GAAG,MAAM,CAAC;IAEzD,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM;QACN,OAAO,EAAE;YACP,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B;QACD,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,WAAkB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,iBAAiB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAoB5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YACZ,MAAM;;;;;MAGZ,OAAO,CAAC,iCAAiC,CAY5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,WAAkB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,OAAO,CAAC,iCAAiC,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,WAAkB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,iBAAiB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,OAAO,CAAC,iCAAiC,CAoB5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YACZ,MAAM;;;;;MAGZ,OAAO,CAAC,iCAAiC,CAY5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,WAAkB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,OAAO,CAAC,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,OAAO,CAAC,iCAAiC,CAW5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAiB7C"}
|
package/rules.js
CHANGED
|
@@ -90,7 +90,7 @@ exports.listRules = async (params) => {
|
|
|
90
90
|
* API lambda
|
|
91
91
|
*/
|
|
92
92
|
exports.getRule = async (params) => {
|
|
93
|
-
const { prefix, ruleName, callback = cumulusApiClient_1.invokeApi } = params;
|
|
93
|
+
const { prefix, ruleName, callback = cumulusApiClient_1.invokeApi, } = params;
|
|
94
94
|
return await callback({
|
|
95
95
|
prefix,
|
|
96
96
|
payload: {
|
package/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAG/C;;;;;;;;;;;GAWG;AACU,QAAA,QAAQ,GAAG,KAAK,EAAE,MAI9B,EAA8C,EAAE;IAC/C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,4BAAS,EAAE,GAAG,MAAM,CAAC;IAEtD,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM;QACN,OAAO,EAAE;YACP,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACU,QAAA,UAAU,GAAG,KAAK,EAAE,MAKhC,EAA8C,EAAE;IAC/C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,GAAG,4BAAS,GACrB,GAAG,MAAM,CAAC;IAEX,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM;QACN,OAAO,EAAE;YACP,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,UAAU,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;SACnC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,SAAS,GAAG,KAAK,EAAE,MAI/B,EAA8C,EAAE;IAC/C,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,4BAAS,EAAE,GAAG,MAAM,CAAC;IAE5D,OAAO,MAAM,QAAQ,CAAC;QACpB,MAAM;QACN,OAAO,EAAE;YACP,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,QAAQ;YACd,qBAAqB,EAAE,KAAK;SAC7B;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACU,QAAA,OAAO,GAAG,KAAK,EAAE,MAI7B,EAA8C,EAAE;IAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
export class CumulusApiClientError extends Error {
|
|
2
|
-
|
|
2
|
+
public statusCode: number | undefined;
|
|
3
|
+
public apiMessage: string | undefined;
|
|
4
|
+
|
|
5
|
+
constructor(message: string, statusCode: number, apiMessage: string | undefined) {
|
|
3
6
|
super(message);
|
|
4
|
-
this
|
|
7
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
8
|
+
this.statusCode = statusCode;
|
|
9
|
+
this.apiMessage = apiMessage;
|
|
5
10
|
}
|
|
6
11
|
}
|
|
7
12
|
|
package/src/cumulusApiClient.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import pRetry from 'p-retry';
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { lambda } from '@cumulus/aws-client/services';
|
|
4
|
+
import Logger from '@cumulus/logger';
|
|
5
|
+
|
|
4
6
|
import { CumulusApiClientError } from './CumulusApiClientError';
|
|
5
7
|
import * as types from './types';
|
|
6
8
|
|
|
@@ -21,7 +23,12 @@ const logger = new Logger({ sender: '@api-client/cumulusApiClient' });
|
|
|
21
23
|
export async function invokeApi(
|
|
22
24
|
params: types.InvokeApiFunctionParams
|
|
23
25
|
): Promise<types.ApiGatewayLambdaHttpProxyResponse> {
|
|
24
|
-
const {
|
|
26
|
+
const {
|
|
27
|
+
prefix,
|
|
28
|
+
payload,
|
|
29
|
+
expectedStatusCode = 200,
|
|
30
|
+
pRetryOptions = {},
|
|
31
|
+
} = params;
|
|
25
32
|
|
|
26
33
|
return await pRetry(
|
|
27
34
|
async () => {
|
|
@@ -38,10 +45,19 @@ export async function invokeApi(
|
|
|
38
45
|
|
|
39
46
|
if (parsedPayload?.errorMessage?.includes('Task timed out')) {
|
|
40
47
|
throw new CumulusApiClientError(
|
|
41
|
-
`Error calling ${payload.path}: ${parsedPayload.errorMessage}
|
|
48
|
+
`Error calling ${payload.path}: ${parsedPayload.errorMessage}`,
|
|
49
|
+
parsedPayload?.statusCode,
|
|
50
|
+
undefined
|
|
42
51
|
);
|
|
43
52
|
}
|
|
44
53
|
|
|
54
|
+
if (parsedPayload?.statusCode !== expectedStatusCode) {
|
|
55
|
+
throw new CumulusApiClientError(
|
|
56
|
+
`${payload.path} returned ${parsedPayload.statusCode}: ${parsedPayload.body}`,
|
|
57
|
+
parsedPayload?.statusCode,
|
|
58
|
+
parsedPayload.body
|
|
59
|
+
);
|
|
60
|
+
}
|
|
45
61
|
return parsedPayload;
|
|
46
62
|
},
|
|
47
63
|
{
|
package/src/deadLetterArchive.ts
CHANGED
package/src/executions.ts
CHANGED
|
@@ -118,3 +118,69 @@ export const deleteExecution = async (params: {
|
|
|
118
118
|
},
|
|
119
119
|
});
|
|
120
120
|
};
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Search executions by granules
|
|
124
|
+
* POST /executions/search-by-granules
|
|
125
|
+
* @param {Object} params - params
|
|
126
|
+
* @param {Object} params.body - body to pass the API lambda
|
|
127
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
128
|
+
* that takes a prefix / user payload. Defaults
|
|
129
|
+
* to cumulusApiClient.invokeApifunction to invoke the
|
|
130
|
+
* api lambda
|
|
131
|
+
* @returns {Promise<Object>} - the response from the callback
|
|
132
|
+
*/
|
|
133
|
+
export const searchExecutionsByGranules = async (params: {
|
|
134
|
+
prefix: string,
|
|
135
|
+
payload: object,
|
|
136
|
+
callback?: InvokeApiFunction
|
|
137
|
+
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
138
|
+
const { prefix, payload, callback = invokeApi } = params;
|
|
139
|
+
|
|
140
|
+
return await callback({
|
|
141
|
+
prefix: prefix,
|
|
142
|
+
payload: {
|
|
143
|
+
httpMethod: 'POST',
|
|
144
|
+
resource: '/{proxy+}',
|
|
145
|
+
headers: {
|
|
146
|
+
'Content-Type': 'application/json',
|
|
147
|
+
},
|
|
148
|
+
path: '/executions/search-by-granules',
|
|
149
|
+
body: JSON.stringify(payload),
|
|
150
|
+
},
|
|
151
|
+
expectedStatusCode: 202,
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Gets common workflows for a set of granules
|
|
157
|
+
* POST /executions/workflows-by-granules
|
|
158
|
+
* @param {Object} params - params
|
|
159
|
+
* @param {Object} params.body - body to pass the API lambda
|
|
160
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
161
|
+
* that takes a prefix / user payload. Defaults
|
|
162
|
+
* to cumulusApiClient.invokeApifunction to invoke the
|
|
163
|
+
* api lambda
|
|
164
|
+
* @returns {Promise<Object>} - the response from the callback
|
|
165
|
+
*/
|
|
166
|
+
export const workflowsByGranules = async (params: {
|
|
167
|
+
prefix: string,
|
|
168
|
+
payload: object,
|
|
169
|
+
callback?: InvokeApiFunction
|
|
170
|
+
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
171
|
+
const { prefix, payload, callback = invokeApi } = params;
|
|
172
|
+
|
|
173
|
+
return await callback({
|
|
174
|
+
prefix: prefix,
|
|
175
|
+
payload: {
|
|
176
|
+
httpMethod: 'POST',
|
|
177
|
+
resource: '/{proxy+}',
|
|
178
|
+
headers: {
|
|
179
|
+
'Content-Type': 'application/json',
|
|
180
|
+
},
|
|
181
|
+
path: '/executions/workflows-by-granules',
|
|
182
|
+
body: JSON.stringify(payload),
|
|
183
|
+
},
|
|
184
|
+
expectedStatusCode: 202,
|
|
185
|
+
});
|
|
186
|
+
};
|
package/src/granules.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import pRetry from 'p-retry';
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { ApiGranule, GranuleId, GranuleStatus } from '@cumulus/types/api/granules';
|
|
4
|
+
import Logger from '@cumulus/logger';
|
|
5
|
+
|
|
4
6
|
import { invokeApi } from './cumulusApiClient';
|
|
5
7
|
import { ApiGatewayLambdaHttpProxyResponse, InvokeApiFunction } from './types';
|
|
6
8
|
|
|
@@ -25,7 +27,12 @@ export const getGranuleResponse = async (params: {
|
|
|
25
27
|
query?: { [key: string]: string },
|
|
26
28
|
callback?: InvokeApiFunction
|
|
27
29
|
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
28
|
-
const {
|
|
30
|
+
const {
|
|
31
|
+
prefix,
|
|
32
|
+
granuleId,
|
|
33
|
+
query,
|
|
34
|
+
callback = invokeApi,
|
|
35
|
+
} = params;
|
|
29
36
|
|
|
30
37
|
return await callback({
|
|
31
38
|
prefix: prefix,
|
|
@@ -125,21 +132,25 @@ export const waitForGranule = async (params: {
|
|
|
125
132
|
* Reingest a granule from the Cumulus API
|
|
126
133
|
* PUT /granules/{}
|
|
127
134
|
*
|
|
128
|
-
* @param {Object} params
|
|
129
|
-
* @param {string} params.prefix
|
|
130
|
-
* @param {string} params.granuleId
|
|
131
|
-
* @param {
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
135
|
+
* @param {Object} params - params
|
|
136
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
137
|
+
* @param {string} params.granuleId - a granule ID
|
|
138
|
+
* @param {string} params.workflowName - Optional WorkflowName
|
|
139
|
+
* @param {string} params.executionArn - Optional executionArn
|
|
140
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
141
|
+
* that takes a prefix / user payload. Defaults
|
|
142
|
+
* to cumulusApiClient.invokeApifunction to invoke the
|
|
143
|
+
* api lambda
|
|
144
|
+
* @returns {Promise<Object>} - the granule fetched by the API
|
|
136
145
|
*/
|
|
137
146
|
export const reingestGranule = async (params: {
|
|
138
147
|
prefix: string,
|
|
139
148
|
granuleId: GranuleId,
|
|
149
|
+
workflowName?: string|undefined,
|
|
150
|
+
executionArn?: string|undefined,
|
|
140
151
|
callback?: InvokeApiFunction
|
|
141
152
|
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
142
|
-
const { prefix, granuleId, callback = invokeApi } = params;
|
|
153
|
+
const { prefix, granuleId, workflowName, executionArn, callback = invokeApi } = params;
|
|
143
154
|
|
|
144
155
|
return await callback({
|
|
145
156
|
prefix: prefix,
|
|
@@ -150,7 +161,11 @@ export const reingestGranule = async (params: {
|
|
|
150
161
|
headers: {
|
|
151
162
|
'Content-Type': 'application/json',
|
|
152
163
|
},
|
|
153
|
-
body: JSON.stringify({
|
|
164
|
+
body: JSON.stringify({
|
|
165
|
+
action: 'reingest',
|
|
166
|
+
workflowName,
|
|
167
|
+
executionArn,
|
|
168
|
+
}),
|
|
154
169
|
},
|
|
155
170
|
});
|
|
156
171
|
};
|
|
@@ -236,22 +251,28 @@ export const applyWorkflow = async (params: {
|
|
|
236
251
|
* Delete a granule from Cumulus via the API lambda
|
|
237
252
|
* DELETE /granules/${granuleId}
|
|
238
253
|
*
|
|
239
|
-
* @param {Object} params
|
|
240
|
-
* @param {
|
|
241
|
-
* @param {string} params.
|
|
242
|
-
* @param {
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
254
|
+
* @param {Object} params - params
|
|
255
|
+
* @param {pRetry.Options} params.pRetryObject - pRetry options object
|
|
256
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
257
|
+
* @param {string} params.granuleId - a granule ID
|
|
258
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
259
|
+
* that takes a prefix / user payload. Defaults
|
|
260
|
+
* to cumulusApiClient.invokeApifunction to invoke the
|
|
261
|
+
* api lambda
|
|
262
|
+
* @returns {Promise<Object>} - the delete confirmation from the API
|
|
247
263
|
*/
|
|
248
264
|
export const deleteGranule = async (params: {
|
|
249
265
|
prefix: string,
|
|
250
266
|
granuleId: GranuleId,
|
|
267
|
+
pRetryOptions?: pRetry.Options,
|
|
251
268
|
callback?: InvokeApiFunction
|
|
252
269
|
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
253
|
-
const {
|
|
254
|
-
|
|
270
|
+
const {
|
|
271
|
+
pRetryOptions,
|
|
272
|
+
prefix,
|
|
273
|
+
granuleId,
|
|
274
|
+
callback = invokeApi,
|
|
275
|
+
} = params;
|
|
255
276
|
return await callback({
|
|
256
277
|
prefix: prefix,
|
|
257
278
|
payload: {
|
|
@@ -259,6 +280,7 @@ export const deleteGranule = async (params: {
|
|
|
259
280
|
resource: '/{proxy+}',
|
|
260
281
|
path: `/granules/${granuleId}`,
|
|
261
282
|
},
|
|
283
|
+
pRetryOptions,
|
|
262
284
|
});
|
|
263
285
|
};
|
|
264
286
|
|
|
@@ -388,6 +410,7 @@ export const bulkGranules = async (params: {
|
|
|
388
410
|
path: '/granules/bulk',
|
|
389
411
|
body: JSON.stringify(body),
|
|
390
412
|
},
|
|
413
|
+
expectedStatusCode: 202,
|
|
391
414
|
});
|
|
392
415
|
};
|
|
393
416
|
|
|
@@ -420,6 +443,7 @@ export const bulkDeleteGranules = async (params: {
|
|
|
420
443
|
path: '/granules/bulkDelete',
|
|
421
444
|
body: JSON.stringify(body),
|
|
422
445
|
},
|
|
446
|
+
expectedStatusCode: 202,
|
|
423
447
|
});
|
|
424
448
|
};
|
|
425
449
|
|
|
@@ -441,6 +465,7 @@ export const bulkReingestGranules = async (params: {
|
|
|
441
465
|
path: '/granules/bulkReingest',
|
|
442
466
|
body: JSON.stringify(body),
|
|
443
467
|
},
|
|
468
|
+
expectedStatusCode: 202,
|
|
444
469
|
});
|
|
445
470
|
};
|
|
446
471
|
|
|
@@ -476,5 +501,6 @@ export const bulkOperation = async (params: {
|
|
|
476
501
|
},
|
|
477
502
|
body: JSON.stringify({ ids, workflowName }),
|
|
478
503
|
},
|
|
504
|
+
expectedStatusCode: 202,
|
|
479
505
|
});
|
|
480
506
|
};
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
// eslint-disable-next-line import/export
|
|
2
1
|
export * as cumulusApiClient from './cumulusApiClient';
|
|
3
2
|
export * as asyncOperations from './asyncOperations';
|
|
4
3
|
export * as granules from './granules';
|
|
5
|
-
// eslint-disable-next-line import/export
|
|
6
4
|
export { invokeApi } from './cumulusApiClient';
|
|
7
5
|
export * as rules from './rules';
|
|
8
6
|
export * as collections from './collections';
|
|
@@ -10,4 +8,5 @@ export * as executions from './executions';
|
|
|
10
8
|
export * as pdrs from './pdrs';
|
|
11
9
|
export * as providers from './providers';
|
|
12
10
|
export * as reconciliationReports from './reconciliationReports';
|
|
11
|
+
export * as replays from './replays';
|
|
13
12
|
export * as types from './types';
|
package/src/migrationCounts.ts
CHANGED
package/src/pdrs.ts
CHANGED
|
@@ -2,6 +2,34 @@ import { ApiPdr } from '@cumulus/types/api/pdrs';
|
|
|
2
2
|
import { invokeApi } from './cumulusApiClient';
|
|
3
3
|
import { ApiGatewayLambdaHttpProxyResponse, InvokeApiFunction } from './types';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Delete a PDR from the Cumulus API
|
|
7
|
+
*
|
|
8
|
+
* @param {Object} params - params
|
|
9
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
10
|
+
* @param {string} params.pdrName - a PDR name
|
|
11
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
12
|
+
* that takes a prefix / user payload. Defaults
|
|
13
|
+
* to cumulusApiClient.invokeApi
|
|
14
|
+
* @returns {Promise<Object>} - the execution fetched by the API
|
|
15
|
+
*/
|
|
16
|
+
export const deletePdr = async (params: {
|
|
17
|
+
prefix: string,
|
|
18
|
+
pdrName: string,
|
|
19
|
+
callback?: InvokeApiFunction
|
|
20
|
+
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
21
|
+
const { prefix, pdrName, callback = invokeApi } = params;
|
|
22
|
+
|
|
23
|
+
return await callback({
|
|
24
|
+
prefix,
|
|
25
|
+
payload: {
|
|
26
|
+
httpMethod: 'DELETE',
|
|
27
|
+
resource: '/{proxy+}',
|
|
28
|
+
path: `/pdrs/${pdrName}`,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
|
|
5
33
|
/**
|
|
6
34
|
* Fetch a PDR from the Cumulus API
|
|
7
35
|
*
|
|
@@ -25,7 +53,7 @@ export const getPdr = async (params: {
|
|
|
25
53
|
payload: {
|
|
26
54
|
httpMethod: 'GET',
|
|
27
55
|
resource: '/{proxy+}',
|
|
28
|
-
path: `/
|
|
56
|
+
path: `/pdrs/${pdrName}`,
|
|
29
57
|
},
|
|
30
58
|
});
|
|
31
59
|
|
|
@@ -18,7 +18,11 @@ export const getReconciliationReport = async (params: {
|
|
|
18
18
|
name: string,
|
|
19
19
|
callback?: InvokeApiFunction
|
|
20
20
|
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
21
|
-
const {
|
|
21
|
+
const {
|
|
22
|
+
prefix,
|
|
23
|
+
name,
|
|
24
|
+
callback = invokeApi,
|
|
25
|
+
} = params;
|
|
22
26
|
|
|
23
27
|
return await callback({
|
|
24
28
|
prefix: prefix,
|
|
@@ -77,7 +81,11 @@ export async function createReconciliationReport(params: {
|
|
|
77
81
|
request: unknown,
|
|
78
82
|
callback?: InvokeApiFunction
|
|
79
83
|
}): Promise<ApiGatewayLambdaHttpProxyResponse> {
|
|
80
|
-
const {
|
|
84
|
+
const {
|
|
85
|
+
prefix,
|
|
86
|
+
request,
|
|
87
|
+
callback = invokeApi,
|
|
88
|
+
} = params;
|
|
81
89
|
|
|
82
90
|
return await callback({
|
|
83
91
|
prefix: prefix,
|
|
@@ -90,5 +98,6 @@ export async function createReconciliationReport(params: {
|
|
|
90
98
|
path: '/reconciliationReports',
|
|
91
99
|
body: JSON.stringify(request),
|
|
92
100
|
},
|
|
101
|
+
expectedStatusCode: 202,
|
|
93
102
|
});
|
|
94
103
|
}
|
package/src/replays.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { MigrationCountsPayload } from '@cumulus/types/api/migrationCounts';
|
|
2
|
+
import { ReplaySqsMessagesPayload } from '@cumulus/types/api/replaySqsMessages';
|
|
3
|
+
import { invokeApi } from './cumulusApiClient';
|
|
4
|
+
import { ApiGatewayLambdaHttpProxyResponse, InvokeApiFunction } from './types';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* POST a request to start a replay of Kinesis message
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} params - params
|
|
10
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
11
|
+
* @param {Object} params.payload - payload to post to the endpoint
|
|
12
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
13
|
+
* that takes a prefix / user payload. Defaults
|
|
14
|
+
* to cumulusApiClient.invokeApi
|
|
15
|
+
* @returns {Promise<Object>} - promise that resolves to the output
|
|
16
|
+
* of the API lambda
|
|
17
|
+
*/
|
|
18
|
+
export const postKinesisReplays = async (params: {
|
|
19
|
+
prefix: string,
|
|
20
|
+
payload: MigrationCountsPayload
|
|
21
|
+
callback?: InvokeApiFunction
|
|
22
|
+
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
23
|
+
const { prefix, payload, callback = invokeApi } = params;
|
|
24
|
+
|
|
25
|
+
return await callback({
|
|
26
|
+
prefix,
|
|
27
|
+
payload: {
|
|
28
|
+
httpMethod: 'POST',
|
|
29
|
+
resource: '/{proxy+}',
|
|
30
|
+
headers: {
|
|
31
|
+
'Content-Type': 'application/json',
|
|
32
|
+
},
|
|
33
|
+
path: '/replays',
|
|
34
|
+
body: JSON.stringify(payload),
|
|
35
|
+
},
|
|
36
|
+
expectedStatusCode: 202,
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* POST a request to start replaying archived SQS Messages
|
|
42
|
+
*
|
|
43
|
+
* @param {Object} params - params
|
|
44
|
+
* @param {string} params.prefix - the prefix configured for the stack
|
|
45
|
+
* @param {Object} params.payload - payload to post to the endpoint
|
|
46
|
+
* @param {Function} params.callback - async function to invoke the api lambda
|
|
47
|
+
* that takes a prefix / user payload. Defaults
|
|
48
|
+
* to cumulusApiClient.invokeApi
|
|
49
|
+
* @returns {Promise<Object>} - promise that resolves to the output
|
|
50
|
+
* of the API lambda
|
|
51
|
+
*/
|
|
52
|
+
export const replaySqsMessages = async (params: {
|
|
53
|
+
prefix: string,
|
|
54
|
+
payload: ReplaySqsMessagesPayload,
|
|
55
|
+
callback?: InvokeApiFunction,
|
|
56
|
+
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
57
|
+
const { payload, prefix, callback = invokeApi } = params;
|
|
58
|
+
|
|
59
|
+
return await callback({
|
|
60
|
+
prefix,
|
|
61
|
+
payload: {
|
|
62
|
+
httpMethod: 'POST',
|
|
63
|
+
resource: '/{proxy+}',
|
|
64
|
+
headers: {
|
|
65
|
+
'Content-Type': 'application/json',
|
|
66
|
+
},
|
|
67
|
+
path: '/replays/sqs',
|
|
68
|
+
body: JSON.stringify(payload),
|
|
69
|
+
},
|
|
70
|
+
expectedStatusCode: 202,
|
|
71
|
+
});
|
|
72
|
+
};
|
package/src/rules.ts
CHANGED
|
@@ -118,7 +118,11 @@ export const getRule = async (params: {
|
|
|
118
118
|
ruleName: string,
|
|
119
119
|
callback: InvokeApiFunction
|
|
120
120
|
}): Promise<ApiGatewayLambdaHttpProxyResponse> => {
|
|
121
|
-
const {
|
|
121
|
+
const {
|
|
122
|
+
prefix,
|
|
123
|
+
ruleName,
|
|
124
|
+
callback = invokeApi,
|
|
125
|
+
} = params;
|
|
122
126
|
|
|
123
127
|
return await callback({
|
|
124
128
|
prefix,
|