cdk-rds-sql 1.1.0 → 1.2.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/.conform.yaml +5 -2
- package/.jsii +71 -12
- package/.projenrc.ts +1 -1
- package/README.md +4 -0
- package/lib/database.js +1 -1
- package/lib/handler.js +9 -3
- package/lib/provider.js +1 -1
- package/lib/role.custom-resource.d.ts +12 -2
- package/lib/role.custom-resource.js +4 -2
- package/lib/role.d.ts +11 -1
- package/lib/role.js +5 -2
- package/lib/schema.js +1 -1
- package/lib/sql.js +1 -1
- package/package.json +3 -3
package/.conform.yaml
CHANGED
package/.jsii
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"source-map-support": "^0.5.21"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"aws-cdk-lib": "^2.
|
|
18
|
+
"aws-cdk-lib": "^2.43.1",
|
|
19
19
|
"constructs": "^10.1.104"
|
|
20
20
|
},
|
|
21
21
|
"dependencyClosure": {
|
|
@@ -737,6 +737,19 @@
|
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
739
|
},
|
|
740
|
+
"aws-cdk-lib.aws_controltower": {
|
|
741
|
+
"targets": {
|
|
742
|
+
"dotnet": {
|
|
743
|
+
"namespace": "Amazon.CDK.AWS.ControlTower"
|
|
744
|
+
},
|
|
745
|
+
"java": {
|
|
746
|
+
"package": "software.amazon.awscdk.services.controltower"
|
|
747
|
+
},
|
|
748
|
+
"python": {
|
|
749
|
+
"module": "aws_cdk.aws_controltower"
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
},
|
|
740
753
|
"aws-cdk-lib.aws_cur": {
|
|
741
754
|
"targets": {
|
|
742
755
|
"dotnet": {
|
|
@@ -1855,6 +1868,19 @@
|
|
|
1855
1868
|
}
|
|
1856
1869
|
}
|
|
1857
1870
|
},
|
|
1871
|
+
"aws-cdk-lib.aws_m2": {
|
|
1872
|
+
"targets": {
|
|
1873
|
+
"dotnet": {
|
|
1874
|
+
"namespace": "Amazon.CDK.AWS.M2"
|
|
1875
|
+
},
|
|
1876
|
+
"java": {
|
|
1877
|
+
"package": "software.amazon.awscdk.services.m2"
|
|
1878
|
+
},
|
|
1879
|
+
"python": {
|
|
1880
|
+
"module": "aws_cdk.aws_m2"
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
},
|
|
1858
1884
|
"aws-cdk-lib.aws_macie": {
|
|
1859
1885
|
"targets": {
|
|
1860
1886
|
"dotnet": {
|
|
@@ -2713,6 +2739,19 @@
|
|
|
2713
2739
|
}
|
|
2714
2740
|
}
|
|
2715
2741
|
},
|
|
2742
|
+
"aws-cdk-lib.aws_supportapp": {
|
|
2743
|
+
"targets": {
|
|
2744
|
+
"dotnet": {
|
|
2745
|
+
"namespace": "Amazon.CDK.AWS.SupportApp"
|
|
2746
|
+
},
|
|
2747
|
+
"java": {
|
|
2748
|
+
"package": "software.amazon.awscdk.services.supportapp"
|
|
2749
|
+
},
|
|
2750
|
+
"python": {
|
|
2751
|
+
"module": "aws_cdk.aws_supportapp"
|
|
2752
|
+
}
|
|
2753
|
+
}
|
|
2754
|
+
},
|
|
2716
2755
|
"aws-cdk-lib.aws_synthetics": {
|
|
2717
2756
|
"targets": {
|
|
2718
2757
|
"dotnet": {
|
|
@@ -3050,7 +3089,7 @@
|
|
|
3050
3089
|
},
|
|
3051
3090
|
"name": "cdk-rds-sql",
|
|
3052
3091
|
"readme": {
|
|
3053
|
-
"markdown": "# About\n\nThis CDK construct library makes it possible create databases,\nschemas, and roles to an Aurora Serverless database created in that\nstack.\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-postgresql10\"\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:\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\nThe provider will setup a lambda, which will live in the same VPC, or\nat minimum in a VPC that can get access to the database. The provider\nwill automatically setup a connection to the given cluster.\n\n## Roles\n\nCreate a postgres role (user) 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 cluster: cluster,\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\n## Database\n\nCreate a datdabse 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\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- The same when you delete your `Sql` construct: nothing is rolled\n back in the database.\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\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"
|
|
3092
|
+
"markdown": "# About\n\nThis CDK construct library makes it possible create databases,\nschemas, and roles to an Aurora Serverless database created in that\nstack.\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-postgresql10\"\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:\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\nThe provider will setup a lambda, which will live in the same VPC, or\nat minimum in a VPC that can get access to the database. The provider\nwill automatically setup a connection to the given cluster.\n\n## Roles\n\nCreate a postgres role (user) 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 cluster: cluster,\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 datdabse 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\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- The same when you delete your `Sql` construct: nothing is rolled\n back in the database.\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\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"
|
|
3054
3093
|
},
|
|
3055
3094
|
"repository": {
|
|
3056
3095
|
"type": "git",
|
|
@@ -3505,7 +3544,7 @@
|
|
|
3505
3544
|
},
|
|
3506
3545
|
"locationInModule": {
|
|
3507
3546
|
"filename": "src/role.ts",
|
|
3508
|
-
"line":
|
|
3547
|
+
"line": 63
|
|
3509
3548
|
},
|
|
3510
3549
|
"parameters": [
|
|
3511
3550
|
{
|
|
@@ -3531,7 +3570,7 @@
|
|
|
3531
3570
|
"kind": "class",
|
|
3532
3571
|
"locationInModule": {
|
|
3533
3572
|
"filename": "src/role.ts",
|
|
3534
|
-
"line":
|
|
3573
|
+
"line": 52
|
|
3535
3574
|
},
|
|
3536
3575
|
"name": "Role",
|
|
3537
3576
|
"properties": [
|
|
@@ -3543,7 +3582,7 @@
|
|
|
3543
3582
|
"immutable": true,
|
|
3544
3583
|
"locationInModule": {
|
|
3545
3584
|
"filename": "src/role.ts",
|
|
3546
|
-
"line":
|
|
3585
|
+
"line": 56
|
|
3547
3586
|
},
|
|
3548
3587
|
"name": "roleName",
|
|
3549
3588
|
"type": {
|
|
@@ -3558,7 +3597,7 @@
|
|
|
3558
3597
|
"immutable": true,
|
|
3559
3598
|
"locationInModule": {
|
|
3560
3599
|
"filename": "src/role.ts",
|
|
3561
|
-
"line":
|
|
3600
|
+
"line": 61
|
|
3562
3601
|
},
|
|
3563
3602
|
"name": "secret",
|
|
3564
3603
|
"type": {
|
|
@@ -3591,7 +3630,7 @@
|
|
|
3591
3630
|
"immutable": true,
|
|
3592
3631
|
"locationInModule": {
|
|
3593
3632
|
"filename": "src/role.ts",
|
|
3594
|
-
"line":
|
|
3633
|
+
"line": 42
|
|
3595
3634
|
},
|
|
3596
3635
|
"name": "cluster",
|
|
3597
3636
|
"type": {
|
|
@@ -3634,13 +3673,14 @@
|
|
|
3634
3673
|
"abstract": true,
|
|
3635
3674
|
"docs": {
|
|
3636
3675
|
"default": "no connection to any database is granted",
|
|
3676
|
+
"remarks": "Specify none of `database` or `databaseName` or only one of them.",
|
|
3637
3677
|
"stability": "stable",
|
|
3638
|
-
"summary": "
|
|
3678
|
+
"summary": "Optional database this user is expected to use."
|
|
3639
3679
|
},
|
|
3640
3680
|
"immutable": true,
|
|
3641
3681
|
"locationInModule": {
|
|
3642
3682
|
"filename": "src/role.ts",
|
|
3643
|
-
"line":
|
|
3683
|
+
"line": 28
|
|
3644
3684
|
},
|
|
3645
3685
|
"name": "database",
|
|
3646
3686
|
"optional": true,
|
|
@@ -3648,6 +3688,25 @@
|
|
|
3648
3688
|
"fqn": "cdk-rds-sql.IDatabase"
|
|
3649
3689
|
}
|
|
3650
3690
|
},
|
|
3691
|
+
{
|
|
3692
|
+
"abstract": true,
|
|
3693
|
+
"docs": {
|
|
3694
|
+
"default": "no connection to any database is granted",
|
|
3695
|
+
"remarks": "Specify none of `database` or `databaseName` or only one of them.",
|
|
3696
|
+
"stability": "stable",
|
|
3697
|
+
"summary": "Ootional database name this user is expected to use."
|
|
3698
|
+
},
|
|
3699
|
+
"immutable": true,
|
|
3700
|
+
"locationInModule": {
|
|
3701
|
+
"filename": "src/role.ts",
|
|
3702
|
+
"line": 37
|
|
3703
|
+
},
|
|
3704
|
+
"name": "databaseName",
|
|
3705
|
+
"optional": true,
|
|
3706
|
+
"type": {
|
|
3707
|
+
"primitive": "string"
|
|
3708
|
+
}
|
|
3709
|
+
},
|
|
3651
3710
|
{
|
|
3652
3711
|
"abstract": true,
|
|
3653
3712
|
"docs": {
|
|
@@ -3658,7 +3717,7 @@
|
|
|
3658
3717
|
"immutable": true,
|
|
3659
3718
|
"locationInModule": {
|
|
3660
3719
|
"filename": "src/role.ts",
|
|
3661
|
-
"line":
|
|
3720
|
+
"line": 49
|
|
3662
3721
|
},
|
|
3663
3722
|
"name": "encryptionKey",
|
|
3664
3723
|
"optional": true,
|
|
@@ -3909,6 +3968,6 @@
|
|
|
3909
3968
|
"symbolId": "src/sql:SqlProps"
|
|
3910
3969
|
}
|
|
3911
3970
|
},
|
|
3912
|
-
"version": "1.
|
|
3913
|
-
"fingerprint": "+
|
|
3971
|
+
"version": "1.2.0",
|
|
3972
|
+
"fingerprint": "GzpHL2Ve2rinu9K4fHfpLnd0igwZ3tGh+gZ+QRmZMcM="
|
|
3914
3973
|
}
|
package/.projenrc.ts
CHANGED
|
@@ -13,7 +13,7 @@ const project = new awscdk.AwsCdkConstructLibrary({
|
|
|
13
13
|
repositoryUrl: "https://github.com/berenddeboer/cdk-rds-sql.git",
|
|
14
14
|
projenrcTs: true,
|
|
15
15
|
constructsVersion: "10.1.104",
|
|
16
|
-
cdkVersion: "2.
|
|
16
|
+
cdkVersion: "2.43.1",
|
|
17
17
|
disableTsconfig: true,
|
|
18
18
|
tsconfigDev: {
|
|
19
19
|
compilerOptions: {
|
package/README.md
CHANGED
|
@@ -103,6 +103,10 @@ does, with all the connection info needed for this user. It's secret value is a
|
|
|
103
103
|
|
|
104
104
|
You can access the secret via `role.secret`.
|
|
105
105
|
|
|
106
|
+
Instead of `databaseName` you can also specify `database` to reference
|
|
107
|
+
an existing database. The role will not be created until the database
|
|
108
|
+
has been created.
|
|
109
|
+
|
|
106
110
|
## Database
|
|
107
111
|
|
|
108
112
|
Create a datdabse as follows:
|
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: "1.
|
|
43
|
+
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "1.2.0" };
|
|
44
44
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsMkNBQXNDO0FBQ3RDLGlDQUF1QztBQTJCdkMsTUFBTSxnQkFBaUIsU0FBUSxzQkFBUztJQUd0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFBO0lBQ3hDLENBQUM7Q0FDRjtBQUVELE1BQWEsUUFBUyxTQUFRLDRCQUFjO0lBWTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxRQUFRO2dCQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQzlCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRO2FBQzdCO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQTtRQUN0QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckM7SUFDSCxDQUFDO0lBMUJEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFlBQW9CO1FBQ3hFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3JDLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUMsQ0FBQTtJQUNKLENBQUM7O0FBUkgsNEJBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuL3JvbGVcIlxuXG5pbnRlcmZhY2UgRGF0YWJhc2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgZGF0YWJhc2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2Ugb3duZXIuXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IFJvbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVByb3BzIGV4dGVuZHMgRGF0YWJhc2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFiYXNlIHtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcbn1cblxuY2xhc3MgSW1wb3J0ZWREYXRhYmFzZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZUF0dHJpYnV0ZXMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEYXRhYmFzZSBiYXNlZCB1cG9uIG5hbWUgb25seS4gVXNlIGZvciBpbXBvcnRpbmcgZXhpc3RpbmcgZGF0YWJhc2VzLlxuICAgKi9cbiAgc3RhdGljIGZyb21EYXRhYmFzZU5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBJRGF0YWJhc2Uge1xuICAgIHJldHVybiBuZXcgSW1wb3J0ZWREYXRhYmFzZShzY29wZSwgaWQsIHtcbiAgICAgIGRhdGFiYXNlTmFtZTogZGF0YWJhc2VOYW1lLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5EQVRBQkFTRSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIE93bmVyOiBwcm9wcy5vd25lcj8ucm9sZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgICBpZiAocHJvcHMub3duZXIpIHtcbiAgICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLm93bmVyKVxuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/handler.js
CHANGED
|
@@ -32,7 +32,9 @@ const jumpTable = {
|
|
|
32
32
|
throw "No PasswordArn provided";
|
|
33
33
|
const password = await getPassword(props.PasswordArn);
|
|
34
34
|
if (password) {
|
|
35
|
-
const sql = [
|
|
35
|
+
const sql = [
|
|
36
|
+
node_pg_format_1.format("create role %I with login password %L", resourceId, password),
|
|
37
|
+
];
|
|
36
38
|
if (props.DatabaseName) {
|
|
37
39
|
sql.push(node_pg_format_1.format("grant connect on database %I to %I", props.DatabaseName, resourceId));
|
|
38
40
|
}
|
|
@@ -67,7 +69,11 @@ const jumpTable = {
|
|
|
67
69
|
}
|
|
68
70
|
},
|
|
69
71
|
Delete: (resourceId) => {
|
|
70
|
-
|
|
72
|
+
// TODO: if user is owner of a database, assign ownership to master user?
|
|
73
|
+
return [
|
|
74
|
+
node_pg_format_1.format("DO $$BEGIN\nIF EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '%s') THEN revoke all privileges on database postgres from %I; END IF;\nEND$$;", resourceId, resourceId),
|
|
75
|
+
node_pg_format_1.format("drop role if exists %I", resourceId),
|
|
76
|
+
];
|
|
71
77
|
},
|
|
72
78
|
},
|
|
73
79
|
database: {
|
|
@@ -194,4 +200,4 @@ const getPassword = async (arn) => {
|
|
|
194
200
|
return json.password;
|
|
195
201
|
}
|
|
196
202
|
};
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUd3QztBQU14QyxtREFBdUM7QUFDdkMsMkJBQTJCO0FBQzNCLGlDQUF1QztBQStDdkMsTUFBTSxTQUFTLEdBQWM7SUFDM0IsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQVUsRUFBRSxLQUFXLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFDeEIsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQztLQUMxQjtJQUNELE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1lBQ25DLE9BQU8sdUJBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM3RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLGFBQXFCLEVBQUUsRUFBRTtZQUMxRCxPQUFPLHVCQUFNLENBQUMsOEJBQThCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzFFLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDN0IsT0FBTyx1QkFBTSxDQUFDLGtDQUFrQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQy9ELENBQUM7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2dCQUFFLE1BQU0seUJBQXlCLENBQUE7WUFDdkQsTUFB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QUM7UUFDeEMsUUFBUSxFQUFFLEdBQUc7S0FDZCxDQUFDLENBQUE7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDakQsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtLQUNyQjtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyXCJcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VDcmVhdGVFdmVudCxcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50LFxuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRGVsZXRlRXZlbnQsXG59IGZyb20gXCJhd3MtbGFtYmRhXCJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gXCJub2RlLXBnLWZvcm1hdFwiXG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwicGdcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcblxuaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUmVzcG9uc2Uge1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmdcbiAgRGF0YT86IGFueVxuICBOb0VjaG8/OiBib29sZWFuXG59XG5cbnR5cGUgQ3JlYXRlUmVzb3VyY2VIYW5kbGVyID0gKFxuICByZXNvdXJjZUlkOiBzdHJpbmcsXG4gIHByb3BzPzogYW55XG4pID0+IFByb21pc2U8c3RyaW5nIHwgc3RyaW5nW10+XG50eXBlIFVwZGF0ZVJlc291cmNlSGFuZGxlciA9IChcbiAgcmVzb3VyY2VJZDogc3RyaW5nLFxuICBvbGRSZXNvdXJjZUlkOiBzdHJpbmcsXG4gIHByb3BzPzogYW55XG4pID0+IFByb21pc2U8c3RyaW5nIHwgc3RyaW5nW10gfCB2b2lkPlxudHlwZSBEZWxldGVSZXNvdXJjZUhhbmRsZXIgPSAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wcz86IGFueSkgPT4gc3RyaW5nIHwgc3RyaW5nW10gfCB2b2lkXG5cbnR5cGUgSnVtcFRhYmxlID0ge1xuICBba2V5IGluIFJkc1NxbFJlc291cmNlXToge1xuICAgIENyZWF0ZTogQ3JlYXRlUmVzb3VyY2VIYW5kbGVyXG4gICAgVXBkYXRlOiBVcGRhdGVSZXNvdXJjZUhhbmRsZXJcbiAgICBEZWxldGU6IERlbGV0ZVJlc291cmNlSGFuZGxlclxuICB9XG59XG5cbmludGVyZmFjZSBSb2xlUHJvcHMge1xuICAvKipcbiAgICogU2VjcmV0IEFSTi5cbiAgICovXG4gIFBhc3N3b3JkQXJuOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgdG8gd2hpY2ggcm9sZSBpcyBncmFudGVkIGNvbm5lY3QgcGVybWlzc2lvbnMuXG4gICAqL1xuICBEYXRhYmFzZU5hbWU/OiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMge1xuICBPd25lcjogc3RyaW5nXG59XG5cbmludGVyZmFjZSBEYXRhYmFzZVVwZGF0ZVByb3BzIGV4dGVuZHMgRGF0YWJhc2VQcm9wcyB7XG4gIE1hc3Rlck93bmVyOiBzdHJpbmdcbn1cblxuY29uc3QganVtcFRhYmxlOiBKdW1wVGFibGUgPSB7XG4gIHNxbDoge1xuICAgIENyZWF0ZTogKF86IHN0cmluZywgcHJvcHM/OiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5TdGF0ZW1lbnRcbiAgICB9LFxuICAgIFVwZGF0ZTogKF86IHN0cmluZywgX186IHN0cmluZywgcHJvcHM/OiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5TdGF0ZW1lbnRcbiAgICB9LFxuICAgIERlbGV0ZTogKF86IHN0cmluZykgPT4ge30sXG4gIH0sXG4gIHNjaGVtYToge1xuICAgIENyZWF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGZvcm1hdChcImNyZWF0ZSBzY2hlbWEgaWYgbm90IGV4aXN0cyAlSVwiLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gICAgVXBkYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBvbGRSZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJhbHRlciBzY2hlbWEgJUkgcmVuYW1lIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHJlc291cmNlSWQpXG4gICAgfSxcbiAgICBEZWxldGU6IChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJkcm9wIHNjaGVtYSBpZiBleGlzdHMgJUkgY2FzY2FkZVwiLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gIH0sXG4gIHJvbGU6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzOiBSb2xlUHJvcHMpID0+IHtcbiAgICAgIGlmICghcHJvcHMuUGFzc3dvcmRBcm4pIHRocm93IFwiTm8gUGFzc3dvcmRBcm4gcHJvdmlkZWRcIlxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBnZXRQYXNzd29yZChwcm9wcy5QYXNzd29yZEFybilcbiAgICAgIGlmIChwYXNzd29yZCkge1xuICAgICAgICBjb25zdCBzcWwgPSBbZm9ybWF0KFwiY3JlYXRlIHJvbGUgJUkgd2l0aCBwYXNzd29yZCAlTFwiLCByZXNvdXJjZUlkLCBwYXNzd29yZCldXG4gICAgICAgIGlmIChwcm9wcy5EYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICBzcWwucHVzaChcbiAgICAgICAgICAgIGZvcm1hdChcImdyYW50IGNvbm5lY3Qgb24gZGF0YWJhc2UgJUkgdG8gJUlcIiwgcHJvcHMuRGF0YWJhc2VOYW1lLCByZXNvdXJjZUlkKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3FsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBgQ2Fubm90IHBhcnNlIHBhc3N3b3JkIGZyb20gJHtwcm9wcy5QYXNzd29yZEFybn1gXG4gICAgICB9XG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIG9sZFJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgZGF0YWJhc2UgbmFtZSBoYXMgY2hhbmdlZCBpbiBPbGRSZXNvdXJjZVByb3BlcnRpZXMsIHJldm9rZSBjb25uZWN0XG4gICAgICBpZiAocHJvcHMgJiYgcHJvcHMuUGFzc3dvcmRBcm4pIHtcbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBnZXRQYXNzd29yZChwcm9wcy5QYXNzd29yZEFybilcbiAgICAgICAgaWYgKHBhc3N3b3JkKSB7XG4gICAgICAgICAgY29uc3Qgc3FsID0gW1xuICAgICAgICAgICAgZm9ybWF0KFxuICAgICAgICAgICAgICBcImFsdGVyIHJvbGUgJUkgcmVuYW1lIHRvICVJOyBhbHRlciByb2xlICVJIHdpdGggcGFzc3dvcmQgJUxcIixcbiAgICAgICAgICAgICAgb2xkUmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcGFzc3dvcmRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXVxuICAgICAgICAgIGlmIChwcm9wcy5EYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICAgIHNxbC5wdXNoKFxuICAgICAgICAgICAgICBmb3JtYXQoXCJncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJXCIsIHByb3BzLkRhdGFiYXNlTmFtZSwgcmVzb3VyY2VJZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNxbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciByb2xlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKSxcbiAgICAgICAgICBmb3JtYXQoXCJncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJXCIsIHByb3BzLkRhdGFiYXNlTmFtZSwgcmVzb3VyY2VJZCksXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGZvcm1hdChcImRyb3Agcm9sZSBpZiBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICB9LFxuICBkYXRhYmFzZToge1xuICAgIENyZWF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IG93bmVyID0gcHJvcHMuT3duZXJcbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGZvcm1hdChcImNyZWF0ZSBkYXRhYmFzZSAlSVwiLCByZXNvdXJjZUlkKSxcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSBvd25lciB0byAlSVwiLCByZXNvdXJjZUlkLCBvd25lciksXG4gICAgICAgIF1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmb3JtYXQoXCJjcmVhdGUgZGF0YWJhc2UgJUlcIiwgcmVzb3VyY2VJZClcbiAgICAgIH1cbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKFxuICAgICAgcmVzb3VyY2VJZDogc3RyaW5nLFxuICAgICAgb2xkUmVzb3VyY2VJZDogc3RyaW5nLFxuICAgICAgcHJvcHM6IERhdGFiYXNlVXBkYXRlUHJvcHNcbiAgICApOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRzOiBzdHJpbmdbXSA9IFtdXG4gICAgICBpZiAocmVzb3VyY2VJZCAhPT0gb2xkUmVzb3VyY2VJZCkge1xuICAgICAgICBpZiAocHJvcHMuTWFzdGVyT3duZXIpIHtcbiAgICAgICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgICBmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSBvd25lciB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCBwcm9wcy5NYXN0ZXJPd25lcilcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgc3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKVxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBvd25lciA9IHByb3BzLk93bmVyXG4gICAgICBpZiAob3duZXIpIHtcbiAgICAgICAgc3RhdGVtZW50cy5wdXNoKGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJXCIsIHJlc291cmNlSWQsIHByb3BzLk93bmVyKSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZW1lbnRzXG4gICAgfSxcbiAgICBEZWxldGU6IChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGZvcm1hdChcbiAgICAgICAgICBcInNlbGVjdCBwZ190ZXJtaW5hdGVfYmFja2VuZChwZ19zdGF0X2FjdGl2aXR5LnBpZCkgZnJvbSBwZ19zdGF0X2FjdGl2aXR5IHdoZXJlIGRhdG5hbWUgPSAlTFwiLFxuICAgICAgICAgIHJlc291cmNlSWRcbiAgICAgICAgKSxcbiAgICAgICAgZm9ybWF0KFwiZHJvcCBkYXRhYmFzZSBpZiBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZCksXG4gICAgICBdXG4gICAgfSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSBhc3luYyAoXG4gIGV2ZW50OlxuICAgIHwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUNyZWF0ZUV2ZW50XG4gICAgfCBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnRcbiAgICB8IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudFxuKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgLy9jb25zb2xlLmRlYnVnKFwiRVZFTlRcIiwgZXZlbnQpXG5cbiAgY29uc3QgcmVxdWVzdFR5cGUgPSBldmVudC5SZXF1ZXN0VHlwZVxuICBjb25zdCByZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuUmVzb3VyY2VcbiAgY29uc3QgcmVzb3VyY2VJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZXNvdXJjZUlkXG4gIGNvbnN0IGRhdGFiYXNlID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRhdGFiYXNlXG5cbiAgaWYgKCFPYmplY3Qua2V5cyhqdW1wVGFibGUpLmluY2x1ZGVzKGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZXNvdXJjZSkpIHtcbiAgICB0aHJvdyBgUmVzb3VyY2UgdHlwZSAnJHtyZXNvdXJjZX0nIG5vdCByZWNvZ25pc2VkLmBcbiAgfVxuXG4gIGNvbnN0IHNlY3JldHNfY2xpZW50ID0gbmV3IFNlY3JldHNNYW5hZ2VyQ2xpZW50KHt9KVxuICBjb25zdCBjb21tYW5kID0gbmV3IEdldFNlY3JldFZhbHVlQ29tbWFuZCh7XG4gICAgU2VjcmV0SWQ6IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5TZWNyZXRBcm4sXG4gIH0pXG4gIGNvbnN0IHNlY3JldCA9IGF3YWl0IHNlY3JldHNfY2xpZW50LnNlbmQoY29tbWFuZClcbiAgaWYgKCFzZWNyZXQuU2VjcmV0U3RyaW5nKSB0aHJvdyBcIk5vIHNlY3JldCBzdHJpbmdcIlxuXG4gIGNvbnN0IHNlY3JldFZhbHVlcyA9IEpTT04ucGFyc2Uoc2VjcmV0LlNlY3JldFN0cmluZylcblxuICBsZXQgc3FsOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHZvaWRcbiAgc3dpdGNoIChyZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgXCJDcmVhdGVcIjoge1xuICAgICAgc3FsID0gYXdhaXQganVtcFRhYmxlW3Jlc291cmNlXVtyZXF1ZXN0VHlwZV0ocmVzb3VyY2VJZCwgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzKVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSBcIlVwZGF0ZVwiOiB7XG4gICAgICBjb25zdCBvbGRSZXNvdXJjZUlkID0gKGV2ZW50IGFzIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudClcbiAgICAgICAgLlBoeXNpY2FsUmVzb3VyY2VJZFxuICAgICAgc3FsID0gYXdhaXQganVtcFRhYmxlW3Jlc291cmNlXVtyZXF1ZXN0VHlwZV0ocmVzb3VyY2VJZCwgb2xkUmVzb3VyY2VJZCwge1xuICAgICAgICAuLi5ldmVudC5SZXNvdXJjZVByb3BlcnRpZXMsXG4gICAgICAgIE1hc3Rlck93bmVyOiBzZWNyZXRWYWx1ZXMudXNlcm5hbWUsXG4gICAgICB9KVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSBcIkRlbGV0ZVwiOiB7XG4gICAgICBjb25zdCBvbGRSZXNvdXJjZUlkID0gKGV2ZW50IGFzIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudClcbiAgICAgICAgLlBoeXNpY2FsUmVzb3VyY2VJZFxuICAgICAgc3FsID0ganVtcFRhYmxlW3Jlc291cmNlXVtyZXF1ZXN0VHlwZV0ocmVzb3VyY2VJZCwgb2xkUmVzb3VyY2VJZClcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaWYgKHNxbCkge1xuICAgIC8vY29uc29sZS5kZWJ1ZyhcIkRBVEFCQVNFXCIsIGRhdGFiYXNlKVxuICAgIGNvbnNvbGUuZGVidWcoXCJTUUxcIiwgc3FsKVxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGhvc3Q6IHNlY3JldFZhbHVlcy5ob3N0LFxuICAgICAgcG9ydDogc2VjcmV0VmFsdWVzLnBvcnQsXG4gICAgICB1c2VyOiBzZWNyZXRWYWx1ZXMudXNlcm5hbWUsXG4gICAgICBwYXNzd29yZDogc2VjcmV0VmFsdWVzLnBhc3N3b3JkLFxuICAgICAgZGF0YWJhc2U6IGRhdGFiYXNlLFxuICAgICAgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IDIwMDAsIC8vIHJldHVybiBhbiBlcnJvciBpZiBhIGNvbm5lY3Rpb24gY291bGQgbm90IGJlIGVzdGFibGlzaGVkIHdpdGhpbiAyIHNlY29uZHNcbiAgICB9XG4gICAgLy9jb25zb2xlLmRlYnVnIChcIlBBUkFNU1wiLCBwYXJhbXMpXG4gICAgY29uc3QgcGdfY2xpZW50ID0gbmV3IENsaWVudChwYXJhbXMpXG4gICAgYXdhaXQgcGdfY2xpZW50LmNvbm5lY3QoKVxuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZW9mIHNxbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBhd2FpdCBwZ19jbGllbnQucXVlcnkoc3FsKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgc3FsLm1hcChhc3luYyAoc3RhdGVtZW50KSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBwZ19jbGllbnQucXVlcnkoc3RhdGVtZW50KVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcGdfY2xpZW50LmVuZCgpXG4gICAgfVxuICB9XG5cbiAgbGV0IHJlc3BvbnNlOiBDdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge31cbiAgLy8gRXhjZXB0IGZvciB0aGUgU1FMIHJlc291cmNlLCByZXR1cm4gdGhlIG5ldyByZXNvdXJjZSBpZC4gVGhpc1xuICAvLyB3aWxsIGNhdXNlIGEgZGVsZXRlIHRvIGJlIHNlbmQgZm9yIHRoZSBvbGQgcmVzb3VyY2UuXG4gIGlmIChyZXNvdXJjZSAhPT0gUmRzU3FsUmVzb3VyY2UuU1FMKSB7XG4gICAgcmVzcG9uc2UuUGh5c2ljYWxSZXNvdXJjZUlkID0gcmVzb3VyY2VJZFxuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlXG59XG5cbi8qKlxuICogUGFyc2UgcGFzc3dvcmQgZmllbGQgZnJvbSBzZWNyZXQuIFJldHVybnMgdm9pZCBvbiBlcnJvci5cbiAqL1xuY29uc3QgZ2V0UGFzc3dvcmQgPSBhc3luYyAoYXJuOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHZvaWQ+ID0+IHtcbiAgY29uc3Qgc2VjcmV0c19jbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pXG4gIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICBTZWNyZXRJZDogYXJuLFxuICB9KVxuICBjb25zdCBzZWNyZXQgPSBhd2FpdCBzZWNyZXRzX2NsaWVudC5zZW5kKGNvbW1hbmQpXG4gIGlmIChzZWNyZXQuU2VjcmV0U3RyaW5nKSB7XG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2Uoc2VjcmV0LlNlY3JldFN0cmluZylcbiAgICByZXR1cm4ganNvbi5wYXNzd29yZFxuICB9XG59XG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUd3QztBQU14QyxtREFBdUM7QUFDdkMsMkJBQTJCO0FBQzNCLGlDQUF1QztBQStDdkMsTUFBTSxTQUFTLEdBQWM7SUFDM0IsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQVUsRUFBRSxLQUFXLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFDeEIsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQztLQUMxQjtJQUNELE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1lBQ25DLE9BQU8sdUJBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM3RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLGFBQXFCLEVBQUUsRUFBRTtZQUMxRCxPQUFPLHVCQUFNLENBQUMsOEJBQThCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzFFLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDN0IsT0FBTyx1QkFBTSxDQUFDLGtDQUFrQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQy9ELENBQUM7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2dCQUFFLE1BQU0seUJBQXlCLENBQUE7WUFDdkQsTUFB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QUFjLEdBQUcsSUFBSSw2Q0FBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDhDQUFxQixDQUFDO1FBQ3hDLFFBQVEsRUFBRSxHQUFHO0tBQ2QsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2pELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7S0FDckI7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiXG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCxcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50LFxufSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tIFwibm9kZS1wZy1mb3JtYXRcIlxuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcInBnXCJcbmltcG9ydCB7IFJkc1NxbFJlc291cmNlIH0gZnJvbSBcIi4vZW51bVwiXG5cbmludGVyZmFjZSBDdXN0b21SZXNvdXJjZVJlc3BvbnNlIHtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nXG4gIERhdGE/OiBhbnlcbiAgTm9FY2hvPzogYm9vbGVhblxufVxuXG50eXBlIENyZWF0ZVJlc291cmNlSGFuZGxlciA9IChcbiAgcmVzb3VyY2VJZDogc3RyaW5nLFxuICBwcm9wcz86IGFueVxuKSA9PiBQcm9taXNlPHN0cmluZyB8IHN0cmluZ1tdPlxudHlwZSBVcGRhdGVSZXNvdXJjZUhhbmRsZXIgPSAoXG4gIHJlc291cmNlSWQ6IHN0cmluZyxcbiAgb2xkUmVzb3VyY2VJZDogc3RyaW5nLFxuICBwcm9wcz86IGFueVxuKSA9PiBQcm9taXNlPHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZD5cbnR5cGUgRGVsZXRlUmVzb3VyY2VIYW5kbGVyID0gKHJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM/OiBhbnkpID0+IHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZFxuXG50eXBlIEp1bXBUYWJsZSA9IHtcbiAgW2tleSBpbiBSZHNTcWxSZXNvdXJjZV06IHtcbiAgICBDcmVhdGU6IENyZWF0ZVJlc291cmNlSGFuZGxlclxuICAgIFVwZGF0ZTogVXBkYXRlUmVzb3VyY2VIYW5kbGVyXG4gICAgRGVsZXRlOiBEZWxldGVSZXNvdXJjZUhhbmRsZXJcbiAgfVxufVxuXG5pbnRlcmZhY2UgUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFNlY3JldCBBUk4uXG4gICAqL1xuICBQYXNzd29yZEFybjogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIHRvIHdoaWNoIHJvbGUgaXMgZ3JhbnRlZCBjb25uZWN0IHBlcm1pc3Npb25zLlxuICAgKi9cbiAgRGF0YWJhc2VOYW1lPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBEYXRhYmFzZVByb3BzIHtcbiAgT3duZXI6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgRGF0YWJhc2VVcGRhdGVQcm9wcyBleHRlbmRzIERhdGFiYXNlUHJvcHMge1xuICBNYXN0ZXJPd25lcjogc3RyaW5nXG59XG5cbmNvbnN0IGp1bXBUYWJsZTogSnVtcFRhYmxlID0ge1xuICBzcWw6IHtcbiAgICBDcmVhdGU6IChfOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuU3RhdGVtZW50XG4gICAgfSxcbiAgICBVcGRhdGU6IChfOiBzdHJpbmcsIF9fOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuU3RhdGVtZW50XG4gICAgfSxcbiAgICBEZWxldGU6IChfOiBzdHJpbmcpID0+IHt9LFxuICB9LFxuICBzY2hlbWE6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJjcmVhdGUgc2NoZW1hIGlmIG5vdCBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgb2xkUmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiYWx0ZXIgc2NoZW1hICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gICAgRGVsZXRlOiAocmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiZHJvcCBzY2hlbWEgaWYgZXhpc3RzICVJIGNhc2NhZGVcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICB9LFxuICByb2xlOiB7XG4gICAgQ3JlYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSA9PiB7XG4gICAgICBpZiAoIXByb3BzLlBhc3N3b3JkQXJuKSB0aHJvdyBcIk5vIFBhc3N3b3JkQXJuIHByb3ZpZGVkXCJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gYXdhaXQgZ2V0UGFzc3dvcmQocHJvcHMuUGFzc3dvcmRBcm4pXG4gICAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgICAgY29uc3Qgc3FsID0gW1xuICAgICAgICAgIGZvcm1hdChcImNyZWF0ZSByb2xlICVJIHdpdGggbG9naW4gcGFzc3dvcmQgJUxcIiwgcmVzb3VyY2VJZCwgcGFzc3dvcmQpLFxuICAgICAgICBdXG4gICAgICAgIGlmIChwcm9wcy5EYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICBzcWwucHVzaChcbiAgICAgICAgICAgIGZvcm1hdChcImdyYW50IGNvbm5lY3Qgb24gZGF0YWJhc2UgJUkgdG8gJUlcIiwgcHJvcHMuRGF0YWJhc2VOYW1lLCByZXNvdXJjZUlkKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3FsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBgQ2Fubm90IHBhcnNlIHBhc3N3b3JkIGZyb20gJHtwcm9wcy5QYXNzd29yZEFybn1gXG4gICAgICB9XG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIG9sZFJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgZGF0YWJhc2UgbmFtZSBoYXMgY2hhbmdlZCBpbiBPbGRSZXNvdXJjZVByb3BlcnRpZXMsIHJldm9rZSBjb25uZWN0XG4gICAgICBpZiAocHJvcHMgJiYgcHJvcHMuUGFzc3dvcmRBcm4pIHtcbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBnZXRQYXNzd29yZChwcm9wcy5QYXNzd29yZEFybilcbiAgICAgICAgaWYgKHBhc3N3b3JkKSB7XG4gICAgICAgICAgY29uc3Qgc3FsID0gW1xuICAgICAgICAgICAgZm9ybWF0KFxuICAgICAgICAgICAgICBcImFsdGVyIHJvbGUgJUkgcmVuYW1lIHRvICVJOyBhbHRlciByb2xlICVJIHdpdGggcGFzc3dvcmQgJUxcIixcbiAgICAgICAgICAgICAgb2xkUmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcGFzc3dvcmRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXVxuICAgICAgICAgIGlmIChwcm9wcy5EYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICAgIHNxbC5wdXNoKFxuICAgICAgICAgICAgICBmb3JtYXQoXCJncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJXCIsIHByb3BzLkRhdGFiYXNlTmFtZSwgcmVzb3VyY2VJZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNxbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciByb2xlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKSxcbiAgICAgICAgICBmb3JtYXQoXCJncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJXCIsIHByb3BzLkRhdGFiYXNlTmFtZSwgcmVzb3VyY2VJZCksXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgdXNlciBpcyBvd25lciBvZiBhIGRhdGFiYXNlLCBhc3NpZ24gb3duZXJzaGlwIHRvIG1hc3RlciB1c2VyP1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgZm9ybWF0KFxuICAgICAgICAgIFwiRE8gJCRCRUdJTlxcbklGIEVYSVNUUyAoU0VMRUNUIEZST00gcGdfY2F0YWxvZy5wZ19yb2xlcyBXSEVSRSByb2xuYW1lID0gJyVzJykgVEhFTiByZXZva2UgYWxsIHByaXZpbGVnZXMgb24gZGF0YWJhc2UgcG9zdGdyZXMgZnJvbSAlSTsgRU5EIElGO1xcbkVORCQkO1wiLFxuICAgICAgICAgIHJlc291cmNlSWQsXG4gICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICApLFxuICAgICAgICBmb3JtYXQoXCJkcm9wIHJvbGUgaWYgZXhpc3RzICVJXCIsIHJlc291cmNlSWQpLFxuICAgICAgXVxuICAgIH0sXG4gIH0sXG4gIGRhdGFiYXNlOiB7XG4gICAgQ3JlYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykgPT4ge1xuICAgICAgY29uc3Qgb3duZXIgPSBwcm9wcy5Pd25lclxuICAgICAgaWYgKG93bmVyKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgZm9ybWF0KFwiY3JlYXRlIGRhdGFiYXNlICVJXCIsIHJlc291cmNlSWQpLFxuICAgICAgICAgIGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJXCIsIHJlc291cmNlSWQsIG93bmVyKSxcbiAgICAgICAgXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdChcImNyZWF0ZSBkYXRhYmFzZSAlSVwiLCByZXNvdXJjZUlkKVxuICAgICAgfVxuICAgIH0sXG4gICAgVXBkYXRlOiBhc3luYyAoXG4gICAgICByZXNvdXJjZUlkOiBzdHJpbmcsXG4gICAgICBvbGRSZXNvdXJjZUlkOiBzdHJpbmcsXG4gICAgICBwcm9wczogRGF0YWJhc2VVcGRhdGVQcm9wc1xuICAgICk6IFByb21pc2U8c3RyaW5nW10+ID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudHM6IHN0cmluZ1tdID0gW11cbiAgICAgIGlmIChyZXNvdXJjZUlkICE9PSBvbGRSZXNvdXJjZUlkKSB7XG4gICAgICAgIGlmIChwcm9wcy5NYXN0ZXJPd25lcikge1xuICAgICAgICAgIHN0YXRlbWVudHMucHVzaChcbiAgICAgICAgICAgIGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHByb3BzLk1hc3Rlck93bmVyKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgcmVuYW1lIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHJlc291cmNlSWQpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG93bmVyID0gcHJvcHMuT3duZXJcbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICBzdGF0ZW1lbnRzLnB1c2goZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUlcIiwgcmVzb3VyY2VJZCwgcHJvcHMuT3duZXIpKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlbWVudHNcbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgZm9ybWF0KFxuICAgICAgICAgIFwic2VsZWN0IHBnX3Rlcm1pbmF0ZV9iYWNrZW5kKHBnX3N0YXRfYWN0aXZpdHkucGlkKSBmcm9tIHBnX3N0YXRfYWN0aXZpdHkgd2hlcmUgZGF0bmFtZSA9ICVMXCIsXG4gICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICApLFxuICAgICAgICBmb3JtYXQoXCJkcm9wIGRhdGFiYXNlIGlmIGV4aXN0cyAlSVwiLCByZXNvdXJjZUlkKSxcbiAgICAgIF1cbiAgICB9LFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQ6XG4gICAgfCBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnRcbiAgICB8IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudFxuICAgIHwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50XG4pOiBQcm9taXNlPGFueT4gPT4ge1xuICAvL2NvbnNvbGUuZGVidWcoXCJFVkVOVFwiLCBldmVudClcblxuICBjb25zdCByZXF1ZXN0VHlwZSA9IGV2ZW50LlJlcXVlc3RUeXBlXG4gIGNvbnN0IHJlc291cmNlOiBSZHNTcWxSZXNvdXJjZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZUlkID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlSWRcbiAgY29uc3QgZGF0YWJhc2UgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGF0YWJhc2VcblxuICBpZiAoIU9iamVjdC5rZXlzKGp1bXBUYWJsZSkuaW5jbHVkZXMoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlKSkge1xuICAgIHRocm93IGBSZXNvdXJjZSB0eXBlICcke3Jlc291cmNlfScgbm90IHJlY29nbmlzZWQuYFxuICB9XG5cbiAgY29uc3Qgc2VjcmV0c19jbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pXG4gIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICBTZWNyZXRJZDogZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlNlY3JldEFybixcbiAgfSlcbiAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgc2VjcmV0c19jbGllbnQuc2VuZChjb21tYW5kKVxuICBpZiAoIXNlY3JldC5TZWNyZXRTdHJpbmcpIHRocm93IFwiTm8gc2VjcmV0IHN0cmluZ1wiXG5cbiAgY29uc3Qgc2VjcmV0VmFsdWVzID0gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxuXG4gIGxldCBzcWw6IHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZFxuICBzd2l0Y2ggKHJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSBcIkNyZWF0ZVwiOiB7XG4gICAgICBzcWwgPSBhd2FpdCBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMpXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIFwiVXBkYXRlXCI6IHtcbiAgICAgIGNvbnN0IG9sZFJlc291cmNlSWQgPSAoZXZlbnQgYXMgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KVxuICAgICAgICAuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBzcWwgPSBhd2FpdCBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBvbGRSZXNvdXJjZUlkLCB7XG4gICAgICAgIC4uLmV2ZW50LlJlc291cmNlUHJvcGVydGllcyxcbiAgICAgICAgTWFzdGVyT3duZXI6IHNlY3JldFZhbHVlcy51c2VybmFtZSxcbiAgICAgIH0pXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIFwiRGVsZXRlXCI6IHtcbiAgICAgIGNvbnN0IG9sZFJlc291cmNlSWQgPSAoZXZlbnQgYXMgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50KVxuICAgICAgICAuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBzcWwgPSBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBvbGRSZXNvdXJjZUlkKVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoc3FsKSB7XG4gICAgLy9jb25zb2xlLmRlYnVnKFwiREFUQUJBU0VcIiwgZGF0YWJhc2UpXG4gICAgY29uc29sZS5kZWJ1ZyhcIlNRTFwiLCBzcWwpXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgaG9zdDogc2VjcmV0VmFsdWVzLmhvc3QsXG4gICAgICBwb3J0OiBzZWNyZXRWYWx1ZXMucG9ydCxcbiAgICAgIHVzZXI6IHNlY3JldFZhbHVlcy51c2VybmFtZSxcbiAgICAgIHBhc3N3b3JkOiBzZWNyZXRWYWx1ZXMucGFzc3dvcmQsXG4gICAgICBkYXRhYmFzZTogZGF0YWJhc2UsXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogMjAwMCwgLy8gcmV0dXJuIGFuIGVycm9yIGlmIGEgY29ubmVjdGlvbiBjb3VsZCBub3QgYmUgZXN0YWJsaXNoZWQgd2l0aGluIDIgc2Vjb25kc1xuICAgIH1cbiAgICAvL2NvbnNvbGUuZGVidWcgKFwiUEFSQU1TXCIsIHBhcmFtcylcbiAgICBjb25zdCBwZ19jbGllbnQgPSBuZXcgQ2xpZW50KHBhcmFtcylcbiAgICBhd2FpdCBwZ19jbGllbnQuY29ubmVjdCgpXG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygc3FsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGF3YWl0IHBnX2NsaWVudC5xdWVyeShzcWwpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICBzcWwubWFwKGFzeW5jIChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHBnX2NsaWVudC5xdWVyeShzdGF0ZW1lbnQpXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBwZ19jbGllbnQuZW5kKClcbiAgICB9XG4gIH1cblxuICBsZXQgcmVzcG9uc2U6IEN1c3RvbVJlc291cmNlUmVzcG9uc2UgPSB7fVxuICAvLyBFeGNlcHQgZm9yIHRoZSBTUUwgcmVzb3VyY2UsIHJldHVybiB0aGUgbmV3IHJlc291cmNlIGlkLiBUaGlzXG4gIC8vIHdpbGwgY2F1c2UgYSBkZWxldGUgdG8gYmUgc2VuZCBmb3IgdGhlIG9sZCByZXNvdXJjZS5cbiAgaWYgKHJlc291cmNlICE9PSBSZHNTcWxSZXNvdXJjZS5TUUwpIHtcbiAgICByZXNwb25zZS5QaHlzaWNhbFJlc291cmNlSWQgPSByZXNvdXJjZUlkXG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2Vcbn1cblxuLyoqXG4gKiBQYXJzZSBwYXNzd29yZCBmaWVsZCBmcm9tIHNlY3JldC4gUmV0dXJucyB2b2lkIG9uIGVycm9yLlxuICovXG5jb25zdCBnZXRQYXNzd29yZCA9IGFzeW5jIChhcm46IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdm9pZD4gPT4ge1xuICBjb25zdCBzZWNyZXRzX2NsaWVudCA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCh7fSlcbiAgY29uc3QgY29tbWFuZCA9IG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoe1xuICAgIFNlY3JldElkOiBhcm4sXG4gIH0pXG4gIGNvbnN0IHNlY3JldCA9IGF3YWl0IHNlY3JldHNfY2xpZW50LnNlbmQoY29tbWFuZClcbiAgaWYgKHNlY3JldC5TZWNyZXRTdHJpbmcpIHtcbiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxuICAgIHJldHVybiBqc29uLnBhc3N3b3JkXG4gIH1cbn1cbiJdfQ==
|
package/lib/provider.js
CHANGED
|
@@ -43,7 +43,7 @@ class Provider extends constructs_1.Construct {
|
|
|
43
43
|
}
|
|
44
44
|
exports.Provider = Provider;
|
|
45
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "1.
|
|
46
|
+
Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "1.2.0" };
|
|
47
47
|
function slugify(x) {
|
|
48
48
|
return x.replace(/[^a-zA-Z0-9]/g, "");
|
|
49
49
|
}
|
|
@@ -18,11 +18,21 @@ export interface RoleProps {
|
|
|
18
18
|
*/
|
|
19
19
|
readonly passwordArn: string;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Optional database this user is expected to use.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
23
|
+
* Specify none of `database` or `databaseName` or only one of them.
|
|
24
|
+
*
|
|
25
|
+
* @default no connection to any database is granted
|
|
24
26
|
*/
|
|
25
27
|
readonly database?: IDatabase;
|
|
28
|
+
/**
|
|
29
|
+
* Ootional database name this user is expected to use.
|
|
30
|
+
*
|
|
31
|
+
* Specify none of `database` or `databaseName` or only one of them.
|
|
32
|
+
*
|
|
33
|
+
* @default no connection to any database is granted
|
|
34
|
+
*/
|
|
35
|
+
readonly databaseName?: string;
|
|
26
36
|
}
|
|
27
37
|
export declare class Role extends CustomResource {
|
|
28
38
|
constructor(scope: Construct, id: string, props: RoleProps);
|
|
@@ -5,6 +5,8 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
|
5
5
|
const enum_1 = require("./enum");
|
|
6
6
|
class Role extends aws_cdk_lib_1.CustomResource {
|
|
7
7
|
constructor(scope, id, props) {
|
|
8
|
+
if (props.database && props.databaseName)
|
|
9
|
+
throw "Specify either database or databaseName";
|
|
8
10
|
super(scope, id, {
|
|
9
11
|
serviceToken: props.provider.serviceToken,
|
|
10
12
|
properties: {
|
|
@@ -12,7 +14,7 @@ class Role extends aws_cdk_lib_1.CustomResource {
|
|
|
12
14
|
ResourceId: props.roleName,
|
|
13
15
|
SecretArn: props.provider.secret.secretArn,
|
|
14
16
|
PasswordArn: props.passwordArn,
|
|
15
|
-
DatabaseName: props.database ? props.database.databaseName :
|
|
17
|
+
DatabaseName: props.database ? props.database.databaseName : props.databaseName,
|
|
16
18
|
},
|
|
17
19
|
});
|
|
18
20
|
this.node.addDependency(props.provider);
|
|
@@ -21,4 +23,4 @@ class Role extends aws_cdk_lib_1.CustomResource {
|
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
exports.Role = Role;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5jdXN0b20tcmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9sZS5jdXN0b20tcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBRzVDLGlDQUF1QztBQXdDdkMsTUFBYSxJQUFLLFNBQVEsNEJBQWM7SUFDdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQjtRQUN4RCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFlBQVk7WUFDdEMsTUFBTSx5Q0FBeUMsQ0FBQTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLElBQUk7Z0JBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDMUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVM7Z0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWTthQUNoRjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7Q0FDRjtBQWpCRCxvQkFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIFNRTC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogQSBuZXcgc2VjcmV0IGlzIGNyZWF0ZWQgZm9yIHRoaXMgdXNlci5cbiAgICpcbiAgICogT3B0aW9uYWxseSBlbmNyeXB0IGl0IHdpdGggdGhlIGdpdmVuIGtleS5cbiAgICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkQXJuOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgdGhpcyB1c2VyIGlzIGV4cGVjdGVkIHRvIHVzZS5cbiAgICpcbiAgICogU3BlY2lmeSBub25lIG9mIGBkYXRhYmFzZWAgb3IgYGRhdGFiYXNlTmFtZWAgb3Igb25seSBvbmUgb2YgdGhlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gY29ubmVjdGlvbiB0byBhbnkgZGF0YWJhc2UgaXMgZ3JhbnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogT290aW9uYWwgZGF0YWJhc2UgbmFtZSB0aGlzIHVzZXIgaXMgZXhwZWN0ZWQgdG8gdXNlLlxuICAgKlxuICAgKiBTcGVjaWZ5IG5vbmUgb2YgYGRhdGFiYXNlYCBvciBgZGF0YWJhc2VOYW1lYCBvciBvbmx5IG9uZSBvZiB0aGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBjb25uZWN0aW9uIHRvIGFueSBkYXRhYmFzZSBpcyBncmFudGVkXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIFJvbGUgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb2xlUHJvcHMpIHtcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UgJiYgcHJvcHMuZGF0YWJhc2VOYW1lKVxuICAgICAgdGhyb3cgXCJTcGVjaWZ5IGVpdGhlciBkYXRhYmFzZSBvciBkYXRhYmFzZU5hbWVcIlxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5ST0xFLFxuICAgICAgICBSZXNvdXJjZUlkOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBQYXNzd29yZEFybjogcHJvcHMucGFzc3dvcmRBcm4sXG4gICAgICAgIERhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2UgPyBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUgOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlKSB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5kYXRhYmFzZSlcbiAgfVxufVxuIl19
|
package/lib/role.d.ts
CHANGED
|
@@ -14,11 +14,21 @@ export interface RoleProps {
|
|
|
14
14
|
*/
|
|
15
15
|
readonly roleName: string;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Optional database this user is expected to use.
|
|
18
|
+
*
|
|
19
|
+
* Specify none of `database` or `databaseName` or only one of them.
|
|
18
20
|
*
|
|
19
21
|
* @default no connection to any database is granted
|
|
20
22
|
*/
|
|
21
23
|
readonly database?: IDatabase;
|
|
24
|
+
/**
|
|
25
|
+
* Ootional database name this user is expected to use.
|
|
26
|
+
*
|
|
27
|
+
* Specify none of `database` or `databaseName` or only one of them.
|
|
28
|
+
*
|
|
29
|
+
* @default no connection to any database is granted
|
|
30
|
+
*/
|
|
31
|
+
readonly databaseName?: string;
|
|
22
32
|
/**
|
|
23
33
|
* Database cluster to access.
|
|
24
34
|
*/
|
package/lib/role.js
CHANGED
|
@@ -9,6 +9,8 @@ const constructs_1 = require("constructs");
|
|
|
9
9
|
const role_custom_resource_1 = require("./role.custom-resource");
|
|
10
10
|
class Role extends constructs_1.Construct {
|
|
11
11
|
constructor(scope, id, props) {
|
|
12
|
+
if (props.database && props.databaseName)
|
|
13
|
+
throw "Specify either database or databaseName";
|
|
12
14
|
super(scope, id);
|
|
13
15
|
this.secret = new aws_secretsmanager_1.Secret(this, "Secret", {
|
|
14
16
|
encryptionKey: props.encryptionKey,
|
|
@@ -33,6 +35,7 @@ class Role extends constructs_1.Construct {
|
|
|
33
35
|
roleName: props.roleName,
|
|
34
36
|
passwordArn: this.secret.secretArn,
|
|
35
37
|
database: props.database,
|
|
38
|
+
databaseName: props.databaseName,
|
|
36
39
|
});
|
|
37
40
|
role.node.addDependency(this.secret);
|
|
38
41
|
this.roleName = props.roleName;
|
|
@@ -41,5 +44,5 @@ class Role extends constructs_1.Construct {
|
|
|
41
44
|
}
|
|
42
45
|
exports.Role = Role;
|
|
43
46
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
Role[_a] = { fqn: "cdk-rds-sql.Role", version: "1.
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
Role[_a] = { fqn: "cdk-rds-sql.Role", version: "1.2.0" };
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTJDO0FBRzNDLHVFQUFnRTtBQUNoRSwyQ0FBc0M7QUFHdEMsaUVBQW1FO0FBNENuRSxNQUFhLElBQUssU0FBUSxzQkFBUztJQVdqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsWUFBWTtZQUN0QyxNQUFNLHlDQUF5QyxDQUFBO1FBQ2pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDJCQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN2QyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsV0FBVyxFQUFFLHNDQUFzQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ25FLG9CQUFvQixFQUFFO2dCQUNwQixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7b0JBQ3BELE1BQU0sRUFBRSxVQUFVO29CQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUTtvQkFDNUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUk7b0JBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUNqRSxDQUFDO2dCQUNGLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzdCLGlCQUFpQixFQUFFLCtCQUErQjthQUNuRDtZQUNELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSwyQkFBa0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNsQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDOztBQTNDSCxvQkE0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGttcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiXG5pbXBvcnQgeyBTZXJ2ZXJsZXNzQ2x1c3RlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCJcbmltcG9ydCB7IElTZWNyZXQsIFNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgSURhdGFiYXNlIH0gZnJvbSBcIi4vZGF0YWJhc2VcIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5pbXBvcnQgeyBSb2xlIGFzIEN1c3RvbVJlc291cmNlUm9sZSB9IGZyb20gXCIuL3JvbGUuY3VzdG9tLXJlc291cmNlXCJcblxuZXhwb3J0IGludGVyZmFjZSBSb2xlUHJvcHMge1xuICAvKipcbiAgICogUHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogUHJvdmlkZXJcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSB0aGlzIHVzZXIgaXMgZXhwZWN0ZWQgdG8gdXNlLlxuICAgKlxuICAgKiBTcGVjaWZ5IG5vbmUgb2YgYGRhdGFiYXNlYCBvciBgZGF0YWJhc2VOYW1lYCBvciBvbmx5IG9uZSBvZiB0aGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBjb25uZWN0aW9uIHRvIGFueSBkYXRhYmFzZSBpcyBncmFudGVkXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZT86IElEYXRhYmFzZVxuXG4gIC8qKlxuICAgKiBPb3Rpb25hbCBkYXRhYmFzZSBuYW1lIHRoaXMgdXNlciBpcyBleHBlY3RlZCB0byB1c2UuXG4gICAqXG4gICAqIFNwZWNpZnkgbm9uZSBvZiBgZGF0YWJhc2VgIG9yIGBkYXRhYmFzZU5hbWVgIG9yIG9ubHkgb25lIG9mIHRoZW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGNvbm5lY3Rpb24gdG8gYW55IGRhdGFiYXNlIGlzIGdyYW50ZWRcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBEYXRhYmFzZSBjbHVzdGVyIHRvIGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IFNlcnZlcmxlc3NDbHVzdGVyXG5cbiAgLyoqXG4gICAqIEEgbmV3IHNlY3JldCBpcyBjcmVhdGVkIGZvciB0aGlzIHVzZXIuXG4gICAqXG4gICAqIE9wdGlvbmFsbHkgZW5jcnlwdCBpdCB3aXRoIHRoZSBnaXZlbiBrZXkuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXlcbn1cblxuZXhwb3J0IGNsYXNzIFJvbGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIHJvbGUgbmFtZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgc2VjcmV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldDogSVNlY3JldFxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb2xlUHJvcHMpIHtcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UgJiYgcHJvcHMuZGF0YWJhc2VOYW1lKVxuICAgICAgdGhyb3cgXCJTcGVjaWZ5IGVpdGhlciBkYXRhYmFzZSBvciBkYXRhYmFzZU5hbWVcIlxuICAgIHN1cGVyKHNjb3BlLCBpZClcbiAgICB0aGlzLnNlY3JldCA9IG5ldyBTZWNyZXQodGhpcywgXCJTZWNyZXRcIiwge1xuICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZW5jcnlwdGlvbktleSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgR2VuZXJhdGVkIHNlY3JldCBmb3IgcG9zdGdyZXMgcm9sZSAke3Byb3BzLnJvbGVOYW1lfWAsXG4gICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZzoge1xuICAgICAgICBwYXNzd29yZExlbmd0aDogMzAsIC8vIE9yYWNsZSBwYXNzd29yZCBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gMzAgY2hhcmFjdGVyc1xuICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGRiQ2x1c3RlcklkZW50aWZpZXI6IHByb3BzLmNsdXN0ZXIuY2x1c3RlcklkZW50aWZpZXIsXG4gICAgICAgICAgZW5naW5lOiBcInBvc3RncmVzXCIsXG4gICAgICAgICAgaG9zdDogcHJvcHMuY2x1c3Rlci5jbHVzdGVyRW5kcG9pbnQuaG9zdG5hbWUsXG4gICAgICAgICAgcG9ydDogcHJvcHMuY2x1c3Rlci5jbHVzdGVyRW5kcG9pbnQucG9ydCxcbiAgICAgICAgICB1c2VybmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICAgICAgZGJuYW1lOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSksXG4gICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCIsXG4gICAgICAgIGV4Y2x1ZGVDaGFyYWN0ZXJzOiBcIiAlK35gIyQmKigpfFtde306Ozw+PyEnL0BcXFwiXFxcXFwiLFxuICAgICAgfSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICB9KVxuICAgIGNvbnN0IHJvbGUgPSBuZXcgQ3VzdG9tUmVzb3VyY2VSb2xlKHRoaXMsIFwiUG9zdGdyZXNSb2xlXCIsIHtcbiAgICAgIHByb3ZpZGVyOiBwcm9wcy5wcm92aWRlcixcbiAgICAgIHJvbGVOYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgIHBhc3N3b3JkQXJuOiB0aGlzLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICBkYXRhYmFzZTogcHJvcHMuZGF0YWJhc2UsXG4gICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICB9KVxuICAgIHJvbGUubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuc2VjcmV0KVxuICAgIHRoaXMucm9sZU5hbWUgPSBwcm9wcy5yb2xlTmFtZVxuICAgIHRoaXMuc2VjcmV0LmdyYW50UmVhZChwcm9wcy5wcm92aWRlci5oYW5kbGVyKVxuICB9XG59XG4iXX0=
|
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: "1.
|
|
27
|
+
Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "1.2.0" };
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsTUFBTyxTQUFRLDRCQUFjO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxNQUFNO2dCQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDbkU7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ2xDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsQ0FBQzs7QUFoQkgsd0JBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgSURhdGFiYXNlIH0gZnJvbSBcIi4vZGF0YWJhc2VcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBkZWZhdWx0IGRhdGFiYXNlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZT86IElEYXRhYmFzZVxuXG4gIC8qKlxuICAgKiBTUUwuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWFOYW1lOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYSBleHRlbmRzIEN1c3RvbVJlc291cmNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHNjaGVtYU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTY2hlbWFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TQ0hFTUEsXG4gICAgICAgIFJlc291cmNlSWQ6IHByb3BzLnNjaGVtYU5hbWUsXG4gICAgICAgIFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgRGF0YWJhc2U6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIHRoaXMuc2NoZW1hTmFtZSA9IHByb3BzLnNjaGVtYU5hbWVcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UpIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmRhdGFiYXNlKVxuICB9XG59XG4iXX0=
|
package/lib/sql.js
CHANGED
|
@@ -23,5 +23,5 @@ class Sql extends aws_cdk_lib_1.CustomResource {
|
|
|
23
23
|
}
|
|
24
24
|
exports.Sql = Sql;
|
|
25
25
|
_a = JSII_RTTI_SYMBOL_1;
|
|
26
|
-
Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "1.
|
|
26
|
+
Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "1.2.0" };
|
|
27
27
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2xFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUzthQUMzQjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7O0FBYkgsa0JBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3FsUHJvcHMge1xuICAvKipcbiAgICogUHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogUHJvdmlkZXJcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIGRlZmF1bHQgZGF0YWJhc2VcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogSURhdGFiYXNlXG5cbiAgLyoqXG4gICAqIFNRTC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlbWVudD86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgU3FsIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3FsUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBSZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UuU1FMLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIERhdGFiYXNlOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgU3RhdGVtZW50OiBwcm9wcy5zdGF0ZW1lbnQsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlKSB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5kYXRhYmFzZSlcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@types/pg": "^8.6.5",
|
|
43
43
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
44
44
|
"@typescript-eslint/parser": "^5",
|
|
45
|
-
"aws-cdk-lib": "2.
|
|
45
|
+
"aws-cdk-lib": "2.43.1",
|
|
46
46
|
"constructs": "10.1.104",
|
|
47
47
|
"esbuild": "^0.15.9",
|
|
48
48
|
"eslint": "^8",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"typescript": "^4.8.4"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"aws-cdk-lib": "^2.
|
|
70
|
+
"aws-cdk-lib": "^2.43.1",
|
|
71
71
|
"constructs": "^10.1.104"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
],
|
|
96
96
|
"main": "lib/index.js",
|
|
97
97
|
"license": "Apache-2.0",
|
|
98
|
-
"version": "1.
|
|
98
|
+
"version": "1.2.0",
|
|
99
99
|
"jest": {
|
|
100
100
|
"testMatch": [
|
|
101
101
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|