@aws-cdk/aws-redshift-alpha 2.18.0-alpha.0 → 2.21.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.18.0",
11
+ "aws-cdk-lib": "^2.21.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -1913,6 +1913,19 @@
1913
1913
  }
1914
1914
  }
1915
1915
  },
1916
+ "aws-cdk-lib.aws_mediatailor": {
1917
+ "targets": {
1918
+ "dotnet": {
1919
+ "namespace": "Amazon.CDK.AWS.MediaTailor"
1920
+ },
1921
+ "java": {
1922
+ "package": "software.amazon.awscdk.services.mediatailor"
1923
+ },
1924
+ "python": {
1925
+ "module": "aws_cdk.aws_mediatailor"
1926
+ }
1927
+ }
1928
+ },
1916
1929
  "aws-cdk-lib.aws_memorydb": {
1917
1930
  "targets": {
1918
1931
  "dotnet": {
@@ -2959,7 +2972,7 @@
2959
2972
  "stability": "experimental"
2960
2973
  },
2961
2974
  "homepage": "https://github.com/aws/aws-cdk",
2962
- "jsiiVersion": "1.55.1 (build 07d2d90)",
2975
+ "jsiiVersion": "1.57.0 (build f614666)",
2963
2976
  "keywords": [
2964
2977
  "aws",
2965
2978
  "cdk",
@@ -2980,7 +2993,7 @@
2980
2993
  },
2981
2994
  "name": "@aws-cdk/aws-redshift-alpha",
2982
2995
  "readme": {
2983
- "markdown": "# Amazon Redshift Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n## Starting a Redshift Cluster Database\n\nTo set up a Redshift cluster, define a `Cluster`. It will be launched in a VPC.\nYou can specify a VPC, otherwise one will be created. The nodes are always launched in private subnets and are encrypted by default.\n\n```ts\nimport * as ec2 from 'aws-cdk-lib/aws-ec2';\n\nconst vpc = new ec2.Vpc(this, 'Vpc');\nconst cluster = new Cluster(this, 'Redshift', {\n masterUser: {\n masterUsername: 'admin',\n },\n vpc\n});\n```\n\nBy default, the master password will be generated and stored in AWS Secrets Manager.\n\nA default database named `default_db` will be created in the cluster. To change the name of this database set the `defaultDatabaseName` attribute in the constructor properties.\n\nBy default, the cluster will not be publicly accessible.\nDepending on your use case, you can make the cluster publicly accessible with the `publiclyAccessible` property.\n\n## Connecting\n\nTo control who can access the cluster, use the `.connections` attribute. Redshift Clusters have\na default port, so you don't need to specify the port:\n\n```ts fixture=cluster\ncluster.connections.allowDefaultPortFromAnyIpv4('Open to the world');\n```\n\nThe endpoint to access your database cluster will be available as the `.clusterEndpoint` attribute:\n\n```ts fixture=cluster\ncluster.clusterEndpoint.socketAddress; // \"HOSTNAME:PORT\"\n```\n\n## Rotating credentials\n\nWhen the master password is generated and stored in AWS Secrets Manager, it can be rotated automatically:\n\n```ts fixture=cluster\ncluster.addRotationSingleUser(); // Will rotate automatically after 30 days\n```\n\nThe multi user rotation scheme is also available:\n\n```ts fixture=cluster\nimport * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';\n\ncluster.addRotationMultiUser('MyUser', {\n secret: secretsmanager.Secret.fromSecretNameV2(this, 'Imported Secret', 'my-secret'),\n});\n```\n\n## Database Resources\n\nThis module allows for the creation of non-CloudFormation database resources such as users\nand tables. This allows you to manage identities, permissions, and stateful resources\nwithin your Redshift cluster from your CDK application.\n\nBecause these resources are not available in CloudFormation, this library leverages\n[custom\nresources](https://docs.aws.amazon.com/cdk/api/latest/docs/custom-resources-readme.html)\nto manage them. In addition to the IAM permissions required to make Redshift service\ncalls, the execution role for the custom resource handler requires database credentials to\ncreate resources within the cluster.\n\nThese database credentials can be supplied explicitly through the `adminUser` properties\nof the various database resource constructs. Alternatively, the credentials can be\nautomatically pulled from the Redshift cluster's default administrator\ncredentials. However, this option is only available if the password for the credentials\nwas generated by the CDK application (ie., no value vas provided for [the `masterPassword`\nproperty](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-redshift.Login.html#masterpasswordspan-classapi-icon-api-icon-experimental-titlethis-api-element-is-experimental-it-may-change-without-noticespan)\nof\n[`Cluster.masterUser`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-redshift.Cluster.html#masteruserspan-classapi-icon-api-icon-experimental-titlethis-api-element-is-experimental-it-may-change-without-noticespan)).\n\n### Creating Users\n\nCreate a user within a Redshift cluster database by instantiating a `User` construct. This\nwill generate a username and password, store the credentials in a [AWS Secrets Manager\n`Secret`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html),\nand make a query to the Redshift cluster to create a new database user with the\ncredentials.\n\n```ts fixture=cluster\nnew User(this, 'User', {\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nBy default, the user credentials are encrypted with your AWS account's default Secrets\nManager encryption key. You can specify the encryption key used for this purpose by\nsupplying a key in the `encryptionKey` property.\n\n```ts fixture=cluster\nimport * as kms from 'aws-cdk-lib/aws-kms';\n\nconst encryptionKey = new kms.Key(this, 'Key');\nnew User(this, 'User', {\n encryptionKey: encryptionKey,\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nBy default, a username is automatically generated from the user construct ID and its path\nin the construct tree. You can specify a particular username by providing a value for the\n`username` property. Usernames must be valid identifiers; see: [Names and\nidentifiers](https://docs.aws.amazon.com/redshift/latest/dg/r_names.html) in the *Amazon\nRedshift Database Developer Guide*.\n\n```ts fixture=cluster\nnew User(this, 'User', {\n username: 'myuser',\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nThe user password is generated by AWS Secrets Manager using the default configuration\nfound in\n[`secretsmanager.SecretStringGenerator`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.SecretStringGenerator.html),\nexcept with password length `30` and some SQL-incompliant characters excluded. The\nplaintext for the password will never be present in the CDK application; instead, a\n[CloudFormation Dynamic\nReference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)\nwill be used wherever the password value is required.\n\n### Creating Tables\n\nCreate a table within a Redshift cluster database by instantiating a `Table`\nconstruct. This will make a query to the Redshift cluster to create a new database table\nwith the supplied schema.\n\n```ts fixture=cluster\nnew Table(this, 'Table', {\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nThe table can be configured to have distStyle attribute and a distKey column:\n\n```ts fixture=cluster\nnew Table(this, 'Table', {\n tableColumns: [\n { name: 'col1', dataType: 'varchar(4)', distKey: true },\n { name: 'col2', dataType: 'float' },\n ],\n cluster: cluster,\n databaseName: 'databaseName',\n distStyle: TableDistStyle.KEY,\n});\n```\n\nThe table can also be configured to have sortStyle attribute and sortKey columns:\n\n```ts fixture=cluster\nnew Table(this, 'Table', {\n tableColumns: [\n { name: 'col1', dataType: 'varchar(4)', sortKey: true },\n { name: 'col2', dataType: 'float', sortKey: true },\n ],\n cluster: cluster,\n databaseName: 'databaseName',\n sortStyle: TableSortStyle.COMPOUND,\n});\n```\n\n### Granting Privileges\n\nYou can give a user privileges to perform certain actions on a table by using the\n`Table.grant()` method.\n\n```ts fixture=cluster\nconst user = new User(this, 'User', {\n cluster: cluster,\n databaseName: 'databaseName',\n});\nconst table = new Table(this, 'Table', {\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\n\ntable.grant(user, TableAction.DROP, TableAction.SELECT);\n```\n\nTake care when managing privileges via the CDK, as attempting to manage a user's\nprivileges on the same table in multiple CDK applications could lead to accidentally\noverriding these permissions. Consider the following two CDK applications which both refer\nto the same user and table. In application 1, the resources are created and the user is\ngiven `INSERT` permissions on the table:\n\n```ts fixture=cluster\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = new User(this, 'User', {\n username: username,\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = new Table(this, 'Table', {\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: databaseName,\n});\ntable.grant(user, TableAction.INSERT);\n```\n\nIn application 2, the resources are imported and the user is given `INSERT` permissions on\nthe table:\n\n```ts fixture=cluster\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n```\n\nBoth applications attempt to grant the user the appropriate privilege on the table by\nsubmitting a `GRANT USER` SQL query to the Redshift cluster. Note that the latter of these\ntwo calls will have no effect since the user has already been granted the privilege.\n\nNow, if application 1 were to remove the call to `grant`, a `REVOKE USER` SQL query is\nsubmitted to the Redshift cluster. In general, application 1 does not know that\napplication 2 has also granted this permission and thus cannot decide not to issue the\nrevocation. This leads to the undesirable state where application 2 still contains the\ncall to `grant` but the user does not have the specified permission.\n\nNote that this does not occur when duplicate privileges are granted within the same\napplication, as such privileges are de-duplicated before any SQL query is submitted.\n"
2996
+ "markdown": "# Amazon Redshift Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n## Starting a Redshift Cluster Database\n\nTo set up a Redshift cluster, define a `Cluster`. It will be launched in a VPC.\nYou can specify a VPC, otherwise one will be created. The nodes are always launched in private subnets and are encrypted by default.\n\n```ts\nimport * as ec2 from 'aws-cdk-lib/aws-ec2';\n\nconst vpc = new ec2.Vpc(this, 'Vpc');\nconst cluster = new Cluster(this, 'Redshift', {\n masterUser: {\n masterUsername: 'admin',\n },\n vpc\n});\n```\n\nBy default, the master password will be generated and stored in AWS Secrets Manager.\n\nA default database named `default_db` will be created in the cluster. To change the name of this database set the `defaultDatabaseName` attribute in the constructor properties.\n\nBy default, the cluster will not be publicly accessible.\nDepending on your use case, you can make the cluster publicly accessible with the `publiclyAccessible` property.\n\n## Connecting\n\nTo control who can access the cluster, use the `.connections` attribute. Redshift Clusters have\na default port, so you don't need to specify the port:\n\n```ts fixture=cluster\ncluster.connections.allowDefaultPortFromAnyIpv4('Open to the world');\n```\n\nThe endpoint to access your database cluster will be available as the `.clusterEndpoint` attribute:\n\n```ts fixture=cluster\ncluster.clusterEndpoint.socketAddress; // \"HOSTNAME:PORT\"\n```\n\n## Rotating credentials\n\nWhen the master password is generated and stored in AWS Secrets Manager, it can be rotated automatically:\n\n```ts fixture=cluster\ncluster.addRotationSingleUser(); // Will rotate automatically after 30 days\n```\n\nThe multi user rotation scheme is also available:\n\n```ts fixture=cluster\nimport * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';\n\ncluster.addRotationMultiUser('MyUser', {\n secret: secretsmanager.Secret.fromSecretNameV2(this, 'Imported Secret', 'my-secret'),\n});\n```\n\n## Database Resources\n\nThis module allows for the creation of non-CloudFormation database resources such as users\nand tables. This allows you to manage identities, permissions, and stateful resources\nwithin your Redshift cluster from your CDK application.\n\nBecause these resources are not available in CloudFormation, this library leverages\n[custom\nresources](https://docs.aws.amazon.com/cdk/api/latest/docs/custom-resources-readme.html)\nto manage them. In addition to the IAM permissions required to make Redshift service\ncalls, the execution role for the custom resource handler requires database credentials to\ncreate resources within the cluster.\n\nThese database credentials can be supplied explicitly through the `adminUser` properties\nof the various database resource constructs. Alternatively, the credentials can be\nautomatically pulled from the Redshift cluster's default administrator\ncredentials. However, this option is only available if the password for the credentials\nwas generated by the CDK application (ie., no value vas provided for [the `masterPassword`\nproperty](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-redshift.Login.html#masterpasswordspan-classapi-icon-api-icon-experimental-titlethis-api-element-is-experimental-it-may-change-without-noticespan)\nof\n[`Cluster.masterUser`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-redshift.Cluster.html#masteruserspan-classapi-icon-api-icon-experimental-titlethis-api-element-is-experimental-it-may-change-without-noticespan)).\n\n### Creating Users\n\nCreate a user within a Redshift cluster database by instantiating a `User` construct. This\nwill generate a username and password, store the credentials in a [AWS Secrets Manager\n`Secret`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html),\nand make a query to the Redshift cluster to create a new database user with the\ncredentials.\n\n```ts fixture=cluster\nnew User(this, 'User', {\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nBy default, the user credentials are encrypted with your AWS account's default Secrets\nManager encryption key. You can specify the encryption key used for this purpose by\nsupplying a key in the `encryptionKey` property.\n\n```ts fixture=cluster\nimport * as kms from 'aws-cdk-lib/aws-kms';\n\nconst encryptionKey = new kms.Key(this, 'Key');\nnew User(this, 'User', {\n encryptionKey: encryptionKey,\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nBy default, a username is automatically generated from the user construct ID and its path\nin the construct tree. You can specify a particular username by providing a value for the\n`username` property. Usernames must be valid identifiers; see: [Names and\nidentifiers](https://docs.aws.amazon.com/redshift/latest/dg/r_names.html) in the *Amazon\nRedshift Database Developer Guide*.\n\n```ts fixture=cluster\nnew User(this, 'User', {\n username: 'myuser',\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nThe user password is generated by AWS Secrets Manager using the default configuration\nfound in\n[`secretsmanager.SecretStringGenerator`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.SecretStringGenerator.html),\nexcept with password length `30` and some SQL-incompliant characters excluded. The\nplaintext for the password will never be present in the CDK application; instead, a\n[CloudFormation Dynamic\nReference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)\nwill be used wherever the password value is required.\n\n### Creating Tables\n\nCreate a table within a Redshift cluster database by instantiating a `Table`\nconstruct. This will make a query to the Redshift cluster to create a new database table\nwith the supplied schema.\n\n```ts fixture=cluster\nnew Table(this, 'Table', {\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\n```\n\nThe table can be configured to have distStyle attribute and a distKey column:\n\n```ts fixture=cluster\nnew Table(this, 'Table', {\n tableColumns: [\n { name: 'col1', dataType: 'varchar(4)', distKey: true },\n { name: 'col2', dataType: 'float' },\n ],\n cluster: cluster,\n databaseName: 'databaseName',\n distStyle: TableDistStyle.KEY,\n});\n```\n\nThe table can also be configured to have sortStyle attribute and sortKey columns:\n\n```ts fixture=cluster\nnew Table(this, 'Table', {\n tableColumns: [\n { name: 'col1', dataType: 'varchar(4)', sortKey: true },\n { name: 'col2', dataType: 'float', sortKey: true },\n ],\n cluster: cluster,\n databaseName: 'databaseName',\n sortStyle: TableSortStyle.COMPOUND,\n});\n```\n\n### Granting Privileges\n\nYou can give a user privileges to perform certain actions on a table by using the\n`Table.grant()` method.\n\n```ts fixture=cluster\nconst user = new User(this, 'User', {\n cluster: cluster,\n databaseName: 'databaseName',\n});\nconst table = new Table(this, 'Table', {\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\n\ntable.grant(user, TableAction.DROP, TableAction.SELECT);\n```\n\nTake care when managing privileges via the CDK, as attempting to manage a user's\nprivileges on the same table in multiple CDK applications could lead to accidentally\noverriding these permissions. Consider the following two CDK applications which both refer\nto the same user and table. In application 1, the resources are created and the user is\ngiven `INSERT` permissions on the table:\n\n```ts fixture=cluster\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = new User(this, 'User', {\n username: username,\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = new Table(this, 'Table', {\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: databaseName,\n});\ntable.grant(user, TableAction.INSERT);\n```\n\nIn application 2, the resources are imported and the user is given `INSERT` permissions on\nthe table:\n\n```ts fixture=cluster\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n```\n\nBoth applications attempt to grant the user the appropriate privilege on the table by\nsubmitting a `GRANT USER` SQL query to the Redshift cluster. Note that the latter of these\ntwo calls will have no effect since the user has already been granted the privilege.\n\nNow, if application 1 were to remove the call to `grant`, a `REVOKE USER` SQL query is\nsubmitted to the Redshift cluster. In general, application 1 does not know that\napplication 2 has also granted this permission and thus cannot decide not to issue the\nrevocation. This leads to the undesirable state where application 2 still contains the\ncall to `grant` but the user does not have the specified permission.\n\nNote that this does not occur when duplicate privileges are granted within the same\napplication, as such privileges are de-duplicated before any SQL query is submitted.\n"
2984
2997
  },
2985
2998
  "repository": {
2986
2999
  "directory": "packages/individual-packages/aws-redshift",
@@ -3011,7 +3024,7 @@
3011
3024
  "python": {
3012
3025
  "classifiers": [
3013
3026
  "Framework :: AWS CDK",
3014
- "Framework :: AWS CDK :: 1"
3027
+ "Framework :: AWS CDK :: 2"
3015
3028
  ],
3016
3029
  "distName": "aws-cdk.aws-redshift-alpha",
3017
3030
  "module": "aws_cdk.aws_redshift_alpha"
@@ -5371,7 +5384,7 @@
5371
5384
  "custom": {
5372
5385
  "exampleMetadata": "fixture=cluster infused"
5373
5386
  },
5374
- "example": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
5387
+ "example": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
5375
5388
  "stability": "experimental",
5376
5389
  "summary": "A full specification of a Redshift table that can be used to import it fluently into the CDK application."
5377
5390
  },
@@ -5890,7 +5903,7 @@
5890
5903
  "custom": {
5891
5904
  "exampleMetadata": "fixture=cluster infused"
5892
5905
  },
5893
- "example": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
5906
+ "example": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
5894
5907
  "stability": "experimental",
5895
5908
  "summary": "A full specification of a Redshift user that can be used to import it fluently into the CDK application."
5896
5909
  },
@@ -6022,6 +6035,6 @@
6022
6035
  "symbolId": "lib/user:UserProps"
6023
6036
  }
6024
6037
  },
