@gammarers/aws-rds-database-auto-running-protection-stack 2.3.10 → 2.4.0

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/.jsii CHANGED
@@ -3698,7 +3698,7 @@
3698
3698
  "stability": "stable"
3699
3699
  },
3700
3700
  "homepage": "https://github.com/gammarers/aws-rds-database-auto-running-protection-stack.git",
3701
- "jsiiVersion": "5.7.6 (build f1d1045)",
3701
+ "jsiiVersion": "5.7.7 (build 79515e6)",
3702
3702
  "keywords": [
3703
3703
  "auto",
3704
3704
  "aws",
@@ -3740,6 +3740,39 @@
3740
3740
  }
3741
3741
  },
3742
3742
  "types": {
3743
+ "@gammarers/aws-rds-database-auto-running-protection-stack.LogOption": {
3744
+ "assembly": "@gammarers/aws-rds-database-auto-running-protection-stack",
3745
+ "datatype": true,
3746
+ "docs": {
3747
+ "stability": "stable"
3748
+ },
3749
+ "fqn": "@gammarers/aws-rds-database-auto-running-protection-stack.LogOption",
3750
+ "kind": "interface",
3751
+ "locationInModule": {
3752
+ "filename": "src/index.ts",
3753
+ "line": 32
3754
+ },
3755
+ "name": "LogOption",
3756
+ "properties": [
3757
+ {
3758
+ "abstract": true,
3759
+ "docs": {
3760
+ "stability": "stable"
3761
+ },
3762
+ "immutable": true,
3763
+ "locationInModule": {
3764
+ "filename": "src/index.ts",
3765
+ "line": 33
3766
+ },
3767
+ "name": "machineLogLevel",
3768
+ "optional": true,
3769
+ "type": {
3770
+ "fqn": "aws-cdk-lib.aws_stepfunctions.LogLevel"
3771
+ }
3772
+ }
3773
+ ],
3774
+ "symbolId": "src/index:LogOption"
3775
+ },
3743
3776
  "@gammarers/aws-rds-database-auto-running-protection-stack.Notifications": {
3744
3777
  "assembly": "@gammarers/aws-rds-database-auto-running-protection-stack",
3745
3778
  "datatype": true,
@@ -3750,7 +3783,7 @@
3750
3783
  "kind": "interface",
3751
3784
  "locationInModule": {
3752
3785
  "filename": "src/index.ts",
3753
- "line": 23
3786
+ "line": 25
3754
3787
  },
3755
3788
  "name": "Notifications",
3756
3789
  "properties": [
@@ -3762,7 +3795,7 @@
3762
3795
  "immutable": true,
3763
3796
  "locationInModule": {
3764
3797
  "filename": "src/index.ts",
3765
- "line": 24
3798
+ "line": 26
3766
3799
  },
3767
3800
  "name": "emails",
3768
3801
  "optional": true,
@@ -3783,7 +3816,7 @@
3783
3816
  "immutable": true,
3784
3817
  "locationInModule": {
3785
3818
  "filename": "src/index.ts",
3786
- "line": 25
3819
+ "line": 27
3787
3820
  },
3788
3821
  "name": "slack",
3789
3822
  "optional": true,
@@ -3807,7 +3840,7 @@
3807
3840
  },
3808
3841
  "locationInModule": {
3809
3842
  "filename": "src/index.ts",
3810
- "line": 47
3843
+ "line": 56
3811
3844
  },
3812
3845
  "parameters": [
3813
3846
  {
@@ -3833,7 +3866,7 @@
3833
3866
  "kind": "class",
3834
3867
  "locationInModule": {
3835
3868
  "filename": "src/index.ts",
3836
- "line": 46
3869
+ "line": 55
3837
3870
  },
3838
3871
  "name": "RDSDatabaseAutoRunningProtectionStack",
3839
3872
  "symbolId": "src/index:RDSDatabaseAutoRunningProtectionStack"
@@ -3851,7 +3884,7 @@
3851
3884
  "kind": "interface",
3852
3885
  "locationInModule": {
3853
3886
  "filename": "src/index.ts",
3854
- "line": 28
3887
+ "line": 36
3855
3888
  },
3856
3889
  "name": "RDSDatabaseAutoRunningProtectionStackProps",
3857
3890
  "properties": [
@@ -3863,7 +3896,7 @@
3863
3896
  "immutable": true,
3864
3897
  "locationInModule": {
3865
3898
  "filename": "src/index.ts",
3866
- "line": 29
3899
+ "line": 37
3867
3900
  },
3868
3901
  "name": "targetResource",
3869
3902
  "type": {
@@ -3878,7 +3911,7 @@
3878
3911
  "immutable": true,
3879
3912
  "locationInModule": {
3880
3913
  "filename": "src/index.ts",
3881
- "line": 30
3914
+ "line": 38
3882
3915
  },
3883
3916
  "name": "enableRule",
3884
3917
  "optional": true,
@@ -3894,7 +3927,23 @@
3894
3927
  "immutable": true,
3895
3928
  "locationInModule": {
3896
3929
  "filename": "src/index.ts",
3897
- "line": 31
3930
+ "line": 41
3931
+ },
3932
+ "name": "logOption",
3933
+ "optional": true,
3934
+ "type": {
3935
+ "fqn": "@gammarers/aws-rds-database-auto-running-protection-stack.LogOption"
3936
+ }
3937
+ },
3938
+ {
3939
+ "abstract": true,
3940
+ "docs": {
3941
+ "stability": "stable"
3942
+ },
3943
+ "immutable": true,
3944
+ "locationInModule": {
3945
+ "filename": "src/index.ts",
3946
+ "line": 39
3898
3947
  },
3899
3948
  "name": "notifications",
3900
3949
  "optional": true,
@@ -3910,7 +3959,7 @@
3910
3959
  "immutable": true,
3911
3960
  "locationInModule": {
3912
3961
  "filename": "src/index.ts",
3913
- "line": 32
3962
+ "line": 40
3914
3963
  },
3915
3964
  "name": "resourceNamingOption",
3916
3965
  "optional": true,
@@ -3943,7 +3992,7 @@
3943
3992
  "kind": "interface",
3944
3993
  "locationInModule": {
3945
3994
  "filename": "src/index.ts",
3946
- "line": 35
3995
+ "line": 44
3947
3996
  },
3948
3997
  "name": "ResourceCustomNaming",
3949
3998
  "properties": [
@@ -3955,7 +4004,7 @@
3955
4004
  "immutable": true,
3956
4005
  "locationInModule": {
3957
4006
  "filename": "src/index.ts",
3958
- "line": 41
4007
+ "line": 50
3959
4008
  },
3960
4009
  "name": "startClusterEventCatchRuleName",
3961
4010
  "type": {
@@ -3970,7 +4019,7 @@
3970
4019
  "immutable": true,
3971
4020
  "locationInModule": {
3972
4021
  "filename": "src/index.ts",
3973
- "line": 39
4022
+ "line": 48
3974
4023
  },
3975
4024
  "name": "startEventCatchRuleRoleName",
3976
4025
  "type": {
@@ -3985,7 +4034,7 @@
3985
4034
  "immutable": true,
3986
4035
  "locationInModule": {
3987
4036
  "filename": "src/index.ts",
3988
- "line": 40
4037
+ "line": 49
3989
4038
  },
3990
4039
  "name": "startInstanceEventCatchRuleName",
3991
4040
  "type": {
@@ -4000,7 +4049,7 @@
4000
4049
  "immutable": true,
4001
4050
  "locationInModule": {
4002
4051
  "filename": "src/index.ts",
4003
- "line": 37
4052
+ "line": 46
4004
4053
  },
4005
4054
  "name": "stateMachineName",
4006
4055
  "type": {
@@ -4015,7 +4064,7 @@
4015
4064
  "immutable": true,
4016
4065
  "locationInModule": {
4017
4066
  "filename": "src/index.ts",
4018
- "line": 38
4067
+ "line": 47
4019
4068
  },
4020
4069
  "name": "stateMachineRoleName",
4021
4070
  "type": {
@@ -4030,7 +4079,7 @@
4030
4079
  "immutable": true,
4031
4080
  "locationInModule": {
4032
4081
  "filename": "src/index.ts",
4033
- "line": 36
4082
+ "line": 45
4034
4083
  },
4035
4084
  "name": "type",
4036
4085
  "type": {
@@ -4050,7 +4099,7 @@
4050
4099
  "kind": "interface",
4051
4100
  "locationInModule": {
4052
4101
  "filename": "src/index.ts",
4053
- "line": 19
4102
+ "line": 21
4054
4103
  },
4055
4104
  "name": "Slack",
4056
4105
  "properties": [
@@ -4062,7 +4111,7 @@
4062
4111
  "immutable": true,
4063
4112
  "locationInModule": {
4064
4113
  "filename": "src/index.ts",
4065
- "line": 20
4114
+ "line": 22
4066
4115
  },
4067
4116
  "name": "webhookSecretName",
4068
4117
  "type": {
@@ -4082,7 +4131,7 @@
4082
4131
  "kind": "interface",
4083
4132
  "locationInModule": {
4084
4133
  "filename": "src/index.ts",
4085
- "line": 14
4134
+ "line": 16
4086
4135
  },
4087
4136
  "name": "TargetResource",
4088
4137
  "properties": [
@@ -4094,7 +4143,7 @@
4094
4143
  "immutable": true,
4095
4144
  "locationInModule": {
4096
4145
  "filename": "src/index.ts",
4097
- "line": 15
4146
+ "line": 17
4098
4147
  },
4099
4148
  "name": "tagKey",
4100
4149
  "type": {
@@ -4109,7 +4158,7 @@
4109
4158
  "immutable": true,
4110
4159
  "locationInModule": {
4111
4160
  "filename": "src/index.ts",
4112
- "line": 16
4161
+ "line": 18
4113
4162
  },
4114
4163
  "name": "tagValues",
4115
4164
  "type": {
@@ -4125,6 +4174,6 @@
4125
4174
  "symbolId": "src/index:TargetResource"
4126
4175
  }
4127
4176
  },
4128
- "version": "2.3.10",
4129
- "fingerprint": "k2nv6XeDiG7HglGvhfuKHyrbcuUEt/xaSTIfVofpinw="
4177
+ "version": "2.4.0",
4178
+ "fingerprint": "CSgI12matJ/q5EV44aAhReueVuq841eUqWo7xzNKk8U="
4130
4179
  }
package/API.md CHANGED
@@ -879,6 +879,34 @@ Whether termination protection is enabled for this stack.
879
879
 
880
880
  ## Structs <a name="Structs" id="Structs"></a>
881
881
 
882
+ ### LogOption <a name="LogOption" id="@gammarers/aws-rds-database-auto-running-protection-stack.LogOption"></a>
883
+
884
+ #### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-auto-running-protection-stack.LogOption.Initializer"></a>
885
+
886
+ ```typescript
887
+ import { LogOption } from '@gammarers/aws-rds-database-auto-running-protection-stack'
888
+
889
+ const logOption: LogOption = { ... }
890
+ ```
891
+
892
+ #### Properties <a name="Properties" id="Properties"></a>
893
+
894
+ | **Name** | **Type** | **Description** |
895
+ | --- | --- | --- |
896
+ | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.LogOption.property.machineLogLevel">machineLogLevel</a></code> | <code>aws-cdk-lib.aws_stepfunctions.LogLevel</code> | *No description.* |
897
+
898
+ ---
899
+
900
+ ##### `machineLogLevel`<sup>Optional</sup> <a name="machineLogLevel" id="@gammarers/aws-rds-database-auto-running-protection-stack.LogOption.property.machineLogLevel"></a>
901
+
902
+ ```typescript
903
+ public readonly machineLogLevel: LogLevel;
904
+ ```
905
+
906
+ - *Type:* aws-cdk-lib.aws_stepfunctions.LogLevel
907
+
908
+ ---
909
+
882
910
  ### Notifications <a name="Notifications" id="@gammarers/aws-rds-database-auto-running-protection-stack.Notifications"></a>
883
911
 
884
912
  #### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-auto-running-protection-stack.Notifications.Initializer"></a>
@@ -944,6 +972,7 @@ const rDSDatabaseAutoRunningProtectionStackProps: RDSDatabaseAutoRunningProtecti
944
972
  | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.terminationProtection">terminationProtection</a></code> | <code>boolean</code> | Whether to enable termination protection for this stack. |
945
973
  | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.targetResource">targetResource</a></code> | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.TargetResource">TargetResource</a></code> | *No description.* |
946
974
  | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.enableRule">enableRule</a></code> | <code>boolean</code> | *No description.* |
975
+ | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.logOption">logOption</a></code> | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.LogOption">LogOption</a></code> | *No description.* |
947
976
  | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.notifications">notifications</a></code> | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.Notifications">Notifications</a></code> | *No description.* |
948
977
  | <code><a href="#@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.resourceNamingOption">resourceNamingOption</a></code> | <code>@gammarers/aws-resource-naming.ResourceDefaultNaming \| @gammarers/aws-resource-naming.ResourceAutoNaming \| <a href="#@gammarers/aws-rds-database-auto-running-protection-stack.ResourceCustomNaming">ResourceCustomNaming</a></code> | *No description.* |
949
978
 
@@ -1179,6 +1208,16 @@ public readonly enableRule: boolean;
1179
1208
 
1180
1209
  ---
1181
1210
 
1211
+ ##### `logOption`<sup>Optional</sup> <a name="logOption" id="@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.logOption"></a>
1212
+
1213
+ ```typescript
1214
+ public readonly logOption: LogOption;
1215
+ ```
1216
+
1217
+ - *Type:* <a href="#@gammarers/aws-rds-database-auto-running-protection-stack.LogOption">LogOption</a>
1218
+
1219
+ ---
1220
+
1182
1221
  ##### `notifications`<sup>Optional</sup> <a name="notifications" id="@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStackProps.property.notifications"></a>
1183
1222
 
1184
1223
  ```typescript
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ResourceAutoNaming, ResourceDefaultNaming, ResourceNamingType as RDSDatabaseAutoRunningProtectionStackResourceNamingType } from '@gammarers/aws-resource-naming';
2
2
  import { Stack, StackProps } from 'aws-cdk-lib';
3
+ import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
3
4
  import { Construct } from 'constructs';
4
5
  export { RDSDatabaseAutoRunningProtectionStackResourceNamingType };
5
6
  export interface TargetResource {
@@ -13,11 +14,16 @@ export interface Notifications {
13
14
  readonly emails?: string[];
14
15
  readonly slack?: Slack;
15
16
  }
17
+ export type MachineLogLevel = sfn.LogLevel;
18
+ export interface LogOption {
19
+ readonly machineLogLevel?: MachineLogLevel;
20
+ }
16
21
  export interface RDSDatabaseAutoRunningProtectionStackProps extends StackProps {
17
22
  readonly targetResource: TargetResource;
18
23
  readonly enableRule?: boolean;
19
24
  readonly notifications?: Notifications;
20
25
  readonly resourceNamingOption?: ResourceNamingOption;
26
+ readonly logOption?: LogOption;
21
27
  }
22
28
  export interface ResourceCustomNaming {
23
29
  readonly type: RDSDatabaseAutoRunningProtectionStackResourceNamingType.CUSTOM;
package/lib/index.js CHANGED
@@ -10,6 +10,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
10
10
  const events = require("aws-cdk-lib/aws-events");
11
11
  const targets = require("aws-cdk-lib/aws-events-targets");
12
12
  const iam = require("aws-cdk-lib/aws-iam");
13
+ const logs = require("aws-cdk-lib/aws-logs");
13
14
  const sns = require("aws-cdk-lib/aws-sns");
14
15
  const subscriptions = require("aws-cdk-lib/aws-sns-subscriptions");
15
16
  const protection_state_machine_1 = require("./resources/protection-state-machine");
@@ -48,6 +49,22 @@ class RDSDatabaseAutoRunningProtectionStack extends aws_cdk_lib_1.Stack {
48
49
  const stateMachine = new protection_state_machine_1.ProtectionStateMachine(this, 'StateMachine', {
49
50
  stateMachineName: names.stateMachineName,
50
51
  notificationTopic: topic,
52
+ logs: (() => {
53
+ if (props.logOption?.machineLogLevel) {
54
+ return {
55
+ destination: new logs.LogGroup(this, 'StateMachineLogGroup', {
56
+ logGroupName: (() => {
57
+ if (names.stateMachineName) {
58
+ return `/aws/states/${names.stateMachineName}`;
59
+ }
60
+ return undefined;
61
+ })(),
62
+ }),
63
+ level: props.logOption.machineLogLevel,
64
+ };
65
+ }
66
+ return undefined;
67
+ })(),
51
68
  });
52
69
  if (names.stateMachineRoleName) {
53
70
  const role = stateMachine.node.findChild('Role');
@@ -135,5 +152,5 @@ class RDSDatabaseAutoRunningProtectionStack extends aws_cdk_lib_1.Stack {
135
152
  }
136
153
  exports.RDSDatabaseAutoRunningProtectionStack = RDSDatabaseAutoRunningProtectionStack;
137
154
  _a = JSII_RTTI_SYMBOL_1;
138
- RDSDatabaseAutoRunningProtectionStack[_a] = { fqn: "@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStack", version: "2.3.10" };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBMEw7QUFXakwsd0lBWGlGLHdDQUF1RCxPQVdqRjtBQVZoRSxvSEFBeUc7QUFDekcsNkNBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyxtRUFBbUU7QUFFbkUsbUZBQThFO0FBb0M5RSxNQUFhLHFDQUFzQyxTQUFRLG1CQUFLO0lBQzlELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUQ7UUFDekYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsbUNBQW1DO1FBQ25DLE1BQU0sTUFBTSxHQUFHLG9DQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxtQkFBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckcsa0JBQWtCO1FBQ2xCLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLGdCQUFnQixFQUFFLDRCQUE0QixNQUFNLGdCQUFnQjtZQUNwRSxvQkFBb0IsRUFBRSwwQ0FBMEMsTUFBTSxPQUFPO1lBQzdFLDJCQUEyQixFQUFFLG1DQUFtQyxNQUFNLE9BQU87WUFDN0UsK0JBQStCLEVBQUUsdUNBQXVDLE1BQU0sT0FBTztZQUNyRiw4QkFBOEIsRUFBRSxzQ0FBc0MsTUFBTSxPQUFPO1NBQ3BGLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxvQ0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLG9CQUEyRCxDQUFDLENBQUM7UUFFbkgsaUNBQWlDO1FBQ2pDLE1BQU0sS0FBSyxHQUFjLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDaEUsU0FB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TSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO3dCQUN0QyxNQUFNLEVBQUU7NEJBQ04sTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTTs0QkFDbkMsU0FBUyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUzt5QkFDMUM7cUJBQ0YsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9ISCxzRkFnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZUF1dG9OYW1pbmcsIFJlc291cmNlRGVmYXVsdE5hbWluZywgUmVzb3VyY2VOYW1pbmcsIFJlc291cmNlTmFtaW5nVHlwZSBhcyBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUmVzb3VyY2VOYW1pbmdUeXBlIH0gZnJvbSAnQGdhbW1hcmVycy9hd3MtcmVzb3VyY2UtbmFtaW5nJztcbmltcG9ydCB7IFNOU1NsYWNrTWVzc2FnZUxhbWJkYVN1YnNjcmlwdGlvbiB9IGZyb20gJ0BnYW1tYXJlcnMvYXdzLXNucy1zbGFjay1tZXNzYWdlLWxhbWJkYS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgTmFtZXMsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgc3Vic2NyaXB0aW9ucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBQcm90ZWN0aW9uU3RhdGVNYWNoaW5lIH0gZnJvbSAnLi9yZXNvdXJjZXMvcHJvdGVjdGlvbi1zdGF0ZS1tYWNoaW5lJztcblxuZXhwb3J0IHsgUkRTRGF0YWJhc2VBdXRvUnVubmluZ1Byb3RlY3Rpb25TdGFja1Jlc291cmNlTmFtaW5nVHlwZSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldFJlc291cmNlIHtcbiAgcmVhZG9ubHkgdGFnS2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhZ1ZhbHVlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2sge1xuICByZWFkb25seSB3ZWJob29rU2VjcmV0TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnMge1xuICByZWFkb25seSBlbWFpbHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc2xhY2s/OiBTbGFjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgdGFyZ2V0UmVzb3VyY2U6IFRhcmdldFJlc291cmNlO1xuICByZWFkb25seSBlbmFibGVSdWxlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9ucz86IE5vdGlmaWNhdGlvbnM7XG4gIHJlYWRvbmx5IHJlc291cmNlTmFtaW5nT3B0aW9uPzogUmVzb3VyY2VOYW1pbmdPcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDdXN0b21OYW1pbmcge1xuICByZWFkb25seSB0eXBlOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUmVzb3VyY2VOYW1pbmdUeXBlLkNVU1RPTTtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVSb2xlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnRJbnN0YW5jZUV2ZW50Q2F0Y2hSdWxlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VOYW1pbmdPcHRpb24gPSBSZXNvdXJjZURlZmF1bHROYW1pbmcgfCBSZXNvdXJjZUF1dG9OYW1pbmcgfCBSZXNvdXJjZUN1c3RvbU5hbWluZztcblxuZXhwb3J0IGNsYXNzIFJEU0RhdGFiYXNlQXV0b1J1bm5pbmdQcm90ZWN0aW9uU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIPCfkYcgQ3JlYXRlIHJhbmRvbSA4IGxlbmd0aCBzdHJpbmdcbiAgICBjb25zdCByYW5kb20gPSBSZXNvdXJjZU5hbWluZy5jcmVhdGVSYW5kb21TdHJpbmcoYCR7TmFtZXMudW5pcXVlSWQoc2NvcGUpfS4ke05hbWVzLnVuaXF1ZUlkKHRoaXMpfWApO1xuICAgIC8vIPCfkYcgQXV0byBuYWVtaW5nXG4gICAgY29uc3QgYXV0b05hbWluZyA9IHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3AtJHtyYW5kb219LXN0YXRlLW1hY2hpbmVgLFxuICAgICAgc3RhdGVNYWNoaW5lUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3Atc3RhdGUtbWFjaGluZS0ke3JhbmRvbX0tcm9sZWAsXG4gICAgICBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLWNhdGNoLWV2ZW50LSR7cmFuZG9tfS1yb2xlYCxcbiAgICAgIHN0YXJ0SW5zdGFuY2VFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItaW5zdGFuY2UtcnVubmluZy1ldmVudC1jYXRjaC0ke3JhbmRvbX0tcnVsZWAsXG4gICAgICBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItY2x1c3Rlci1ydW5uaW5nLWV2ZW50LWNhdGNoLSR7cmFuZG9tfS1ydWxlYCxcbiAgICB9O1xuICAgIGNvbnN0IG5hbWVzID0gUmVzb3VyY2VOYW1pbmcubmFtaW5nKGF1dG9OYW1pbmcsIHByb3BzLnJlc291cmNlTmFtaW5nT3B0aW9uIGFzIFJlc291cmNlTmFtaW5nLlJlc291cmNlTmFtaW5nT3B0aW9uKTtcblxuICAgIC8vIPCfkYcgU05TIFRvcGljIGZvciBub3RpZmljYXRpb25zXG4gICAgY29uc3QgdG9waWM6IHNucy5Ub3BpYyA9IG5ldyBzbnMuVG9waWModGhpcywgJ05vdGlmaWNhdGlvblRvcGljJywge1xuICAgICAgdG9waWNOYW1lOiBuYW1lcy5ub3RpZmljYXRpb25Ub3BpY05hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogbmFtZXMubm90aWZpY2F0aW9uVG9waWNEaXNwbGF5TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3Vic2NyaWJlIGFuIGVtYWlsIGVuZHBvaW50IHRvIHRoZSB0b3BpY1xuICAgIGNvbnN0IGVtYWlscyA9IHByb3BzLm5vdGlmaWNhdGlvbnM/LmVtYWlscyA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGVtYWlsIG9mIGVtYWlscykge1xuICAgICAgdG9waWMuYWRkU3Vic2NyaXB0aW9uKG5ldyBzdWJzY3JpcHRpb25zLkVtYWlsU3Vic2NyaXB0aW9uKGVtYWlsKSk7XG4gICAgfVxuXG4gICAgLy8g8J+RhyBTdWJzY3JpcHRpb24gc2xhY2sgd2ViaG9va1xuICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25zPy5zbGFjaykge1xuICAgICAgbmV3IFNOU1NsYWNrTWVzc2FnZUxhbWJkYVN1YnNjcmlwdGlvbih0aGlzLCAnU05TU2xhY2tNZXNzYWdlTGFtYmRhU3Vic2NyaXB0aW9uJywge1xuICAgICAgICB0b3BpYyxcbiAgICAgICAgc2xhY2tXZWJob29rU2VjcmV0TmFtZTogcHJvcHMubm90aWZpY2F0aW9ucy5zbGFjay53ZWJob29rU2VjcmV0TmFtZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIPCfkYcgU3RlcEZ1bmN0aW9uc1xuICAgIGNvbnN0IHN0YXRlTWFjaGluZSA9IG5ldyBQcm90ZWN0aW9uU3RhdGVNYWNoaW5lKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBzdGF0ZU1hY2hpbmVOYW1lOiBuYW1lcy5zdGF0ZU1hY2hpbmVOYW1lLFxuICAgICAgbm90aWZpY2F0aW9uVG9waWM6IHRvcGljLFxuICAgIH0pO1xuICAgIGlmIChuYW1lcy5zdGF0ZU1hY2hpbmVSb2xlTmFtZSkge1xuICAgICAgY29uc3Qgcm9sZSA9IHN0YXRlTWFjaGluZS5ub2RlLmZpbmRDaGlsZCgnUm9sZScpIGFzIGlhbS5Sb2xlO1xuICAgICAgY29uc3QgY2ZuUm9sZSA9IHJvbGUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgaWFtLkNmblJvbGU7XG4gICAgICBjZm5Sb2xlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1JvbGVOYW1lJywgbmFtZXMuc3RhdGVNYWNoaW5lUm9sZU5hbWUpO1xuICAgICAgY2ZuUm9sZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdEZXNjcmlwdGlvbicsICdyZHMgZGF0YWJhc2UgYXV0byBydW5uaW5nIHN0b3Agc3RhdGUgbWFjaGluZSByb2xlLicpO1xuICAgICAgY29uc3QgcG9saWN5ID0gcm9sZS5ub2RlLmZpbmRDaGlsZCgnRGVmYXVsdFBvbGljeScpIGFzIGlhbS5Qb2xpY3k7XG4gICAgICBjb25zdCBjZm5Qb2xpY3kgPSBwb2xpY3kubm9kZS5kZWZhdWx0Q2hpbGQgYXMgaWFtLkNmblBvbGljeTtcbiAgICAgIGNmblBvbGljeS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdQb2xpY3lOYW1lJywgYHJkcy1kYi1hdXRvLXJ1bm5pbmctc3RvcC1zdGF0ZS1tYWNoaW5lLSR7cmFuZG9tfS1wb2xpY3lgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGVjUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnRXZlbnRFeGVjUm9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiBuYW1lcy5zdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ2RiIGF1dG8gc3RhcnQgY2F0Y2ggd2l0aCBzdGFydCBzdGF0ZSBtYWNoaW5lIGV2ZW50IHJvbGUnLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2V2ZW50cy5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICAnc3RhdGUtbWFjaGluZS1leGVjJzogbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnc3RhdGVzOlN0YXJ0RXhlY3V0aW9uJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGVuYWJsZVJ1bGU6IGJvb2xlYW4gPSAoKCkgPT4ge1xuICAgICAgcmV0dXJuIHByb3BzLmVuYWJsZVJ1bGUgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy5lbmFibGVSdWxlO1xuICAgIH0pKCk7XG5cbiAgICAvLyDwn5GHIEV2ZW50QnJpZGdlIGJ5IFJEUyBEQiBJbnN0YW5jZSBBdXRvIFN0YXJ0IEV2ZW50XG4gICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdEQkluc3RhbmNlRXZlbnQnLCB7XG4gICAgICBydWxlTmFtZTogbmFtZXMuc3RhcnRJbnN0YW5jZUV2ZW50Q2F0Y2hSdWxlTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAncmRzIGRiIGluc3RhbmNlIHJ1bm5pbmcgZXZlbnQgY2F0Y2ggcnVsZS4nLFxuICAgICAgZW5hYmxlZDogZW5hYmxlUnVsZSxcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFsnYXdzLnJkcyddLFxuICAgICAgICBkZXRhaWxUeXBlOiBbJ1JEUyBEQiBJbnN0YW5jZSBFdmVudCddLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBFdmVudElEOiBbJ1JEUy1FVkVOVC0wMTU0J10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW1xuICAgICAgICBuZXcgdGFyZ2V0cy5TZm5TdGF0ZU1hY2hpbmUoc3RhdGVNYWNoaW5lLCB7XG4gICAgICAgICAgcm9sZTogZXhlY1JvbGUsXG4gICAgICAgICAgaW5wdXQ6IGV2ZW50cy5SdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICBldmVudDogZXZlbnRzLkV2ZW50RmllbGQuZnJvbVBhdGgoJyQnKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICB0YWdLZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICAgICAgdGFnVmFsdWVzOiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdWYWx1ZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIEV2ZW50QnJpZGdlIGJ5IFJEUyBEQiBJbnN0YW5jZSBBdXRvIFN0YXJ0IEV2ZW50XG4gICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdEQkNsdXN0ZXJFdmVudCcsIHtcbiAgICAgIHJ1bGVOYW1lOiBuYW1lcy5zdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ2RiIGNsdXN0ZXIgcnVubmluZyBldmVudCBjYXRjaCBydWxlJyxcbiAgICAgIGVuYWJsZWQ6IGVuYWJsZVJ1bGUsXG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbJ2F3cy5yZHMnXSxcbiAgICAgICAgZGV0YWlsVHlwZTogWydSRFMgREIgQ2x1c3RlciBFdmVudCddLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBFdmVudElEOiBbJ1JEUy1FVkVOVC0wMTUzJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW1xuICAgICAgICBuZXcgdGFyZ2V0cy5TZm5TdGF0ZU1hY2hpbmUoc3RhdGVNYWNoaW5lLCB7XG4gICAgICAgICAgcm9sZTogZXhlY1JvbGUsXG4gICAgICAgICAgaW5wdXQ6IGV2ZW50cy5SdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICBldmVudDogZXZlbnRzLkV2ZW50RmllbGQuZnJvbVBhdGgoJyQnKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICB0YWdLZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICAgICAgdGFnVmFsdWVzOiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdWYWx1ZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
155
+ RDSDatabaseAutoRunningProtectionStack[_a] = { fqn: "@gammarers/aws-rds-database-auto-running-protection-stack.RDSDatabaseAutoRunningProtectionStack", version: "2.4.0" };
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBMEw7QUFhakwsd0lBYmlGLHdDQUF1RCxPQWFqRjtBQVpoRSxvSEFBeUc7QUFDekcsNkNBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDZDQUE2QztBQUM3QywyQ0FBMkM7QUFDM0MsbUVBQW1FO0FBR25FLG1GQUE4RTtBQTJDOUUsTUFBYSxxQ0FBc0MsU0FBUSxtQkFBSztJQUM5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlEO1FBQ3pGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLG1DQUFtQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxvQ0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsbUJBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLGtCQUFrQjtRQUNsQixNQUFNLFVBQVUsR0FBRztZQUNqQixnQkFBZ0IsRUFBRSw0QkFBNEIsTUFBTSxnQkFBZ0I7WUFDcEUsb0JBQW9CLEVBQUUsMENBQTBDLE1BQU0sT0FBTztZQUM3RSwyQkFBMkIsRUFBRSxtQ0FBbUMsTUFBTSxPQUFPO1lBQzdFLCtCQUErQixFQUFFLHVDQUF1QyxNQUFNLE9BQU87WUFDckYsOEJBQThCLEVBQUUsc0NBQXNDLE1BQU0sT0FBTztTQUNwRixDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsb0NBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxvQkFBMkQsQ0FBQyxDQUFDO1FBRW5ILGlDQUFpQztRQUNqQyxNQUFNLEtBQUssR0FBYyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLG1CQUFtQixF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QzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBRUgscURBQXFEO1FBQ3JELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyw4QkFBOEI7WUFDOUMsV0FBVyxFQUFFLHFDQUFxQztZQUNsRCxPQUFPLEVBQUUsVUFBVTtZQUNuQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNuQixVQUFVLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDcEMsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QjthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUU7b0JBQ3hDLElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUssRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQzt3QkFDdEMsTUFBTSxFQUFFOzRCQUNOLE1BQU0sRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU07NEJBQ25DLFNBQVMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVM7eUJBQzFDO3FCQUNGLENBQUM7aUJBQ0gsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEvSUgsc0ZBZ0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VBdXRvTmFtaW5nLCBSZXNvdXJjZURlZmF1bHROYW1pbmcsIFJlc291cmNlTmFtaW5nLCBSZXNvdXJjZU5hbWluZ1R5cGUgYXMgUkRTRGF0YWJhc2VBdXRvUnVubmluZ1Byb3RlY3Rpb25TdGFja1Jlc291cmNlTmFtaW5nVHlwZSB9IGZyb20gJ0BnYW1tYXJlcnMvYXdzLXJlc291cmNlLW5hbWluZyc7XG5pbXBvcnQgeyBTTlNTbGFja01lc3NhZ2VMYW1iZGFTdWJzY3JpcHRpb24gfSBmcm9tICdAZ2FtbWFyZXJzL2F3cy1zbnMtc2xhY2stbWVzc2FnZS1sYW1iZGEtc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE5hbWVzLCBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgc3Vic2NyaXB0aW9ucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUHJvdGVjdGlvblN0YXRlTWFjaGluZSB9IGZyb20gJy4vcmVzb3VyY2VzL3Byb3RlY3Rpb24tc3RhdGUtbWFjaGluZSc7XG5cbmV4cG9ydCB7IFJEU0RhdGFiYXNlQXV0b1J1bm5pbmdQcm90ZWN0aW9uU3RhY2tSZXNvdXJjZU5hbWluZ1R5cGUgfTtcblxuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHRhZ0tleTogc3RyaW5nO1xuICByZWFkb25seSB0YWdWYWx1ZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrIHtcbiAgcmVhZG9ubHkgd2ViaG9va1NlY3JldE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zIHtcbiAgcmVhZG9ubHkgZW1haWxzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHNsYWNrPzogU2xhY2s7XG59XG5cbmV4cG9ydCB0eXBlIE1hY2hpbmVMb2dMZXZlbCA9IHNmbi5Mb2dMZXZlbDtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dPcHRpb24ge1xuICByZWFkb25seSBtYWNoaW5lTG9nTGV2ZWw/OiBNYWNoaW5lTG9nTGV2ZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUkRTRGF0YWJhc2VBdXRvUnVubmluZ1Byb3RlY3Rpb25TdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHRhcmdldFJlc291cmNlOiBUYXJnZXRSZXNvdXJjZTtcbiAgcmVhZG9ubHkgZW5hYmxlUnVsZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25zO1xuICByZWFkb25seSByZXNvdXJjZU5hbWluZ09wdGlvbj86IFJlc291cmNlTmFtaW5nT3B0aW9uO1xuICByZWFkb25seSBsb2dPcHRpb24/OiBMb2dPcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDdXN0b21OYW1pbmcge1xuICByZWFkb25seSB0eXBlOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUmVzb3VyY2VOYW1pbmdUeXBlLkNVU1RPTTtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVSb2xlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnRJbnN0YW5jZUV2ZW50Q2F0Y2hSdWxlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VOYW1pbmdPcHRpb24gPSBSZXNvdXJjZURlZmF1bHROYW1pbmcgfCBSZXNvdXJjZUF1dG9OYW1pbmcgfCBSZXNvdXJjZUN1c3RvbU5hbWluZztcblxuZXhwb3J0IGNsYXNzIFJEU0RhdGFiYXNlQXV0b1J1bm5pbmdQcm90ZWN0aW9uU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSRFNEYXRhYmFzZUF1dG9SdW5uaW5nUHJvdGVjdGlvblN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIPCfkYcgQ3JlYXRlIHJhbmRvbSA4IGxlbmd0aCBzdHJpbmdcbiAgICBjb25zdCByYW5kb20gPSBSZXNvdXJjZU5hbWluZy5jcmVhdGVSYW5kb21TdHJpbmcoYCR7TmFtZXMudW5pcXVlSWQoc2NvcGUpfS4ke05hbWVzLnVuaXF1ZUlkKHRoaXMpfWApO1xuICAgIC8vIPCfkYcgQXV0byBuYWVtaW5nXG4gICAgY29uc3QgYXV0b05hbWluZyA9IHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3AtJHtyYW5kb219LXN0YXRlLW1hY2hpbmVgLFxuICAgICAgc3RhdGVNYWNoaW5lUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3Atc3RhdGUtbWFjaGluZS0ke3JhbmRvbX0tcm9sZWAsXG4gICAgICBzdGFydEV2ZW50Q2F0Y2hSdWxlUm9sZU5hbWU6IGByZHMtZGItYXV0by1ydW5uaW5nLWNhdGNoLWV2ZW50LSR7cmFuZG9tfS1yb2xlYCxcbiAgICAgIHN0YXJ0SW5zdGFuY2VFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItaW5zdGFuY2UtcnVubmluZy1ldmVudC1jYXRjaC0ke3JhbmRvbX0tcnVsZWAsXG4gICAgICBzdGFydENsdXN0ZXJFdmVudENhdGNoUnVsZU5hbWU6IGByZHMtZGItY2x1c3Rlci1ydW5uaW5nLWV2ZW50LWNhdGNoLSR7cmFuZG9tfS1ydWxlYCxcbiAgICB9O1xuICAgIGNvbnN0IG5hbWVzID0gUmVzb3VyY2VOYW1pbmcubmFtaW5nKGF1dG9OYW1pbmcsIHByb3BzLnJlc291cmNlTmFtaW5nT3B0aW9uIGFzIFJlc291cmNlTmFtaW5nLlJlc291cmNlTmFtaW5nT3B0aW9uKTtcblxuICAgIC8vIPCfkYcgU05TIFRvcGljIGZvciBub3RpZmljYXRpb25zXG4gICAgY29uc3QgdG9waWM6IHNucy5Ub3BpYyA9IG5ldyBzbnMuVG9waWModGhpcywgJ05vdGlmaWNhdGlvblRvcGljJywge1xuICAgICAgdG9waWNOYW1lOiBuYW1lcy5ub3RpZmljYXRpb25Ub3BpY05hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogbmFtZXMubm90aWZpY2F0aW9uVG9waWNEaXNwbGF5TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3Vic2NyaWJlIGFuIGVtYWlsIGVuZHBvaW50IHRvIHRoZSB0b3BpY1xuICAgIGNvbnN0IGVtYWlscyA9IHByb3BzLm5vdGlmaWNhdGlvbnM/LmVtYWlscyA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGVtYWlsIG9mIGVtYWlscykge1xuICAgICAgdG9waWMuYWRkU3Vic2NyaXB0aW9uKG5ldyBzdWJzY3JpcHRpb25zLkVtYWlsU3Vic2NyaXB0aW9uKGVtYWlsKSk7XG4gICAgfVxuXG4gICAgLy8g8J+RhyBTdWJzY3JpcHRpb24gc2xhY2sgd2ViaG9va1xuICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25zPy5zbGFjaykge1xuICAgICAgbmV3IFNOU1NsYWNrTWVzc2FnZUxhbWJkYVN1YnNjcmlwdGlvbih0aGlzLCAnU05TU2xhY2tNZXNzYWdlTGFtYmRhU3Vic2NyaXB0aW9uJywge1xuICAgICAgICB0b3BpYyxcbiAgICAgICAgc2xhY2tXZWJob29rU2VjcmV0TmFtZTogcHJvcHMubm90aWZpY2F0aW9ucy5zbGFjay53ZWJob29rU2VjcmV0TmFtZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIPCfkYcgU3RlcEZ1bmN0aW9uc1xuICAgIGNvbnN0IHN0YXRlTWFjaGluZSA9IG5ldyBQcm90ZWN0aW9uU3RhdGVNYWNoaW5lKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBzdGF0ZU1hY2hpbmVOYW1lOiBuYW1lcy5zdGF0ZU1hY2hpbmVOYW1lLFxuICAgICAgbm90aWZpY2F0aW9uVG9waWM6IHRvcGljLFxuICAgICAgbG9nczogKCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLmxvZ09wdGlvbj8ubWFjaGluZUxvZ0xldmVsKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnU3RhdGVNYWNoaW5lTG9nR3JvdXAnLCB7XG4gICAgICAgICAgICAgIGxvZ0dyb3VwTmFtZTogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZXMuc3RhdGVNYWNoaW5lTmFtZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGAvYXdzL3N0YXRlcy8ke25hbWVzLnN0YXRlTWFjaGluZU5hbWV9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbGV2ZWw6IHByb3BzLmxvZ09wdGlvbi5tYWNoaW5lTG9nTGV2ZWwsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSkoKSxcbiAgICB9KTtcbiAgICBpZiAobmFtZXMuc3RhdGVNYWNoaW5lUm9sZU5hbWUpIHtcbiAgICAgIGNvbnN0IHJvbGUgPSBzdGF0ZU1hY2hpbmUubm9kZS5maW5kQ2hpbGQoJ1JvbGUnKSBhcyBpYW0uUm9sZTtcbiAgICAgIGNvbnN0IGNmblJvbGUgPSByb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGlhbS5DZm5Sb2xlO1xuICAgICAgY2ZuUm9sZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdSb2xlTmFtZScsIG5hbWVzLnN0YXRlTWFjaGluZVJvbGVOYW1lKTtcbiAgICAgIGNmblJvbGUuYWRkUHJvcGVydHlPdmVycmlkZSgnRGVzY3JpcHRpb24nLCAncmRzIGRhdGFiYXNlIGF1dG8gcnVubmluZyBzdG9wIHN0YXRlIG1hY2hpbmUgcm9sZS4nKTtcbiAgICAgIGNvbnN0IHBvbGljeSA9IHJvbGUubm9kZS5maW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKSBhcyBpYW0uUG9saWN5O1xuICAgICAgY29uc3QgY2ZuUG9saWN5ID0gcG9saWN5Lm5vZGUuZGVmYXVsdENoaWxkIGFzIGlhbS5DZm5Qb2xpY3k7XG4gICAgICBjZm5Qb2xpY3kuYWRkUHJvcGVydHlPdmVycmlkZSgnUG9saWN5TmFtZScsIGByZHMtZGItYXV0by1ydW5uaW5nLXN0b3Atc3RhdGUtbWFjaGluZS0ke3JhbmRvbX0tcG9saWN5YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZXhlY1JvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0V2ZW50RXhlY1JvbGUnLCB7XG4gICAgICByb2xlTmFtZTogbmFtZXMuc3RhcnRFdmVudENhdGNoUnVsZVJvbGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdkYiBhdXRvIHN0YXJ0IGNhdGNoIHdpdGggc3RhcnQgc3RhdGUgbWFjaGluZSBldmVudCByb2xlJyxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdldmVudHMuYW1hem9uYXdzLmNvbScpLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgJ3N0YXRlLW1hY2hpbmUtZXhlYyc6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3N0YXRlczpTdGFydEV4ZWN1dGlvbicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIHN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBlbmFibGVSdWxlOiBib29sZWFuID0gKCgpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5lbmFibGVSdWxlID09PSB1bmRlZmluZWQgfHwgcHJvcHMuZW5hYmxlUnVsZTtcbiAgICB9KSgpO1xuXG4gICAgLy8g8J+RhyBFdmVudEJyaWRnZSBieSBSRFMgREIgSW5zdGFuY2UgQXV0byBTdGFydCBFdmVudFxuICAgIG5ldyBldmVudHMuUnVsZSh0aGlzLCAnREJJbnN0YW5jZUV2ZW50Jywge1xuICAgICAgcnVsZU5hbWU6IG5hbWVzLnN0YXJ0SW5zdGFuY2VFdmVudENhdGNoUnVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ3JkcyBkYiBpbnN0YW5jZSBydW5uaW5nIGV2ZW50IGNhdGNoIHJ1bGUuJyxcbiAgICAgIGVuYWJsZWQ6IGVuYWJsZVJ1bGUsXG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbJ2F3cy5yZHMnXSxcbiAgICAgICAgZGV0YWlsVHlwZTogWydSRFMgREIgSW5zdGFuY2UgRXZlbnQnXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgRXZlbnRJRDogWydSRFMtRVZFTlQtMDE1NCddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldHM6IFtcbiAgICAgICAgbmV3IHRhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKHN0YXRlTWFjaGluZSwge1xuICAgICAgICAgIHJvbGU6IGV4ZWNSb2xlLFxuICAgICAgICAgIGlucHV0OiBldmVudHMuUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50cy5FdmVudEZpZWxkLmZyb21QYXRoKCckJyksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgdGFnS2V5OiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdLZXksXG4gICAgICAgICAgICAgIHRhZ1ZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBFdmVudEJyaWRnZSBieSBSRFMgREIgSW5zdGFuY2UgQXV0byBTdGFydCBFdmVudFxuICAgIG5ldyBldmVudHMuUnVsZSh0aGlzLCAnREJDbHVzdGVyRXZlbnQnLCB7XG4gICAgICBydWxlTmFtZTogbmFtZXMuc3RhcnRDbHVzdGVyRXZlbnRDYXRjaFJ1bGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdkYiBjbHVzdGVyIHJ1bm5pbmcgZXZlbnQgY2F0Y2ggcnVsZScsXG4gICAgICBlbmFibGVkOiBlbmFibGVSdWxlLFxuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIHNvdXJjZTogWydhd3MucmRzJ10sXG4gICAgICAgIGRldGFpbFR5cGU6IFsnUkRTIERCIENsdXN0ZXIgRXZlbnQnXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgRXZlbnRJRDogWydSRFMtRVZFTlQtMDE1MyddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldHM6IFtcbiAgICAgICAgbmV3IHRhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKHN0YXRlTWFjaGluZSwge1xuICAgICAgICAgIHJvbGU6IGV4ZWNSb2xlLFxuICAgICAgICAgIGlucHV0OiBldmVudHMuUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50cy5FdmVudEZpZWxkLmZyb21QYXRoKCckJyksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgdGFnS2V5OiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdLZXksXG4gICAgICAgICAgICAgIHRhZ1ZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59Il19
package/package.json CHANGED
@@ -55,7 +55,7 @@
55
55
  "jsii-docgen": "^10.5.0",
56
56
  "jsii-pacmak": "^1.108.0",
57
57
  "jsii-rosetta": "5.7.x",
58
- "projen": "^0.91.13",
58
+ "projen": "^0.91.14",
59
59
  "ts-jest": "^29.2.6",
60
60
  "ts-node": "^10.9.2",
61
61
  "typescript": "5.7.x"
@@ -87,7 +87,7 @@
87
87
  "publishConfig": {
88
88
  "access": "public"
89
89
  },
90
- "version": "2.3.10",
90
+ "version": "2.4.0",
91
91
  "jest": {
92
92
  "coverageProvider": "v8",
93
93
  "testMatch": [