@pristine-ts/aws 0.0.326 → 0.0.327

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 (58) hide show
  1. package/dist/lib/cjs/clients/cloudformation.client.js +42 -33
  2. package/dist/lib/cjs/clients/cloudformation.client.js.map +1 -1
  3. package/dist/lib/cjs/clients/cloudfront.client.js +6 -4
  4. package/dist/lib/cjs/clients/cloudfront.client.js.map +1 -1
  5. package/dist/lib/cjs/clients/event-bridge.client.js +3 -2
  6. package/dist/lib/cjs/clients/event-bridge.client.js.map +1 -1
  7. package/dist/lib/cjs/clients/s3.client.js +16 -10
  8. package/dist/lib/cjs/clients/s3.client.js.map +1 -1
  9. package/dist/lib/cjs/clients/secrets-manager.client.js +5 -2
  10. package/dist/lib/cjs/clients/secrets-manager.client.js.map +1 -1
  11. package/dist/lib/cjs/clients/ses.client.js +4 -4
  12. package/dist/lib/cjs/clients/ses.client.js.map +1 -1
  13. package/dist/lib/cjs/clients/sqs.client.js +3 -2
  14. package/dist/lib/cjs/clients/sqs.client.js.map +1 -1
  15. package/dist/lib/cjs/interfaces/client-options.interface.js +3 -0
  16. package/dist/lib/cjs/interfaces/client-options.interface.js.map +1 -0
  17. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  18. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  19. package/dist/lib/cjs/resolvers/ssm.resolver.js +6 -2
  20. package/dist/lib/cjs/resolvers/ssm.resolver.js.map +1 -1
  21. package/dist/lib/esm/clients/cloudformation.client.js +42 -33
  22. package/dist/lib/esm/clients/cloudformation.client.js.map +1 -1
  23. package/dist/lib/esm/clients/cloudfront.client.js +6 -4
  24. package/dist/lib/esm/clients/cloudfront.client.js.map +1 -1
  25. package/dist/lib/esm/clients/event-bridge.client.js +3 -2
  26. package/dist/lib/esm/clients/event-bridge.client.js.map +1 -1
  27. package/dist/lib/esm/clients/s3.client.js +16 -10
  28. package/dist/lib/esm/clients/s3.client.js.map +1 -1
  29. package/dist/lib/esm/clients/secrets-manager.client.js +5 -2
  30. package/dist/lib/esm/clients/secrets-manager.client.js.map +1 -1
  31. package/dist/lib/esm/clients/ses.client.js +4 -4
  32. package/dist/lib/esm/clients/ses.client.js.map +1 -1
  33. package/dist/lib/esm/clients/sqs.client.js +3 -2
  34. package/dist/lib/esm/clients/sqs.client.js.map +1 -1
  35. package/dist/lib/esm/interfaces/client-options.interface.js +2 -0
  36. package/dist/lib/esm/interfaces/client-options.interface.js.map +1 -0
  37. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  38. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  39. package/dist/lib/esm/resolvers/ssm.resolver.js +6 -2
  40. package/dist/lib/esm/resolvers/ssm.resolver.js.map +1 -1
  41. package/dist/types/clients/cloudformation.client.d.ts +22 -14
  42. package/dist/types/clients/cloudfront.client.d.ts +5 -2
  43. package/dist/types/clients/event-bridge.client.d.ts +3 -1
  44. package/dist/types/clients/s3.client.d.ts +12 -5
  45. package/dist/types/clients/secrets-manager.client.d.ts +3 -1
  46. package/dist/types/clients/ses.client.d.ts +3 -2
  47. package/dist/types/clients/sqs.client.d.ts +3 -1
  48. package/dist/types/interfaces/client-options.interface.d.ts +6 -0
  49. package/dist/types/interfaces/cloudformation-client.interface.d.ts +22 -11
  50. package/dist/types/interfaces/cloudfront-client.interface.d.ts +5 -2
  51. package/dist/types/interfaces/event-bridge-client.interface.d.ts +3 -1
  52. package/dist/types/interfaces/interfaces.d.ts +1 -0
  53. package/dist/types/interfaces/s3-client.interface.d.ts +11 -5
  54. package/dist/types/interfaces/secrets-manager-client.interface.d.ts +7 -4
  55. package/dist/types/interfaces/ses-client.interface.d.ts +5 -2
  56. package/dist/types/interfaces/sqs-client.interface.d.ts +4 -1
  57. package/dist/types/resolvers/ssm.resolver.d.ts +3 -1
  58. package/package.json +17 -17