6025
- "version": "2.18.0-alpha.0",
6038
+ "version": "2.21.0-alpha.0",
6026
6039
  "fingerprint": "**********"
6027
6040
  }
package/.jsii.tabl.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2",
3
- "toolVersion": "1.55.1",
3
+ "toolVersion": "1.57.0",
4
4
  "snippets": {
5
5
  "77425c7fd1ef15dd1574743be3c65278d07651c9c04e0bd9981eea74eda15594": {
6
6
  "translations": {
@@ -61,7 +61,7 @@
61
61
  "282": 1,
62
62
  "290": 1
63
63
  },
64
- "fqnsFingerprint": "18f13dba71199d2e430ea0b79308151f8e94bbaaa2ed4f5a0476d1b51c7cc16b"
64
+ "fqnsFingerprint": "7bf8d07521bd885627c77352be98ca02153ac7960ddb2c1d7b0276e2ea5565fe"
65
65
  },
66
66
  "585b6875877412a14dd2e8e16c2432d724a4db31d1a9f095692345f7966168b0": {
67
67
  "translations": {
@@ -111,7 +111,7 @@
111
111
  "196": 1,
112
112
  "226": 1
113
113
  },
114
- "fqnsFingerprint": "3c965045a830cc8ab7957600a491584afb5ff0b8503db105d9e6c1dd9fe87fc3"
114
+ "fqnsFingerprint": "c09c208ead9c2951d0c7c26f4044e422fb1fdb72b53ac6e1f629057686082444"
115
115
  },
116
116
  "53898f5c76a5790226ff3b2e6dc225fa1c4e4ce020d0dd2ec508edfc011431a9": {
117
117
  "translations": {
@@ -159,7 +159,7 @@
159
159
  "194": 2,
160
160
  "226": 1
161
161
  },
162
- "fqnsFingerprint": "0a520b1a9897c8ae569bab892b1cb8e10b99b7640ab9736816bf27a23d89d8b9"
162
+ "fqnsFingerprint": "a5a597693b630127d564ba2d9b7169c0adcd97a756716be2544e9cb9c2daa38e"
163
163
  },
164
164
  "ea7697f36a541ca083e3f22fdf5be6a1d19936e9af89c79f4491e89041cc4c86": {
165
165
  "translations": {
@@ -207,7 +207,7 @@
207
207
  "196": 1,
208
208
  "226": 1
209
209
  },
210
- "fqnsFingerprint": "3be7ef5b02c9cc019a61b064de9a037f413a9581deb9879d3a6afa1c10927adf"
210
+ "fqnsFingerprint": "8ab9dd8da1d881a3928426b28235fb7932d3996a873e1aaf4e897be10b7fb2c6"
211
211
  },
212
212
  "e74f34fb7fe6a47b5f7cc19db770a7874292b0618579dc7fbdb83bfb017e5f29": {
213
213
  "translations": {
@@ -267,7 +267,7 @@
267
267
  "281": 1,
268
268
  "290": 1
269
269
  },
270
- "fqnsFingerprint": "fd169c6354e935e4f3fc202c7ab0ce9c23e2c989df192bdec9fb951f9874cba0"
270
+ "fqnsFingerprint": "b89828cfab69f5dc44717c6b18ff5fd6f5af16df9549f4b83a0fc0f6b68e566d"
271
271
  },
272
272
  "60decaed1d4917292cd776865b3b6999cb55ecf2dd2cec4353a9a92d38d4fc3a": {
273
273
  "translations": {
@@ -320,7 +320,7 @@
320
320
  "226": 1,
321
321
  "281": 2
322
322
  },
323
- "fqnsFingerprint": "7f6da930f7414aa7ee65bf06105a4841783a931b36299377cc7b8b1e905e1bb6"
323
+ "fqnsFingerprint": "829790220d8159205f255e3c337a5f65f248b44e88d8748276d5e5610fac42e8"
324
324
  },
325
325
  "7cf073ffb5972e1259d951481763f8da403e1fee297039b18b7a0ef91445d9b9": {
326
326
  "translations": {
@@ -383,7 +383,7 @@
383
383
  "281": 3,
384
384
  "290": 1
385
385
  },
386
- "fqnsFingerprint": "9ab756b2602e8b467b56b317b41a3f0c976a34a1e53e9b9a3c39a5d74553add0"
386
+ "fqnsFingerprint": "5f9b4158a99fa99b751286a33fd08ac488e9d428bf4e8ffb39662b7993da5400"
387
387
  },
388
388
  "8b226b5e5f30a1e1dd1cdf8a2c4bb393bf11672cb0f8390eba8f0d4ce86c2b29": {
389
389
  "translations": {
@@ -436,7 +436,7 @@
436
436
  "226": 1,
437
437
  "281": 3
438
438
  },
439
- "fqnsFingerprint": "7f6da930f7414aa7ee65bf06105a4841783a931b36299377cc7b8b1e905e1bb6"
439
+ "fqnsFingerprint": "829790220d8159205f255e3c337a5f65f248b44e88d8748276d5e5610fac42e8"
440
440
  },
441
441
  "51173779cc099a9ee0c91df2a0c3ca5d4940c309c4927477053b972d5c7012a7": {
442
442
  "translations": {
@@ -490,7 +490,7 @@
490
490
  "226": 1,
491
491
  "281": 7
492
492
  },
493
- "fqnsFingerprint": "8df43ed15aeb171aef90b1cbc0bfa1f76f720398b1ece0dfe9db370ce41bde81"
493
+ "fqnsFingerprint": "81692c396051559b36c0fa33a4470f7fc0b9d5d21e626adc8df6f11dc110d53b"
494
494
  },
495
495
  "aad92f9790d1e46c93d01e7996a2c3516cc660f3bbcf1f752db71f9d7aec0844": {
496
496
  "translations": {
@@ -548,7 +548,7 @@
548
548
  "226": 1,
549
549
  "281": 9
550
550
  },
551
- "fqnsFingerprint": "69641a18ae5395fbb8804c6d30bd2ebf12ee6ab71ca8b1d15be3ae1730ab64dd"
551
+ "fqnsFingerprint": "4a09f8d766e3ece82d40d0eb1501981a647c62ef653a9820074789303dfe7684"
552
552
  },
553
553
  "5dabd6075cf5a4e05b77f35019b5909e7f3107d296e8a29d7b241f560dfbaeb7": {
554
554
  "translations": {
@@ -606,7 +606,7 @@
606
606
  "226": 1,
607
607
  "281": 10
608
608
  },
609
- "fqnsFingerprint": "d6ea3d107869f418eb806cec518bc09d96e58363f25ce62793542e48c7c34040"
609
+ "fqnsFingerprint": "ffff7aee2c76aef36666b239828ab1d668f14c49eff63f0efae607658f41e95d"
610
610
  },
611
611
  "1480b6e1d343428ee577d62201289b975f6f40a5bde029a5216d1505fba1ce6b": {
612
612
  "translations": {
@@ -671,7 +671,7 @@
671
671
  "243": 2,
672
672
  "281": 9
673
673
  },
674
- "fqnsFingerprint": "a075c670c32fe3aae634bb3ef46e4ac7b2e67b10e00f972ebb7b0cca1c319543"
674
+ "fqnsFingerprint": "f481d3b76a0878416d5ff8d2898532a803e6562e0be33f10e8937353c0157ea2"
675
675
  },
676
676
  "b4379cc01ad5b391d08ae26db568d0016283c7d1b7af31f79f4e1566aa2437f3": {
677
677
  "translations": {
@@ -735,28 +735,28 @@
735
735
  "243": 5,
736
736
  "281": 10
737
737
  },
738
- "fqnsFingerprint": "2dae7c019eb77ab00883037194d7df8428b42c53e6a9a396f8b74c132ea6813e"
738
+ "fqnsFingerprint": "ba193e430e93cde6c886d40f10aa86ab7b9103a338ad380f7b44e4ae70c34d40"
739
739
  },
740
- "59218a7967d64db0f9bfb7fb099bd3b2c6e3b3eb231c2519c00faf4880007987": {
740
+ "4c475aa8a5033226be368837c77b941d105e17ad04c77aab59db06c8be9b9ac7": {
741
741
  "translations": {
742
742
  "python": {
743
- "source": "database_name = \"databaseName\"\nusername = \"myuser\"\ntable_name = \"mytable\"\n\nuser = User.from_user_attributes(self, \"User\",\n username=username,\n password=SecretValue.plain_text(\"NOT_FOR_PRODUCTION\"),\n cluster=cluster,\n database_name=database_name\n)\ntable = Table.from_table_attributes(self, \"Table\",\n table_name=table_name,\n table_columns=[Column(name=\"col1\", data_type=\"varchar(4)\"), Column(name=\"col2\", data_type=\"float\")],\n cluster=cluster,\n database_name=\"databaseName\"\n)\ntable.grant(user, TableAction.INSERT)",
743
+ "source": "database_name = \"databaseName\"\nusername = \"myuser\"\ntable_name = \"mytable\"\n\nuser = User.from_user_attributes(self, \"User\",\n username=username,\n password=SecretValue.unsafe_plain_text(\"NOT_FOR_PRODUCTION\"),\n cluster=cluster,\n database_name=database_name\n)\ntable = Table.from_table_attributes(self, \"Table\",\n table_name=table_name,\n table_columns=[Column(name=\"col1\", data_type=\"varchar(4)\"), Column(name=\"col2\", data_type=\"float\")],\n cluster=cluster,\n database_name=\"databaseName\"\n)\ntable.grant(user, TableAction.INSERT)",
744
744
  "version": "2"
745
745
  },
746
746
  "csharp": {
747
- "source": "string databaseName = \"databaseName\";\nstring username = \"myuser\";\nstring tableName = \"mytable\";\n\nIUser user = User.FromUserAttributes(this, \"User\", new UserAttributes {\n Username = username,\n Password = SecretValue.PlainText(\"NOT_FOR_PRODUCTION\"),\n Cluster = cluster,\n DatabaseName = databaseName\n});\nITable table = Table.FromTableAttributes(this, \"Table\", new TableAttributes {\n TableName = tableName,\n TableColumns = new [] { new Column { Name = \"col1\", DataType = \"varchar(4)\" }, new Column { Name = \"col2\", DataType = \"float\" } },\n Cluster = cluster,\n DatabaseName = \"databaseName\"\n});\ntable.Grant(user, TableAction.INSERT);",
747
+ "source": "string databaseName = \"databaseName\";\nstring username = \"myuser\";\nstring tableName = \"mytable\";\n\nIUser user = User.FromUserAttributes(this, \"User\", new UserAttributes {\n Username = username,\n Password = SecretValue.UnsafePlainText(\"NOT_FOR_PRODUCTION\"),\n Cluster = cluster,\n DatabaseName = databaseName\n});\nITable table = Table.FromTableAttributes(this, \"Table\", new TableAttributes {\n TableName = tableName,\n TableColumns = new [] { new Column { Name = \"col1\", DataType = \"varchar(4)\" }, new Column { Name = \"col2\", DataType = \"float\" } },\n Cluster = cluster,\n DatabaseName = \"databaseName\"\n});\ntable.Grant(user, TableAction.INSERT);",
748
748
  "version": "1"
749
749
  },
750
750
  "java": {
751
- "source": "String databaseName = \"databaseName\";\nString username = \"myuser\";\nString tableName = \"mytable\";\n\nIUser user = User.fromUserAttributes(this, \"User\", UserAttributes.builder()\n .username(username)\n .password(SecretValue.plainText(\"NOT_FOR_PRODUCTION\"))\n .cluster(cluster)\n .databaseName(databaseName)\n .build());\nITable table = Table.fromTableAttributes(this, \"Table\", TableAttributes.builder()\n .tableName(tableName)\n .tableColumns(List.of(Column.builder().name(\"col1\").dataType(\"varchar(4)\").build(), Column.builder().name(\"col2\").dataType(\"float\").build()))\n .cluster(cluster)\n .databaseName(\"databaseName\")\n .build());\ntable.grant(user, TableAction.INSERT);",
751
+ "source": "String databaseName = \"databaseName\";\nString username = \"myuser\";\nString tableName = \"mytable\";\n\nIUser user = User.fromUserAttributes(this, \"User\", UserAttributes.builder()\n .username(username)\n .password(SecretValue.unsafePlainText(\"NOT_FOR_PRODUCTION\"))\n .cluster(cluster)\n .databaseName(databaseName)\n .build());\nITable table = Table.fromTableAttributes(this, \"Table\", TableAttributes.builder()\n .tableName(tableName)\n .tableColumns(List.of(Column.builder().name(\"col1\").dataType(\"varchar(4)\").build(), Column.builder().name(\"col2\").dataType(\"float\").build()))\n .cluster(cluster)\n .databaseName(\"databaseName\")\n .build());\ntable.grant(user, TableAction.INSERT);",
752
752
  "version": "1"
753
753
  },
754
754
  "go": {
755
- "source": "databaseName := \"databaseName\"\nusername := \"myuser\"\ntableName := \"mytable\"\n\nuser := user.fromUserAttributes(this, jsii.String(\"User\"), &userAttributes{\n\tusername: username,\n\tpassword: secretValue.plainText(jsii.String(\"NOT_FOR_PRODUCTION\")),\n\tcluster: cluster,\n\tdatabaseName: databaseName,\n})\ntable := table.fromTableAttributes(this, jsii.String(\"Table\"), &tableAttributes{\n\ttableName: tableName,\n\ttableColumns: []column{\n\t\t&column{\n\t\t\tname: jsii.String(\"col1\"),\n\t\t\tdataType: jsii.String(\"varchar(4)\"),\n\t\t},\n\t\t&column{\n\t\t\tname: jsii.String(\"col2\"),\n\t\t\tdataType: jsii.String(\"float\"),\n\t\t},\n\t},\n\tcluster: cluster,\n\tdatabaseName: jsii.String(\"databaseName\"),\n})\ntable.grant(user, tableAction_INSERT)",
755
+ "source": "databaseName := \"databaseName\"\nusername := \"myuser\"\ntableName := \"mytable\"\n\nuser := user.fromUserAttributes(this, jsii.String(\"User\"), &userAttributes{\n\tusername: username,\n\tpassword: secretValue.unsafePlainText(jsii.String(\"NOT_FOR_PRODUCTION\")),\n\tcluster: cluster,\n\tdatabaseName: databaseName,\n})\ntable := table.fromTableAttributes(this, jsii.String(\"Table\"), &tableAttributes{\n\ttableName: tableName,\n\ttableColumns: []column{\n\t\t&column{\n\t\t\tname: jsii.String(\"col1\"),\n\t\t\tdataType: jsii.String(\"varchar(4)\"),\n\t\t},\n\t\t&column{\n\t\t\tname: jsii.String(\"col2\"),\n\t\t\tdataType: jsii.String(\"float\"),\n\t\t},\n\t},\n\tcluster: cluster,\n\tdatabaseName: jsii.String(\"databaseName\"),\n})\ntable.grant(user, tableAction_INSERT)",
756
756
  "version": "1"
757
757
  },
758
758
  "$": {
759
- "source": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
759
+ "source": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
760
760
  "version": "0"
761
761
  }
762
762
  },
@@ -784,10 +784,10 @@
784
784
  "@aws-cdk/aws-redshift-alpha.User#fromUserAttributes",
785
785
  "@aws-cdk/aws-redshift-alpha.UserAttributes",
786
786
  "aws-cdk-lib.SecretValue",
787
- "aws-cdk-lib.SecretValue#plainText",
787
+ "aws-cdk-lib.SecretValue#unsafePlainText",
788
788
  "aws-cdk-lib.aws_ec2.IVpc"
789
789
  ],
790
- "fullSource": "// Fixture with cluster already created\nimport { SecretValue, Stack } from 'aws-cdk-lib';\nimport { Vpc } from 'aws-cdk-lib/aws-ec2';\nimport { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift-alpha';\nimport { Construct } from 'constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const vpc = new Vpc(this, 'Vpc');\n const cluster = new Cluster(this, 'Cluster', {\n vpc,\n masterUser: {\n masterUsername: 'admin',\n },\n });\n\n // Code snippet begins after !show marker below\n/// !show\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n",
790
+ "fullSource": "// Fixture with cluster already created\nimport { SecretValue, Stack } from 'aws-cdk-lib';\nimport { Vpc } from 'aws-cdk-lib/aws-ec2';\nimport { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift-alpha';\nimport { Construct } from 'constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const vpc = new Vpc(this, 'Vpc');\n const cluster = new Cluster(this, 'Cluster', {\n vpc,\n masterUser: {\n masterUsername: 'admin',\n },\n });\n\n // Code snippet begins after !show marker below\n/// !show\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n",
791
791
  "syntaxKindCounter": {
792
792
  "10": 11,
793
793
  "75": 33,
@@ -802,7 +802,7 @@
802
802
  "243": 5,
803
803
  "281": 12
804
804
  },
805
- "fqnsFingerprint": "ab19d8c660aaf16b7a32dfad1d73740dbaedbb86f088856f02873914a98b9148"
805
+ "fqnsFingerprint": "24186b7c8a0bcf8435a0339c4d699742b9b83778757438e50e0e9adaf885f8a9"
806
806
  },
807
807
  "00e955f4e1ddfc2b0815c24fae2e7cff3ac6ffe45bcf8e64b556074b9678e53f": {
808
808
  "translations": {
@@ -862,7 +862,7 @@
862
862
  "282": 1,
863
863
  "290": 1
864
864
  },
865
- "fqnsFingerprint": "18f13dba71199d2e430ea0b79308151f8e94bbaaa2ed4f5a0476d1b51c7cc16b"
865
+ "fqnsFingerprint": "7bf8d07521bd885627c77352be98ca02153ac7960ddb2c1d7b0276e2ea5565fe"
866
866
  },
867
867
  "d6c41af477f219a992322c044392d17fe1bf965cae8a8110aa4110e61ca2f64f": {
868
868
  "translations": {
@@ -921,7 +921,7 @@
921
921
  "281": 4,
922
922
  "290": 1
923
923
  },
924
- "fqnsFingerprint": "34188e570871e630d8177284cd1208a517f40cad7597d76c33afb447e6ca005f"
924
+ "fqnsFingerprint": "cd0758e33aa678c5c345c3597b1e3f36210d945f5e5ba2aa5dc2e5a767ec138d"
925
925
  },
926
926
  "65a9cd36a8b9594b38c0a0d95fa00643ef6c7b854e295a2e78d7533f6c0d4fb8": {
927
927
  "translations": {
@@ -977,7 +977,7 @@
977
977
  "281": 3,
978
978
  "290": 1
979
979
  },
980
- "fqnsFingerprint": "d14320629f5a4518acc3c8a8e795c43362d6bd9879a6aae359a16603ae3a75e6"
980
+ "fqnsFingerprint": "e20ba2a928c1240db4101fc13ccddba79b52b7027782ebaf796944c7a4ab005f"
981
981
  },
982
982
  "668d0c5fe079c3e36b822c3c1f1c479f3b651c6374572bcc88da7ece64888418": {
983
983
  "translations": {
@@ -1091,7 +1091,7 @@
1091
1091
  "282": 1,
1092
1092
  "290": 1
1093
1093
  },
1094
- "fqnsFingerprint": "18f13dba71199d2e430ea0b79308151f8e94bbaaa2ed4f5a0476d1b51c7cc16b"
1094
+ "fqnsFingerprint": "7bf8d07521bd885627c77352be98ca02153ac7960ddb2c1d7b0276e2ea5565fe"
1095
1095
  },
1096
1096
  "51118bb4d5c3de88213dac23d2877a4e785360769254185a9eb4e89b0a0d989a": {
1097
1097
  "translations": {
@@ -1160,7 +1160,7 @@
1160
1160
  "281": 10,
1161
1161
  "290": 1
1162
1162
  },
1163
- "fqnsFingerprint": "2541c2fde973a710e42f229d39ea362ce6b42281588be794b09992d375c65e3d"
1163
+ "fqnsFingerprint": "706e015289dabaf3013949976381d7c4438672037494ffea571a223c2448fb15"
1164
1164
  },
1165
1165
  "cacf629afc7210cdf46232db41dea37b5ea7283b293ab5c51b1a6383b15dd69f": {
1166
1166
  "translations": {
@@ -1226,7 +1226,7 @@
1226
1226
  "281": 10,
1227
1227
  "290": 1
1228
1228
  },
1229
- "fqnsFingerprint": "f0470ba86de3dec5fc73c654118d7594261883e281271bdbb4ba760333730c82"
1229
+ "fqnsFingerprint": "3a28baea5ca8d2ae73020e4db20b078292511e1478caa55a36411e324eed8d48"
1230
1230
  },
1231
1231
  "9d65edf9675c71e5f9327fd575b79ed4e29fb6829dd43b32a72959790b1e8b4e": {
1232
1232
  "translations": {
@@ -1340,7 +1340,7 @@
1340
1340
  "281": 3,
1341
1341
  "290": 1
1342
1342
  },
1343
- "fqnsFingerprint": "136ecf710d15250bfb1c4537fa8a64365c77bb93500c3258ed4d4a34fffef4c6"
1343
+ "fqnsFingerprint": "fc851697669fc4d995921ab01dd59a785f88111702bff7f19445e7775da4acba"
1344
1344
  },
1345
1345
  "1cbaf8b1aac1962ba0b44b0610c1ce54309fc8e11fcf7d1cd5f65eb2b58c4e5a": {
1346
1346
  "translations": {
@@ -1402,7 +1402,7 @@
1402
1402
  "281": 2,
1403
1403
  "290": 1
1404
1404
  },
1405
- "fqnsFingerprint": "fd7d44fc91cd4046e520f37a5693163ed98dc380365d894deabd712e8e2ac78a"
1405
+ "fqnsFingerprint": "8d7ad30ba150e72331452b51e003d871db7cf8c87193e20f8c10a30f17afb6e2"
1406
1406
  },
1407
1407
  "137822026ba7f09588c483e8a9294bef457823e48fb16bab283aafb4229bdc3d": {
1408
1408
  "translations": {
@@ -1460,7 +1460,7 @@
1460
1460
  "281": 2,
1461
1461
  "290": 1
1462
1462
  },
1463
- "fqnsFingerprint": "90197c64f0d42e5895a8da3f2d2dbbf38806612e215512172fa66606c6321f00"
1463
+ "fqnsFingerprint": "34f332b462319b7c1a9a0e3209ca32f91d60d132478855131f13dd3a05347e0d"
1464
1464
  },
1465
1465
  "5d424095bc3cd60253a00e7548444d4d80b37613a65c65b4340a708e832cd5e6": {
1466
1466
  "translations": {
@@ -1575,7 +1575,7 @@
1575
1575
  "281": 3,
1576
1576
  "290": 1
1577
1577
  },
1578
- "fqnsFingerprint": "9ab756b2602e8b467b56b317b41a3f0c976a34a1e53e9b9a3c39a5d74553add0"
1578
+ "fqnsFingerprint": "5f9b4158a99fa99b751286a33fd08ac488e9d428bf4e8ffb39662b7993da5400"
1579
1579
  },
1580
1580
  "7800987fc1783761f4bb788edff16535132cea4ea94fa3086de531e97f933579": {
1581
1581
  "translations": {
@@ -1634,7 +1634,7 @@
1634
1634
  "281": 1,
1635
1635
  "290": 1
1636
1636
  },
1637
- "fqnsFingerprint": "fd169c6354e935e4f3fc202c7ab0ce9c23e2c989df192bdec9fb951f9874cba0"
1637
+ "fqnsFingerprint": "b89828cfab69f5dc44717c6b18ff5fd6f5af16df9549f4b83a0fc0f6b68e566d"
1638
1638
  },
1639
1639
  "2b20eccb399b788ea8ecc892abfae9f31369b856fbe61ed42c4bd8fac0a5bb1c": {
1640
1640
  "translations": {
@@ -1691,7 +1691,7 @@
1691
1691
  "226": 1,
1692
1692
  "281": 9
1693
1693
  },
1694
- "fqnsFingerprint": "69641a18ae5395fbb8804c6d30bd2ebf12ee6ab71ca8b1d15be3ae1730ab64dd"
1694
+ "fqnsFingerprint": "4a09f8d766e3ece82d40d0eb1501981a647c62ef653a9820074789303dfe7684"
1695
1695
  },
1696
1696
  "91729184329521792ab5572ab15ce150ce589686a01c22a256663eaf6c6aae16": {
1697
1697
  "translations": {
@@ -1754,28 +1754,28 @@
1754
1754
  "243": 5,
1755
1755
  "281": 10
1756
1756
  },
1757
- "fqnsFingerprint": "2dae7c019eb77ab00883037194d7df8428b42c53e6a9a396f8b74c132ea6813e"
1757
+ "fqnsFingerprint": "ba193e430e93cde6c886d40f10aa86ab7b9103a338ad380f7b44e4ae70c34d40"
1758
1758
  },
1759
- "c8a2c585b848c78158390b993cc45ddd5c2f2115d95912379ce7564524e0387b": {
1759
+ "01eb515e25d8cf30dd33a23151a9c98a9c6ced1abdff144b661dfb415078489a": {
1760
1760
  "translations": {
1761
1761
  "python": {
1762
- "source": "database_name = \"databaseName\"\nusername = \"myuser\"\ntable_name = \"mytable\"\n\nuser = User.from_user_attributes(self, \"User\",\n username=username,\n password=SecretValue.plain_text(\"NOT_FOR_PRODUCTION\"),\n cluster=cluster,\n database_name=database_name\n)\ntable = Table.from_table_attributes(self, \"Table\",\n table_name=table_name,\n table_columns=[Column(name=\"col1\", data_type=\"varchar(4)\"), Column(name=\"col2\", data_type=\"float\")],\n cluster=cluster,\n database_name=\"databaseName\"\n)\ntable.grant(user, TableAction.INSERT)",
1762
+ "source": "database_name = \"databaseName\"\nusername = \"myuser\"\ntable_name = \"mytable\"\n\nuser = User.from_user_attributes(self, \"User\",\n username=username,\n password=SecretValue.unsafe_plain_text(\"NOT_FOR_PRODUCTION\"),\n cluster=cluster,\n database_name=database_name\n)\ntable = Table.from_table_attributes(self, \"Table\",\n table_name=table_name,\n table_columns=[Column(name=\"col1\", data_type=\"varchar(4)\"), Column(name=\"col2\", data_type=\"float\")],\n cluster=cluster,\n database_name=\"databaseName\"\n)\ntable.grant(user, TableAction.INSERT)",
1763
1763
  "version": "2"
1764
1764
  },
1765
1765
  "csharp": {
1766
- "source": "string databaseName = \"databaseName\";\nstring username = \"myuser\";\nstring tableName = \"mytable\";\n\nIUser user = User.FromUserAttributes(this, \"User\", new UserAttributes {\n Username = username,\n Password = SecretValue.PlainText(\"NOT_FOR_PRODUCTION\"),\n Cluster = cluster,\n DatabaseName = databaseName\n});\nITable table = Table.FromTableAttributes(this, \"Table\", new TableAttributes {\n TableName = tableName,\n TableColumns = new [] { new Column { Name = \"col1\", DataType = \"varchar(4)\" }, new Column { Name = \"col2\", DataType = \"float\" } },\n Cluster = cluster,\n DatabaseName = \"databaseName\"\n});\ntable.Grant(user, TableAction.INSERT);",
1766
+ "source": "string databaseName = \"databaseName\";\nstring username = \"myuser\";\nstring tableName = \"mytable\";\n\nIUser user = User.FromUserAttributes(this, \"User\", new UserAttributes {\n Username = username,\n Password = SecretValue.UnsafePlainText(\"NOT_FOR_PRODUCTION\"),\n Cluster = cluster,\n DatabaseName = databaseName\n});\nITable table = Table.FromTableAttributes(this, \"Table\", new TableAttributes {\n TableName = tableName,\n TableColumns = new [] { new Column { Name = \"col1\", DataType = \"varchar(4)\" }, new Column { Name = \"col2\", DataType = \"float\" } },\n Cluster = cluster,\n DatabaseName = \"databaseName\"\n});\ntable.Grant(user, TableAction.INSERT);",
1767
1767
  "version": "1"
1768
1768
  },
1769
1769
  "java": {
1770
- "source": "String databaseName = \"databaseName\";\nString username = \"myuser\";\nString tableName = \"mytable\";\n\nIUser user = User.fromUserAttributes(this, \"User\", UserAttributes.builder()\n .username(username)\n .password(SecretValue.plainText(\"NOT_FOR_PRODUCTION\"))\n .cluster(cluster)\n .databaseName(databaseName)\n .build());\nITable table = Table.fromTableAttributes(this, \"Table\", TableAttributes.builder()\n .tableName(tableName)\n .tableColumns(List.of(Column.builder().name(\"col1\").dataType(\"varchar(4)\").build(), Column.builder().name(\"col2\").dataType(\"float\").build()))\n .cluster(cluster)\n .databaseName(\"databaseName\")\n .build());\ntable.grant(user, TableAction.INSERT);",
1770
+ "source": "String databaseName = \"databaseName\";\nString username = \"myuser\";\nString tableName = \"mytable\";\n\nIUser user = User.fromUserAttributes(this, \"User\", UserAttributes.builder()\n .username(username)\n .password(SecretValue.unsafePlainText(\"NOT_FOR_PRODUCTION\"))\n .cluster(cluster)\n .databaseName(databaseName)\n .build());\nITable table = Table.fromTableAttributes(this, \"Table\", TableAttributes.builder()\n .tableName(tableName)\n .tableColumns(List.of(Column.builder().name(\"col1\").dataType(\"varchar(4)\").build(), Column.builder().name(\"col2\").dataType(\"float\").build()))\n .cluster(cluster)\n .databaseName(\"databaseName\")\n .build());\ntable.grant(user, TableAction.INSERT);",
1771
1771
  "version": "1"
1772
1772
  },
1773
1773
  "go": {
1774
- "source": "databaseName := \"databaseName\"\nusername := \"myuser\"\ntableName := \"mytable\"\n\nuser := user.fromUserAttributes(this, jsii.String(\"User\"), &userAttributes{\n\tusername: username,\n\tpassword: secretValue.plainText(jsii.String(\"NOT_FOR_PRODUCTION\")),\n\tcluster: cluster,\n\tdatabaseName: databaseName,\n})\ntable := table.fromTableAttributes(this, jsii.String(\"Table\"), &tableAttributes{\n\ttableName: tableName,\n\ttableColumns: []column{\n\t\t&column{\n\t\t\tname: jsii.String(\"col1\"),\n\t\t\tdataType: jsii.String(\"varchar(4)\"),\n\t\t},\n\t\t&column{\n\t\t\tname: jsii.String(\"col2\"),\n\t\t\tdataType: jsii.String(\"float\"),\n\t\t},\n\t},\n\tcluster: cluster,\n\tdatabaseName: jsii.String(\"databaseName\"),\n})\ntable.grant(user, tableAction_INSERT)",
1774
+ "source": "databaseName := \"databaseName\"\nusername := \"myuser\"\ntableName := \"mytable\"\n\nuser := user.fromUserAttributes(this, jsii.String(\"User\"), &userAttributes{\n\tusername: username,\n\tpassword: secretValue.unsafePlainText(jsii.String(\"NOT_FOR_PRODUCTION\")),\n\tcluster: cluster,\n\tdatabaseName: databaseName,\n})\ntable := table.fromTableAttributes(this, jsii.String(\"Table\"), &tableAttributes{\n\ttableName: tableName,\n\ttableColumns: []column{\n\t\t&column{\n\t\t\tname: jsii.String(\"col1\"),\n\t\t\tdataType: jsii.String(\"varchar(4)\"),\n\t\t},\n\t\t&column{\n\t\t\tname: jsii.String(\"col2\"),\n\t\t\tdataType: jsii.String(\"float\"),\n\t\t},\n\t},\n\tcluster: cluster,\n\tdatabaseName: jsii.String(\"databaseName\"),\n})\ntable.grant(user, tableAction_INSERT)",
1775
1775
  "version": "1"
1776
1776
  },
1777
1777
  "$": {
1778
- "source": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
1778
+ "source": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
1779
1779
  "version": "0"
1780
1780
  }
1781
1781
  },
@@ -1802,10 +1802,10 @@
1802
1802
  "@aws-cdk/aws-redshift-alpha.User#fromUserAttributes",
1803
1803
  "@aws-cdk/aws-redshift-alpha.UserAttributes",
1804
1804
  "aws-cdk-lib.SecretValue",
1805
- "aws-cdk-lib.SecretValue#plainText",
1805
+ "aws-cdk-lib.SecretValue#unsafePlainText",
1806
1806
  "aws-cdk-lib.aws_ec2.IVpc"
1807
1807
  ],
1808
- "fullSource": "// Fixture with cluster already created\nimport { SecretValue, Stack } from 'aws-cdk-lib';\nimport { Vpc } from 'aws-cdk-lib/aws-ec2';\nimport { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift-alpha';\nimport { Construct } from 'constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const vpc = new Vpc(this, 'Vpc');\n const cluster = new Cluster(this, 'Cluster', {\n vpc,\n masterUser: {\n masterUsername: 'admin',\n },\n });\n\n // Code snippet begins after !show marker below\n/// !show\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n",
1808
+ "fullSource": "// Fixture with cluster already created\nimport { SecretValue, Stack } from 'aws-cdk-lib';\nimport { Vpc } from 'aws-cdk-lib/aws-ec2';\nimport { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift-alpha';\nimport { Construct } from 'constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const vpc = new Vpc(this, 'Vpc');\n const cluster = new Cluster(this, 'Cluster', {\n vpc,\n masterUser: {\n masterUsername: 'admin',\n },\n });\n\n // Code snippet begins after !show marker below\n/// !show\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n",
1809
1809
  "syntaxKindCounter": {
1810
1810
  "10": 11,
1811
1811
  "75": 33,
@@ -1820,7 +1820,7 @@
1820
1820
  "243": 5,
1821
1821
  "281": 12
1822
1822
  },
1823
- "fqnsFingerprint": "ab19d8c660aaf16b7a32dfad1d73740dbaedbb86f088856f02873914a98b9148"
1823
+ "fqnsFingerprint": "24186b7c8a0bcf8435a0339c4d699742b9b83778757438e50e0e9adaf885f8a9"
1824
1824
  },
1825
1825
  "a0a5aed3be3356c67a02e5502202634478962191b5543456299f752646eeb729": {
1826
1826
  "translations": {
@@ -1877,7 +1877,7 @@
1877
1877
  "226": 1,
1878
1878
  "281": 9
1879
1879
  },
1880
- "fqnsFingerprint": "69641a18ae5395fbb8804c6d30bd2ebf12ee6ab71ca8b1d15be3ae1730ab64dd"
1880
+ "fqnsFingerprint": "4a09f8d766e3ece82d40d0eb1501981a647c62ef653a9820074789303dfe7684"
1881
1881
  },
1882
1882
  "7ad9117d90fbe2a452185442e885e420097c162f2973db550809c3b5bff11d00": {
1883
1883
  "translations": {
@@ -1934,7 +1934,7 @@
1934
1934
  "226": 1,
1935
1935
  "281": 9
1936
1936
  },
1937
- "fqnsFingerprint": "69641a18ae5395fbb8804c6d30bd2ebf12ee6ab71ca8b1d15be3ae1730ab64dd"
1937
+ "fqnsFingerprint": "4a09f8d766e3ece82d40d0eb1501981a647c62ef653a9820074789303dfe7684"
1938
1938
  },
1939
1939
  "7233d53f95d6c8e89498a7df318041aa7a223d09479f71a86b787c9bd8b89ce0": {
1940
1940
  "translations": {
@@ -1991,7 +1991,7 @@
1991
1991
  "226": 1,
1992
1992
  "281": 10
1993
1993
  },
1994
- "fqnsFingerprint": "d6ea3d107869f418eb806cec518bc09d96e58363f25ce62793542e48c7c34040"
1994
+ "fqnsFingerprint": "ffff7aee2c76aef36666b239828ab1d668f14c49eff63f0efae607658f41e95d"
1995
1995
  },
1996
1996
  "05356cf6bd0f7860b1cc80c83cc76841efd6b3139a7158efbd0c3ac57aa4a083": {
1997
1997
  "translations": {
@@ -2053,28 +2053,28 @@
2053
2053
  "281": 3,
2054
2054
  "290": 1
2055
2055
  },
2056
- "fqnsFingerprint": "9ab756b2602e8b467b56b317b41a3f0c976a34a1e53e9b9a3c39a5d74553add0"
2056
+ "fqnsFingerprint": "5f9b4158a99fa99b751286a33fd08ac488e9d428bf4e8ffb39662b7993da5400"
2057
2057
  },
2058
- "1597e838b084979e172670a4892a0b93fb1750ebb51dd5156aa46813a7c5d0d4": {
2058
+ "2cf21a315059ce9a0656d5b8594fd78fe86ffe7b8fb88234f7e2e2f1443706ce": {
2059
2059
  "translations": {
2060
2060
  "python": {
2061
- "source": "database_name = \"databaseName\"\nusername = \"myuser\"\ntable_name = \"mytable\"\n\nuser = User.from_user_attributes(self, \"User\",\n username=username,\n password=SecretValue.plain_text(\"NOT_FOR_PRODUCTION\"),\n cluster=cluster,\n database_name=database_name\n)\ntable = Table.from_table_attributes(self, \"Table\",\n table_name=table_name,\n table_columns=[Column(name=\"col1\", data_type=\"varchar(4)\"), Column(name=\"col2\", data_type=\"float\")],\n cluster=cluster,\n database_name=\"databaseName\"\n)\ntable.grant(user, TableAction.INSERT)",
2061
+ "source": "database_name = \"databaseName\"\nusername = \"myuser\"\ntable_name = \"mytable\"\n\nuser = User.from_user_attributes(self, \"User\",\n username=username,\n password=SecretValue.unsafe_plain_text(\"NOT_FOR_PRODUCTION\"),\n cluster=cluster,\n database_name=database_name\n)\ntable = Table.from_table_attributes(self, \"Table\",\n table_name=table_name,\n table_columns=[Column(name=\"col1\", data_type=\"varchar(4)\"), Column(name=\"col2\", data_type=\"float\")],\n cluster=cluster,\n database_name=\"databaseName\"\n)\ntable.grant(user, TableAction.INSERT)",
2062
2062
  "version": "2"
2063
2063
  },
2064
2064
  "csharp": {
2065
- "source": "string databaseName = \"databaseName\";\nstring username = \"myuser\";\nstring tableName = \"mytable\";\n\nIUser user = User.FromUserAttributes(this, \"User\", new UserAttributes {\n Username = username,\n Password = SecretValue.PlainText(\"NOT_FOR_PRODUCTION\"),\n Cluster = cluster,\n DatabaseName = databaseName\n});\nITable table = Table.FromTableAttributes(this, \"Table\", new TableAttributes {\n TableName = tableName,\n TableColumns = new [] { new Column { Name = \"col1\", DataType = \"varchar(4)\" }, new Column { Name = \"col2\", DataType = \"float\" } },\n Cluster = cluster,\n DatabaseName = \"databaseName\"\n});\ntable.Grant(user, TableAction.INSERT);",
2065
+ "source": "string databaseName = \"databaseName\";\nstring username = \"myuser\";\nstring tableName = \"mytable\";\n\nIUser user = User.FromUserAttributes(this, \"User\", new UserAttributes {\n Username = username,\n Password = SecretValue.UnsafePlainText(\"NOT_FOR_PRODUCTION\"),\n Cluster = cluster,\n DatabaseName = databaseName\n});\nITable table = Table.FromTableAttributes(this, \"Table\", new TableAttributes {\n TableName = tableName,\n TableColumns = new [] { new Column { Name = \"col1\", DataType = \"varchar(4)\" }, new Column { Name = \"col2\", DataType = \"float\" } },\n Cluster = cluster,\n DatabaseName = \"databaseName\"\n});\ntable.Grant(user, TableAction.INSERT);",
2066
2066
  "version": "1"
2067
2067
  },
2068
2068
  "java": {
2069
- "source": "String databaseName = \"databaseName\";\nString username = \"myuser\";\nString tableName = \"mytable\";\n\nIUser user = User.fromUserAttributes(this, \"User\", UserAttributes.builder()\n .username(username)\n .password(SecretValue.plainText(\"NOT_FOR_PRODUCTION\"))\n .cluster(cluster)\n .databaseName(databaseName)\n .build());\nITable table = Table.fromTableAttributes(this, \"Table\", TableAttributes.builder()\n .tableName(tableName)\n .tableColumns(List.of(Column.builder().name(\"col1\").dataType(\"varchar(4)\").build(), Column.builder().name(\"col2\").dataType(\"float\").build()))\n .cluster(cluster)\n .databaseName(\"databaseName\")\n .build());\ntable.grant(user, TableAction.INSERT);",
2069
+ "source": "String databaseName = \"databaseName\";\nString username = \"myuser\";\nString tableName = \"mytable\";\n\nIUser user = User.fromUserAttributes(this, \"User\", UserAttributes.builder()\n .username(username)\n .password(SecretValue.unsafePlainText(\"NOT_FOR_PRODUCTION\"))\n .cluster(cluster)\n .databaseName(databaseName)\n .build());\nITable table = Table.fromTableAttributes(this, \"Table\", TableAttributes.builder()\n .tableName(tableName)\n .tableColumns(List.of(Column.builder().name(\"col1\").dataType(\"varchar(4)\").build(), Column.builder().name(\"col2\").dataType(\"float\").build()))\n .cluster(cluster)\n .databaseName(\"databaseName\")\n .build());\ntable.grant(user, TableAction.INSERT);",
2070
2070
  "version": "1"
2071
2071
  },
2072
2072
  "go": {
2073
- "source": "databaseName := \"databaseName\"\nusername := \"myuser\"\ntableName := \"mytable\"\n\nuser := user.fromUserAttributes(this, jsii.String(\"User\"), &userAttributes{\n\tusername: username,\n\tpassword: secretValue.plainText(jsii.String(\"NOT_FOR_PRODUCTION\")),\n\tcluster: cluster,\n\tdatabaseName: databaseName,\n})\ntable := table.fromTableAttributes(this, jsii.String(\"Table\"), &tableAttributes{\n\ttableName: tableName,\n\ttableColumns: []column{\n\t\t&column{\n\t\t\tname: jsii.String(\"col1\"),\n\t\t\tdataType: jsii.String(\"varchar(4)\"),\n\t\t},\n\t\t&column{\n\t\t\tname: jsii.String(\"col2\"),\n\t\t\tdataType: jsii.String(\"float\"),\n\t\t},\n\t},\n\tcluster: cluster,\n\tdatabaseName: jsii.String(\"databaseName\"),\n})\ntable.grant(user, tableAction_INSERT)",
2073
+ "source": "databaseName := \"databaseName\"\nusername := \"myuser\"\ntableName := \"mytable\"\n\nuser := user.fromUserAttributes(this, jsii.String(\"User\"), &userAttributes{\n\tusername: username,\n\tpassword: secretValue.unsafePlainText(jsii.String(\"NOT_FOR_PRODUCTION\")),\n\tcluster: cluster,\n\tdatabaseName: databaseName,\n})\ntable := table.fromTableAttributes(this, jsii.String(\"Table\"), &tableAttributes{\n\ttableName: tableName,\n\ttableColumns: []column{\n\t\t&column{\n\t\t\tname: jsii.String(\"col1\"),\n\t\t\tdataType: jsii.String(\"varchar(4)\"),\n\t\t},\n\t\t&column{\n\t\t\tname: jsii.String(\"col2\"),\n\t\t\tdataType: jsii.String(\"float\"),\n\t\t},\n\t},\n\tcluster: cluster,\n\tdatabaseName: jsii.String(\"databaseName\"),\n})\ntable.grant(user, tableAction_INSERT)",
2074
2074
  "version": "1"
2075
2075
  },
2076
2076
  "$": {
2077
- "source": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
2077
+ "source": "const databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);",
2078
2078
  "version": "0"
2079
2079
  }
2080
2080
  },
@@ -2101,10 +2101,10 @@
2101
2101
  "@aws-cdk/aws-redshift-alpha.User#fromUserAttributes",
2102
2102
  "@aws-cdk/aws-redshift-alpha.UserAttributes",
2103
2103
  "aws-cdk-lib.SecretValue",
2104
- "aws-cdk-lib.SecretValue#plainText",
2104
+ "aws-cdk-lib.SecretValue#unsafePlainText",
2105
2105
  "aws-cdk-lib.aws_ec2.IVpc"
2106
2106
  ],
2107
- "fullSource": "// Fixture with cluster already created\nimport { SecretValue, Stack } from 'aws-cdk-lib';\nimport { Vpc } from 'aws-cdk-lib/aws-ec2';\nimport { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift-alpha';\nimport { Construct } from 'constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const vpc = new Vpc(this, 'Vpc');\n const cluster = new Cluster(this, 'Cluster', {\n vpc,\n masterUser: {\n masterUsername: 'admin',\n },\n });\n\n // Code snippet begins after !show marker below\n/// !show\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.plainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n",
2107
+ "fullSource": "// Fixture with cluster already created\nimport { SecretValue, Stack } from 'aws-cdk-lib';\nimport { Vpc } from 'aws-cdk-lib/aws-ec2';\nimport { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift-alpha';\nimport { Construct } from 'constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const vpc = new Vpc(this, 'Vpc');\n const cluster = new Cluster(this, 'Cluster', {\n vpc,\n masterUser: {\n masterUsername: 'admin',\n },\n });\n\n // Code snippet begins after !show marker below\n/// !show\nconst databaseName = 'databaseName';\nconst username = 'myuser'\nconst tableName = 'mytable'\n\nconst user = User.fromUserAttributes(this, 'User', {\n username: username,\n password: SecretValue.unsafePlainText('NOT_FOR_PRODUCTION'),\n cluster: cluster,\n databaseName: databaseName,\n});\nconst table = Table.fromTableAttributes(this, 'Table', {\n tableName: tableName,\n tableColumns: [{ name: 'col1', dataType: 'varchar(4)' }, { name: 'col2', dataType: 'float' }],\n cluster: cluster,\n databaseName: 'databaseName',\n});\ntable.grant(user, TableAction.INSERT);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n",
2108
2108
  "syntaxKindCounter": {
2109
2109
  "10": 11,
2110
2110
  "75": 33,
@@ -2119,7 +2119,7 @@
2119
2119
  "243": 5,
2120
2120
  "281": 12
2121
2121
  },
2122
- "fqnsFingerprint": "ab19d8c660aaf16b7a32dfad1d73740dbaedbb86f088856f02873914a98b9148"
2122
+ "fqnsFingerprint": "24186b7c8a0bcf8435a0339c4d699742b9b83778757438e50e0e9adaf885f8a9"
2123
2123
  },
2124
2124
  "853a0f6597ea3e622c5057694caeca46674cf434bde105571b72205b6c8edb72": {
2125
2125
  "translations": {
@@ -2181,7 +2181,7 @@
2181
2181
  "281": 3,
2182
2182
  "290": 1
2183
2183
  },
2184
- "fqnsFingerprint": "9ab756b2602e8b467b56b317b41a3f0c976a34a1e53e9b9a3c39a5d74553add0"
2184
+ "fqnsFingerprint": "5f9b4158a99fa99b751286a33fd08ac488e9d428bf4e8ffb39662b7993da5400"
2185
2185
  }
2186
2186
  }
2187
2187
  }