@liflig/cdk 2.2.1 → 2.3.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.
@@ -0,0 +1,26 @@
1
+ import * as constructs from "constructs";
2
+ export declare type TlsPolicy = "Require" | "Optional";
3
+ export interface ConfigurationSetDeliveryOptionsProps {
4
+ /**
5
+ * The name of an existing SES configuration set to update delivery options on
6
+ */
7
+ configurationSetName: string;
8
+ /**
9
+ * The TLS policy for outgoing emails
10
+ *
11
+ * Setting this to "Require" will make mail delivery fail if SES cannot
12
+ * establish a TLS-encrypted connection to the receiving mail server.
13
+ */
14
+ tlsPolicy: TlsPolicy;
15
+ }
16
+ /**
17
+ * Set Delivery Options for a SES Configuration Set.
18
+ *
19
+ * Currently the only delivery option that can be set is the TLS Policy, which
20
+ * can be set to either "Require" or "Optional". If set to "Require" SES
21
+ * will refuse to deliver mail to mail servers it cannot connect to using
22
+ * an encrypted connection.
23
+ */
24
+ export declare class ConfigurationSetDeliveryOptions extends constructs.Construct {
25
+ constructor(scope: constructs.Construct, id: string, props: ConfigurationSetDeliveryOptionsProps);
26
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigurationSetDeliveryOptions = void 0;
4
+ const constructs = require("constructs");
5
+ const cr = require("aws-cdk-lib/custom-resources");
6
+ const iam = require("aws-cdk-lib/aws-iam");
7
+ /**
8
+ * Set Delivery Options for a SES Configuration Set.
9
+ *
10
+ * Currently the only delivery option that can be set is the TLS Policy, which
11
+ * can be set to either "Require" or "Optional". If set to "Require" SES
12
+ * will refuse to deliver mail to mail servers it cannot connect to using
13
+ * an encrypted connection.
14
+ */
15
+ class ConfigurationSetDeliveryOptions extends constructs.Construct {
16
+ constructor(scope, id, props) {
17
+ super(scope, id);
18
+ new cr.AwsCustomResource(this, "Resource", {
19
+ policy: cr.AwsCustomResourcePolicy.fromStatements([
20
+ new iam.PolicyStatement({
21
+ actions: ["ses:PutConfigurationSetDeliveryOptions"],
22
+ resources: ["*"],
23
+ }),
24
+ ]),
25
+ // Handles both onCreate and onUpdate
26
+ onUpdate: {
27
+ service: "SES",
28
+ action: "putConfigurationSetDeliveryOptions",
29
+ parameters: {
30
+ ConfigurationSetName: props.configurationSetName,
31
+ DeliveryOptions: {
32
+ TlsPolicy: props.tlsPolicy,
33
+ },
34
+ },
35
+ physicalResourceId: cr.PhysicalResourceId.of(props.configurationSetName),
36
+ },
37
+ onDelete: {
38
+ service: "SES",
39
+ action: "putConfigurationSetDeliveryOptions",
40
+ parameters: {
41
+ ConfigurationSetName: props.configurationSetName,
42
+ },
43
+ },
44
+ });
45
+ }
46
+ }
47
+ exports.ConfigurationSetDeliveryOptions = ConfigurationSetDeliveryOptions;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRkZWxpdmVyeW9wdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLG1EQUFrRDtBQUNsRCwyQ0FBMEM7QUFrQjFDOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3ZFLFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN6QyxNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQztnQkFDaEQsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUNqQixDQUFDO2FBQ0gsQ0FBQztZQUNGLHFDQUFxQztZQUNyQyxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9DQUFvQztnQkFDNUMsVUFBVSxFQUFFO29CQUNWLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7b0JBQ2hELGVBQWUsRUFBRTt3QkFDZixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7cUJBQzNCO2lCQUNGO2dCQUNELGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQzFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FDM0I7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsb0NBQW9DO2dCQUM1QyxVQUFVLEVBQUU7b0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtpQkFDakQ7YUFDRjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXRDRCwwRUFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNyIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5cbmV4cG9ydCB0eXBlIFRsc1BvbGljeSA9IFwiUmVxdWlyZVwiIHwgXCJPcHRpb25hbFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIFNFUyBjb25maWd1cmF0aW9uIHNldCB0byB1cGRhdGUgZGVsaXZlcnkgb3B0aW9ucyBvblxuICAgKi9cbiAgY29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIFRMUyBwb2xpY3kgZm9yIG91dGdvaW5nIGVtYWlsc1xuICAgKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gXCJSZXF1aXJlXCIgd2lsbCBtYWtlIG1haWwgZGVsaXZlcnkgZmFpbCBpZiBTRVMgY2Fubm90XG4gICAqIGVzdGFibGlzaCBhIFRMUy1lbmNyeXB0ZWQgY29ubmVjdGlvbiB0byB0aGUgcmVjZWl2aW5nIG1haWwgc2VydmVyLlxuICAgKi9cbiAgdGxzUG9saWN5OiBUbHNQb2xpY3lcbn1cblxuLyoqXG4gKiBTZXQgRGVsaXZlcnkgT3B0aW9ucyBmb3IgYSBTRVMgQ29uZmlndXJhdGlvbiBTZXQuXG4gKlxuICogQ3VycmVudGx5IHRoZSBvbmx5IGRlbGl2ZXJ5IG9wdGlvbiB0aGF0IGNhbiBiZSBzZXQgaXMgdGhlIFRMUyBQb2xpY3ksIHdoaWNoXG4gKiBjYW4gYmUgc2V0IHRvIGVpdGhlciBcIlJlcXVpcmVcIiBvciBcIk9wdGlvbmFsXCIuIElmIHNldCB0byBcIlJlcXVpcmVcIiBTRVNcbiAqIHdpbGwgcmVmdXNlIHRvIGRlbGl2ZXIgbWFpbCB0byBtYWlsIHNlcnZlcnMgaXQgY2Fubm90IGNvbm5lY3QgdG8gdXNpbmdcbiAqIGFuIGVuY3J5cHRlZCBjb25uZWN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9ucyBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgbmV3IGNyLkF3c0N1c3RvbVJlc291cmNlKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU3RhdGVtZW50cyhbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzZXM6UHV0Q29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc1wiXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgIH0pLFxuICAgICAgXSksXG4gICAgICAvLyBIYW5kbGVzIGJvdGggb25DcmVhdGUgYW5kIG9uVXBkYXRlXG4gICAgICBvblVwZGF0ZToge1xuICAgICAgICBzZXJ2aWNlOiBcIlNFU1wiLFxuICAgICAgICBhY3Rpb246IFwicHV0Q29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc1wiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IHByb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIERlbGl2ZXJ5T3B0aW9uczoge1xuICAgICAgICAgICAgVGxzUG9saWN5OiBwcm9wcy50bHNQb2xpY3ksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YoXG4gICAgICAgICAgcHJvcHMuY29uZmlndXJhdGlvblNldE5hbWUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgb25EZWxldGU6IHtcbiAgICAgICAgc2VydmljZTogXCJTRVNcIixcbiAgICAgICAgYWN0aW9uOiBcInB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBwcm9wcy5jb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
1
  export { SesDomain } from "./sesdomain";
2
2
  export { SesVerifyEmail } from "./sesverifyemail";
3
3
  export { ConfigurationSetSnsDestinationProps, ConfigurationSetSnsDestinationEventType, ConfigurationSetSnsDestination, } from "./configurationsetsnsdestination";
4
+ export { ConfigurationSetDeliveryOptions } from "./configurationsetdeliveryoptions";
package/lib/ses/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigurationSetSnsDestination = exports.SesVerifyEmail = exports.SesDomain = void 0;
3
+ exports.ConfigurationSetDeliveryOptions = exports.ConfigurationSetSnsDestination = exports.SesVerifyEmail = exports.SesDomain = void 0;
4
4
  var sesdomain_1 = require("./sesdomain");
5
5
  Object.defineProperty(exports, "SesDomain", { enumerable: true, get: function () { return sesdomain_1.SesDomain; } });
6
6
  var sesverifyemail_1 = require("./sesverifyemail");
7
7
  Object.defineProperty(exports, "SesVerifyEmail", { enumerable: true, get: function () { return sesverifyemail_1.SesVerifyEmail; } });
8
8
  var configurationsetsnsdestination_1 = require("./configurationsetsnsdestination");
9
9
  Object.defineProperty(exports, "ConfigurationSetSnsDestination", { enumerable: true, get: function () { return configurationsetsnsdestination_1.ConfigurationSetSnsDestination; } });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF1QztBQUE5QixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsbURBQWlEO0FBQXhDLGdIQUFBLGNBQWMsT0FBQTtBQUN2QixtRkFJeUM7QUFEdkMsZ0pBQUEsOEJBQThCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTZXNEb21haW4gfSBmcm9tIFwiLi9zZXNkb21haW5cIlxuZXhwb3J0IHsgU2VzVmVyaWZ5RW1haWwgfSBmcm9tIFwiLi9zZXN2ZXJpZnllbWFpbFwiXG5leHBvcnQge1xuICBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm9wcyxcbiAgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uRXZlbnRUeXBlLFxuICBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb24sXG59IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zZXRzbnNkZXN0aW5hdGlvblwiXG4iXX0=
10
+ var configurationsetdeliveryoptions_1 = require("./configurationsetdeliveryoptions");
11
+ Object.defineProperty(exports, "ConfigurationSetDeliveryOptions", { enumerable: true, get: function () { return configurationsetdeliveryoptions_1.ConfigurationSetDeliveryOptions; } });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF1QztBQUE5QixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsbURBQWlEO0FBQXhDLGdIQUFBLGNBQWMsT0FBQTtBQUN2QixtRkFJeUM7QUFEdkMsZ0pBQUEsOEJBQThCLE9BQUE7QUFFaEMscUZBQW1GO0FBQTFFLGtKQUFBLCtCQUErQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2VzRG9tYWluIH0gZnJvbSBcIi4vc2VzZG9tYWluXCJcbmV4cG9ydCB7IFNlc1ZlcmlmeUVtYWlsIH0gZnJvbSBcIi4vc2VzdmVyaWZ5ZW1haWxcIlxuZXhwb3J0IHtcbiAgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMsXG4gIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvbkV2ZW50VHlwZSxcbiAgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uLFxufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc2V0c25zZGVzdGluYXRpb25cIlxuZXhwb3J0IHsgQ29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9ucyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zZXRkZWxpdmVyeW9wdGlvbnNcIlxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liflig/cdk",
3
- "version": "2.2.1",
3
+ "version": "2.3.2",
4
4
  "description": "CDK library for Liflig",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,35 +35,35 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@aws-cdk/assert": "2.16.0",
38
- "@commitlint/cli": "15.0.0",
39
- "@commitlint/config-conventional": "15.0.0",
40
- "@types/aws-lambda": "8.10.93",
41
- "@types/jest": "27.4.1",
42
- "@types/node": "16.11.26",
43
- "@typescript-eslint/eslint-plugin": "5.16.0",
44
- "@typescript-eslint/parser": "5.16.0",
38
+ "@commitlint/cli": "16.3.0",
39
+ "@commitlint/config-conventional": "16.2.4",
40
+ "@types/aws-lambda": "8.10.97",
41
+ "@types/jest": "27.5.1",
42
+ "@types/node": "16.11.35",
43
+ "@typescript-eslint/eslint-plugin": "5.23.0",
44
+ "@typescript-eslint/parser": "5.23.0",
45
45
  "aws-cdk": "2.16.0",
46
46
  "aws-cdk-lib": "2.16.0",
47
- "constructs": "10.0.91",
48
- "eslint": "8.11.0",
47
+ "constructs": "10.1.7",
48
+ "eslint": "8.15.0",
49
49
  "eslint-config-prettier": "8.5.0",
50
50
  "eslint-plugin-prettier": "4.0.0",
51
- "husky": "7.0.4",
51
+ "husky": "8.0.1",
52
52
  "jest": "27.5.1",
53
53
  "jest-cdk-snapshot": "2.0.1",
54
- "prettier": "2.6.0",
54
+ "prettier": "2.6.2",
55
55
  "semantic-release": "19.0.2",
56
- "ts-jest": "27.1.3",
56
+ "ts-jest": "27.1.4",
57
57
  "ts-node": "10.7.0",
58
- "typescript": "4.6.2"
58
+ "typescript": "4.6.4"
59
59
  },
60
60
  "dependencies": {
61
61
  "@capraconsulting/webapp-deploy-lambda": "2.0.0",
62
62
  "aws-sdk": "2.1058.0",
63
63
  "cpy": "8.1.2",
64
- "del": "6.0.0",
64
+ "del": "6.1.0",
65
65
  "execa": "5.1.1",
66
- "glob": "7.2.0",
66
+ "glob": "8.0.3",
67
67
  "source-map-support": "0.5.21"
68
68
  },
69
69
  "peerDependencies": {