@@ -1 +1 @@
1
- {"version":3,"file":"ses.client.js","sourceRoot":"","sources":["../../../../src/clients/ses.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ses.client.js","sourceRoot":"","sources":["../../../../src/clients/ses.client.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,9 @@ let SqsClient = class SqsClient {
56
56
  * @param delaySeconds The length of time, in seconds, for which to delay a specific message.
57
57
  * @param endpoint The endpoint for SQS.
58
58
  * @param messageDeduplicationId The unique id used by Amazon SQS in Fifo queues to avoid treating a message twice.
59
+ * @param options
59
60
  */
60
- send(queueUrl, body, messageGroupId, delaySeconds, endpoint, messageDeduplicationId) {
61
+ send(queueUrl, body, messageGroupId, delaySeconds, endpoint, messageDeduplicationId, options) {
61
62
  return __awaiter(this, void 0, void 0, function* () {
62
63
  try {
63
64
  const client = this.getClient(endpoint);
@@ -75,7 +76,7 @@ let SqsClient = class SqsClient {
75
76
  delaySeconds,
76
77
  messageDeduplicationId,
77
78
  }, AwsModuleKeyname);
78
- const response = yield client.send(command);
79
+ const response = yield client.send(command, options);
79
80
  this.logHandler.debug("Message successfully sent to the queue", {
80
81
  queueUrl,
81
82
  body,
@@ -1 +1 @@
1
- {"version":3,"file":"sqs.client.js","sourceRoot":"","sources":["../../../../src/clients/sqs.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGvD;;;GAGG;AAII,IAAM,SAAS,GAAf,MAAM,SAAS;IAElB;;;;OAIG;IACH,YACoD,UAA+B,EAC7B,MAAc;QADhB,eAAU,GAAV,UAAU,CAAqB;QAC7B,WAAM,GAAN,MAAM,CAAQ;IAEpE,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,QAAiB;QAC9B,OAAO,IAAI,SAAS,CAAC;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS;SAClC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACG,IAAI,CAAC,QAAgB,EAAE,IAAY,EAAE,cAAuB,EAAE,YAAqB,EAAE,QAAiB,EAAE,sBAA+B;;YACzI,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;oBACnC,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,IAAI;oBACjB,cAAc,EAAE,cAAc;oBAC9B,YAAY,EAAE,YAAY;oBAC1B,sBAAsB,EAAE,sBAAsB;iBACjD,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBACpD,QAAQ;oBACR,IAAI;oBACJ,cAAc;oBACd,YAAY;oBACZ,sBAAsB;iBACzB,EAAE,gBAAgB,CAAC,CAAA;gBAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE;oBAC5D,QAAQ;oBACR,IAAI;oBACJ,cAAc;oBACd,YAAY;oBACZ,QAAQ;oBACR,sBAAsB;iBACzB,EAAE,gBAAgB,CAAC,CAAA;gBAEpB,OAAO;oBACH,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAChC,CAAC;YAEN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE;oBACzE,KAAK;oBACL,QAAQ;oBACR,IAAI;oBACJ,cAAc;oBACd,YAAY;oBACZ,sBAAsB;iBACzB,EAAE,gBAAgB,CAAC,CAAC;gBAErB,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;KAAA;CACJ,CAAA;AAjFY,SAAS;IAHrB,GAAG,CAAC,oBAAoB,CAAC;IACzB,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;IASJ,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,MAAM,CAAC,uBAAuB,CAAC,CAAA;;GAT3B,SAAS,CAiFrB"}
1
+ {"version":3,"file":"sqs.client.js","sourceRoot":"","sources":["../../../../src/clients/sqs.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAIvD;;;GAGG;AAII,IAAM,SAAS,GAAf,MAAM,SAAS;IAElB;;;;OAIG;IACH,YACoD,UAA+B,EAC7B,MAAc;QADhB,eAAU,GAAV,UAAU,CAAqB;QAC7B,WAAM,GAAN,MAAM,CAAQ;IAEpE,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,QAAiB;QAC9B,OAAO,IAAI,SAAS,CAAC;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS;SAClC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;OASG;IACG,IAAI,CAAC,QAAgB,EAAE,IAAY,EAAE,cAAuB,EAAE,YAAqB,EAAE,QAAiB,EAAE,sBAA+B,EAAE,OAAyC;;YACpL,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;oBACnC,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,IAAI;oBACjB,cAAc,EAAE,cAAc;oBAC9B,YAAY,EAAE,YAAY;oBAC1B,sBAAsB,EAAE,sBAAsB;iBACjD,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBACpD,QAAQ;oBACR,IAAI;oBACJ,cAAc;oBACd,YAAY;oBACZ,sBAAsB;iBACzB,EAAE,gBAAgB,CAAC,CAAA;gBAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAErD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE;oBAC5D,QAAQ;oBACR,IAAI;oBACJ,cAAc;oBACd,YAAY;oBACZ,QAAQ;oBACR,sBAAsB;iBACzB,EAAE,gBAAgB,CAAC,CAAA;gBAEpB,OAAO;oBACH,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAChC,CAAC;YAEN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE;oBACzE,KAAK;oBACL,QAAQ;oBACR,IAAI;oBACJ,cAAc;oBACd,YAAY;oBACZ,sBAAsB;iBACzB,EAAE,gBAAgB,CAAC,CAAC;gBAErB,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;KAAA;CACJ,CAAA;AAlFY,SAAS;IAHrB,GAAG,CAAC,oBAAoB,CAAC;IACzB,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;IASJ,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,MAAM,CAAC,uBAAuB,CAAC,CAAA;;GAT3B,SAAS,CAkFrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-options.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/client-options.interface.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ export * from "./client-options.interface";
1
2
  export * from "./cloudformation-client.interface";
2
3
  export * from "./cloudfront-client.interface";
3
4
  export * from "./dynamodb-client.interface";
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
@@ -19,11 +19,13 @@ export class SSMResolver {
19
19
  * @param ssmParameterName The name of the SSM parameter, or the resolver to get that name.
20
20
  * @param region The AWS region in which the SSM parameter needs to be resolved from.
21
21
  * @param isSecure If the parameter is secure or not.
22
+ * @param requestTimeout The number of time in miliseconds that the resolver will take to resolve the parameter. Default: 10 000ms
22
23
  */
23
- constructor(ssmParameterName, region, isSecure = false) {
24
+ constructor(ssmParameterName, region, isSecure = false, requestTimeout = 10000) {
24
25
  this.ssmParameterName = ssmParameterName;
25
26
  this.region = region;
26
27
  this.isSecure = isSecure;
28
+ this.requestTimeout = requestTimeout;
27
29
  }
28
30
  /**
29
31
  * Resolves a parameter from AWS SSM.
@@ -39,7 +41,9 @@ export class SSMResolver {
39
41
  WithDecryption: this.isSecure,
40
42
  };
41
43
  try {
42
- const parameterOutput = yield ssm.getParameter(params);
44
+ const parameterOutput = yield ssm.getParameter(params, {
45
+ requestTimeout: this.requestTimeout,
46
+ });
43
47
  if (!((_a = parameterOutput.Parameter) === null || _a === void 0 ? void 0 : _a.Value)) {
44
48
  throw new SSMResolverError("No value for this parameter.", ssmParameterName);
45
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ssm.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/ssm.resolver.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,GAAG,EAAsB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,MAAM,OAAO,WAAW;IACpB;;;;;OAKG;IACH,YAAoC,gBAAoD,EAAoB,MAA0C,EAAoB,WAAoB,KAAK;QAA/J,qBAAgB,GAAhB,gBAAgB,CAAoC;QAAoB,WAAM,GAAN,MAAM,CAAoC;QAAoB,aAAQ,GAAR,QAAQ,CAAiB;IAAI,CAAC;IAExM;;OAEG;IACG,OAAO;;;YACT,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,EAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAwB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,cAAc,EAAE,IAAI,CAAC,QAAQ;aAChC,CAAA;YACD,IAAI,CAAC;gBACD,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAG,CAAC,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,KAAK,CAAA,EAAE,CAAC;oBACnC,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,eAAe,CAAC,SAAS,0CAAE,KAAe,CAAC,CAAC;YAEvE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,IAAI,gBAAgB,CAAC,mCAAmC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;;KACJ;IAED;;;;OAIG;IACW,eAAe,CAAC,KAAyC;;YACnE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,IAAI,gBAAgB,CAAC,gFAAgF,EAAE;gBACzG,KAAK;aACR,CAAC,CAAC;QACP,CAAC;KAAA;CACJ"}
1
+ {"version":3,"file":"ssm.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/ssm.resolver.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,GAAG,EAAsB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,MAAM,OAAO,WAAW;IACpB;;;;;;OAMG;IACH,YAAoC,gBAAoD,EAAoB,MAA0C,EAAoB,WAAoB,KAAK,EAAmB,iBAAyB,KAAK;QAAhN,qBAAgB,GAAhB,gBAAgB,CAAoC;QAAoB,WAAM,GAAN,MAAM,CAAoC;QAAoB,aAAQ,GAAR,QAAQ,CAAiB;QAAmB,mBAAc,GAAd,cAAc,CAAgB;IAAI,CAAC;IAEzP;;OAEG;IACG,OAAO;;;YACT,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,EAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAwB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,cAAc,EAAE,IAAI,CAAC,QAAQ;aAChC,CAAA;YACD,IAAI,CAAC;gBACD,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE;oBACnD,cAAc,EAAE,IAAI,CAAC,cAAc;iBACtC,CAAC,CAAC;gBACH,IAAG,CAAC,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,KAAK,CAAA,EAAE,CAAC;oBACnC,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,eAAe,CAAC,SAAS,0CAAE,KAAe,CAAC,CAAC;YAEvE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,IAAI,gBAAgB,CAAC,mCAAmC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;;KACJ;IAED;;;;OAIG;IACW,eAAe,CAAC,KAAyC;;YACnE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,IAAI,gBAAgB,CAAC,gFAAgF,EAAE;gBACzG,KAAK;aACR,CAAC,CAAC;QACP,CAAC;KAAA;CACJ"}
@@ -2,6 +2,7 @@ import { LogHandlerInterface } from "@pristine-ts/logging";
2
2
  import { Capability, CloudFormationClient as AWSCloudformationClient, CloudFormationClientConfig, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, CreateStackCommandInput, CreateStackCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput } from "@aws-sdk/client-cloudformation";
3
3
  import { CloudformationClientInterface } from "../interfaces/cloudformation-client.interface";
4
4
  import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
5
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
5
6
  /**
6
7
  * The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
7
8
  * It is tagged so it can be injected using CloudformationClientInterface.
@@ -32,55 +33,62 @@ export declare class CloudformationClient implements CloudformationClientInterfa
32
33
  setClient(config: CloudFormationClientConfig): void;
33
34
  /**
34
35
  * Gets the description and all its details from a Cloudformation stack.
35
- * @param stackName The stack name to get the.
36
+ * @param stackName The stack name to retrieve the description of.
37
+ * @param options
36
38
  */
37
- getStackDescription(stackName: string): Promise<Stack | undefined>;
39
+ getStackDescription(stackName: string, options?: Partial<ClientOptionsInterface>): Promise<Stack | undefined>;
38
40
  /**
39
41
  * Gets the description and all its details from all the CloudFormation stacks.
40
42
  */
41
- listStacks(): Promise<Stack[]>;
43
+ listStacks(options?: Partial<ClientOptionsInterface>): Promise<Stack[]>;
42
44
  /**
43
45
  * Creates a new stack in Cloudformation.
44
46
  * @param input The input to create the new stack.
47
+ * @param options
45
48
  */
46
- createStack(input: CreateStackCommandInput): Promise<CreateStackCommandOutput>;
49
+ createStack(input: CreateStackCommandInput, options?: Partial<ClientOptionsInterface>): Promise<CreateStackCommandOutput>;
47
50
  /**
48
51
  * Updates a stack in Cloudformation.
49
52
  * @param input The input to update the new stack.
53
+ * @param options
50
54
  */
51
- updateStack(input: UpdateStackCommandInput): Promise<UpdateStackCommandOutput>;
55
+ updateStack(input: UpdateStackCommandInput, options?: Partial<ClientOptionsInterface>): Promise<UpdateStackCommandOutput>;
52
56
  /**
53
57
  * Deletes a stack in Cloudformation.
54
58
  * @param input The input to delete the new stack.
59
+ * @param options
55
60
  */
56
- deleteStack(input: DeleteStackCommandInput): Promise<DeleteStackCommandOutput>;
61
+ deleteStack(input: DeleteStackCommandInput, options?: Partial<ClientOptionsInterface>): Promise<DeleteStackCommandOutput>;
57
62
  /**
58
63
  * Creates a Change Set.
59
64
  * @param input The input to create a change set.
65
+ * @param options
60
66
  */
61
- createChangeSet(input: CreateChangeSetCommandInput): Promise<CreateChangeSetCommandOutput>;
67
+ createChangeSet(input: CreateChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<CreateChangeSetCommandOutput>;
62
68
  /**
63
69
  * Deletes a Change Set.
64
70
  * @param input The input to delete a change set.
71
+ * @param options
65
72
  */
66
- deleteChangeSet(input: DeleteChangeSetCommandInput): Promise<DeleteChangeSetCommandOutput>;
73
+ deleteChangeSet(input: DeleteChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<DeleteChangeSetCommandOutput>;
67
74
  /**
68
75
  * Describes a Change Set.
69
76
  * @param input The input to describe a change set.
70
- * @param retryNumber
77
+ * @param options
71
78
  */
72
- describeChangeSet(input: DescribeChangeSetCommandInput): Promise<DescribeChangeSetCommandOutput>;
79
+ describeChangeSet(input: DescribeChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<DescribeChangeSetCommandOutput>;
73
80
  /**
74
81
  * Executes a Change Set.
75
82
  * @param input The input to execute a change set.
76
- * @param retryNumber
83
+ * @param options
77
84
  */
78
- executeChangeSet(input: ExecuteChangeSetCommandInput): Promise<ExecuteChangeSetCommandOutput>;
85
+ executeChangeSet(input: ExecuteChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<ExecuteChangeSetCommandOutput>;
79
86
  /**
80
87
  * Lists a Change Set.
81
88
  * @param input The input to list a change set.
89
+ * @param options
82
90
  */
83
- listChangeSets(input: ListChangeSetsCommandInput): Promise<ListChangeSetsCommandOutput>;
91
+ listChangeSets(input: ListChangeSetsCommandInput, options?: Partial<ClientOptionsInterface>): Promise<ListChangeSetsCommandOutput>;
84
92
  /**
85
93
  * This method encapsulates the deployment of a Stack, whether the Stack already exists or not. It uses ChangeSets to do so.
86
94
  * It monitors the status of the stack and returns the status when the status is a final state.
@@ -92,7 +100,7 @@ export declare class CloudformationClient implements CloudformationClientInterfa
92
100
  */
93
101
  deployStack(stackName: string, cloudformationTemplateS3Url: string, stackParameters: {
94
102
  [key in string]: string;
95
- }, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName?: string) => void): Promise<CloudformationDeploymentStatusEnum>;
103
+ }, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName?: string) => void, options?: Partial<ClientOptionsInterface>): Promise<CloudformationDeploymentStatusEnum>;
96
104
  private monitorChangeSet;
97
105
  private monitorStack;
98
106
  }
@@ -1,6 +1,7 @@
1
1
  import { LogHandlerInterface } from "@pristine-ts/logging";
2
2
  import { CloudFrontClient as AWSCloudFrontClient, CloudFrontClientConfig, CreateInvalidationResult, GetInvalidationResult } from "@aws-sdk/client-cloudfront";
3
3
  import { CloudfrontClientInterface } from "../interfaces/cloudfront-client.interface";
4
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
4
5
  /**
5
6
  * The client to use to interact with AWS Cloudformation. It is a wrapper around the Cloudfront of @aws-sdk/client-cloudfront.
6
7
  * It is tagged so it can be injected using CloudfrontClientInterface.
@@ -34,13 +35,15 @@ export declare class CloudfrontClient implements CloudfrontClientInterface {
34
35
  *
35
36
  * @param distributionId
36
37
  * @param paths
38
+ * @param options
37
39
  */
38
- invalidate(distributionId: string, paths: string[]): Promise<CreateInvalidationResult>;
40
+ invalidate(distributionId: string, paths: string[], options?: Partial<ClientOptionsInterface>): Promise<CreateInvalidationResult>;
39
41
  /**
40
42
  * Returns the status of the invalidation
41
43
  *
42
44
  * @param distributionId
43
45
  * @param invalidationId
46
+ * @param options
44
47
  */
45
- getInvalidation(distributionId: string, invalidationId: string): Promise<GetInvalidationResult>;
48
+ getInvalidation(distributionId: string, invalidationId: string, options?: Partial<ClientOptionsInterface>): Promise<GetInvalidationResult>;
46
49
  }
@@ -2,6 +2,7 @@ import { LogHandlerInterface } from "@pristine-ts/logging";
2
2
  import { EventBridgeClient as AwsEventBridgeClient } from "@aws-sdk/client-eventbridge";
3
3
  import { EventBridgeMessageModel } from "../models/event-bridge-message.model";
4
4
  import { EventBridgeClientInterface } from "../interfaces/event-bridge-client.interface";
5
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
5
6
  /**
6
7
  * The client to use to interact with AWS Event Bridge. It is a wrapper around the AwsEventBridgeClient of @aws-sdk/client-eventbridge.
7
8
  * It is tagged so it can be injected using EventBridgeClientInterface.
@@ -24,7 +25,8 @@ export declare class EventBridgeClient implements EventBridgeClientInterface {
24
25
  * Sends an event to event bridge.
25
26
  * @param eventBridgeMessages The messages to send to event bridge.
26
27
  * @param eventBusName The event bus name where to send the messages.
28
+ * @param options
27
29
  * @param endpoint The endpoint for event bridge.
28
30
  */
29
- send(eventBridgeMessages: EventBridgeMessageModel | EventBridgeMessageModel[], eventBusName: string, endpoint?: string): Promise<void>;
31
+ send(eventBridgeMessages: EventBridgeMessageModel | EventBridgeMessageModel[], eventBusName: string, endpoint?: string, options?: Partial<ClientOptionsInterface>): Promise<void>;
30
32
  }
@@ -2,6 +2,7 @@ import { LogHandlerInterface } from "@pristine-ts/logging";
2
2
  import { S3ClientInterface } from "../interfaces/s3-client.interface";
3
3
  import { GetObjectCommandOutput, S3Client as AWSS3Client, S3ClientConfig } from "@aws-sdk/client-s3";
4
4
  import { S3PresignedOperationTypeEnum } from "../enums/s3-presigned-operation-type.enum";
5
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
5
6
  /**
6
7
  * The client to use to interact with AWS S3. It is a wrapper around the AWSS3Client of @aws-sdk/client-s3.
7
8
  * It is tagged so it can be injected using S3ClientInterface.
@@ -33,24 +34,28 @@ export declare class S3Client implements S3ClientInterface {
33
34
  * Gets an object and all its details from S3.
34
35
  * @param bucketName The bucket name where to get the object.
35
36
  * @param key The key of the object.
37
+ * @param options
36
38
  */
37
- get(bucketName: string, key: string): Promise<GetObjectCommandOutput>;
39
+ get(bucketName: string, key: string, options?: Partial<ClientOptionsInterface>): Promise<GetObjectCommandOutput>;
38
40
  /**
39
41
  * Gets an object's body as an array buffer from S3.
40
42
  * @param bucketName The bucket name where to get the object.
41
43
  * @param key The key of the object.
44
+ * @param options
42
45
  */
43
- getObjectBodyAsArrayBuffer(bucketName: string, key: string): Promise<ArrayBuffer>;
46
+ getObjectBodyAsArrayBuffer(bucketName: string, key: string, options?: Partial<ClientOptionsInterface>): Promise<ArrayBuffer>;
44
47
  /**
45
48
  * Lists the keys of a bucket.
46
49
  * @param bucketName The name of the bucket.
50
+ * @param options
47
51
  */
48
- listKeys(bucketName: string): Promise<string[]>;
52
+ listKeys(bucketName: string, options?: Partial<ClientOptionsInterface>): Promise<string[]>;
49
53
  /**
50
54
  * Lists the object of a bucket.
51
55
  * @param bucketName The name of the bucket.
56
+ * @param options
52
57
  */
53
- listObjects(bucketName: string): Promise<any[]>;
58
+ listObjects(bucketName: string, options?: Partial<ClientOptionsInterface>): Promise<any[]>;
54
59
  /**
55
60
  * Uploads an object to a bucket of S3.
56
61
  * @param bucketName The name of the bucket.
@@ -58,8 +63,9 @@ export declare class S3Client implements S3ClientInterface {
58
63
  * @param data The data to upload.
59
64
  * @param contentEncoding The encoding of the data to upload.
60
65
  * @param contentType The content type of the data to upload.
66
+ * @param options
61
67
  */
62
- upload(bucketName: string, key: string, data: any, contentEncoding?: string, contentType?: string): Promise<void>;
68
+ upload(bucketName: string, key: string, data: any, contentEncoding?: string, contentType?: string, options?: Partial<ClientOptionsInterface>): Promise<void>;
63
69
  /**
64
70
  * Creates a pre signed url to allow a third party to take action on S3.
65
71
  * @param bucketName The name of the bucket.
@@ -75,6 +81,7 @@ export declare class S3Client implements S3ClientInterface {
75
81
  * @param bucketName The name of the bucket.
76
82
  * @param key The key for the object on which the action will be allowed.
77
83
  * @param fileName If operation is Get, then a filename can be provided for the name of the file that will be downloaded.
84
+ * @param options
78
85
  * @private
79
86
  */
80
87
  private getCommandForPresign;
@@ -1,6 +1,7 @@
1
1
  import { LogHandlerInterface } from "@pristine-ts/logging";
2
2
  import { SecretsManagerClientInterface } from "../interfaces/secrets-manager-client.interface";
3
3
  import { SecretsManagerClient as AWSSecretsManagerClient } from "@aws-sdk/client-secrets-manager";
4
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
4
5
  export declare class SecretsManagerClient implements SecretsManagerClientInterface {
5
6
  private readonly logHandler;
6
7
  private readonly region;
@@ -15,8 +16,9 @@ export declare class SecretsManagerClient implements SecretsManagerClientInterfa
15
16
  * This retrieves a secret from the secret manager
16
17
  *
17
18
  * @param secretName
19
+ * @param options
18
20
  */
19
- getSecret(secretName: string): Promise<{
21
+ getSecret(secretName: string, options?: Partial<ClientOptionsInterface>): Promise<{
20
22
  [key in string]: string;
21
23
  }>;
22
24
  /**
@@ -3,6 +3,7 @@ import { LogHandlerInterface } from "@pristine-ts/logging";
3
3
  import { SESClient } from "@aws-sdk/client-ses";
4
4
  import { EmailModel } from "../models/email.model";
5
5
  import { SesMessageSentConfirmationModel } from "../models/ses-message-sent-confirmation.model";
6
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
6
7
  export declare class SesClient implements SesClientInterface {
7
8
  private readonly logHandler;
8
9
  private readonly region;
@@ -15,6 +16,6 @@ export declare class SesClient implements SesClientInterface {
15
16
  getClient(endpoint?: string): SESClient;
16
17
  sendTemplate(email: EmailModel, templateName: string, templateData: {
17
18
  [key in string]: string;
18
- }, endpoint?: string): Promise<SesMessageSentConfirmationModel>;
19
- send(email: EmailModel, endpoint?: string): Promise<SesMessageSentConfirmationModel>;
19
+ }, endpoint?: string, options?: Partial<ClientOptionsInterface>): Promise<SesMessageSentConfirmationModel>;
20
+ send(email: EmailModel, endpoint?: string, options?: Partial<ClientOptionsInterface>): Promise<SesMessageSentConfirmationModel>;
20
21
  }
@@ -2,6 +2,7 @@ import { LogHandlerInterface } from "@pristine-ts/logging";
2
2
  import { SQSClient } from "@aws-sdk/client-sqs";
3
3
  import { SqsMessageSentConfirmationModel } from "../models/sqs-message-sent-confirmation.model";
4
4
  import { SqsClientInterface } from "../interfaces/sqs-client.interface";
5
+ import { ClientOptionsInterface } from "../interfaces/client-options.interface";
5
6
  /**
6
7
  * The client to use to interact with AWS SQS. It is a wrapper around the SQSClient of @aws-sdk/client-sqs.
7
8
  * It is tagged so it can be injected using SqsClientInterface.
@@ -28,6 +29,7 @@ export declare class SqsClient implements SqsClientInterface {
28
29
  * @param delaySeconds The length of time, in seconds, for which to delay a specific message.
29
30
  * @param endpoint The endpoint for SQS.
30
31
  * @param messageDeduplicationId The unique id used by Amazon SQS in Fifo queues to avoid treating a message twice.
32
+ * @param options
31
33
  */
32
- send(queueUrl: string, body: string, messageGroupId?: string, delaySeconds?: number, endpoint?: string, messageDeduplicationId?: string): Promise<SqsMessageSentConfirmationModel>;
34
+ send(queueUrl: string, body: string, messageGroupId?: string, delaySeconds?: number, endpoint?: string, messageDeduplicationId?: string, options?: Partial<ClientOptionsInterface>): Promise<SqsMessageSentConfirmationModel>;
33
35
  }
@@ -0,0 +1,6 @@
1
+ export interface ClientOptionsInterface {
2
+ /**
3
+ * The maximum time in milliseconds that the connection phase of a request may take before the connection attempt is abandoned. Default is whatever AWS puts in its documentation.
4
+ */
5
+ requestTimeout: number;
6
+ }
@@ -2,6 +2,7 @@ import { CloudFormationClient as AWSCloudformationClient } from "@aws-sdk/client
2
2
  import { CreateStackCommandInput, CreateStackCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Capability } from "@aws-sdk/client-cloudformation";
3
3
  import { CloudFormationClientConfig } from "@aws-sdk/client-cloudformation/dist-types/ts3.4";
4
4
  import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
5
+ import { ClientOptionsInterface } from "./client-options.interface";
5
6
  /**
6
7
  * The CloudformationClient Interface defines the methods that a Cloudformation client must implement.
7
8
  * When injecting the Cloudformation client the 'CloudformationClientInterface' tag should be used.
@@ -19,52 +20,61 @@ export interface CloudformationClientInterface {
19
20
  /**
20
21
  * Gets the description and all its details from a Cloudformation stack.
21
22
  * @param stackName The stack name to get the.
23
+ * @param options
22
24
  */
23
- getStackDescription(stackName: string): Promise<Stack | undefined>;
25
+ getStackDescription(stackName: string, options?: Partial<ClientOptionsInterface>): Promise<Stack | undefined>;
24
26
  /**
25
27
  * Gets the description and all its details from all the CloudFormation stacks.
26
28
  */
27
- listStacks(): Promise<Stack[]>;
29
+ listStacks(options?: Partial<ClientOptionsInterface>): Promise<Stack[]>;
28
30
  /**
29
31
  * Creates a new stack in Cloudformation.
30
32
  * @param input The input to create the new stack.
33
+ * @param options
31
34
  */
32
- createStack(input: CreateStackCommandInput): Promise<CreateStackCommandOutput>;
35
+ createStack(input: CreateStackCommandInput, options?: Partial<ClientOptionsInterface>): Promise<CreateStackCommandOutput>;
33
36
  /**
34
37
  * Updates a stack in Cloudformation.
35
38
  * @param input The input to update the new stack.
39
+ * @param options
36
40
  */
37
- updateStack(input: UpdateStackCommandInput): Promise<UpdateStackCommandOutput>;
41
+ updateStack(input: UpdateStackCommandInput, options?: Partial<ClientOptionsInterface>): Promise<UpdateStackCommandOutput>;
38
42
  /**
39
43
  * Deletes a stack in Cloudformation.
40
44
  * @param input The input to delete the new stack.
45
+ * @param options
41
46
  */
42
- deleteStack(input: DeleteStackCommandInput): Promise<DeleteStackCommandOutput>;
47
+ deleteStack(input: DeleteStackCommandInput, options?: Partial<ClientOptionsInterface>): Promise<DeleteStackCommandOutput>;
43
48
  /**
44
49
  * Creates a Change Set.
45
50
  * @param input The input to create a change set.
51
+ * @param options
46
52
  */
47
- createChangeSet(input: CreateChangeSetCommandInput): Promise<CreateChangeSetCommandOutput>;
53
+ createChangeSet(input: CreateChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<CreateChangeSetCommandOutput>;
48
54
  /**
49
55
  * Deletes a Change Set.
50
56
  * @param input The input to delete a change set.
57
+ * @param options
51
58
  */
52
- deleteChangeSet(input: DeleteChangeSetCommandInput): Promise<DeleteChangeSetCommandOutput>;
59
+ deleteChangeSet(input: DeleteChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<DeleteChangeSetCommandOutput>;
53
60
  /**
54
61
  * Describes a Change Set.
55
62
  * @param input The input to describe a change set.
63
+ * @param options
56
64
  */
57
- describeChangeSet(input: DescribeChangeSetCommandInput): Promise<DescribeChangeSetCommandOutput>;
65
+ describeChangeSet(input: DescribeChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<DescribeChangeSetCommandOutput>;
58
66
  /**
59
67
  * Executes a Change Set.
60
68
  * @param input The input to execute a change set.
69
+ * @param options
61
70
  */
62
- executeChangeSet(input: ExecuteChangeSetCommandInput): Promise<ExecuteChangeSetCommandOutput>;
71
+ executeChangeSet(input: ExecuteChangeSetCommandInput, options?: Partial<ClientOptionsInterface>): Promise<ExecuteChangeSetCommandOutput>;
63
72
  /**
64
73
  * Lists a Change Set.
65
74
  * @param input The input to list a change set.
75
+ * @param options
66
76
  */
67
- listChangeSets(input: ListChangeSetsCommandInput): Promise<ListChangeSetsCommandOutput>;
77
+ listChangeSets(input: ListChangeSetsCommandInput, options?: Partial<ClientOptionsInterface>): Promise<ListChangeSetsCommandOutput>;
68
78
  /**
69
79
  * This method encapsulates the deployment of a Stack, whether the Stack already exists or not. It uses ChangeSets to do so.
70
80
  * It monitors the status of the stack and returns the status when the status is a final state.
@@ -73,8 +83,9 @@ export interface CloudformationClientInterface {
73
83
  * @param stackParameters
74
84
  * @param capabilities
75
85
  * @param statusCallback
86
+ * @param options
76
87
  */
77
88
  deployStack(stackName: string, cloudformationTemplateS3Url: string, stackParameters: {
78
89
  [key in string]: string;
79
- }, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName?: string) => void): Promise<CloudformationDeploymentStatusEnum>;
90
+ }, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName?: string) => void, options?: Partial<ClientOptionsInterface>): Promise<CloudformationDeploymentStatusEnum>;
80
91
  }
@@ -1,5 +1,6 @@
1
1
  import { CloudFrontClient as AWSCloudFrontClient, CloudFrontClientConfig } from "@aws-sdk/client-cloudfront/dist-types/CloudFrontClient";
2
2
  import { CreateInvalidationResult, GetInvalidationResult } from "@aws-sdk/client-cloudfront";
3
+ import { ClientOptionsInterface } from "./client-options.interface";
3
4
  /**
4
5
  * The CloudfrontClientInterface Interface defines the methods that a Cloudfront client must implement.
5
6
  * When injecting the Cloudfront client the 'CloudfrontClientInterface' tag should be used.
@@ -19,13 +20,15 @@ export interface CloudfrontClientInterface {
19
20
  *
20
21
  * @param distributionId
21
22
  * @param paths
23
+ * @param options
22
24
  */
23
- invalidate(distributionId: string, paths: string[]): Promise<CreateInvalidationResult>;
25
+ invalidate(distributionId: string, paths: string[], options?: Partial<ClientOptionsInterface>): Promise<CreateInvalidationResult>;
24
26
  /**
25
27
  * Returns the status of the invalidation
26
28
  *
27
29
  * @param distributionId
28
30
  * @param invalidationId
31
+ * @param options
29
32
  */
30
- getInvalidation(distributionId: string, invalidationId: string): Promise<GetInvalidationResult>;
33
+ getInvalidation(distributionId: string, invalidationId: string, options?: Partial<ClientOptionsInterface>): Promise<GetInvalidationResult>;
31
34
  }
@@ -1,5 +1,6 @@
1
1
  import { EventBridgeMessageModel } from "../models/event-bridge-message.model";
2
2
  import { EventBridgeClient as AwsEventBridgeClient } from "@aws-sdk/client-eventbridge";
3
+ import { ClientOptionsInterface } from "./client-options.interface";
3
4
  /**
4
5
  * The EventBridgeClient Interface defines the methods that an Event bridge client must implement.
5
6
  * When injecting the event bridge client the 'EventBridgeClientInterface' tag should be used.
@@ -15,6 +16,7 @@ export interface EventBridgeClientInterface {
15
16
  * @param eventBridgeMessages The messages to send to event bridge.
16
17
  * @param eventBusName The event bus name where to send the messages.
17
18
  * @param endpoint The endpoint for event bridge.
19
+ * @param options
18
20
  */
19
- send(eventBridgeMessages: EventBridgeMessageModel | EventBridgeMessageModel[], eventBusName: string, endpoint?: string): Promise<void>;
21
+ send(eventBridgeMessages: EventBridgeMessageModel | EventBridgeMessageModel[], eventBusName: string, endpoint?: string, options?: Partial<ClientOptionsInterface>): Promise<void>;
20
22
  }
@@ -1,3 +1,4 @@
1
+ export * from "./client-options.interface";
1
2
  export * from "./cloudformation-client.interface";
2
3
  export * from "./cloudfront-client.interface";
3
4
  export * from "./dynamodb-client.interface";
@@ -1,5 +1,6 @@
1
1
  import { S3PresignedOperationTypeEnum } from "../enums/s3-presigned-operation-type.enum";
2
2
  import { S3Client as AWSS3Client, S3ClientConfig, GetObjectCommandOutput } from "@aws-sdk/client-s3";
3
+ import { ClientOptionsInterface } from "./client-options.interface";
3
4
  /**
4
5
  * The S3Client Interface defines the methods that an S3 client must implement.
5
6
  * When injecting the S3 client the 'S3ClientInterface' tag should be used.
@@ -18,24 +19,28 @@ export interface S3ClientInterface {
18
19
  * Retrieves the key from the S3 Bucket.
19
20
  * @param bucketName
20
21
  * @param key
22
+ * @param options
21
23
  */
22
- get(bucketName: string, key: string): Promise<GetObjectCommandOutput>;
24
+ get(bucketName: string, key: string, options?: Partial<ClientOptionsInterface>): Promise<GetObjectCommandOutput>;
23
25
  /**
24
26
  * Gets an object's body as an array buffer from S3.
25
27
  * @param bucketName The bucket name where to get the object.
26
28
  * @param key The key of the object.
29
+ * @param options
27
30
  */
28
- getObjectBodyAsArrayBuffer(bucketName: string, key: string): Promise<ArrayBuffer>;
31
+ getObjectBodyAsArrayBuffer(bucketName: string, key: string, options?: Partial<ClientOptionsInterface>): Promise<ArrayBuffer>;
29
32
  /**
30
33
  * Lists the keys of a bucket.
31
34
  * @param bucketName The name of the bucket.
35
+ * @param options
32
36
  */
33
- listKeys(bucketName: string): Promise<string[]>;
37
+ listKeys(bucketName: string, options?: Partial<ClientOptionsInterface>): Promise<string[]>;
34
38
  /**
35
39
  * Lists the object of a bucket.
36
40
  * @param bucketName The name of the bucket.
41
+ * @param options
37
42
  */
38
- listObjects(bucketName: string): Promise<any[]>;
43
+ listObjects(bucketName: string, options?: Partial<ClientOptionsInterface>): Promise<any[]>;
39
44
  /**
40
45
  * Uploads an object to a bucket of S3.
41
46
  * @param bucketName The name of the bucket.
@@ -43,8 +48,9 @@ export interface S3ClientInterface {
43
48
  * @param data The data to upload.
44
49
  * @param contentEncoding The encoding of the data to upload.
45
50
  * @param contentType The content type of the data to upload.
51
+ * @param options
46
52
  */
47
- upload(bucketName: string, key: string, data: any, contentEncoding?: string, contentType?: string): Promise<void>;
53
+ upload(bucketName: string, key: string, data: any, contentEncoding?: string, contentType?: string, options?: Partial<ClientOptionsInterface>): Promise<void>;
48
54
  /**
49
55
  * Creates a pre signed url to allow a third party to take action on S3.
50
56
  * @param bucketName The name of the bucket.
@@ -1,4 +1,5 @@
1
- import { SESClient } from "@aws-sdk/client-ses";
1
+ import { ClientOptionsInterface } from "./client-options.interface";
2
+ import { SecretsManagerClient as AWSSecretsManagerClient } from "@aws-sdk/client-secrets-manager/dist-types/SecretsManagerClient";
2
3
  /**
3
4
  * The SecretsManager Interface defines the methods that a Secrets Manager client must implement.
4
5
  * When injecting the SecretsManager client the 'SecretsManagerClientInterface' tag should be used.
@@ -8,13 +9,14 @@ export interface SecretsManagerClientInterface {
8
9
  * Returns the instantiated SecretsManagerClientInterface from the @aws-sdk/client-secrets-manager library.
9
10
  * @param endpoint The endpoint for which the Secrets Manager client is created.
10
11
  */
11
- getClient(endpoint?: string): SESClient;
12
+ getClient(endpoint?: string): AWSSecretsManagerClient;
12
13
  /**
13
14
  * This retrieves a secret from the secret manager
14
15
  *
15
16
  * @param secretName
17
+ * @param options
16
18
  */
17
- getSecret(secretName: string): Promise<{
19
+ getSecret(secretName: string, options?: Partial<ClientOptionsInterface>): Promise<{
18
20
  [key in string]: string;
19
21
  }>;
20
22
  /**
@@ -22,6 +24,7 @@ export interface SecretsManagerClientInterface {
22
24
  *
23
25
  * @param secretName
24
26
  * @param key The key in the JSON object of the secret
27
+ * @param options
25
28
  */
26
- getSecretKey(secretName: string, key: string): Promise<string>;
29
+ getSecretKey(secretName: string, key: string, options?: Partial<ClientOptionsInterface>): Promise<string>;
27
30
  }
@@ -1,6 +1,7 @@
1
1
  import { SESClient } from "@aws-sdk/client-ses";
2
2
  import { EmailModel } from "../models/email.model";
3
3
  import { SesMessageSentConfirmationModel } from "../models/ses-message-sent-confirmation.model";
4
+ import { ClientOptionsInterface } from "./client-options.interface";
4
5
  /**
5
6
  * The SESClient Interface defines the methods that an SES client must implement.
6
7
  * When injecting the SES client the 'SesClientInterface' tag should be used.
@@ -16,16 +17,18 @@ export interface SesClientInterface {
16
17
  *
17
18
  * @param email
18
19
  * @param endpoint
20
+ * @param options
19
21
  */
20
- send(email: EmailModel, endpoint?: string): Promise<SesMessageSentConfirmationModel>;
22
+ send(email: EmailModel, endpoint?: string, options?: Partial<ClientOptionsInterface>): Promise<SesMessageSentConfirmationModel>;
21
23
  /**
22
24
  * This sends an email with the specified template and template Data.
23
25
  * @param email
24
26
  * @param templateName
25
27
  * @param templateData
26
28
  * @param endpoint
29
+ * @param options
27
30
  */
28
31
  sendTemplate(email: EmailModel, templateName: string, templateData: {
29
32
  [key in string]: string;
30
- }, endpoint?: string): Promise<SesMessageSentConfirmationModel>;
33
+ }, endpoint?: string, options?: Partial<ClientOptionsInterface>): Promise<SesMessageSentConfirmationModel>;
31
34
  }