cdk-rds-sql 3.3.0 → 3.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 +141 -44
- package/README.md +15 -4
- package/lib/database.js +1 -1
- package/lib/handler.js +2 -2
- package/lib/provider.d.ts +3 -3
- package/lib/provider.js +2 -3
- package/lib/role.js +14 -5
- package/lib/schema.js +1 -1
- package/lib/sql.js +1 -1
- package/package.json +3 -3
package/.jsii
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"source-map-support": "^0.5.21"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"aws-cdk-lib": "^2.
|
|
19
|
+
"aws-cdk-lib": "^2.144.0",
|
|
20
20
|
"constructs": "^10.3.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencyClosure": {
|
|
@@ -505,10 +505,23 @@
|
|
|
505
505
|
}
|
|
506
506
|
}
|
|
507
507
|
},
|
|
508
|
+
"aws-cdk-lib.aws_bcmdataexports": {
|
|
509
|
+
"targets": {
|
|
510
|
+
"dotnet": {
|
|
511
|
+
"package": "Amazon.CDK.AWS.BCMDataExports"
|
|
512
|
+
},
|
|
513
|
+
"java": {
|
|
514
|
+
"package": "software.amazon.awscdk.services.bcmdataexports"
|
|
515
|
+
},
|
|
516
|
+
"python": {
|
|
517
|
+
"module": "aws_cdk.aws_bcmdataexports"
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
},
|
|
508
521
|
"aws-cdk-lib.aws_bedrock": {
|
|
509
522
|
"targets": {
|
|
510
523
|
"dotnet": {
|
|
511
|
-
"
|
|
524
|
+
"package": "Amazon.CDK.AWS.Bedrock"
|
|
512
525
|
},
|
|
513
526
|
"java": {
|
|
514
527
|
"package": "software.amazon.awscdk.services.bedrock"
|
|
@@ -609,6 +622,19 @@
|
|
|
609
622
|
}
|
|
610
623
|
}
|
|
611
624
|
},
|
|
625
|
+
"aws-cdk-lib.aws_cleanroomsml": {
|
|
626
|
+
"targets": {
|
|
627
|
+
"dotnet": {
|
|
628
|
+
"package": "Amazon.CDK.AWS.CleanRoomsML"
|
|
629
|
+
},
|
|
630
|
+
"java": {
|
|
631
|
+
"package": "software.amazon.awscdk.services.cleanroomsml"
|
|
632
|
+
},
|
|
633
|
+
"python": {
|
|
634
|
+
"module": "aws_cdk.aws_cleanroomsml"
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
},
|
|
612
638
|
"aws-cdk-lib.aws_cloud9": {
|
|
613
639
|
"targets": {
|
|
614
640
|
"dotnet": {
|
|
@@ -740,6 +766,19 @@
|
|
|
740
766
|
}
|
|
741
767
|
}
|
|
742
768
|
},
|
|
769
|
+
"aws-cdk-lib.aws_codeconnections": {
|
|
770
|
+
"targets": {
|
|
771
|
+
"dotnet": {
|
|
772
|
+
"package": "Amazon.CDK.AWS.CodeConnections"
|
|
773
|
+
},
|
|
774
|
+
"java": {
|
|
775
|
+
"package": "software.amazon.awscdk.services.codeconnections"
|
|
776
|
+
},
|
|
777
|
+
"python": {
|
|
778
|
+
"module": "aws_cdk.aws_codeconnections"
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
},
|
|
743
782
|
"aws-cdk-lib.aws_codedeploy": {
|
|
744
783
|
"targets": {
|
|
745
784
|
"dotnet": {
|
|
@@ -1013,6 +1052,19 @@
|
|
|
1013
1052
|
}
|
|
1014
1053
|
}
|
|
1015
1054
|
},
|
|
1055
|
+
"aws-cdk-lib.aws_deadline": {
|
|
1056
|
+
"targets": {
|
|
1057
|
+
"dotnet": {
|
|
1058
|
+
"package": "Amazon.CDK.AWS.Deadline"
|
|
1059
|
+
},
|
|
1060
|
+
"java": {
|
|
1061
|
+
"package": "software.amazon.awscdk.services.deadline"
|
|
1062
|
+
},
|
|
1063
|
+
"python": {
|
|
1064
|
+
"module": "aws_cdk.aws_deadline"
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
},
|
|
1016
1068
|
"aws-cdk-lib.aws_detective": {
|
|
1017
1069
|
"targets": {
|
|
1018
1070
|
"dotnet": {
|
|
@@ -2534,6 +2586,19 @@
|
|
|
2534
2586
|
}
|
|
2535
2587
|
}
|
|
2536
2588
|
},
|
|
2589
|
+
"aws-cdk-lib.aws_paymentcryptography": {
|
|
2590
|
+
"targets": {
|
|
2591
|
+
"dotnet": {
|
|
2592
|
+
"package": "Amazon.CDK.AWS.PaymentCryptography"
|
|
2593
|
+
},
|
|
2594
|
+
"java": {
|
|
2595
|
+
"package": "software.amazon.awscdk.services.paymentcryptography"
|
|
2596
|
+
},
|
|
2597
|
+
"python": {
|
|
2598
|
+
"module": "aws_cdk.aws_paymentcryptography"
|
|
2599
|
+
}
|
|
2600
|
+
}
|
|
2601
|
+
},
|
|
2537
2602
|
"aws-cdk-lib.aws_pcaconnectorad": {
|
|
2538
2603
|
"targets": {
|
|
2539
2604
|
"dotnet": {
|
|
@@ -2612,6 +2677,19 @@
|
|
|
2612
2677
|
}
|
|
2613
2678
|
}
|
|
2614
2679
|
},
|
|
2680
|
+
"aws-cdk-lib.aws_qbusiness": {
|
|
2681
|
+
"targets": {
|
|
2682
|
+
"dotnet": {
|
|
2683
|
+
"package": "Amazon.CDK.AWS.QBusiness"
|
|
2684
|
+
},
|
|
2685
|
+
"java": {
|
|
2686
|
+
"package": "software.amazon.awscdk.services.qbusiness"
|
|
2687
|
+
},
|
|
2688
|
+
"python": {
|
|
2689
|
+
"module": "aws_cdk.aws_qbusiness"
|
|
2690
|
+
}
|
|
2691
|
+
}
|
|
2692
|
+
},
|
|
2615
2693
|
"aws-cdk-lib.aws_qldb": {
|
|
2616
2694
|
"targets": {
|
|
2617
2695
|
"dotnet": {
|
|
@@ -2820,6 +2898,19 @@
|
|
|
2820
2898
|
}
|
|
2821
2899
|
}
|
|
2822
2900
|
},
|
|
2901
|
+
"aws-cdk-lib.aws_route53profiles": {
|
|
2902
|
+
"targets": {
|
|
2903
|
+
"dotnet": {
|
|
2904
|
+
"package": "Amazon.CDK.AWS.Route53Profiles"
|
|
2905
|
+
},
|
|
2906
|
+
"java": {
|
|
2907
|
+
"package": "software.amazon.awscdk.services.route53profiles"
|
|
2908
|
+
},
|
|
2909
|
+
"python": {
|
|
2910
|
+
"module": "aws_cdk.aws_route53profiles"
|
|
2911
|
+
}
|
|
2912
|
+
}
|
|
2913
|
+
},
|
|
2823
2914
|
"aws-cdk-lib.aws_route53recoverycontrol": {
|
|
2824
2915
|
"targets": {
|
|
2825
2916
|
"dotnet": {
|
|
@@ -3041,6 +3132,19 @@
|
|
|
3041
3132
|
}
|
|
3042
3133
|
}
|
|
3043
3134
|
},
|
|
3135
|
+
"aws-cdk-lib.aws_securitylake": {
|
|
3136
|
+
"targets": {
|
|
3137
|
+
"dotnet": {
|
|
3138
|
+
"package": "Amazon.CDK.AWS.SecurityLake"
|
|
3139
|
+
},
|
|
3140
|
+
"java": {
|
|
3141
|
+
"package": "software.amazon.awscdk.services.securitylake"
|
|
3142
|
+
},
|
|
3143
|
+
"python": {
|
|
3144
|
+
"module": "aws_cdk.aws_securitylake"
|
|
3145
|
+
}
|
|
3146
|
+
}
|
|
3147
|
+
},
|
|
3044
3148
|
"aws-cdk-lib.aws_servicecatalog": {
|
|
3045
3149
|
"targets": {
|
|
3046
3150
|
"dotnet": {
|
|
@@ -3210,19 +3314,6 @@
|
|
|
3210
3314
|
}
|
|
3211
3315
|
}
|
|
3212
3316
|
},
|
|
3213
|
-
"aws-cdk-lib.aws_ssmguiconnect": {
|
|
3214
|
-
"targets": {
|
|
3215
|
-
"dotnet": {
|
|
3216
|
-
"package": "Amazon.CDK.AWS.SSMGuiConnect"
|
|
3217
|
-
},
|
|
3218
|
-
"java": {
|
|
3219
|
-
"package": "software.amazon.awscdk.services.ssmguiconnect"
|
|
3220
|
-
},
|
|
3221
|
-
"python": {
|
|
3222
|
-
"module": "aws_cdk.aws_ssmguiconnect"
|
|
3223
|
-
}
|
|
3224
|
-
}
|
|
3225
|
-
},
|
|
3226
3317
|
"aws-cdk-lib.aws_ssmincidents": {
|
|
3227
3318
|
"targets": {
|
|
3228
3319
|
"dotnet": {
|
|
@@ -3690,7 +3781,7 @@
|
|
|
3690
3781
|
},
|
|
3691
3782
|
"name": "cdk-rds-sql",
|
|
3692
3783
|
"readme": {
|
|
3693
|
-
"markdown": "# About\n\nThis CDK construct library makes it possible to create databases,\nschemas, and roles in an Aurora Serverless
|
|
3784
|
+
"markdown": "# About\n\nThis CDK construct library makes it possible to create databases,\nschemas, and roles in an Aurora Serverless (v1 and v2 are supported), RDS Database Cluster or Database Instance created\nin that stack.\n\nThis construct library is intended to be used in enterprise\nenvironments, and works in isolated subnets.\n\n<p align=\"left\">\n <a href=\"https://github.com/semantic-release/semantic-release\"><img src=\"https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release\" alt=semantic-release: angular\"></a>\n <a href=\"https://github.com/berenddeboer/cdk-rds-sql/actions/workflows/release.yml\"><img src=\"https://github.com/berenddeboer/cdk-rds-sql/actions/workflows/release.yml/badge.svg\" alt=\"Release badge\"></a>\n</p>\n\n# Requirements\n\n- CDK v2.\n\n# Installation\n\n npm i cdk-rds-sql\n\n# Usage\n\n## Provider\n\nFirst setup your VPC and create your cluster:\n\n```ts\nimport { Duration, RemovalPolicy } from \"aws-cdk-lib\"\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\"\nimport * as rds from \"aws-cdk-lib/aws-rds\"\n\nconst vpc = ec2.Vpc.fromLookup(this, \"Vpc\", {\n vpcId: this.node.tryGetContext(\"vpc-id\"),\n})\n\nconst cluster = new rds.ServerlessCluster(this, \"Cluster\", {\n vpc: vpc,\n vpcSubnets: {\n subnetType: ec2.SubnetType.PRIVATE_ISOLATED,\n },\n engine: rds.DatabaseClusterEngine.AURORA_POSTGRESQL,\n parameterGroup: rds.ParameterGroup.fromParameterGroupName(\n this,\n \"ParameterGroup\",\n \"default.aurora-postgresql11\"\n ),\n removalPolicy: RemovalPolicy.DESTROY,\n scaling: {\n autoPause: Duration.minutes(60),\n minCapacity: rds.AuroraCapacityUnit.ACU_2,\n maxCapacity: rds.AuroraCapacityUnit.ACU_2,\n },\n})\n```\n\nThen create a provider which will connect to your database. For a cluster:\n\n```ts\nimport { Provider } from \"cdk-rds-sql\"\n\nconst provider = new Provider(this, \"Provider\", {\n vpc: vpc,\n cluster: cluster,\n secret: cluster.secret!,\n})\n```\n\nFor an instance:\n```ts\nimport { Provider } from \"cdk-rds-sql\"\n\nconst provider = new Provider(this, \"Provider\", {\n vpc: vpc,\n instance: instance,\n secret: cluster.secret!,\n})\n```\n\nThe provider will setup a lambda, which normally lives in the same VPC\nas the database. You can give a different VPC, as long as that VPC has\naccess to the VPC of the database. Only the provider lambda will talk\nto your database.\n\nThe provider will by default use the private isolated subnet of the\nVPC. This is a breaking change from the past, where the provider used\nthe default strategy, which may not have been the private isolated\nsubnet. But from an enterprise security point of view having third\nparty code run in an isolated network by default is better.\n\nYour isolated network must have a VPC endpoint to AWS Secrets Manager\nand possibly KMS as well. If you want to use a subnet with egress\naccess in case you have no such VPC endpoints, specify the subnet as\nfollows:\n\n```ts\nimport { Provider } from \"cdk-rds-sql\"\n\nconst provider = new Provider(this, \"Provider\", {\n vpc: vpc,\n vpcSubnet: {\n subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,\n },\n cluster: cluster,\n secret: cluster.secret!,\n})\n```\n\n## Roles\n\nCreate a postgres role (user) for a cluster as follows:\n\n```ts\nimport { Role } from \"cdk-rds-sql\"\n\nconst role = new Role(this, \"Role\", {\n provider: provider,\n roleName: \"myrole\",\n databaseName: \"mydb\",\n})\n```\n\nThis will automatically create a secret just like `ServerlessCluster`\ndoes, with all the connection info needed for this user. It's secret value is a JSON like:\n\n```json\n{\n \"dbClusterIdentifier\": \"teststack-clustereb1186t9-sh4wpqfdyfvu\",\n \"password\": \"very-long-and-boring\",\n \"dbname\": \"mydb\",\n \"engine\": \"postgres\",\n \"port\": 5432,\n \"host\": \"teststack-clustereb1186t9-sh4wpqfdyfvu.cluster-cgudolabssna.us-east-1.rds.amazonaws.com\",\n \"username\": \"myrole\"\n}\n```\n\nYou can access the secret via `role.secret`.\n\nInstead of `databaseName` you can also specify `database` to reference\nan existing database. The role will not be created until the database\nhas been created.\n\n## Database\n\nCreate a database as follows:\n\n```ts\nimport { Database } from \"cdk-rds-sql\"\n\nconst database = new Database(this, \"Database\", {\n provider: provider,\n databaseName: \"mydb\",\n})\n```\n\nYou can provide an owner, which makes it easy to create database owned\nby a new user:\n\n```ts\nconst database = new Database(this, \"Database\", {\n provider: provider,\n databaseName: \"mydb\",\n owner: role,\n})\n```\n\n## Schema\n\nCreate a schema in the default database as follows:\n\n```ts\nimport { Schema } from \"cdk-rds-sql\"\n\nnew Schema(this, \"Schema\", {\n provider: provider,\n schemaName: \"myschema\",\n})\n```\n\nOr in another database:\n\n```ts\nconst database = new Database(this, \"Database\", {\n provider: provider,\n databaseName: \"mydb\",\n})\n\nnew Schema(this, \"Schema\", {\n provider: provider,\n schemaName: \"myschema\",\n databaseName: database.databaseName,\n})\n```\n\n## Sql\n\nYou can insert arbitrary SQL into your database with the `Sql` construct:\n\n```ts\nimport { Sql } from \"cdk-rds-sql\"\n\nconst sql = new Sql(this, \"Sql\", {\n provider: provider,\n database: database,\n statement: \"create table t (i int)\",\n})\n```\n\nCreate a table if it does not exist, and grant a role privileges:\n\n```ts\nconst sql = new Sql(this, \"Sql\", {\n provider: provider,\n database: database,\n statement: `\ncreate table if not exists t (i int);\ngrant select on t to myrole;\n`,\n})\n```\n\nRollback sql on stack deletion:\n\n```ts\nconst sql = new Sql(this, \"Sql\", {\n provider: provider,\n database: database,\n statement: `\ncreate table if not exists t (i int);\ngrant select on t to myrole;\n`,\n rollback: `\nDO $$BEGIN\n IF EXISTS (select from pg_database WHERE datname = 't') THEN\n IF EXISTS (select from pg_catalog.pg_roles WHERE rolname = 'myrole') THEN\n revoke select t from myrole;\n END IF;\n drop table t;\n END IF;\nEND$$;\n`\n})\n```\n\n\nNote that there is no synchronisation between various `Sql`\nconstructs, in particular the order in your code does not determine\nthe order in which your SQL is executed. This happens in parallel,\nunless you specify an explicit dependency via `sql.node.addDepency()`.\n\nThere are a lot of concerns when using `Sql`:\n\n- When you update your Sql, your previous Sql is not \"rolled back\",\n the new Sql is simply executed again.\n- When you delete your `Sql` construct the rollback is executed if specified\n- When permission are granted via `Sql` they must be removed via rollback to succesfully remove the role\n- Currently the `Sql` constructs has less than 5 minutes to execute\n its work.\n- It is unknown how large your SQL can be.\n\n## Dependencies\n\nThis library manages dependencies, there is no need to specify\ndependencies except possibly for `Sql` constructs.\n\n# Working on this code\n\nThis code is managed by\n[projen](https://github.com/projen/projen/blob/main/README.md). In\naddition [pre-commit](https://pre-commit.com/) is used.\n\nSo after git clone and `npm ci` you would do:\n\n```\npre-commit install --install-hooks --hook-type commit-msg --hook-type pre-commit\n```\n\nto install the pre-commit hooks.\n\n## Testing\n\nTest code via projen with:\n\n npx projen test\n\nYou can run the sample stack with:\n\n npx cdk deploy --context vpc-id=vpc-0123456789 TestServerlessV1Stack\n\nOr for v2:\n\n npx cdk deploy TestServerlessV2Stack\n\nIf you want to use an existing vpc:\n\n npx cdk deploy --context vpc-id=vpc-0123456789 TestServerlessV2Stack\n\n# To do\n\n- Update role: will not revoke connect to previous database if database name has changed.\n- If the cluster is configured for autopausing, wake cluster up before doing any SQL operations.\n- We rename roles and database on update: is that actually the best\n thing? More change to get us into an irrecoverable situation??\n"
|
|
3694
3785
|
},
|
|
3695
3786
|
"repository": {
|
|
3696
3787
|
"type": "git",
|
|
@@ -3917,7 +4008,7 @@
|
|
|
3917
4008
|
},
|
|
3918
4009
|
"locationInModule": {
|
|
3919
4010
|
"filename": "src/provider.ts",
|
|
3920
|
-
"line":
|
|
4011
|
+
"line": 78
|
|
3921
4012
|
},
|
|
3922
4013
|
"parameters": [
|
|
3923
4014
|
{
|
|
@@ -3943,7 +4034,7 @@
|
|
|
3943
4034
|
"kind": "class",
|
|
3944
4035
|
"locationInModule": {
|
|
3945
4036
|
"filename": "src/provider.ts",
|
|
3946
|
-
"line":
|
|
4037
|
+
"line": 72
|
|
3947
4038
|
},
|
|
3948
4039
|
"methods": [
|
|
3949
4040
|
{
|
|
@@ -3952,7 +4043,7 @@
|
|
|
3952
4043
|
},
|
|
3953
4044
|
"locationInModule": {
|
|
3954
4045
|
"filename": "src/provider.ts",
|
|
3955
|
-
"line":
|
|
4046
|
+
"line": 108
|
|
3956
4047
|
},
|
|
3957
4048
|
"name": "newCustomResourceHandler",
|
|
3958
4049
|
"parameters": [
|
|
@@ -3992,7 +4083,7 @@
|
|
|
3992
4083
|
"immutable": true,
|
|
3993
4084
|
"locationInModule": {
|
|
3994
4085
|
"filename": "src/provider.ts",
|
|
3995
|
-
"line":
|
|
4086
|
+
"line": 76
|
|
3996
4087
|
},
|
|
3997
4088
|
"name": "cluster",
|
|
3998
4089
|
"type": {
|
|
@@ -4001,6 +4092,9 @@
|
|
|
4001
4092
|
{
|
|
4002
4093
|
"fqn": "aws-cdk-lib.aws_rds.IDatabaseCluster"
|
|
4003
4094
|
},
|
|
4095
|
+
{
|
|
4096
|
+
"fqn": "aws-cdk-lib.aws_rds.IDatabaseInstance"
|
|
4097
|
+
},
|
|
4004
4098
|
{
|
|
4005
4099
|
"fqn": "aws-cdk-lib.aws_rds.IServerlessCluster"
|
|
4006
4100
|
}
|
|
@@ -4015,7 +4109,7 @@
|
|
|
4015
4109
|
"immutable": true,
|
|
4016
4110
|
"locationInModule": {
|
|
4017
4111
|
"filename": "src/provider.ts",
|
|
4018
|
-
"line":
|
|
4112
|
+
"line": 75
|
|
4019
4113
|
},
|
|
4020
4114
|
"name": "handler",
|
|
4021
4115
|
"type": {
|
|
@@ -4029,7 +4123,7 @@
|
|
|
4029
4123
|
"immutable": true,
|
|
4030
4124
|
"locationInModule": {
|
|
4031
4125
|
"filename": "src/provider.ts",
|
|
4032
|
-
"line":
|
|
4126
|
+
"line": 74
|
|
4033
4127
|
},
|
|
4034
4128
|
"name": "secret",
|
|
4035
4129
|
"type": {
|
|
@@ -4043,7 +4137,7 @@
|
|
|
4043
4137
|
"immutable": true,
|
|
4044
4138
|
"locationInModule": {
|
|
4045
4139
|
"filename": "src/provider.ts",
|
|
4046
|
-
"line":
|
|
4140
|
+
"line": 73
|
|
4047
4141
|
},
|
|
4048
4142
|
"name": "serviceToken",
|
|
4049
4143
|
"type": {
|
|
@@ -4063,7 +4157,7 @@
|
|
|
4063
4157
|
"kind": "interface",
|
|
4064
4158
|
"locationInModule": {
|
|
4065
4159
|
"filename": "src/provider.ts",
|
|
4066
|
-
"line":
|
|
4160
|
+
"line": 17
|
|
4067
4161
|
},
|
|
4068
4162
|
"name": "RdsSqlProps",
|
|
4069
4163
|
"properties": [
|
|
@@ -4076,7 +4170,7 @@
|
|
|
4076
4170
|
"immutable": true,
|
|
4077
4171
|
"locationInModule": {
|
|
4078
4172
|
"filename": "src/provider.ts",
|
|
4079
|
-
"line":
|
|
4173
|
+
"line": 37
|
|
4080
4174
|
},
|
|
4081
4175
|
"name": "cluster",
|
|
4082
4176
|
"type": {
|
|
@@ -4085,6 +4179,9 @@
|
|
|
4085
4179
|
{
|
|
4086
4180
|
"fqn": "aws-cdk-lib.aws_rds.IDatabaseCluster"
|
|
4087
4181
|
},
|
|
4182
|
+
{
|
|
4183
|
+
"fqn": "aws-cdk-lib.aws_rds.IDatabaseInstance"
|
|
4184
|
+
},
|
|
4088
4185
|
{
|
|
4089
4186
|
"fqn": "aws-cdk-lib.aws_rds.IServerlessCluster"
|
|
4090
4187
|
}
|
|
@@ -4102,7 +4199,7 @@
|
|
|
4102
4199
|
"immutable": true,
|
|
4103
4200
|
"locationInModule": {
|
|
4104
4201
|
"filename": "src/provider.ts",
|
|
4105
|
-
"line":
|
|
4202
|
+
"line": 44
|
|
4106
4203
|
},
|
|
4107
4204
|
"name": "secret",
|
|
4108
4205
|
"type": {
|
|
@@ -4120,7 +4217,7 @@
|
|
|
4120
4217
|
"immutable": true,
|
|
4121
4218
|
"locationInModule": {
|
|
4122
4219
|
"filename": "src/provider.ts",
|
|
4123
|
-
"line":
|
|
4220
|
+
"line": 25
|
|
4124
4221
|
},
|
|
4125
4222
|
"name": "vpc",
|
|
4126
4223
|
"type": {
|
|
@@ -4138,7 +4235,7 @@
|
|
|
4138
4235
|
"immutable": true,
|
|
4139
4236
|
"locationInModule": {
|
|
4140
4237
|
"filename": "src/provider.ts",
|
|
4141
|
-
"line":
|
|
4238
|
+
"line": 69
|
|
4142
4239
|
},
|
|
4143
4240
|
"name": "functionProps",
|
|
4144
4241
|
"optional": true,
|
|
@@ -4157,7 +4254,7 @@
|
|
|
4157
4254
|
"immutable": true,
|
|
4158
4255
|
"locationInModule": {
|
|
4159
4256
|
"filename": "src/provider.ts",
|
|
4160
|
-
"line":
|
|
4257
|
+
"line": 58
|
|
4161
4258
|
},
|
|
4162
4259
|
"name": "logger",
|
|
4163
4260
|
"optional": true,
|
|
@@ -4175,7 +4272,7 @@
|
|
|
4175
4272
|
"immutable": true,
|
|
4176
4273
|
"locationInModule": {
|
|
4177
4274
|
"filename": "src/provider.ts",
|
|
4178
|
-
"line":
|
|
4275
|
+
"line": 51
|
|
4179
4276
|
},
|
|
4180
4277
|
"name": "timeout",
|
|
4181
4278
|
"optional": true,
|
|
@@ -4193,7 +4290,7 @@
|
|
|
4193
4290
|
"immutable": true,
|
|
4194
4291
|
"locationInModule": {
|
|
4195
4292
|
"filename": "src/provider.ts",
|
|
4196
|
-
"line":
|
|
4293
|
+
"line": 32
|
|
4197
4294
|
},
|
|
4198
4295
|
"name": "vpcSubnets",
|
|
4199
4296
|
"optional": true,
|
|
@@ -4257,7 +4354,7 @@
|
|
|
4257
4354
|
},
|
|
4258
4355
|
"locationInModule": {
|
|
4259
4356
|
"filename": "src/role.ts",
|
|
4260
|
-
"line":
|
|
4357
|
+
"line": 69
|
|
4261
4358
|
},
|
|
4262
4359
|
"parameters": [
|
|
4263
4360
|
{
|
|
@@ -4283,7 +4380,7 @@
|
|
|
4283
4380
|
"kind": "class",
|
|
4284
4381
|
"locationInModule": {
|
|
4285
4382
|
"filename": "src/role.ts",
|
|
4286
|
-
"line":
|
|
4383
|
+
"line": 58
|
|
4287
4384
|
},
|
|
4288
4385
|
"name": "Role",
|
|
4289
4386
|
"properties": [
|
|
@@ -4295,7 +4392,7 @@
|
|
|
4295
4392
|
"immutable": true,
|
|
4296
4393
|
"locationInModule": {
|
|
4297
4394
|
"filename": "src/role.ts",
|
|
4298
|
-
"line":
|
|
4395
|
+
"line": 62
|
|
4299
4396
|
},
|
|
4300
4397
|
"name": "roleName",
|
|
4301
4398
|
"type": {
|
|
@@ -4310,7 +4407,7 @@
|
|
|
4310
4407
|
"immutable": true,
|
|
4311
4408
|
"locationInModule": {
|
|
4312
4409
|
"filename": "src/role.ts",
|
|
4313
|
-
"line":
|
|
4410
|
+
"line": 67
|
|
4314
4411
|
},
|
|
4315
4412
|
"name": "secret",
|
|
4316
4413
|
"type": {
|
|
@@ -4330,7 +4427,7 @@
|
|
|
4330
4427
|
"kind": "interface",
|
|
4331
4428
|
"locationInModule": {
|
|
4332
4429
|
"filename": "src/role.ts",
|
|
4333
|
-
"line":
|
|
4430
|
+
"line": 10
|
|
4334
4431
|
},
|
|
4335
4432
|
"name": "RoleProps",
|
|
4336
4433
|
"properties": [
|
|
@@ -4343,7 +4440,7 @@
|
|
|
4343
4440
|
"immutable": true,
|
|
4344
4441
|
"locationInModule": {
|
|
4345
4442
|
"filename": "src/role.ts",
|
|
4346
|
-
"line":
|
|
4443
|
+
"line": 14
|
|
4347
4444
|
},
|
|
4348
4445
|
"name": "provider",
|
|
4349
4446
|
"type": {
|
|
@@ -4359,7 +4456,7 @@
|
|
|
4359
4456
|
"immutable": true,
|
|
4360
4457
|
"locationInModule": {
|
|
4361
4458
|
"filename": "src/role.ts",
|
|
4362
|
-
"line":
|
|
4459
|
+
"line": 19
|
|
4363
4460
|
},
|
|
4364
4461
|
"name": "roleName",
|
|
4365
4462
|
"type": {
|
|
@@ -4377,7 +4474,7 @@
|
|
|
4377
4474
|
"immutable": true,
|
|
4378
4475
|
"locationInModule": {
|
|
4379
4476
|
"filename": "src/role.ts",
|
|
4380
|
-
"line":
|
|
4477
|
+
"line": 30
|
|
4381
4478
|
},
|
|
4382
4479
|
"name": "database",
|
|
4383
4480
|
"optional": true,
|
|
@@ -4396,7 +4493,7 @@
|
|
|
4396
4493
|
"immutable": true,
|
|
4397
4494
|
"locationInModule": {
|
|
4398
4495
|
"filename": "src/role.ts",
|
|
4399
|
-
"line":
|
|
4496
|
+
"line": 41
|
|
4400
4497
|
},
|
|
4401
4498
|
"name": "databaseName",
|
|
4402
4499
|
"optional": true,
|
|
@@ -4414,7 +4511,7 @@
|
|
|
4414
4511
|
"immutable": true,
|
|
4415
4512
|
"locationInModule": {
|
|
4416
4513
|
"filename": "src/role.ts",
|
|
4417
|
-
"line":
|
|
4514
|
+
"line": 48
|
|
4418
4515
|
},
|
|
4419
4516
|
"name": "encryptionKey",
|
|
4420
4517
|
"optional": true,
|
|
@@ -4432,7 +4529,7 @@
|
|
|
4432
4529
|
"immutable": true,
|
|
4433
4530
|
"locationInModule": {
|
|
4434
4531
|
"filename": "src/role.ts",
|
|
4435
|
-
"line":
|
|
4532
|
+
"line": 55
|
|
4436
4533
|
},
|
|
4437
4534
|
"name": "secretName",
|
|
4438
4535
|
"optional": true,
|
|
@@ -4700,6 +4797,6 @@
|
|
|
4700
4797
|
"symbolId": "src/sql:SqlProps"
|
|
4701
4798
|
}
|
|
4702
4799
|
},
|
|
4703
|
-
"version": "3.
|
|
4704
|
-
"fingerprint": "
|
|
4800
|
+
"version": "3.4.0",
|
|
4801
|
+
"fingerprint": "JScYAVL4DxVOz2269Y67J4zmpgO8yDQ368TSQieIXtQ="
|
|
4705
4802
|
}
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# About
|
|
2
2
|
|
|
3
3
|
This CDK construct library makes it possible to create databases,
|
|
4
|
-
schemas, and roles in an Aurora Serverless or
|
|
5
|
-
in that stack.
|
|
4
|
+
schemas, and roles in an Aurora Serverless (v1 and v2 are supported), RDS Database Cluster or Database Instance created
|
|
5
|
+
in that stack.
|
|
6
6
|
|
|
7
7
|
This construct library is intended to be used in enterprise
|
|
8
8
|
environments, and works in isolated subnets.
|
|
@@ -55,7 +55,7 @@ const cluster = new rds.ServerlessCluster(this, "Cluster", {
|
|
|
55
55
|
})
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
Then create a provider which will connect to your database:
|
|
58
|
+
Then create a provider which will connect to your database. For a cluster:
|
|
59
59
|
|
|
60
60
|
```ts
|
|
61
61
|
import { Provider } from "cdk-rds-sql"
|
|
@@ -67,6 +67,17 @@ const provider = new Provider(this, "Provider", {
|
|
|
67
67
|
})
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
+
For an instance:
|
|
71
|
+
```ts
|
|
72
|
+
import { Provider } from "cdk-rds-sql"
|
|
73
|
+
|
|
74
|
+
const provider = new Provider(this, "Provider", {
|
|
75
|
+
vpc: vpc,
|
|
76
|
+
instance: instance,
|
|
77
|
+
secret: cluster.secret!,
|
|
78
|
+
})
|
|
79
|
+
```
|
|
80
|
+
|
|
70
81
|
The provider will setup a lambda, which normally lives in the same VPC
|
|
71
82
|
as the database. You can give a different VPC, as long as that VPC has
|
|
72
83
|
access to the VPC of the database. Only the provider lambda will talk
|
|
@@ -98,7 +109,7 @@ const provider = new Provider(this, "Provider", {
|
|
|
98
109
|
|
|
99
110
|
## Roles
|
|
100
111
|
|
|
101
|
-
Create a postgres role (user) as follows:
|
|
112
|
+
Create a postgres role (user) for a cluster as follows:
|
|
102
113
|
|
|
103
114
|
```ts
|
|
104
115
|
import { Role } from "cdk-rds-sql"
|
package/lib/database.js
CHANGED
|
@@ -40,5 +40,5 @@ class Database extends aws_cdk_lib_1.CustomResource {
|
|
|
40
40
|
}
|
|
41
41
|
exports.Database = Database;
|
|
42
42
|
_a = JSII_RTTI_SYMBOL_1;
|
|
43
|
-
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "3.
|
|
43
|
+
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "3.4.0" };
|
|
44
44
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsMkNBQXNDO0FBQ3RDLGlDQUF1QztBQTJCdkMsTUFBTSxnQkFBaUIsU0FBUSxzQkFBUztJQUd0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFBO0lBQ3hDLENBQUM7Q0FDRjtBQUVELE1BQWEsUUFBUyxTQUFRLDRCQUFjO0lBWTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxRQUFRO2dCQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQzlCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRO2FBQzdCO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQTtRQUN0QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckM7SUFDSCxDQUFDO0lBMUJEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFlBQW9CO1FBQ3hFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3JDLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUMsQ0FBQTtJQUNKLENBQUM7O0FBUkgsNEJBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuL3JvbGVcIlxuXG5pbnRlcmZhY2UgRGF0YWJhc2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgZGF0YWJhc2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2Ugb3duZXIuXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IFJvbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVByb3BzIGV4dGVuZHMgRGF0YWJhc2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFiYXNlIHtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcbn1cblxuY2xhc3MgSW1wb3J0ZWREYXRhYmFzZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZUF0dHJpYnV0ZXMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEYXRhYmFzZSBiYXNlZCB1cG9uIG5hbWUgb25seS4gVXNlIGZvciBpbXBvcnRpbmcgZXhpc3RpbmcgZGF0YWJhc2VzLlxuICAgKi9cbiAgc3RhdGljIGZyb21EYXRhYmFzZU5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBJRGF0YWJhc2Uge1xuICAgIHJldHVybiBuZXcgSW1wb3J0ZWREYXRhYmFzZShzY29wZSwgaWQsIHtcbiAgICAgIGRhdGFiYXNlTmFtZTogZGF0YWJhc2VOYW1lLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5EQVRBQkFTRSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIE93bmVyOiBwcm9wcy5vd25lcj8ucm9sZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgICBpZiAocHJvcHMub3duZXIpIHtcbiAgICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLm93bmVyKVxuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/handler.js
CHANGED
|
@@ -15,7 +15,7 @@ const jumpTable = {
|
|
|
15
15
|
Update: (_, __, props) => {
|
|
16
16
|
return props.Statement;
|
|
17
17
|
},
|
|
18
|
-
Delete: (_,
|
|
18
|
+
Delete: (_, props) => {
|
|
19
19
|
return props.Rollback;
|
|
20
20
|
},
|
|
21
21
|
},
|
|
@@ -280,4 +280,4 @@ const getPassword = async (arn) => {
|
|
|
280
280
|
return json.password;
|
|
281
281
|
}
|
|
282
282
|
};
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUl3QztBQU14Qyw2REFBNkM7QUFDN0MsbURBQXVDO0FBQ3ZDLDJCQUEyQjtBQUMzQixpQ0FBdUM7QUErQ3ZDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQTtBQUV0QixNQUFNLFNBQVMsR0FBYztJQUMzQixHQUFHLEVBQUU7UUFDSCxNQUFNLEVBQUUsQ0FBQyxDQUFTLEVBQUUsS0FBVyxFQUFFLEVBQUU7WUFDakMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFBO1FBQ3hCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBVSxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQVUsRUFBRSxLQUFXLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUE7UUFDdkIsQ0FBQztLQUNGO0lBQ0QsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLEVBQUU7WUFDbkMsT0FBTyx1QkFBTSxDQUFDLGdDQUFnQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxFQUFFO1lBQzFELE9BQU8sdUJBQU0sQ0FBQyw4QkFBOEIsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDMUUsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLFVBQWtCLEVBQUUsRUFBRTtZQUM3QixPQUFPLHVCQUFNLENBQUMsa0NBQWtDLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDL0QsQ0FBQztLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLEtBQWdCLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7Z0JBQUUsTUFBTSx5QkFBeUIsQ0FBQTtZQUN2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDckQsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osTUFBTSxHQUFHLEdBQUc7b0JBQ1YsbUJBQW1CO29CQUNuQix1QkFBTSxDQUFDLHVDQUF1QyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUM7aUJBQ3RFLENBQUE7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO29CQUN0Qix1REFBdUQ7b0JBQ3ZELEdBQUcsQ0FBQyxJQUFJLENBQ04sdUJBQU0sQ0FDSjs7Ozs7T0FLUCxFQUNPLEtBQUssQ0FBQyxZQUFZLEVBQ2xCLEtBQUssQ0FBQyxZQUFZLEVBQ2xCLFVBQVUsQ0FDWCxDQUNGLENBQUE7aUJBQ0Y7Z0JBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDbEIsT0FBTyxHQUFHLENBQUE7YUFDWDtpQkFBTTtnQkFDTCxNQUFNLDhCQUE4QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUE7YUFDeEQ7UUFDSCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLGFBQXFCLEVBQUUsS0FBZ0IsRUFBRSxFQUFFO1lBQzVFLDhFQUE4RTtZQUM5RSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ3JELElBQUksUUFBUSxFQUFFO29CQUNaLE1BQU0sR0FBRyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtvQkFDakMsSUFBSSxhQUFhLEtBQUssVUFBVSxFQUFFO3dCQUNoQyxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUFNLENBQUMsNEJBQTRCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7cUJBQzFFO29CQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtvQkFDeEUsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO3dCQUN0QixHQUFHLENBQUMsSUFBSSxDQUNOLHVCQUFNLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FDN0UsQ0FBQTtxQkFDRjtvQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO29CQUNsQixPQUFPLEdBQUcsQ0FBQTtpQkFDWDtxQkFBTTtvQkFDTCxNQUFNLDhCQUE4QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUE7aUJBQ3hEO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO2dCQUNqQyxJQUFJLGFBQWEsS0FBSyxVQUFVLEVBQUU7b0JBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQU0sQ0FBQyw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtpQkFDMUU7Z0JBQ0QsR0FBRyxDQUFDLElBQUksQ0FDTix1QkFBTSxDQUNKOzs7OztPQUtMLEVBQ0ssS0FBSyxDQUFDLFlBQVksRUFDbEIsS0FBSyxDQUFDLFlBQVksRUFDbEIsVUFBVSxDQUNYLENBQ0YsQ0FBQTtnQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUNsQixPQUFPLEdBQUcsQ0FBQTthQUNYO1FBQ0gsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLFVBQWtCLEVBQUUsS0FBZ0IsRUFBRSxFQUFFO1lBQy9DLHdFQUF3RTtZQUN4RSwyREFBMkQ7WUFDM0QsT0FBTztnQkFDTCxtQkFBbUI7Z0JBQ25CLHVCQUFNLENBQ0o7Ozs7O09BS0gsRUFDRyxVQUFVLEVBQ1YsS0FBSyxDQUFDLFlBQVksRUFDbEIsS0FBSyxDQUFDLFlBQVksRUFDbEIsVUFBVSxDQUNYO2dCQUNELHVCQUFNLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDO2dCQUM1QyxRQUFRO2FBQ1QsQ0FBQTtRQUNILENBQUM7S0FDRjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxLQUFvQixFQUFFLEVBQUU7WUFDekQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQTtZQUN6QixJQUFJLEtBQUssRUFBRTtnQkFDVCxPQUFPO29CQUNMLHVCQUFNLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDO29CQUN4Qyx1QkFBTSxDQUFDLCtCQUErQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUM7aUJBQzNELENBQUE7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLHVCQUFNLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLENBQUE7YUFDaEQ7UUFDSCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFDWCxVQUFrQixFQUNsQixhQUFxQixFQUNyQixLQUEwQixFQUNQLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFBO1lBQy9CLElBQUksVUFBVSxLQUFLLGFBQWEsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO29CQUNyQixVQUFVLENBQUMsSUFBSSxDQUNiLHVCQUFNLENBQUMsK0JBQStCLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FDMUUsQ0FBQTtpQkFDRjtnQkFDRCxVQUFVLENBQUMsSUFBSSxDQUNiLHVCQUFNLENBQUMsZ0NBQWdDLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUNwRSxDQUFBO2FBQ0Y7WUFDRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFBO1lBQ3pCLElBQUksS0FBSyxFQUFFO2dCQUNULFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQU0sQ0FBQywrQkFBK0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7YUFDbEY7WUFDRCxPQUFPLFVBQVUsQ0FBQTtRQUNuQixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsVUFBa0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7WUFDL0MsT0FBTztnQkFDTCx1QkFBTSxDQUNKLDRGQUE0RixFQUM1RixVQUFVLENBQ1g7Z0JBQ0QsdUJBQU0sQ0FDSiwwSEFBMEgsRUFDMUgsVUFBVSxFQUNWLFVBQVUsRUFDVixRQUFRLENBQ1Q7Z0JBQ0QsdUJBQU0sQ0FBQyw0QkFBNEIsRUFBRSxVQUFVLENBQUM7YUFDakQsQ0FBQTtRQUNILENBQUM7S0FDRjtDQUNGLENBQUE7QUFFRCxNQUFNLEdBQUcsR0FDUCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNO0lBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSztJQUNmLENBQUMsQ0FBQyxDQUFDLFFBQWMsRUFBRSxHQUFHLGVBQXNCLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQTtBQUUxQyxRQUFBLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEtBRzJDLEVBQzdCLEVBQUU7SUFDaEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRVYsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQTtJQUNyQyxNQUFNLFFBQVEsR0FBbUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQTtJQUNsRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFBO0lBQ3RELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUE7SUFFMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN2RSxNQUFNLGtCQUFrQixRQUFRLG1CQUFtQixDQUFBO0tBQ3BEO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSw2Q0FBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDhDQUFxQixDQUFDO1FBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBUztLQUM3QyxDQUFDLENBQUE7SUFDRixvRUFBb0U7SUFDcEUsOEJBQThCO0lBQzlCLDBCQUEwQjtJQUMxQixHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN0QixNQUFNLE1BQU0sR0FBZ0MsTUFBTSw2QkFBTyxDQUN2RCxLQUFLLElBQUksRUFBRTtRQUNULElBQUk7WUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDakQsT0FBTyxNQUFNLENBQUE7U0FDZDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsR0FBRyxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2xDLE1BQU0sQ0FBQyxDQUFBO1NBQ1I7SUFDSCxDQUFDLEVBQ0Q7UUFDRSxhQUFhLEVBQUUsRUFBRTtRQUNqQixhQUFhLEVBQUUsR0FBRztLQUNuQixDQUNGLENBQUE7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7UUFBRSxNQUFNLGtCQUFrQixDQUFBO0lBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRXBELElBQUksR0FBNkIsQ0FBQTtJQUNqQyxRQUFRLFdBQVcsRUFBRTtRQUNuQixLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQ2IsR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtZQUNsRixNQUFLO1NBQ047UUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQ2IsTUFBTSxhQUFhLEdBQUksS0FBaUQ7aUJBQ3JFLGtCQUFrQixDQUFBO1lBQ3JCLEdBQUcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFO2dCQUN0RSxHQUFHLEtBQUssQ0FBQyxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxZQUFZLENBQUMsUUFBUTthQUNuQyxDQUFDLENBQUE7WUFDRixNQUFLO1NBQ047UUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxRQUFRLEtBQUsscUJBQWMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3hDLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUMxRTtpQkFBTTtnQkFDTCxHQUFHLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTthQUM3RTtZQUNELE1BQUs7U0FDTjtLQUNGO0lBRUQsSUFBSSxHQUFHLEVBQUU7UUFDUCxJQUFJLFFBQWdCLENBQUE7UUFDcEIsSUFBSSxRQUFRLEtBQUsscUJBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDcEMsUUFBUSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUE7U0FDL0I7YUFBTTtZQUNMLFFBQVEsR0FBRyxZQUFZLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQSxDQUFDLDhFQUE4RTtTQUM5SDtRQUNELE1BQU0sTUFBTSxHQUFHO1lBQ2IsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQ3ZCLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTtZQUN2QixJQUFJLEVBQUUsWUFBWSxDQUFDLFFBQVE7WUFDM0IsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRO1lBQy9CLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLHVCQUF1QixFQUFFLElBQUk7U0FDOUIsQ0FBQTtRQUNELEdBQUcsQ0FDRCxzQkFBc0IsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxjQUFjLE1BQU0sQ0FBQyxRQUFRLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUNuRyxDQUFBO1FBQ0QsR0FBRyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLFdBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwQyxNQUFNLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN6QixJQUFJO1lBQ0YsTUFBTSw2QkFBTyxDQUNYLEtBQUssSUFBSSxFQUFFO2dCQUNULElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO29CQUMzQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7aUJBQzVCO3FCQUFNO29CQUNMLElBQUksR0FBRyxFQUFFO3dCQUNQLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFOzRCQUNwQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7d0JBQ25DLENBQUMsQ0FBQyxDQUNILENBQUE7cUJBQ0Y7eUJBQU07d0JBQ0wsT0FBTTtxQkFDUDtpQkFDRjtZQUNILENBQUMsRUFDRDtnQkFDRSxLQUFLLEVBQUUsV0FBVztnQkFDbEIsYUFBYSxFQUFFLFdBQVc7YUFDM0IsQ0FDRixDQUFBO1NBQ0Y7Z0JBQVM7WUFDUixNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtTQUN0QjtLQUNGO0lBRUQsSUFBSSxRQUFRLEdBQTJCLEVBQUUsQ0FBQTtJQUN6QyxnRUFBZ0U7SUFDaEUsdURBQXVEO0lBQ3ZELElBQUksUUFBUSxLQUFLLHFCQUFjLENBQUMsR0FBRyxFQUFFO1FBQ25DLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUE7S0FDekM7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDLENBQUE7QUFFRCxzREFBc0Q7QUFDdEQsMERBQTBEO0FBQzFELDBDQUEwQztBQUMxQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQVUsRUFBRSxpQkFBeUIsRUFBRSxFQUFFO0lBQzVELGdFQUFnRTtJQUNoRSxpREFBaUQ7SUFDakQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5RCxHQUFHLENBQ0QsMkRBQTJELEVBQzNELGlCQUFpQixHQUFHLENBQUMsRUFDckIsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLENBQ04sQ0FBQTtJQUNELE9BQU8sU0FBUyxDQUFBO0FBQ2xCLENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBMEIsRUFBRTtJQUNoRSxNQUFNLGNBQWMsR0FBRyxJQUFJLDZDQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksOENBQXFCLENBQUM7UUFDeEMsUUFBUSxFQUFFLEdBQUc7S0FDZCxDQUFDLENBQUE7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDakQsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtLQUNyQjtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIlxuaW1wb3J0IHtcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUNyZWF0ZUV2ZW50LFxuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudCxcbn0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgYmFja09mZiB9IGZyb20gXCJleHBvbmVudGlhbC1iYWNrb2ZmXCJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gXCJub2RlLXBnLWZvcm1hdFwiXG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwicGdcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcblxuaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUmVzcG9uc2Uge1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmdcbiAgRGF0YT86IGFueVxuICBOb0VjaG8/OiBib29sZWFuXG59XG5cbnR5cGUgQ3JlYXRlUmVzb3VyY2VIYW5kbGVyID0gKFxuICByZXNvdXJjZUlkOiBzdHJpbmcsXG4gIHByb3BzPzogYW55XG4pID0+IFByb21pc2U8c3RyaW5nIHwgc3RyaW5nW10+XG50eXBlIFVwZGF0ZVJlc291cmNlSGFuZGxlciA9IChcbiAgcmVzb3VyY2VJZDogc3RyaW5nLFxuICBvbGRSZXNvdXJjZUlkOiBzdHJpbmcsXG4gIHByb3BzPzogYW55XG4pID0+IFByb21pc2U8c3RyaW5nIHwgc3RyaW5nW10gfCB2b2lkPlxudHlwZSBEZWxldGVSZXNvdXJjZUhhbmRsZXIgPSAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wcz86IGFueSkgPT4gc3RyaW5nIHwgc3RyaW5nW10gfCB2b2lkXG5cbnR5cGUgSnVtcFRhYmxlID0ge1xuICBba2V5IGluIFJkc1NxbFJlc291cmNlXToge1xuICAgIENyZWF0ZTogQ3JlYXRlUmVzb3VyY2VIYW5kbGVyXG4gICAgVXBkYXRlOiBVcGRhdGVSZXNvdXJjZUhhbmRsZXJcbiAgICBEZWxldGU6IERlbGV0ZVJlc291cmNlSGFuZGxlclxuICB9XG59XG5cbmludGVyZmFjZSBSb2xlUHJvcHMge1xuICAvKipcbiAgICogU2VjcmV0IEFSTi5cbiAgICovXG4gIFBhc3N3b3JkQXJuOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgdG8gd2hpY2ggcm9sZSBpcyBncmFudGVkIGNvbm5lY3QgcGVybWlzc2lvbnMuXG4gICAqL1xuICBEYXRhYmFzZU5hbWU/OiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMge1xuICBPd25lcjogc3RyaW5nXG59XG5cbmludGVyZmFjZSBEYXRhYmFzZVVwZGF0ZVByb3BzIGV4dGVuZHMgRGF0YWJhc2VQcm9wcyB7XG4gIE1hc3Rlck93bmVyOiBzdHJpbmdcbn1cblxuY29uc3QgbWF4QXR0ZW1wdHMgPSAyMFxuXG5jb25zdCBqdW1wVGFibGU6IEp1bXBUYWJsZSA9IHtcbiAgc3FsOiB7XG4gICAgQ3JlYXRlOiAoXzogc3RyaW5nLCBwcm9wcz86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHByb3BzLlN0YXRlbWVudFxuICAgIH0sXG4gICAgVXBkYXRlOiAoXzogc3RyaW5nLCBfXzogc3RyaW5nLCBwcm9wcz86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHByb3BzLlN0YXRlbWVudFxuICAgIH0sXG4gICAgRGVsZXRlOiAoXzogc3RyaW5nLCBfXzogc3RyaW5nLCBwcm9wcz86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHByb3BzLlJvbGxiYWNrXG4gICAgfSxcbiAgfSxcbiAgc2NoZW1hOiB7XG4gICAgQ3JlYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiY3JlYXRlIHNjaGVtYSBpZiBub3QgZXhpc3RzICVJXCIsIHJlc291cmNlSWQpXG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIG9sZFJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGZvcm1hdChcImFsdGVyIHNjaGVtYSAlSSByZW5hbWUgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcmVzb3VyY2VJZClcbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGZvcm1hdChcImRyb3Agc2NoZW1hIGlmIGV4aXN0cyAlSSBjYXNjYWRlXCIsIHJlc291cmNlSWQpXG4gICAgfSxcbiAgfSxcbiAgcm9sZToge1xuICAgIENyZWF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykgPT4ge1xuICAgICAgaWYgKCFwcm9wcy5QYXNzd29yZEFybikgdGhyb3cgXCJObyBQYXNzd29yZEFybiBwcm92aWRlZFwiXG4gICAgICBjb25zdCBwYXNzd29yZCA9IGF3YWl0IGdldFBhc3N3b3JkKHByb3BzLlBhc3N3b3JkQXJuKVxuICAgICAgaWYgKHBhc3N3b3JkKSB7XG4gICAgICAgIGNvbnN0IHNxbCA9IFtcbiAgICAgICAgICBcInN0YXJ0IHRyYW5zYWN0aW9uXCIsXG4gICAgICAgICAgZm9ybWF0KFwiY3JlYXRlIHJvbGUgJUkgd2l0aCBsb2dpbiBwYXNzd29yZCAlTFwiLCByZXNvdXJjZUlkLCBwYXNzd29yZCksXG4gICAgICAgIF1cbiAgICAgICAgaWYgKHByb3BzLkRhdGFiYXNlTmFtZSkge1xuICAgICAgICAgIC8vIGdyYW50IGNvbm5lY3QgdG8gZGF0YWJhc2UgaWYgZGF0YWJhc2UgYWxyZWFkeSBleGlzdHNcbiAgICAgICAgICBzcWwucHVzaChcbiAgICAgICAgICAgIGZvcm1hdChcbiAgICAgICAgICAgICAgYERPICQkXG5CRUdJTlxuICBJRiBFWElTVFMgKHNlbGVjdCBmcm9tIHBnX2RhdGFiYXNlIHdoZXJlIGRhdG5hbWUgPSAnJXMnIGFuZCBkYXRpc3RlbXBsYXRlID0gZmFsc2UpIFRIRU5cbiAgICBncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJO1xuICBFTkQgSUY7XG5FTkQkJDtgLFxuICAgICAgICAgICAgICBwcm9wcy5EYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgIHByb3BzLkRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBzcWwucHVzaChcImNvbW1pdFwiKVxuICAgICAgICByZXR1cm4gc3FsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBgQ2Fubm90IHBhcnNlIHBhc3N3b3JkIGZyb20gJHtwcm9wcy5QYXNzd29yZEFybn1gXG4gICAgICB9XG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIG9sZFJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgZGF0YWJhc2UgbmFtZSBoYXMgY2hhbmdlZCBpbiBPbGRSZXNvdXJjZVByb3BlcnRpZXMsIHJldm9rZSBjb25uZWN0XG4gICAgICBpZiAocHJvcHMgJiYgcHJvcHMuUGFzc3dvcmRBcm4pIHtcbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBnZXRQYXNzd29yZChwcm9wcy5QYXNzd29yZEFybilcbiAgICAgICAgaWYgKHBhc3N3b3JkKSB7XG4gICAgICAgICAgY29uc3Qgc3FsID0gW1wic3RhcnQgdHJhbnNhY3Rpb25cIl1cbiAgICAgICAgICBpZiAob2xkUmVzb3VyY2VJZCAhPT0gcmVzb3VyY2VJZCkge1xuICAgICAgICAgICAgc3FsLnB1c2goZm9ybWF0KFwiYWx0ZXIgcm9sZSAlSSByZW5hbWUgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcmVzb3VyY2VJZCkpXG4gICAgICAgICAgfVxuICAgICAgICAgIHNxbC5wdXNoKGZvcm1hdChcImFsdGVyIHJvbGUgJUkgd2l0aCBwYXNzd29yZCAlTFwiLCByZXNvdXJjZUlkLCBwYXNzd29yZCkpXG4gICAgICAgICAgaWYgKHByb3BzLkRhdGFiYXNlTmFtZSkge1xuICAgICAgICAgICAgc3FsLnB1c2goXG4gICAgICAgICAgICAgIGZvcm1hdChcImdyYW50IGNvbm5lY3Qgb24gZGF0YWJhc2UgJUkgdG8gJUlcIiwgcHJvcHMuRGF0YWJhc2VOYW1lLCByZXNvdXJjZUlkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICBzcWwucHVzaChcImNvbW1pdFwiKVxuICAgICAgICAgIHJldHVybiBzcWxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBgQ2Fubm90IHBhcnNlIHBhc3N3b3JkIGZyb20gJHtwcm9wcy5QYXNzd29yZEFybn1gXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNxbCA9IFtcInN0YXJ0IHRyYW5zYWN0aW9uXCJdXG4gICAgICAgIGlmIChvbGRSZXNvdXJjZUlkICE9PSByZXNvdXJjZUlkKSB7XG4gICAgICAgICAgc3FsLnB1c2goZm9ybWF0KFwiYWx0ZXIgcm9sZSAlSSByZW5hbWUgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcmVzb3VyY2VJZCkpXG4gICAgICAgIH1cbiAgICAgICAgc3FsLnB1c2goXG4gICAgICAgICAgZm9ybWF0KFxuICAgICAgICAgICAgYERPICQkXG5CRUdJTlxuICBJRiBFWElTVFMgKHNlbGVjdCBmcm9tIHBnX2RhdGFiYXNlIHdoZXJlIGRhdG5hbWUgPSAnJXMnIGFuZCBkYXRpc3RlbXBsYXRlID0gZmFsc2UpIFRIRU5cbiAgICBncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJO1xuICBFTkQgSUY7XG5FTkQkJDtgLFxuICAgICAgICAgICAgcHJvcHMuRGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgcHJvcHMuRGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICBzcWwucHVzaChcImNvbW1pdFwiKVxuICAgICAgICByZXR1cm4gc3FsXG4gICAgICB9XG4gICAgfSxcbiAgICBEZWxldGU6IChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzOiBSb2xlUHJvcHMpID0+IHtcbiAgICAgIC8vIFRPRE86IGlmIHVzZXIgaXMgb3duZXIgb2YgYSBkYXRhYmFzZSwgYXNzaWduIG93bmVyc2hpcCB0byBtYXN0ZXIgdXNlclxuICAgICAgLy8gVGhpcyB3aWxsIHJlcXVpcmUgYSBzcGVjaWZpZWQgaW5oZXJpdG9yIG9uIHJvbGUgY3JlYXRpb25cbiAgICAgIHJldHVybiBbXG4gICAgICAgIFwic3RhcnQgdHJhbnNhY3Rpb25cIixcbiAgICAgICAgZm9ybWF0KFxuICAgICAgICAgIGBETyAkJFxuQkVHSU5cbiAgSUYgRVhJU1RTIChzZWxlY3QgZnJvbSBwZ19jYXRhbG9nLnBnX3JvbGVzIFdIRVJFIHJvbG5hbWUgPSAnJXMnKSBBTkQgRVhJU1RTIChzZWxlY3QgZnJvbSBwZ19kYXRhYmFzZSBXSEVSRSBkYXRuYW1lID0gJyVzJykgVEhFTlxuICAgIHJldm9rZSBhbGwgcHJpdmlsZWdlcyBvbiBkYXRhYmFzZSAlSSBmcm9tICVJO1xuICBFTkQgSUY7XG5FTkQkJDtgLFxuICAgICAgICAgIHJlc291cmNlSWQsXG4gICAgICAgICAgcHJvcHMuRGF0YWJhc2VOYW1lLFxuICAgICAgICAgIHByb3BzLkRhdGFiYXNlTmFtZSxcbiAgICAgICAgICByZXNvdXJjZUlkXG4gICAgICAgICksXG4gICAgICAgIGZvcm1hdChcImRyb3Agcm9sZSBpZiBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZCksXG4gICAgICAgIFwiY29tbWl0XCIsXG4gICAgICBdXG4gICAgfSxcbiAgfSxcbiAgZGF0YWJhc2U6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSA9PiB7XG4gICAgICBjb25zdCBvd25lciA9IHByb3BzLk93bmVyXG4gICAgICBpZiAob3duZXIpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBmb3JtYXQoXCJjcmVhdGUgZGF0YWJhc2UgJUlcIiwgcmVzb3VyY2VJZCksXG4gICAgICAgICAgZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUlcIiwgcmVzb3VyY2VJZCwgb3duZXIpLFxuICAgICAgICBdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZm9ybWF0KFwiY3JlYXRlIGRhdGFiYXNlICVJXCIsIHJlc291cmNlSWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChcbiAgICAgIHJlc291cmNlSWQ6IHN0cmluZyxcbiAgICAgIG9sZFJlc291cmNlSWQ6IHN0cmluZyxcbiAgICAgIHByb3BzOiBEYXRhYmFzZVVwZGF0ZVByb3BzXG4gICAgKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50czogc3RyaW5nW10gPSBbXVxuICAgICAgaWYgKHJlc291cmNlSWQgIT09IG9sZFJlc291cmNlSWQpIHtcbiAgICAgICAgaWYgKHByb3BzLk1hc3Rlck93bmVyKSB7XG4gICAgICAgICAgc3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgICAgZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcHJvcHMuTWFzdGVyT3duZXIpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHN0YXRlbWVudHMucHVzaChcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSByZW5hbWUgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcmVzb3VyY2VJZClcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29uc3Qgb3duZXIgPSBwcm9wcy5Pd25lclxuICAgICAgaWYgKG93bmVyKSB7XG4gICAgICAgIHN0YXRlbWVudHMucHVzaChmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSBvd25lciB0byAlSVwiLCByZXNvdXJjZUlkLCBwcm9wcy5Pd25lcikpXG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGVtZW50c1xuICAgIH0sXG4gICAgRGVsZXRlOiAocmVzb3VyY2VJZDogc3RyaW5nLCBuZXdPd25lcjogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBmb3JtYXQoXG4gICAgICAgICAgXCJzZWxlY3QgcGdfdGVybWluYXRlX2JhY2tlbmQocGdfc3RhdF9hY3Rpdml0eS5waWQpIGZyb20gcGdfc3RhdF9hY3Rpdml0eSB3aGVyZSBkYXRuYW1lID0gJUxcIixcbiAgICAgICAgICByZXNvdXJjZUlkXG4gICAgICAgICksXG4gICAgICAgIGZvcm1hdChcbiAgICAgICAgICBcIkRPICQkQkVHSU5cXG5JRiBFWElTVFMgKHNlbGVjdCBmcm9tIHBnX2RhdGFiYXNlIFdIRVJFIGRhdG5hbWUgPSAnJXMnKSBUSEVOIGFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJOyBFTkQgSUY7XFxuRU5EJCQ7XCIsXG4gICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICByZXNvdXJjZUlkLFxuICAgICAgICAgIG5ld093bmVyXG4gICAgICAgICksXG4gICAgICAgIGZvcm1hdChcImRyb3AgZGF0YWJhc2UgaWYgZXhpc3RzICVJXCIsIHJlc291cmNlSWQpLFxuICAgICAgXVxuICAgIH0sXG4gIH0sXG59XG5cbmNvbnN0IGxvZyA9XG4gIHByb2Nlc3MuZW52LkxPR0dFUiA9PT0gXCJ0cnVlXCJcbiAgICA/IGNvbnNvbGUuZGVidWdcbiAgICA6IChfbWVzc2FnZT86IGFueSwgLi4uX29wdGlvbmFsUGFyYW1zOiBhbnlbXSkgPT4ge31cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSBhc3luYyAoXG4gIGV2ZW50OlxuICAgIHwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUNyZWF0ZUV2ZW50XG4gICAgfCBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnRcbiAgICB8IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudFxuKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgbG9nKGV2ZW50KVxuXG4gIGNvbnN0IHJlcXVlc3RUeXBlID0gZXZlbnQuUmVxdWVzdFR5cGVcbiAgY29uc3QgcmVzb3VyY2U6IFJkc1NxbFJlc291cmNlID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuUmVzb3VyY2VJZFxuICBjb25zdCBkYXRhYmFzZU5hbWUgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGF0YWJhc2VOYW1lXG5cbiAgaWYgKCFPYmplY3Qua2V5cyhqdW1wVGFibGUpLmluY2x1ZGVzKGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZXNvdXJjZSkpIHtcbiAgICB0aHJvdyBgUmVzb3VyY2UgdHlwZSAnJHtyZXNvdXJjZX0nIG5vdCByZWNvZ25pc2VkLmBcbiAgfVxuXG4gIGNvbnN0IHNlY3JldHNfY2xpZW50ID0gbmV3IFNlY3JldHNNYW5hZ2VyQ2xpZW50KHt9KVxuICBjb25zdCBjb21tYW5kID0gbmV3IEdldFNlY3JldFZhbHVlQ29tbWFuZCh7XG4gICAgU2VjcmV0SWQ6IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5TZWNyZXRBcm4sXG4gIH0pXG4gIC8vIEFzIHRoZSBJQU0gY3JlZGVudGlhbHMgY2FuIGJlIGNhY2hlZCwgYW4gdXBkYXRlIG1ha2RlIHZlcnkgcmVjZW50XG4gIC8vIGNvdWxkIG5vdCB5ZXQgYmUgYXZhaWxhYmxlLlxuICAvLyBTbyB3ZSByZXRyeSB0aGlzIGEgYml0LlxuICBsb2coXCJGZXRjaGluZyBzZWNyZXRcIilcbiAgY29uc3Qgc2VjcmV0OiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQgPSBhd2FpdCBiYWNrT2ZmKFxuICAgIGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNlY3JldHNfY2xpZW50LnNlbmQoY29tbWFuZClcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2coXCJFcnJvciBmZXRjaGluZyBzZWNyZXQgJW9cIiwgZSlcbiAgICAgICAgdGhyb3cgZVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbnVtT2ZBdHRlbXB0czogMTAsXG4gICAgICBzdGFydGluZ0RlbGF5OiA1MDAsXG4gICAgfVxuICApXG4gIGlmICghc2VjcmV0LlNlY3JldFN0cmluZykgdGhyb3cgXCJObyBzZWNyZXQgc3RyaW5nXCJcbiAgY29uc3Qgc2VjcmV0VmFsdWVzID0gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxuXG4gIGxldCBzcWw6IHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZFxuICBzd2l0Y2ggKHJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSBcIkNyZWF0ZVwiOiB7XG4gICAgICBzcWwgPSBhd2FpdCBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMpXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIFwiVXBkYXRlXCI6IHtcbiAgICAgIGNvbnN0IG9sZFJlc291cmNlSWQgPSAoZXZlbnQgYXMgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KVxuICAgICAgICAuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBzcWwgPSBhd2FpdCBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBvbGRSZXNvdXJjZUlkLCB7XG4gICAgICAgIC4uLmV2ZW50LlJlc291cmNlUHJvcGVydGllcyxcbiAgICAgICAgTWFzdGVyT3duZXI6IHNlY3JldFZhbHVlcy51c2VybmFtZSxcbiAgICAgIH0pXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIFwiRGVsZXRlXCI6IHtcbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gUmRzU3FsUmVzb3VyY2UuREFUQUJBU0UpIHtcbiAgICAgICAgc3FsID0ganVtcFRhYmxlW3Jlc291cmNlXVtyZXF1ZXN0VHlwZV0ocmVzb3VyY2VJZCwgc2VjcmV0VmFsdWVzLnVzZXJuYW1lKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3FsID0ganVtcFRhYmxlW3Jlc291cmNlXVtyZXF1ZXN0VHlwZV0ocmVzb3VyY2VJZCwgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzKVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoc3FsKSB7XG4gICAgbGV0IGRhdGFiYXNlOiBzdHJpbmdcbiAgICBpZiAocmVzb3VyY2UgPT09IFJkc1NxbFJlc291cmNlLlJPTEUpIHtcbiAgICAgIGRhdGFiYXNlID0gc2VjcmV0VmFsdWVzLmRibmFtZVxuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhYmFzZSA9IGRhdGFiYXNlTmFtZSA/PyBzZWNyZXRWYWx1ZXMuZGJuYW1lIC8vIGNvbm5lY3QgdG8gZ2l2ZW4gZGF0YWJhc2UgaWYgcG9zc2libGUsIGVsc2UgdG8gZGF0YWJhc2UgbWVudGlvbmVkIGluIHNlY3JldFxuICAgIH1cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBob3N0OiBzZWNyZXRWYWx1ZXMuaG9zdCxcbiAgICAgIHBvcnQ6IHNlY3JldFZhbHVlcy5wb3J0LFxuICAgICAgdXNlcjogc2VjcmV0VmFsdWVzLnVzZXJuYW1lLFxuICAgICAgcGFzc3dvcmQ6IHNlY3JldFZhbHVlcy5wYXNzd29yZCxcbiAgICAgIGRhdGFiYXNlOiBkYXRhYmFzZSxcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiAyMDAwLCAvLyByZXR1cm4gYW4gZXJyb3IgaWYgYSBjb25uZWN0aW9uIGNvdWxkIG5vdCBiZSBlc3RhYmxpc2hlZCB3aXRoaW4gMiBzZWNvbmRzXG4gICAgfVxuICAgIGxvZyhcbiAgICAgIGBDb25uZWN0aW5nIHRvIGhvc3QgJHtwYXJhbXMuaG9zdH06ICR7cGFyYW1zLnBvcnR9LCBkYXRhYmFzZSAke3BhcmFtcy5kYXRhYmFzZX0gYXMgJHtwYXJhbXMudXNlcn1gXG4gICAgKVxuICAgIGxvZyhcIkV4ZWN1dGluZyBTUUxcIiwgc3FsKVxuICAgIGNvbnN0IHBnX2NsaWVudCA9IG5ldyBDbGllbnQocGFyYW1zKVxuICAgIGF3YWl0IHBnX2NsaWVudC5jb25uZWN0KClcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmFja09mZihcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2Ygc3FsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGdfY2xpZW50LnF1ZXJ5KHNxbClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHNxbCkge1xuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgc3FsLm1hcCgoc3RhdGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcGdfY2xpZW50LnF1ZXJ5KHN0YXRlbWVudClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICByZXRyeTogZXJyb3JGaWx0ZXIsXG4gICAgICAgICAgbnVtT2ZBdHRlbXB0czogbWF4QXR0ZW1wdHMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcGdfY2xpZW50LmVuZCgpXG4gICAgfVxuICB9XG5cbiAgbGV0IHJlc3BvbnNlOiBDdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge31cbiAgLy8gRXhjZXB0IGZvciB0aGUgU1FMIHJlc291cmNlLCByZXR1cm4gdGhlIG5ldyByZXNvdXJjZSBpZC4gVGhpc1xuICAvLyB3aWxsIGNhdXNlIGEgZGVsZXRlIHRvIGJlIHNlbmQgZm9yIHRoZSBvbGQgcmVzb3VyY2UuXG4gIGlmIChyZXNvdXJjZSAhPT0gUmRzU3FsUmVzb3VyY2UuU1FMKSB7XG4gICAgcmVzcG9uc2UuUGh5c2ljYWxSZXNvdXJjZUlkID0gcmVzb3VyY2VJZFxuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlXG59XG5cbi8vIEN1c3RvbSBlcnJvciBmaWx0ZXIsIG1haW5seSB0byByZXRyeSByb2xlIGNyZWF0aW9uLlxuLy8gRnJlcXVlbnRseSBzZWUgXCJ0dXBsZSBjb25jdXJyZW50bHkgdXBkYXRlZFwiLCBhbmQgYWRkaW5nXG4vLyBkZXBlbmRlbmNpZXMgaXMgdmVyeSBoYXJkIHRvIG1ha2Ugd29yay5cbmNvbnN0IGVycm9yRmlsdGVyID0gKGVycm9yOiBhbnksIG5leHRBdHRlbXB0TnVtYmVyOiBudW1iZXIpID0+IHtcbiAgLy8gUmV0cnkgb25seSBpZiB0aGUgZXJyb3IgbWVzc2FnZSBjb250YWlucyBcInR1cGxlIGNvbmN1cnJlbnRseVwiXG4gIC8vIFRoaXMgd2lsbCBjb3ZlciBjb25jdXJyZW50IHVwZGF0ZXMgYW5kIGRlbGV0ZXNcbiAgY29uc3Qgd2lsbFJldHJ5ID0gZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcInR1cGxlIGNvbmN1cnJlbnRseVwiKVxuICBsb2coXG4gICAgXCJFbmNvdW50ZXJlZCBhbiBlcnJvciBvbiBhdHRlbXB0ICVkLyVkIHJldHJ5PSVzIGVycm9yPVslb11cIixcbiAgICBuZXh0QXR0ZW1wdE51bWJlciAtIDEsXG4gICAgbWF4QXR0ZW1wdHMsXG4gICAgd2lsbFJldHJ5LFxuICAgIGVycm9yXG4gIClcbiAgcmV0dXJuIHdpbGxSZXRyeVxufVxuXG4vKipcbiAqIFBhcnNlIHBhc3N3b3JkIGZpZWxkIGZyb20gc2VjcmV0LiBSZXR1cm5zIHZvaWQgb24gZXJyb3IuXG4gKi9cbmNvbnN0IGdldFBhc3N3b3JkID0gYXN5bmMgKGFybjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB2b2lkPiA9PiB7XG4gIGNvbnN0IHNlY3JldHNfY2xpZW50ID0gbmV3IFNlY3JldHNNYW5hZ2VyQ2xpZW50KHt9KVxuICBjb25zdCBjb21tYW5kID0gbmV3IEdldFNlY3JldFZhbHVlQ29tbWFuZCh7XG4gICAgU2VjcmV0SWQ6IGFybixcbiAgfSlcbiAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgc2VjcmV0c19jbGllbnQuc2VuZChjb21tYW5kKVxuICBpZiAoc2VjcmV0LlNlY3JldFN0cmluZykge1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHNlY3JldC5TZWNyZXRTdHJpbmcpXG4gICAgcmV0dXJuIGpzb24ucGFzc3dvcmRcbiAgfVxufVxuIl19
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUl3QztBQU14Qyw2REFBNkM7QUFDN0MsbURBQXVDO0FBQ3ZDLDJCQUEyQjtBQUMzQixpQ0FBdUM7QUErQ3ZDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQTtBQUV0QixNQUFNLFNBQVMsR0FBYztJQUMzQixHQUFHLEVBQUU7UUFDSCxNQUFNLEVBQUUsQ0FBQyxDQUFTLEVBQUUsS0FBVyxFQUFFLEVBQUU7WUFDakMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFBO1FBQ3hCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBVSxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQTtRQUN2QixDQUFDO0tBQ0Y7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtZQUNuQyxPQUFPLHVCQUFNLENBQUMsZ0NBQWdDLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxhQUFxQixFQUFFLEVBQUU7WUFDMUQsT0FBTyx1QkFBTSxDQUFDLDhCQUE4QixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUMxRSxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFO1lBQzdCLE9BQU8sdUJBQU0sQ0FBQyxrQ0FBa0MsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUMvRCxDQUFDO0tBQ0Y7SUFDRCxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQWtC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QUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzlELEdBQUcsQ0FDRCwyREFBMkQsRUFDM0QsaUJBQWlCLEdBQUcsQ0FBQyxFQUNyQixXQUFXLEVBQ1gsU0FBUyxFQUNULEtBQUssQ0FDTixDQUFBO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUEwQixFQUFFO0lBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksNkNBQW9CLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSw4Q0FBcUIsQ0FBQztRQUN4QyxRQUFRLEVBQUUsR0FBRztLQUNkLENBQUMsQ0FBQTtJQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDNUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0tBQ3JCO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJDbGllbnQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiXG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCxcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50LFxufSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgeyBiYWNrT2ZmIH0gZnJvbSBcImV4cG9uZW50aWFsLWJhY2tvZmZcIlxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSBcIm5vZGUtcGctZm9ybWF0XCJcbmltcG9ydCB7IENsaWVudCB9IGZyb20gXCJwZ1wiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuXG5pbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VSZXNwb25zZSB7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZ1xuICBEYXRhPzogYW55XG4gIE5vRWNobz86IGJvb2xlYW5cbn1cblxudHlwZSBDcmVhdGVSZXNvdXJjZUhhbmRsZXIgPSAoXG4gIHJlc291cmNlSWQ6IHN0cmluZyxcbiAgcHJvcHM/OiBhbnlcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCBzdHJpbmdbXT5cbnR5cGUgVXBkYXRlUmVzb3VyY2VIYW5kbGVyID0gKFxuICByZXNvdXJjZUlkOiBzdHJpbmcsXG4gIG9sZFJlc291cmNlSWQ6IHN0cmluZyxcbiAgcHJvcHM/OiBhbnlcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCBzdHJpbmdbXSB8IHZvaWQ+XG50eXBlIERlbGV0ZVJlc291cmNlSGFuZGxlciA9IChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiBzdHJpbmcgfCBzdHJpbmdbXSB8IHZvaWRcblxudHlwZSBKdW1wVGFibGUgPSB7XG4gIFtrZXkgaW4gUmRzU3FsUmVzb3VyY2VdOiB7XG4gICAgQ3JlYXRlOiBDcmVhdGVSZXNvdXJjZUhhbmRsZXJcbiAgICBVcGRhdGU6IFVwZGF0ZVJlc291cmNlSGFuZGxlclxuICAgIERlbGV0ZTogRGVsZXRlUmVzb3VyY2VIYW5kbGVyXG4gIH1cbn1cblxuaW50ZXJmYWNlIFJvbGVQcm9wcyB7XG4gIC8qKlxuICAgKiBTZWNyZXQgQVJOLlxuICAgKi9cbiAgUGFzc3dvcmRBcm46IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSB0byB3aGljaCByb2xlIGlzIGdyYW50ZWQgY29ubmVjdCBwZXJtaXNzaW9ucy5cbiAgICovXG4gIERhdGFiYXNlTmFtZT86IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyB7XG4gIE93bmVyOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIERhdGFiYXNlVXBkYXRlUHJvcHMgZXh0ZW5kcyBEYXRhYmFzZVByb3BzIHtcbiAgTWFzdGVyT3duZXI6IHN0cmluZ1xufVxuXG5jb25zdCBtYXhBdHRlbXB0cyA9IDIwXG5cbmNvbnN0IGp1bXBUYWJsZTogSnVtcFRhYmxlID0ge1xuICBzcWw6IHtcbiAgICBDcmVhdGU6IChfOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuU3RhdGVtZW50XG4gICAgfSxcbiAgICBVcGRhdGU6IChfOiBzdHJpbmcsIF9fOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuU3RhdGVtZW50XG4gICAgfSxcbiAgICBEZWxldGU6IChfOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuUm9sbGJhY2tcbiAgICB9LFxuICB9LFxuICBzY2hlbWE6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJjcmVhdGUgc2NoZW1hIGlmIG5vdCBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgb2xkUmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiYWx0ZXIgc2NoZW1hICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gICAgRGVsZXRlOiAocmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiZHJvcCBzY2hlbWEgaWYgZXhpc3RzICVJIGNhc2NhZGVcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICB9LFxuICByb2xlOiB7XG4gICAgQ3JlYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSA9PiB7XG4gICAgICBpZiAoIXByb3BzLlBhc3N3b3JkQXJuKSB0aHJvdyBcIk5vIFBhc3N3b3JkQXJuIHByb3ZpZGVkXCJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gYXdhaXQgZ2V0UGFzc3dvcmQocHJvcHMuUGFzc3dvcmRBcm4pXG4gICAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgICAgY29uc3Qgc3FsID0gW1xuICAgICAgICAgIFwic3RhcnQgdHJhbnNhY3Rpb25cIixcbiAgICAgICAgICBmb3JtYXQoXCJjcmVhdGUgcm9sZSAlSSB3aXRoIGxvZ2luIHBhc3N3b3JkICVMXCIsIHJlc291cmNlSWQsIHBhc3N3b3JkKSxcbiAgICAgICAgXVxuICAgICAgICBpZiAocHJvcHMuRGF0YWJhc2VOYW1lKSB7XG4gICAgICAgICAgLy8gZ3JhbnQgY29ubmVjdCB0byBkYXRhYmFzZSBpZiBkYXRhYmFzZSBhbHJlYWR5IGV4aXN0c1xuICAgICAgICAgIHNxbC5wdXNoKFxuICAgICAgICAgICAgZm9ybWF0KFxuICAgICAgICAgICAgICBgRE8gJCRcbkJFR0lOXG4gIElGIEVYSVNUUyAoc2VsZWN0IGZyb20gcGdfZGF0YWJhc2Ugd2hlcmUgZGF0bmFtZSA9ICclcycgYW5kIGRhdGlzdGVtcGxhdGUgPSBmYWxzZSkgVEhFTlxuICAgIGdyYW50IGNvbm5lY3Qgb24gZGF0YWJhc2UgJUkgdG8gJUk7XG4gIEVORCBJRjtcbkVORCQkO2AsXG4gICAgICAgICAgICAgIHByb3BzLkRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgcHJvcHMuRGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgICByZXNvdXJjZUlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHNxbC5wdXNoKFwiY29tbWl0XCIpXG4gICAgICAgIHJldHVybiBzcWxcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgIH1cbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgb2xkUmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSA9PiB7XG4gICAgICAvLyBUT0RPOiBpZiBkYXRhYmFzZSBuYW1lIGhhcyBjaGFuZ2VkIGluIE9sZFJlc291cmNlUHJvcGVydGllcywgcmV2b2tlIGNvbm5lY3RcbiAgICAgIGlmIChwcm9wcyAmJiBwcm9wcy5QYXNzd29yZEFybikge1xuICAgICAgICBjb25zdCBwYXNzd29yZCA9IGF3YWl0IGdldFBhc3N3b3JkKHByb3BzLlBhc3N3b3JkQXJuKVxuICAgICAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgICAgICBjb25zdCBzcWwgPSBbXCJzdGFydCB0cmFuc2FjdGlvblwiXVxuICAgICAgICAgIGlmIChvbGRSZXNvdXJjZUlkICE9PSByZXNvdXJjZUlkKSB7XG4gICAgICAgICAgICBzcWwucHVzaChmb3JtYXQoXCJhbHRlciByb2xlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgc3FsLnB1c2goZm9ybWF0KFwiYWx0ZXIgcm9sZSAlSSB3aXRoIHBhc3N3b3JkICVMXCIsIHJlc291cmNlSWQsIHBhc3N3b3JkKSlcbiAgICAgICAgICBpZiAocHJvcHMuRGF0YWJhc2VOYW1lKSB7XG4gICAgICAgICAgICBzcWwucHVzaChcbiAgICAgICAgICAgICAgZm9ybWF0KFwiZ3JhbnQgY29ubmVjdCBvbiBkYXRhYmFzZSAlSSB0byAlSVwiLCBwcm9wcy5EYXRhYmFzZU5hbWUsIHJlc291cmNlSWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHNxbC5wdXNoKFwiY29tbWl0XCIpXG4gICAgICAgICAgcmV0dXJuIHNxbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3FsID0gW1wic3RhcnQgdHJhbnNhY3Rpb25cIl1cbiAgICAgICAgaWYgKG9sZFJlc291cmNlSWQgIT09IHJlc291cmNlSWQpIHtcbiAgICAgICAgICBzcWwucHVzaChmb3JtYXQoXCJhbHRlciByb2xlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKSlcbiAgICAgICAgfVxuICAgICAgICBzcWwucHVzaChcbiAgICAgICAgICBmb3JtYXQoXG4gICAgICAgICAgICBgRE8gJCRcbkJFR0lOXG4gIElGIEVYSVNUUyAoc2VsZWN0IGZyb20gcGdfZGF0YWJhc2Ugd2hlcmUgZGF0bmFtZSA9ICclcycgYW5kIGRhdGlzdGVtcGxhdGUgPSBmYWxzZSkgVEhFTlxuICAgIGdyYW50IGNvbm5lY3Qgb24gZGF0YWJhc2UgJUkgdG8gJUk7XG4gIEVORCBJRjtcbkVORCQkO2AsXG4gICAgICAgICAgICBwcm9wcy5EYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICBwcm9wcy5EYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICByZXNvdXJjZUlkXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIHNxbC5wdXNoKFwiY29tbWl0XCIpXG4gICAgICAgIHJldHVybiBzcWxcbiAgICAgIH1cbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgdXNlciBpcyBvd25lciBvZiBhIGRhdGFiYXNlLCBhc3NpZ24gb3duZXJzaGlwIHRvIG1hc3RlciB1c2VyXG4gICAgICAvLyBUaGlzIHdpbGwgcmVxdWlyZSBhIHNwZWNpZmllZCBpbmhlcml0b3Igb24gcm9sZSBjcmVhdGlvblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgXCJzdGFydCB0cmFuc2FjdGlvblwiLFxuICAgICAgICBmb3JtYXQoXG4gICAgICAgICAgYERPICQkXG5CRUdJTlxuICBJRiBFWElTVFMgKHNlbGVjdCBmcm9tIHBnX2NhdGFsb2cucGdfcm9sZXMgV0hFUkUgcm9sbmFtZSA9ICclcycpIEFORCBFWElTVFMgKHNlbGVjdCBmcm9tIHBnX2RhdGFiYXNlIFdIRVJFIGRhdG5hbWUgPSAnJXMnKSBUSEVOXG4gICAgcmV2b2tlIGFsbCBwcml2aWxlZ2VzIG9uIGRhdGFiYXNlICVJIGZyb20gJUk7XG4gIEVORCBJRjtcbkVORCQkO2AsXG4gICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICBwcm9wcy5EYXRhYmFzZU5hbWUsXG4gICAgICAgICAgcHJvcHMuRGF0YWJhc2VOYW1lLFxuICAgICAgICAgIHJlc291cmNlSWRcbiAgICAgICAgKSxcbiAgICAgICAgZm9ybWF0KFwiZHJvcCByb2xlIGlmIGV4aXN0cyAlSVwiLCByZXNvdXJjZUlkKSxcbiAgICAgICAgXCJjb21taXRcIixcbiAgICAgIF1cbiAgICB9LFxuICB9LFxuICBkYXRhYmFzZToge1xuICAgIENyZWF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IG93bmVyID0gcHJvcHMuT3duZXJcbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGZvcm1hdChcImNyZWF0ZSBkYXRhYmFzZSAlSVwiLCByZXNvdXJjZUlkKSxcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSBvd25lciB0byAlSVwiLCByZXNvdXJjZUlkLCBvd25lciksXG4gICAgICAgIF1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmb3JtYXQoXCJjcmVhdGUgZGF0YWJhc2UgJUlcIiwgcmVzb3VyY2VJZClcbiAgICAgIH1cbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKFxuICAgICAgcmVzb3VyY2VJZDogc3RyaW5nLFxuICAgICAgb2xkUmVzb3VyY2VJZDogc3RyaW5nLFxuICAgICAgcHJvcHM6IERhdGFiYXNlVXBkYXRlUHJvcHNcbiAgICApOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRzOiBzdHJpbmdbXSA9IFtdXG4gICAgICBpZiAocmVzb3VyY2VJZCAhPT0gb2xkUmVzb3VyY2VJZCkge1xuICAgICAgICBpZiAocHJvcHMuTWFzdGVyT3duZXIpIHtcbiAgICAgICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgICBmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSBvd25lciB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCBwcm9wcy5NYXN0ZXJPd25lcilcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgc3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKVxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBvd25lciA9IHByb3BzLk93bmVyXG4gICAgICBpZiAob3duZXIpIHtcbiAgICAgICAgc3RhdGVtZW50cy5wdXNoKGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJXCIsIHJlc291cmNlSWQsIHByb3BzLk93bmVyKSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZW1lbnRzXG4gICAgfSxcbiAgICBEZWxldGU6IChyZXNvdXJjZUlkOiBzdHJpbmcsIG5ld093bmVyOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGZvcm1hdChcbiAgICAgICAgICBcInNlbGVjdCBwZ190ZXJtaW5hdGVfYmFja2VuZChwZ19zdGF0X2FjdGl2aXR5LnBpZCkgZnJvbSBwZ19zdGF0X2FjdGl2aXR5IHdoZXJlIGRhdG5hbWUgPSAlTFwiLFxuICAgICAgICAgIHJlc291cmNlSWRcbiAgICAgICAgKSxcbiAgICAgICAgZm9ybWF0KFxuICAgICAgICAgIFwiRE8gJCRCRUdJTlxcbklGIEVYSVNUUyAoc2VsZWN0IGZyb20gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9ICclcycpIFRIRU4gYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUk7IEVORCBJRjtcXG5FTkQkJDtcIixcbiAgICAgICAgICByZXNvdXJjZUlkLFxuICAgICAgICAgIHJlc291cmNlSWQsXG4gICAgICAgICAgbmV3T3duZXJcbiAgICAgICAgKSxcbiAgICAgICAgZm9ybWF0KFwiZHJvcCBkYXRhYmFzZSBpZiBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZCksXG4gICAgICBdXG4gICAgfSxcbiAgfSxcbn1cblxuY29uc3QgbG9nID1cbiAgcHJvY2Vzcy5lbnYuTE9HR0VSID09PSBcInRydWVcIlxuICAgID8gY29uc29sZS5kZWJ1Z1xuICAgIDogKF9tZXNzYWdlPzogYW55LCAuLi5fb3B0aW9uYWxQYXJhbXM6IGFueVtdKSA9PiB7fVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQ6XG4gICAgfCBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnRcbiAgICB8IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudFxuICAgIHwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50XG4pOiBQcm9taXNlPGFueT4gPT4ge1xuICBsb2coZXZlbnQpXG5cbiAgY29uc3QgcmVxdWVzdFR5cGUgPSBldmVudC5SZXF1ZXN0VHlwZVxuICBjb25zdCByZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuUmVzb3VyY2VcbiAgY29uc3QgcmVzb3VyY2VJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZXNvdXJjZUlkXG4gIGNvbnN0IGRhdGFiYXNlTmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EYXRhYmFzZU5hbWVcblxuICBpZiAoIU9iamVjdC5rZXlzKGp1bXBUYWJsZSkuaW5jbHVkZXMoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlKSkge1xuICAgIHRocm93IGBSZXNvdXJjZSB0eXBlICcke3Jlc291cmNlfScgbm90IHJlY29nbmlzZWQuYFxuICB9XG5cbiAgY29uc3Qgc2VjcmV0c19jbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pXG4gIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICBTZWNyZXRJZDogZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlNlY3JldEFybixcbiAgfSlcbiAgLy8gQXMgdGhlIElBTSBjcmVkZW50aWFscyBjYW4gYmUgY2FjaGVkLCBhbiB1cGRhdGUgbWFrZGUgdmVyeSByZWNlbnRcbiAgLy8gY291bGQgbm90IHlldCBiZSBhdmFpbGFibGUuXG4gIC8vIFNvIHdlIHJldHJ5IHRoaXMgYSBiaXQuXG4gIGxvZyhcIkZldGNoaW5nIHNlY3JldFwiKVxuICBjb25zdCBzZWNyZXQ6IEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCA9IGF3YWl0IGJhY2tPZmYoXG4gICAgYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VjcmV0c19jbGllbnQuc2VuZChjb21tYW5kKVxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZyhcIkVycm9yIGZldGNoaW5nIHNlY3JldCAlb1wiLCBlKVxuICAgICAgICB0aHJvdyBlXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBudW1PZkF0dGVtcHRzOiAxMCxcbiAgICAgIHN0YXJ0aW5nRGVsYXk6IDUwMCxcbiAgICB9XG4gIClcbiAgaWYgKCFzZWNyZXQuU2VjcmV0U3RyaW5nKSB0aHJvdyBcIk5vIHNlY3JldCBzdHJpbmdcIlxuICBjb25zdCBzZWNyZXRWYWx1ZXMgPSBKU09OLnBhcnNlKHNlY3JldC5TZWNyZXRTdHJpbmcpXG5cbiAgbGV0IHNxbDogc3RyaW5nIHwgc3RyaW5nW10gfCB2b2lkXG4gIHN3aXRjaCAocmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlIFwiQ3JlYXRlXCI6IHtcbiAgICAgIHNxbCA9IGF3YWl0IGp1bXBUYWJsZVtyZXNvdXJjZV1bcmVxdWVzdFR5cGVdKHJlc291cmNlSWQsIGV2ZW50LlJlc291cmNlUHJvcGVydGllcylcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgXCJVcGRhdGVcIjoge1xuICAgICAgY29uc3Qgb2xkUmVzb3VyY2VJZCA9IChldmVudCBhcyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpXG4gICAgICAgIC5QaHlzaWNhbFJlc291cmNlSWRcbiAgICAgIHNxbCA9IGF3YWl0IGp1bXBUYWJsZVtyZXNvdXJjZV1bcmVxdWVzdFR5cGVdKHJlc291cmNlSWQsIG9sZFJlc291cmNlSWQsIHtcbiAgICAgICAgLi4uZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLFxuICAgICAgICBNYXN0ZXJPd25lcjogc2VjcmV0VmFsdWVzLnVzZXJuYW1lLFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgXCJEZWxldGVcIjoge1xuICAgICAgaWYgKHJlc291cmNlID09PSBSZHNTcWxSZXNvdXJjZS5EQVRBQkFTRSkge1xuICAgICAgICBzcWwgPSBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBzZWNyZXRWYWx1ZXMudXNlcm5hbWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcWwgPSBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMpXG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmIChzcWwpIHtcbiAgICBsZXQgZGF0YWJhc2U6IHN0cmluZ1xuICAgIGlmIChyZXNvdXJjZSA9PT0gUmRzU3FsUmVzb3VyY2UuUk9MRSkge1xuICAgICAgZGF0YWJhc2UgPSBzZWNyZXRWYWx1ZXMuZGJuYW1lXG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGFiYXNlID0gZGF0YWJhc2VOYW1lID8/IHNlY3JldFZhbHVlcy5kYm5hbWUgLy8gY29ubmVjdCB0byBnaXZlbiBkYXRhYmFzZSBpZiBwb3NzaWJsZSwgZWxzZSB0byBkYXRhYmFzZSBtZW50aW9uZWQgaW4gc2VjcmV0XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGhvc3Q6IHNlY3JldFZhbHVlcy5ob3N0LFxuICAgICAgcG9ydDogc2VjcmV0VmFsdWVzLnBvcnQsXG4gICAgICB1c2VyOiBzZWNyZXRWYWx1ZXMudXNlcm5hbWUsXG4gICAgICBwYXNzd29yZDogc2VjcmV0VmFsdWVzLnBhc3N3b3JkLFxuICAgICAgZGF0YWJhc2U6IGRhdGFiYXNlLFxuICAgICAgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IDIwMDAsIC8vIHJldHVybiBhbiBlcnJvciBpZiBhIGNvbm5lY3Rpb24gY291bGQgbm90IGJlIGVzdGFibGlzaGVkIHdpdGhpbiAyIHNlY29uZHNcbiAgICB9XG4gICAgbG9nKFxuICAgICAgYENvbm5lY3RpbmcgdG8gaG9zdCAke3BhcmFtcy5ob3N0fTogJHtwYXJhbXMucG9ydH0sIGRhdGFiYXNlICR7cGFyYW1zLmRhdGFiYXNlfSBhcyAke3BhcmFtcy51c2VyfWBcbiAgICApXG4gICAgbG9nKFwiRXhlY3V0aW5nIFNRTFwiLCBzcWwpXG4gICAgY29uc3QgcGdfY2xpZW50ID0gbmV3IENsaWVudChwYXJhbXMpXG4gICAgYXdhaXQgcGdfY2xpZW50LmNvbm5lY3QoKVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBiYWNrT2ZmKFxuICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBzcWwgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwZ19jbGllbnQucXVlcnkoc3FsKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoc3FsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBzcWwubWFwKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwZ19jbGllbnQucXVlcnkoc3RhdGVtZW50KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHJldHJ5OiBlcnJvckZpbHRlcixcbiAgICAgICAgICBudW1PZkF0dGVtcHRzOiBtYXhBdHRlbXB0cyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBwZ19jbGllbnQuZW5kKClcbiAgICB9XG4gIH1cblxuICBsZXQgcmVzcG9uc2U6IEN1c3RvbVJlc291cmNlUmVzcG9uc2UgPSB7fVxuICAvLyBFeGNlcHQgZm9yIHRoZSBTUUwgcmVzb3VyY2UsIHJldHVybiB0aGUgbmV3IHJlc291cmNlIGlkLiBUaGlzXG4gIC8vIHdpbGwgY2F1c2UgYSBkZWxldGUgdG8gYmUgc2VuZCBmb3IgdGhlIG9sZCByZXNvdXJjZS5cbiAgaWYgKHJlc291cmNlICE9PSBSZHNTcWxSZXNvdXJjZS5TUUwpIHtcbiAgICByZXNwb25zZS5QaHlzaWNhbFJlc291cmNlSWQgPSByZXNvdXJjZUlkXG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2Vcbn1cblxuLy8gQ3VzdG9tIGVycm9yIGZpbHRlciwgbWFpbmx5IHRvIHJldHJ5IHJvbGUgY3JlYXRpb24uXG4vLyBGcmVxdWVudGx5IHNlZSBcInR1cGxlIGNvbmN1cnJlbnRseSB1cGRhdGVkXCIsIGFuZCBhZGRpbmdcbi8vIGRlcGVuZGVuY2llcyBpcyB2ZXJ5IGhhcmQgdG8gbWFrZSB3b3JrLlxuY29uc3QgZXJyb3JGaWx0ZXIgPSAoZXJyb3I6IGFueSwgbmV4dEF0dGVtcHROdW1iZXI6IG51bWJlcikgPT4ge1xuICAvLyBSZXRyeSBvbmx5IGlmIHRoZSBlcnJvciBtZXNzYWdlIGNvbnRhaW5zIFwidHVwbGUgY29uY3VycmVudGx5XCJcbiAgLy8gVGhpcyB3aWxsIGNvdmVyIGNvbmN1cnJlbnQgdXBkYXRlcyBhbmQgZGVsZXRlc1xuICBjb25zdCB3aWxsUmV0cnkgPSBlcnJvci5tZXNzYWdlLmluY2x1ZGVzKFwidHVwbGUgY29uY3VycmVudGx5XCIpXG4gIGxvZyhcbiAgICBcIkVuY291bnRlcmVkIGFuIGVycm9yIG9uIGF0dGVtcHQgJWQvJWQgcmV0cnk9JXMgZXJyb3I9WyVvXVwiLFxuICAgIG5leHRBdHRlbXB0TnVtYmVyIC0gMSxcbiAgICBtYXhBdHRlbXB0cyxcbiAgICB3aWxsUmV0cnksXG4gICAgZXJyb3JcbiAgKVxuICByZXR1cm4gd2lsbFJldHJ5XG59XG5cbi8qKlxuICogUGFyc2UgcGFzc3dvcmQgZmllbGQgZnJvbSBzZWNyZXQuIFJldHVybnMgdm9pZCBvbiBlcnJvci5cbiAqL1xuY29uc3QgZ2V0UGFzc3dvcmQgPSBhc3luYyAoYXJuOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHZvaWQ+ID0+IHtcbiAgY29uc3Qgc2VjcmV0c19jbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pXG4gIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICBTZWNyZXRJZDogYXJuLFxuICB9KVxuICBjb25zdCBzZWNyZXQgPSBhd2FpdCBzZWNyZXRzX2NsaWVudC5zZW5kKGNvbW1hbmQpXG4gIGlmIChzZWNyZXQuU2VjcmV0U3RyaW5nKSB7XG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2Uoc2VjcmV0LlNlY3JldFN0cmluZylcbiAgICByZXR1cm4ganNvbi5wYXNzd29yZFxuICB9XG59XG4iXX0=
|
package/lib/provider.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { IVpc, SubnetSelection } from "aws-cdk-lib/aws-ec2";
|
|
|
3
3
|
import { IFunction } from "aws-cdk-lib/aws-lambda";
|
|
4
4
|
import * as lambda from "aws-cdk-lib/aws-lambda-nodejs";
|
|
5
5
|
import { NodejsFunctionProps } from "aws-cdk-lib/aws-lambda-nodejs";
|
|
6
|
-
import { IDatabaseCluster, IServerlessCluster } from "aws-cdk-lib/aws-rds";
|
|
6
|
+
import { IDatabaseCluster, IServerlessCluster, IDatabaseInstance } from "aws-cdk-lib/aws-rds";
|
|
7
7
|
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
8
8
|
import { Construct } from "constructs";
|
|
9
9
|
export interface RdsSqlProps {
|
|
@@ -24,7 +24,7 @@ export interface RdsSqlProps {
|
|
|
24
24
|
/**
|
|
25
25
|
* Your database.
|
|
26
26
|
*/
|
|
27
|
-
readonly cluster: IServerlessCluster | IDatabaseCluster;
|
|
27
|
+
readonly cluster: IServerlessCluster | IDatabaseCluster | IDatabaseInstance;
|
|
28
28
|
/**
|
|
29
29
|
* Secret that grants access to your database.
|
|
30
30
|
*
|
|
@@ -58,7 +58,7 @@ export declare class Provider extends Construct {
|
|
|
58
58
|
readonly serviceToken: string;
|
|
59
59
|
readonly secret: ISecret;
|
|
60
60
|
readonly handler: IFunction;
|
|
61
|
-
readonly cluster: IServerlessCluster | IDatabaseCluster;
|
|
61
|
+
readonly cluster: IServerlessCluster | IDatabaseCluster | IDatabaseInstance;
|
|
62
62
|
constructor(scope: Construct, id: string, props: RdsSqlProps);
|
|
63
63
|
protected newCustomResourceHandler(scope: Construct, id: string, props: RdsSqlProps): lambda.NodejsFunction;
|
|
64
64
|
}
|
package/lib/provider.js
CHANGED
|
@@ -54,7 +54,6 @@ class Provider extends constructs_1.Construct {
|
|
|
54
54
|
}
|
|
55
55
|
const logger = props.logger ?? false;
|
|
56
56
|
const fn = new lambda.NodejsFunction(scope, id, {
|
|
57
|
-
...props.functionProps,
|
|
58
57
|
vpc: props.vpc,
|
|
59
58
|
vpcSubnets: props.vpcSubnets ?? {
|
|
60
59
|
subnetType: aws_ec2_1.SubnetType.PRIVATE_ISOLATED,
|
|
@@ -77,8 +76,8 @@ class Provider extends constructs_1.Construct {
|
|
|
77
76
|
}
|
|
78
77
|
exports.Provider = Provider;
|
|
79
78
|
_a = JSII_RTTI_SYMBOL_1;
|
|
80
|
-
Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "3.
|
|
79
|
+
Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "3.4.0" };
|
|
81
80
|
function slugify(x) {
|
|
82
81
|
return x.replace(/[^a-zA-Z0-9]/g, "");
|
|
83
82
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQkFBK0I7QUFDL0IsNkJBQTRCO0FBQzVCLDZDQUE2QztBQUM3QyxpREFBdUU7QUFDdkUsdURBQTJEO0FBQzNELHdEQUF1RDtBQVF2RCxnRUFBK0Q7QUFDL0QsMkNBQXNDO0FBeUR0QyxNQUFhLFFBQVMsU0FBUSxzQkFBUztJQU1yQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFBO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUU1QixNQUFNLFlBQVksR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUE7UUFDL0UsSUFBSSxDQUFDLE9BQU87WUFDVCxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBZTtnQkFDN0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFFM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDNUQsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzdCLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQTtRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUM3QixnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUNyRDtRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO1NBQzNEO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FDaEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUM1QyxDQUFBO1NBQ0Y7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFUyx3QkFBd0IsQ0FDaEMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWtCO1FBRWxCLE1BQU0sV0FBVyxHQUFHLEdBQUcsU0FBUyxhQUFhLENBQUE7UUFDN0MsTUFBTSxXQUFXLEdBQUcsR0FBRyxTQUFTLGFBQWEsQ0FBQTtRQUM3QyxJQUFJLEtBQWEsQ0FBQTtRQUNqQixJQUFJLGVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQixLQUFLLEdBQUcsV0FBVyxDQUFBO1NBQ3BCO2FBQU0sSUFBSSxlQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbEMsS0FBSyxHQUFHLFdBQVcsQ0FBQTtTQUNwQjthQUFNO1lBQ0wsaUdBQWlHO1lBQ2pHLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFDM0QseUNBQXlDLENBQzFDLENBQUE7U0FDRjtRQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFBO1FBQ3BDLE1BQU0sRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzlDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJO2dCQUM5QixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxnQkFBZ0I7YUFDeEM7WUFDRCxLQUFLLEVBQUUsS0FBSztZQUNaLE9BQU8sRUFBRSxvQkFBTyxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksc0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQy9DLFFBQVEsRUFBRTtnQkFDUixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsS0FBSztnQkFDckIsZUFBZSxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQy9CO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUN6QixZQUFZLEVBQUUsc0JBQXNCO2FBQ3JDO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDOztBQTNFSCw0QkE0RUM7OztBQUVELFNBQVMsT0FBTyxDQUFDLENBQVM7SUFDeEIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gXCJmc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IER1cmF0aW9uLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBJVnBjLCBTdWJuZXRUeXBlLCBTdWJuZXRTZWxlY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiXG5pbXBvcnQgeyBJRnVuY3Rpb24sIFJ1bnRpbWUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCJcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIlxuaW1wb3J0IHtcbiAgSURhdGFiYXNlQ2x1c3RlcixcbiAgSVNlcnZlcmxlc3NDbHVzdGVyLFxuICBJRGF0YWJhc2VJbnN0YW5jZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIlxuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIlxuaW1wb3J0ICogYXMgY3VzdG9tUmVzb3VyY2VzIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCJcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCJcblxuZXhwb3J0IGludGVyZmFjZSBSZHNTcWxQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgbmV0d29yayB0byBwbGFjZSB0aGUgcHJvdmlkZXIgbGFtYmRhLlxuICAgKlxuICAgKiBOb3JtYWxseSB0aGlzIGlzIHRoZSBWUEMgb2YgeW91ciBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBGdW5jdGlvbiBpcyBub3QgcGxhY2VkIHdpdGhpbiBhIFZQQy5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogSVZwY1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0byBwbGFjZSB0aGUgbmV0d29ya3Byb3ZpdmRlciBsYW1iZGEgd2l0aGluIHRoZSBWUEMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGlzb2xhdGVkIHN1Ym5ldCBpZiBub3Qgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogU3VibmV0U2VsZWN0aW9uXG5cbiAgLyoqXG4gICAqIFlvdXIgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJU2VydmVybGVzc0NsdXN0ZXIgfCBJRGF0YWJhc2VDbHVzdGVyIHwgSURhdGFiYXNlSW5zdGFuY2VcblxuICAvKipcbiAgICogU2VjcmV0IHRoYXQgZ3JhbnRzIGFjY2VzcyB0byB5b3VyIGRhdGFiYXNlLlxuICAgKlxuICAgKiBVc3VhbGx5IHRoaXMgaXMgeW91ciBjbHVzdGVyJ3MgbWFzdGVyIHNlY3JldC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldDogSVNlY3JldFxuXG4gIC8qKlxuICAgKiBUaW1lb3V0IGZvciBsYW1iZGEgdG8gZG8gaXRzIHdvcmsuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNSBtaW51dGVzXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb25cblxuICAvKipcbiAgICogTG9nIFNRTCBzdGF0ZW1lbnRzLiBUaGlzIGluY2x1ZGVzIHBhc3N3b3Jkcy4gVXNlIG9ubHkgZm9yIGRlYnVnZ2luZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2VyPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZ1bmN0aW9uIGN1c3RvbWl6YXRpb24uXG4gICAqXG4gICAqIFRoaXMgZW5hYmxlcyBhZGRpdGlvbmFsIGZ1bmN0aW9uIGN1c3RvbWl6YXRpb24gc3VjaCBhcyB0aGUgbG9nIGdyb3VwLiBIb3dldmVyLFxuICAgKiBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcyBjb250cm9sbGVkIGJ5IG90aGVyIHtSZHNTcWxQcm9wc30gcGFyYW1ldGVycyB3aWxsIHRydW1wXG4gICAqIG9waW9ucyBzZXQgdmlhIHRoaXMgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVtcHR5XG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblByb3BzPzogTm9kZWpzRnVuY3Rpb25Qcm9wc1xufVxuXG5leHBvcnQgY2xhc3MgUHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZVRva2VuOiBzdHJpbmdcbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldDogSVNlY3JldFxuICBwdWJsaWMgcmVhZG9ubHkgaGFuZGxlcjogSUZ1bmN0aW9uXG4gIHB1YmxpYyByZWFkb25seSBjbHVzdGVyOiBJU2VydmVybGVzc0NsdXN0ZXIgfCBJRGF0YWJhc2VDbHVzdGVyIHwgSURhdGFiYXNlSW5zdGFuY2VcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzU3FsUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG4gICAgdGhpcy5zZWNyZXQgPSBwcm9wcy5zZWNyZXRcbiAgICB0aGlzLmNsdXN0ZXIgPSBwcm9wcy5jbHVzdGVyXG5cbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBcIlJkc1NxbFwiICsgc2x1Z2lmeShcIjI4YjllNzkxLWFmNjAtNGEzMy1iY2E4LWZmYjZmMzBlZjhjNVwiKVxuICAgIHRoaXMuaGFuZGxlciA9XG4gICAgICAoU3RhY2sub2YodGhpcykubm9kZS50cnlGaW5kQ2hpbGQoZnVuY3Rpb25OYW1lKSBhcyBJRnVuY3Rpb24pID8/XG4gICAgICB0aGlzLm5ld0N1c3RvbVJlc291cmNlSGFuZGxlcihzY29wZSwgZnVuY3Rpb25OYW1lLCBwcm9wcylcblxuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IGN1c3RvbVJlc291cmNlcy5Qcm92aWRlcih0aGlzLCBcIlJkc1NxbFwiLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogdGhpcy5oYW5kbGVyLFxuICAgIH0pXG4gICAgdGhpcy5zZXJ2aWNlVG9rZW4gPSBwcm92aWRlci5zZXJ2aWNlVG9rZW5cbiAgICB0aGlzLnNlY3JldC5ncmFudFJlYWQodGhpcy5oYW5kbGVyKVxuICAgIGlmICh0aGlzLnNlY3JldC5lbmNyeXB0aW9uS2V5KSB7XG4gICAgICAvLyBJdCBzZWVtcyB3ZSBuZWVkIHRvIGdyYW50IGV4cGxpY2l0IHBlcm1pc3Npb25cbiAgICAgIHRoaXMuc2VjcmV0LmVuY3J5cHRpb25LZXkuZ3JhbnREZWNyeXB0KHRoaXMuaGFuZGxlcilcbiAgICB9XG4gICAgaWYgKHByb3BzLmNsdXN0ZXIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDbHVzdGVyIGRvZXMgbm90IGhhdmUgYSBzZWN1cml0eSBncm91cC5cIilcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYW5kbGVyLm5vZGUuZGVmYXVsdENoaWxkPy5ub2RlLmFkZERlcGVuZGVuY3koXG4gICAgICAgIHByb3BzLmNsdXN0ZXIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF1cbiAgICAgIClcbiAgICB9XG4gICAgdGhpcy5oYW5kbGVyLmNvbm5lY3Rpb25zLmFsbG93VG9EZWZhdWx0UG9ydChwcm9wcy5jbHVzdGVyKVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmNsdXN0ZXIpXG4gIH1cblxuICBwcm90ZWN0ZWQgbmV3Q3VzdG9tUmVzb3VyY2VIYW5kbGVyKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUmRzU3FsUHJvcHNcbiAgKTogbGFtYmRhLk5vZGVqc0Z1bmN0aW9uIHtcbiAgICBjb25zdCB0c19maWxlbmFtZSA9IGAke19fZGlybmFtZX0vaGFuZGxlci50c2BcbiAgICBjb25zdCBqc19maWxlbmFtZSA9IGAke19fZGlybmFtZX0vaGFuZGxlci5qc2BcbiAgICBsZXQgZW50cnk6IHN0cmluZ1xuICAgIGlmIChleGlzdHNTeW5jKHRzX2ZpbGVuYW1lKSkge1xuICAgICAgZW50cnkgPSB0c19maWxlbmFtZVxuICAgIH0gZWxzZSBpZiAoZXhpc3RzU3luYyhqc19maWxlbmFtZSkpIHtcbiAgICAgIGVudHJ5ID0ganNfZmlsZW5hbWVcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVWdseSBoYWNrIHRvIHN1cHBvcnQgU1NUIChwb3NzaWJseSBjYXVzZWQgYnkgbXkgaGFjayB0byBtYWtlIFNTVCB3b3JrIHdpdGggQ29tbW9uSlMgbGlicmFyaWVzKVxuICAgICAgZW50cnkgPSBwYXRoLmpvaW4oXG4gICAgICAgIHBhdGguZGlybmFtZShwcm9jZXNzLmVudi5ucG1fcGFja2FnZV9qc29uIHx8IHByb2Nlc3MuY3dkKCkpLFxuICAgICAgICBcIm5vZGVfbW9kdWxlcy9jZGstcmRzLXNxbC9saWIvaGFuZGxlci5qc1wiXG4gICAgICApXG4gICAgfVxuICAgIGNvbnN0IGxvZ2dlciA9IHByb3BzLmxvZ2dlciA/PyBmYWxzZVxuICAgIGNvbnN0IGZuID0gbmV3IGxhbWJkYS5Ob2RlanNGdW5jdGlvbihzY29wZSwgaWQsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czogcHJvcHMudnBjU3VibmV0cyA/PyB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCxcbiAgICAgIH0sXG4gICAgICBlbnRyeTogZW50cnksXG4gICAgICBydW50aW1lOiBSdW50aW1lLk5PREVKU18yMF9YLFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dCA/PyBEdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgICBidW5kbGluZzoge1xuICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgIHNvdXJjZXNDb250ZW50OiBmYWxzZSxcbiAgICAgICAgZXh0ZXJuYWxNb2R1bGVzOiBbXCJwZy1uYXRpdmVcIl0sXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgTE9HR0VSOiBsb2dnZXIudG9TdHJpbmcoKSxcbiAgICAgICAgTk9ERV9PUFRJT05TOiBcIi0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsXG4gICAgICB9LFxuICAgIH0pXG4gICAgcmV0dXJuIGZuXG4gIH1cbn1cblxuZnVuY3Rpb24gc2x1Z2lmeSh4OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4geC5yZXBsYWNlKC9bXmEtekEtWjAtOV0vZywgXCJcIilcbn1cbiJdfQ==
|
package/lib/role.js
CHANGED
|
@@ -13,6 +13,15 @@ class Role extends constructs_1.Construct {
|
|
|
13
13
|
(!props.database && !props.databaseName))
|
|
14
14
|
throw "Specify either database or databaseName";
|
|
15
15
|
super(scope, id);
|
|
16
|
+
const host = props.provider.cluster.clusterEndpoint
|
|
17
|
+
? props.provider.cluster.clusterEndpoint.hostname
|
|
18
|
+
: props.provider.cluster.instanceEndpoint.hostname;
|
|
19
|
+
const port = props.provider.cluster.clusterEndpoint
|
|
20
|
+
? props.provider.cluster.clusterEndpoint.port
|
|
21
|
+
: props.provider.cluster.instanceEndpoint.port;
|
|
22
|
+
const identifier = props.provider.cluster.clusterIdentifier
|
|
23
|
+
? props.provider.cluster.clusterIdentifier
|
|
24
|
+
: props.provider.cluster.instanceIdentifier;
|
|
16
25
|
this.secret = new aws_secretsmanager_1.Secret(this, "Secret", {
|
|
17
26
|
secretName: props.secretName,
|
|
18
27
|
encryptionKey: props.encryptionKey,
|
|
@@ -20,10 +29,10 @@ class Role extends constructs_1.Construct {
|
|
|
20
29
|
generateSecretString: {
|
|
21
30
|
passwordLength: 30,
|
|
22
31
|
secretStringTemplate: JSON.stringify({
|
|
23
|
-
dbClusterIdentifier:
|
|
32
|
+
dbClusterIdentifier: identifier,
|
|
24
33
|
engine: "postgres",
|
|
25
|
-
host:
|
|
26
|
-
port:
|
|
34
|
+
host: host,
|
|
35
|
+
port: port,
|
|
27
36
|
username: props.roleName,
|
|
28
37
|
dbname: props.database ? props.database.databaseName : props.databaseName,
|
|
29
38
|
}),
|
|
@@ -50,5 +59,5 @@ class Role extends constructs_1.Construct {
|
|
|
50
59
|
}
|
|
51
60
|
exports.Role = Role;
|
|
52
61
|
_a = JSII_RTTI_SYMBOL_1;
|
|
53
|
-
Role[_a] = { fqn: "cdk-rds-sql.Role", version: "3.
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
Role[_a] = { fqn: "cdk-rds-sql.Role", version: "3.4.0" };
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTJDO0FBRzNDLHVFQUFnRTtBQUNoRSwyQ0FBc0M7QUFHdEMsaUVBQW1FO0FBa0RuRSxNQUFhLElBQUssU0FBUSxzQkFBUztJQVdqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELElBQ0UsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDdEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBRXhDLE1BQU0seUNBQXlDLENBQUE7UUFDakQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLElBQUksR0FBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQTRCLENBQUMsZUFBZTtZQUN2RSxDQUFDLENBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUE0QixDQUFDLGVBQWUsQ0FBQyxRQUFRO1lBQ3ZFLENBQUMsQ0FBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQTZCLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFBO1FBRTNFLE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBNEIsQ0FBQyxlQUFlO1lBQ3ZFLENBQUMsQ0FBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQTRCLENBQUMsZUFBZSxDQUFDLElBQUk7WUFDbkUsQ0FBQyxDQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBNkIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUE7UUFFdkUsTUFBTSxVQUFVLEdBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUE0QixDQUFDLGlCQUFpQjtZQUMvRSxDQUFDLENBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUE0QixDQUFDLGlCQUFpQjtZQUNoRSxDQUFDLENBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUE2QixDQUFDLGtCQUFrQixDQUFBO1FBRXBFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSwyQkFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDdkMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxXQUFXLEVBQUUsc0NBQXNDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbkUsb0JBQW9CLEVBQUU7Z0JBQ3BCLGNBQWMsRUFBRSxFQUFFO2dCQUNsQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUNuQyxtQkFBbUIsRUFBRSxVQUFVO29CQUMvQixNQUFNLEVBQUUsVUFBVTtvQkFDbEIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLElBQUk7b0JBQ1YsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO29CQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZO2lCQUMxRSxDQUFDO2dCQUNGLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzdCLGlCQUFpQixFQUFFLCtCQUErQjthQUNuRDtZQUNELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSwyQkFBa0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNsQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzdCLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUMvRDtJQUNILENBQUM7O0FBaEVILG9CQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMga21zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCJcbmltcG9ydCB7IElEYXRhYmFzZUNsdXN0ZXIsIElEYXRhYmFzZUluc3RhbmNlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIlxuaW1wb3J0IHsgSVNlY3JldCwgU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcbmltcG9ydCB7IFJvbGUgYXMgQ3VzdG9tUmVzb3VyY2VSb2xlIH0gZnJvbSBcIi4vcm9sZS5jdXN0b20tcmVzb3VyY2VcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVQcm9wcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBQcm92aWRlclxuXG4gIC8qKlxuICAgKiBTUUwuXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIHRoaXMgdXNlciBpcyBleHBlY3RlZCB0byB1c2UuXG4gICAqXG4gICAqIElmIHRoZSBkYXRhYmFzZSBleGlzdHMsIGNvbm5lY3QgcHJpdmlsZWdlcyBhcmUgZ3JhbnRlZC5cbiAgICpcbiAgICogU3BlY2lmeSBub25lIG9mIGBkYXRhYmFzZWAgb3IgYGRhdGFiYXNlTmFtZWAgb3Igb25seSBvbmUgb2YgdGhlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gY29ubmVjdGlvbiB0byBhbnkgZGF0YWJhc2UgaXMgZ3JhbnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgbmFtZSB0aGlzIHVzZXIgaXMgZXhwZWN0ZWQgdG8gdXNlLlxuICAgKlxuICAgKiBJZiB0aGUgZGF0YWJhc2UgZXhpc3RzLCBjb25uZWN0IHByaXZpbGVnZXMgYXJlIGdyYW50ZWQuXG4gICAqXG4gICAqIFNwZWNpZnkgbm9uZSBvZiBgZGF0YWJhc2VgIG9yIGBkYXRhYmFzZU5hbWVgIG9yIG9ubHkgb25lIG9mIHRoZW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGNvbm5lY3Rpb24gdG8gYW55IGRhdGFiYXNlIGlzIGdyYW50ZWRcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBBIG5ldyBzZWNyZXQgaXMgY3JlYXRlZCBmb3IgdGhpcyB1c2VyLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGVuY3J5cHQgaXQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5XG5cbiAgLyoqXG4gICAqIEEgbmV3IHNlY3JldCBpcyBjcmVhdGVkIGZvciB0aGlzIHVzZXIuXG4gICAqXG4gICAqIE9wdGlvbmFsbHkgYWRkIHNlY3JldCBuYW1lIHRvIHRoZSBzZWNyZXQuXG4gICAqL1xuICByZWFkb25seSBzZWNyZXROYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBSb2xlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIHNlY3JldC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IElTZWNyZXRcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSB7XG4gICAgaWYgKFxuICAgICAgKHByb3BzLmRhdGFiYXNlICYmIHByb3BzLmRhdGFiYXNlTmFtZSkgfHxcbiAgICAgICghcHJvcHMuZGF0YWJhc2UgJiYgIXByb3BzLmRhdGFiYXNlTmFtZSlcbiAgICApXG4gICAgICB0aHJvdyBcIlNwZWNpZnkgZWl0aGVyIGRhdGFiYXNlIG9yIGRhdGFiYXNlTmFtZVwiXG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgaG9zdCA9IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUNsdXN0ZXIpLmNsdXN0ZXJFbmRwb2ludFxuICAgICAgPyAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVyRW5kcG9pbnQuaG9zdG5hbWVcbiAgICAgIDogKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlSW5zdGFuY2UpLmluc3RhbmNlRW5kcG9pbnQuaG9zdG5hbWVcblxuICAgIGNvbnN0IHBvcnQgPSAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVyRW5kcG9pbnRcbiAgICAgID8gKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlckVuZHBvaW50LnBvcnRcbiAgICAgIDogKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlSW5zdGFuY2UpLmluc3RhbmNlRW5kcG9pbnQucG9ydFxuXG4gICAgY29uc3QgaWRlbnRpZmllciA9IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUNsdXN0ZXIpLmNsdXN0ZXJJZGVudGlmaWVyXG4gICAgICA/IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUNsdXN0ZXIpLmNsdXN0ZXJJZGVudGlmaWVyXG4gICAgICA6IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUluc3RhbmNlKS5pbnN0YW5jZUlkZW50aWZpZXJcblxuICAgIHRoaXMuc2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBcIlNlY3JldFwiLCB7XG4gICAgICBzZWNyZXROYW1lOiBwcm9wcy5zZWNyZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZW5jcnlwdGlvbktleSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgR2VuZXJhdGVkIHNlY3JldCBmb3IgcG9zdGdyZXMgcm9sZSAke3Byb3BzLnJvbGVOYW1lfWAsXG4gICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZzoge1xuICAgICAgICBwYXNzd29yZExlbmd0aDogMzAsIC8vIE9yYWNsZSBwYXNzd29yZCBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gMzAgY2hhcmFjdGVyc1xuICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGRiQ2x1c3RlcklkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgICAgZW5naW5lOiBcInBvc3RncmVzXCIsXG4gICAgICAgICAgaG9zdDogaG9zdCxcbiAgICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgICBkYm5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIixcbiAgICAgICAgZXhjbHVkZUNoYXJhY3RlcnM6IFwiICUrfmAjJCYqKCl8W117fTo7PD4/IScvQFxcXCJcXFxcXCIsXG4gICAgICB9LFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pXG4gICAgY29uc3Qgcm9sZSA9IG5ldyBDdXN0b21SZXNvdXJjZVJvbGUodGhpcywgXCJQb3N0Z3Jlc1JvbGVcIiwge1xuICAgICAgcHJvdmlkZXI6IHByb3BzLnByb3ZpZGVyLFxuICAgICAgcm9sZU5hbWU6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgcGFzc3dvcmRBcm46IHRoaXMuc2VjcmV0LnNlY3JldEFybixcbiAgICAgIGRhdGFiYXNlOiBwcm9wcy5kYXRhYmFzZSxcbiAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgIH0pXG4gICAgcm9sZS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5zZWNyZXQpXG4gICAgdGhpcy5yb2xlTmFtZSA9IHByb3BzLnJvbGVOYW1lXG4gICAgdGhpcy5zZWNyZXQuZ3JhbnRSZWFkKHByb3BzLnByb3ZpZGVyLmhhbmRsZXIpXG4gICAgaWYgKHRoaXMuc2VjcmV0LmVuY3J5cHRpb25LZXkpIHtcbiAgICAgIC8vIEl0IHNlZW1zIHdlIG5lZWQgdG8gZ3JhbnQgZXhwbGljaXQgcGVybWlzc2lvblxuICAgICAgdGhpcy5zZWNyZXQuZW5jcnlwdGlvbktleS5ncmFudERlY3J5cHQocHJvcHMucHJvdmlkZXIuaGFuZGxlcilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/lib/schema.js
CHANGED
|
@@ -24,5 +24,5 @@ class Schema extends aws_cdk_lib_1.CustomResource {
|
|
|
24
24
|
}
|
|
25
25
|
exports.Schema = Schema;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "3.
|
|
27
|
+
Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "3.4.0" };
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsTUFBTyxTQUFRLDRCQUFjO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxNQUFNO2dCQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDdkU7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ2xDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsQ0FBQzs7QUFoQkgsd0JBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgSURhdGFiYXNlIH0gZnJvbSBcIi4vZGF0YWJhc2VcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBkZWZhdWx0IGRhdGFiYXNlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZT86IElEYXRhYmFzZVxuXG4gIC8qKlxuICAgKiBTY2hlbWEgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgc2NoZW1hTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjaGVtYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLlNDSEVNQSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuc2NoZW1hTmFtZSxcbiAgICAgICAgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBEYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIHRoaXMuc2NoZW1hTmFtZSA9IHByb3BzLnNjaGVtYU5hbWVcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UpIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmRhdGFiYXNlKVxuICB9XG59XG4iXX0=
|
package/lib/sql.js
CHANGED
|
@@ -24,5 +24,5 @@ class Sql extends aws_cdk_lib_1.CustomResource {
|
|
|
24
24
|
}
|
|
25
25
|
exports.Sql = Sql;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "3.
|
|
27
|
+
Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "3.4.0" };
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUEyQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ3RFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsQ0FBQzs7QUFkSCxrQkFlQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVJlc291cmNlIH0gZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB7IElEYXRhYmFzZSB9IGZyb20gXCIuL2RhdGFiYXNlXCJcbmltcG9ydCB7IFJkc1NxbFJlc291cmNlIH0gZnJvbSBcIi4vZW51bVwiXG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcblxuZXhwb3J0IGludGVyZmFjZSBTcWxQcm9wcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVtZW50Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRtZW50IHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIHJlc291cmNlIGlzIGRlbGV0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcWwgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TUUwsXG4gICAgICAgIFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgRGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgU3RhdGVtZW50OiBwcm9wcy5zdGF0ZW1lbnQsXG4gICAgICAgIFJvbGxiYWNrOiBwcm9wcy5yb2xsYmFjayxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UpIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmRhdGFiYXNlKVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@types/pg": "^8.11.6",
|
|
41
41
|
"@typescript-eslint/eslint-plugin": "^6",
|
|
42
42
|
"@typescript-eslint/parser": "^6",
|
|
43
|
-
"aws-cdk-lib": "2.
|
|
43
|
+
"aws-cdk-lib": "2.144.0",
|
|
44
44
|
"constructs": "10.3.0",
|
|
45
45
|
"esbuild": "^0.21.3",
|
|
46
46
|
"eslint": "^8",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"typescript": "^4.9.5"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"aws-cdk-lib": "^2.
|
|
66
|
+
"aws-cdk-lib": "^2.144.0",
|
|
67
67
|
"constructs": "^10.3.0"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
],
|
|
98
98
|
"main": "lib/index.js",
|
|
99
99
|
"license": "Apache-2.0",
|
|
100
|
-
"version": "3.
|
|
100
|
+
"version": "3.4.0",
|
|
101
101
|
"jest": {
|
|
102
102
|
"testMatch": [
|
|
103
103
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|