@aws-cdk/aws-glue-alpha 2.53.0-alpha.0 → 2.55.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.53.0",
11
+ "aws-cdk-lib": "^2.55.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -1406,6 +1406,19 @@
1406
1406
  }
1407
1407
  }
1408
1408
  },
1409
+ "aws-cdk-lib.aws_grafana": {
1410
+ "targets": {
1411
+ "dotnet": {
1412
+ "namespace": "Amazon.CDK.AWS.Grafana"
1413
+ },
1414
+ "java": {
1415
+ "package": "software.amazon.awscdk.services.grafana"
1416
+ },
1417
+ "python": {
1418
+ "module": "aws_cdk.aws_grafana"
1419
+ }
1420
+ }
1421
+ },
1409
1422
  "aws-cdk-lib.aws_greengrass": {
1410
1423
  "targets": {
1411
1424
  "dotnet": {
@@ -2186,6 +2199,32 @@
2186
2199
  }
2187
2200
  }
2188
2201
  },
2202
+ "aws-cdk-lib.aws_oam": {
2203
+ "targets": {
2204
+ "dotnet": {
2205
+ "namespace": "Amazon.CDK.AWS.Oam"
2206
+ },
2207
+ "java": {
2208
+ "package": "software.amazon.awscdk.services.oam"
2209
+ },
2210
+ "python": {
2211
+ "module": "aws_cdk.aws_oam"
2212
+ }
2213
+ }
2214
+ },
2215
+ "aws-cdk-lib.aws_opensearchserverless": {
2216
+ "targets": {
2217
+ "dotnet": {
2218
+ "namespace": "Amazon.CDK.AWS.OpenSearchServerless"
2219
+ },
2220
+ "java": {
2221
+ "package": "software.amazon.awscdk.services.opensearchserverless"
2222
+ },
2223
+ "python": {
2224
+ "module": "aws_cdk.aws_opensearchserverless"
2225
+ }
2226
+ }
2227
+ },
2189
2228
  "aws-cdk-lib.aws_opensearchservice": {
2190
2229
  "targets": {
2191
2230
  "dotnet": {
@@ -2290,6 +2329,19 @@
2290
2329
  }
2291
2330
  }
2292
2331
  },
2332
+ "aws-cdk-lib.aws_pipes": {
2333
+ "targets": {
2334
+ "dotnet": {
2335
+ "namespace": "Amazon.CDK.AWS.Pipes"
2336
+ },
2337
+ "java": {
2338
+ "package": "software.amazon.awscdk.services.pipes"
2339
+ },
2340
+ "python": {
2341
+ "module": "aws_cdk.aws_pipes"
2342
+ }
2343
+ }
2344
+ },
2293
2345
  "aws-cdk-lib.aws_qldb": {
2294
2346
  "targets": {
2295
2347
  "dotnet": {
@@ -3232,7 +3284,7 @@
3232
3284
  "stability": "experimental"
3233
3285
  },
3234
3286
  "homepage": "https://github.com/aws/aws-cdk",
3235
- "jsiiVersion": "1.71.0 (build f1f58ae)",
3287
+ "jsiiVersion": "1.72.0 (build 4b8828b)",
3236
3288
  "keywords": [
3237
3289
  "aws",
3238
3290
  "cdk",
@@ -3253,7 +3305,7 @@
3253
3305
  },
3254
3306
  "name": "@aws-cdk/aws-glue-alpha",
3255
3307
  "readme": {
3256
- "markdown": "# AWS Glue 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\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\n## Job\n\nA `Job` encapsulates a script that connects to data sources, processes them, and then writes output to a data target.\n\nThere are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.\n\nThe `glue.JobExecutable` allows you to specify the type of job, the language to use and the code assets required by the job.\n\n`glue.Code` allows you to refer to the different code assets required by the job, either from an existing S3 location or from a local file path.\n\n### Spark Jobs\n\nThese jobs run in an Apache Spark environment managed by AWS Glue.\n\n#### ETL Jobs\n\nAn ETL job processes data in batches using Apache Spark.\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V2_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});\n```\n\n#### Streaming Jobs\n\nA Streaming job is similar to an ETL job, except that it performs ETL on data streams. It uses the Apache Spark Structured Streaming framework. Some Spark job features are not available to streaming ETL jobs.\n\n```ts\nnew glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V2_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});\n```\n\n### Python Shell Jobs\n\nA Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using.\nThis can be used to schedule and run tasks that don't require an Apache Spark environment. Currently, three flavors are supported:\n\n* PythonVersion.TWO (2.7; EOL)\n* PythonVersion.THREE (3.6)\n* PythonVersion.THREE_NINE (3.9)\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'PythonShellJob', {\n executable: glue.JobExecutable.pythonShell({\n glueVersion: glue.GlueVersion.V1_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromBucket(bucket, 'script.py'),\n }),\n description: 'an example Python Shell job',\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf you need to use a connection type that doesn't exist as a static member on `ConnectionType`, you can instantiate a `ConnectionType` object, e.g: `new glue.ConnectionType('NEW_TYPE')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n});\n```\n\n## Table\n\nA Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, an S3 bucket will be created to store the table's data and stored in the bucket root. You can also manually pass the `bucket` and `s3Prefix`:\n\n### Partition Keys\n\nTo improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* `Unencrypted` - files are not encrypted. The default encryption setting.\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n tableName: 'my_table',\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 |\n| SMALL_INT \t| Constant \t| A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 |\n| TINY_INT \t| Constant \t| A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `precision` is the total number of digits. `scale` (optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n"
3308
+ "markdown": "# AWS Glue 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\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\n## Job\n\nA `Job` encapsulates a script that connects to data sources, processes them, and then writes output to a data target.\n\nThere are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.\n\nThe `glue.JobExecutable` allows you to specify the type of job, the language to use and the code assets required by the job.\n\n`glue.Code` allows you to refer to the different code assets required by the job, either from an existing S3 location or from a local file path.\n\n### Spark Jobs\n\nThese jobs run in an Apache Spark environment managed by AWS Glue.\n\n#### ETL Jobs\n\nAn ETL job processes data in batches using Apache Spark.\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});\n```\n\n#### Streaming Jobs\n\nA Streaming job is similar to an ETL job, except that it performs ETL on data streams. It uses the Apache Spark Structured Streaming framework. Some Spark job features are not available to streaming ETL jobs.\n\n```ts\nnew glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});\n```\n\n### Python Shell Jobs\n\nA Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using.\nThis can be used to schedule and run tasks that don't require an Apache Spark environment. Currently, three flavors are supported:\n\n* PythonVersion.TWO (2.7; EOL)\n* PythonVersion.THREE (3.6)\n* PythonVersion.THREE_NINE (3.9)\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'PythonShellJob', {\n executable: glue.JobExecutable.pythonShell({\n glueVersion: glue.GlueVersion.V1_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromBucket(bucket, 'script.py'),\n }),\n description: 'an example Python Shell job',\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf you need to use a connection type that doesn't exist as a static member on `ConnectionType`, you can instantiate a `ConnectionType` object, e.g: `new glue.ConnectionType('NEW_TYPE')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase');\n```\n\n## Table\n\nA Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, an S3 bucket will be created to store the table's data and stored in the bucket root. You can also manually pass the `bucket` and `s3Prefix`:\n\n### Partition Keys\n\nTo improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* `Unencrypted` - files are not encrypted. The default encryption setting.\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 |\n| SMALL_INT \t| Constant \t| A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 |\n| TINY_INT \t| Constant \t| A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `precision` is the total number of digits. `scale` (optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n"
3257
3309
  },
3258
3310
  "repository": {
3259
3311
  "directory": "packages/individual-packages/aws-glue",
@@ -3297,7 +3349,7 @@
3297
3349
  "docs": {
3298
3350
  "stability": "experimental",
3299
3351
  "summary": "Job Code from a local file.",
3300
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as glue_alpha from '@aws-cdk/aws-glue-alpha';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\n\ndeclare const dockerImage: cdk.DockerImage;\ndeclare const grantable: iam.IGrantable;\ndeclare const localBundling: cdk.ILocalBundling;\nconst assetCode = new glue_alpha.AssetCode('path', /* all optional props */ {\n assetHash: 'assetHash',\n assetHashType: cdk.AssetHashType.SOURCE,\n bundling: {\n image: dockerImage,\n\n // the properties below are optional\n command: ['command'],\n entrypoint: ['entrypoint'],\n environment: {\n environmentKey: 'environment',\n },\n local: localBundling,\n network: 'network',\n outputType: cdk.BundlingOutput.ARCHIVED,\n securityOpt: 'securityOpt',\n user: 'user',\n volumes: [{\n containerPath: 'containerPath',\n hostPath: 'hostPath',\n\n // the properties below are optional\n consistency: cdk.DockerVolumeConsistency.CONSISTENT,\n }],\n workingDirectory: 'workingDirectory',\n },\n exclude: ['exclude'],\n followSymlinks: cdk.SymlinkFollowMode.NEVER,\n ignoreMode: cdk.IgnoreMode.GLOB,\n readers: [grantable],\n});",
3352
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as glue_alpha from '@aws-cdk/aws-glue-alpha';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\n\ndeclare const dockerImage: cdk.DockerImage;\ndeclare const grantable: iam.IGrantable;\ndeclare const localBundling: cdk.ILocalBundling;\nconst assetCode = new glue_alpha.AssetCode('path', /* all optional props */ {\n assetHash: 'assetHash',\n assetHashType: cdk.AssetHashType.SOURCE,\n bundling: {\n image: dockerImage,\n\n // the properties below are optional\n command: ['command'],\n entrypoint: ['entrypoint'],\n environment: {\n environmentKey: 'environment',\n },\n local: localBundling,\n network: 'network',\n outputType: cdk.BundlingOutput.ARCHIVED,\n securityOpt: 'securityOpt',\n user: 'user',\n volumes: [{\n containerPath: 'containerPath',\n hostPath: 'hostPath',\n\n // the properties below are optional\n consistency: cdk.DockerVolumeConsistency.CONSISTENT,\n }],\n volumesFrom: ['volumesFrom'],\n workingDirectory: 'workingDirectory',\n },\n exclude: ['exclude'],\n followSymlinks: cdk.SymlinkFollowMode.NEVER,\n ignoreMode: cdk.IgnoreMode.GLOB,\n readers: [grantable],\n});",
3301
3353
  "custom": {
3302
3354
  "exampleMetadata": "fixture=_generated"
3303
3355
  }
@@ -3532,7 +3584,7 @@
3532
3584
  "docs": {
3533
3585
  "stability": "experimental",
3534
3586
  "summary": "CloudWatch Logs encryption configuration.",
3535
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
3587
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
3536
3588
  "custom": {
3537
3589
  "exampleMetadata": "infused"
3538
3590
  }
@@ -3541,7 +3593,7 @@
3541
3593
  "kind": "interface",
3542
3594
  "locationInModule": {
3543
3595
  "filename": "lib/security-configuration.ts",
3544
- "line": 82
3596
+ "line": 83
3545
3597
  },
3546
3598
  "name": "CloudWatchEncryption",
3547
3599
  "properties": [
@@ -3554,7 +3606,7 @@
3554
3606
  "immutable": true,
3555
3607
  "locationInModule": {
3556
3608
  "filename": "lib/security-configuration.ts",
3557
- "line": 86
3609
+ "line": 87
3558
3610
  },
3559
3611
  "name": "mode",
3560
3612
  "type": {
@@ -3571,7 +3623,7 @@
3571
3623
  "immutable": true,
3572
3624
  "locationInModule": {
3573
3625
  "filename": "lib/security-configuration.ts",
3574
- "line": 92
3626
+ "line": 93
3575
3627
  },
3576
3628
  "name": "kmsKey",
3577
3629
  "optional": true,
@@ -3588,7 +3640,7 @@
3588
3640
  "see": "https://docs.aws.amazon.com/glue/latest/webapi/API_CloudWatchEncryption.html#Glue-Type-CloudWatchEncryption-CloudWatchEncryptionMode",
3589
3641
  "stability": "experimental",
3590
3642
  "summary": "Encryption mode for CloudWatch Logs.",
3591
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
3643
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
3592
3644
  "custom": {
3593
3645
  "exampleMetadata": "infused"
3594
3646
  }
@@ -3597,7 +3649,7 @@
3597
3649
  "kind": "enum",
3598
3650
  "locationInModule": {
3599
3651
  "filename": "lib/security-configuration.ts",
3600
- "line": 41
3652
+ "line": 42
3601
3653
  },
3602
3654
  "members": [
3603
3655
  {
@@ -4509,7 +4561,7 @@
4509
4561
  "docs": {
4510
4562
  "stability": "experimental",
4511
4563
  "summary": "Defines the input/output formats and ser/de for a single DataFormat.",
4512
- "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});",
4564
+ "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
4513
4565
  "custom": {
4514
4566
  "exampleMetadata": "infused"
4515
4567
  }
@@ -4861,7 +4913,7 @@
4861
4913
  "docs": {
4862
4914
  "stability": "experimental",
4863
4915
  "summary": "A Glue database.",
4864
- "example": "new glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n});",
4916
+ "example": "new glue.Database(this, 'MyDatabase');",
4865
4917
  "custom": {
4866
4918
  "exampleMetadata": "infused"
4867
4919
  }
@@ -4873,7 +4925,7 @@
4873
4925
  },
4874
4926
  "locationInModule": {
4875
4927
  "filename": "lib/database.ts",
4876
- "line": 89
4928
+ "line": 91
4877
4929
  },
4878
4930
  "parameters": [
4879
4931
  {
@@ -4890,6 +4942,7 @@
4890
4942
  },
4891
4943
  {
4892
4944
  "name": "props",
4945
+ "optional": true,
4893
4946
  "type": {
4894
4947
  "fqn": "@aws-cdk/aws-glue-alpha.DatabaseProps"
4895
4948
  }
@@ -4902,7 +4955,7 @@
4902
4955
  "kind": "class",
4903
4956
  "locationInModule": {
4904
4957
  "filename": "lib/database.ts",
4905
- "line": 49
4958
+ "line": 51
4906
4959
  },
4907
4960
  "methods": [
4908
4961
  {
@@ -4911,7 +4964,7 @@
4911
4964
  },
4912
4965
  "locationInModule": {
4913
4966
  "filename": "lib/database.ts",
4914
- "line": 51
4967
+ "line": 53
4915
4968
  },
4916
4969
  "name": "fromDatabaseArn",
4917
4970
  "parameters": [
@@ -4952,7 +5005,7 @@
4952
5005
  "immutable": true,
4953
5006
  "locationInModule": {
4954
5007
  "filename": "lib/database.ts",
4955
- "line": 67
5008
+ "line": 69
4956
5009
  },
4957
5010
  "name": "catalogArn",
4958
5011
  "overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
@@ -4968,7 +5021,7 @@
4968
5021
  "immutable": true,
4969
5022
  "locationInModule": {
4970
5023
  "filename": "lib/database.ts",
4971
- "line": 72
5024
+ "line": 74
4972
5025
  },
4973
5026
  "name": "catalogId",
4974
5027
  "overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
@@ -4984,7 +5037,7 @@
4984
5037
  "immutable": true,
4985
5038
  "locationInModule": {
4986
5039
  "filename": "lib/database.ts",
4987
- "line": 77
5040
+ "line": 79
4988
5041
  },
4989
5042
  "name": "databaseArn",
4990
5043
  "overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
@@ -5000,7 +5053,7 @@
5000
5053
  "immutable": true,
5001
5054
  "locationInModule": {
5002
5055
  "filename": "lib/database.ts",
5003
- "line": 82
5056
+ "line": 84
5004
5057
  },
5005
5058
  "name": "databaseName",
5006
5059
  "overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
@@ -5016,7 +5069,7 @@
5016
5069
  "immutable": true,
5017
5070
  "locationInModule": {
5018
5071
  "filename": "lib/database.ts",
5019
- "line": 87
5072
+ "line": 89
5020
5073
  },
5021
5074
  "name": "locationUri",
5022
5075
  "optional": true,
@@ -5032,9 +5085,9 @@
5032
5085
  "datatype": true,
5033
5086
  "docs": {
5034
5087
  "stability": "experimental",
5035
- "example": "new glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n});",
5088
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as glue_alpha from '@aws-cdk/aws-glue-alpha';\nconst databaseProps: glue_alpha.DatabaseProps = {\n databaseName: 'databaseName',\n locationUri: 'locationUri',\n};",
5036
5089
  "custom": {
5037
- "exampleMetadata": "infused"
5090
+ "exampleMetadata": "fixture=_generated"
5038
5091
  }
5039
5092
  },
5040
5093
  "fqn": "@aws-cdk/aws-glue-alpha.DatabaseProps",
@@ -5048,15 +5101,17 @@
5048
5101
  {
5049
5102
  "abstract": true,
5050
5103
  "docs": {
5104
+ "default": "- generated by CDK.",
5051
5105
  "stability": "experimental",
5052
5106
  "summary": "The name of the database."
5053
5107
  },
5054
5108
  "immutable": true,
5055
5109
  "locationInModule": {
5056
5110
  "filename": "lib/database.ts",
5057
- "line": 35
5111
+ "line": 37
5058
5112
  },
5059
5113
  "name": "databaseName",
5114
+ "optional": true,
5060
5115
  "type": {
5061
5116
  "primitive": "string"
5062
5117
  }
@@ -5072,7 +5127,7 @@
5072
5127
  "immutable": true,
5073
5128
  "locationInModule": {
5074
5129
  "filename": "lib/database.ts",
5075
- "line": 43
5130
+ "line": 45
5076
5131
  },
5077
5132
  "name": "locationUri",
5078
5133
  "optional": true,
@@ -5108,7 +5163,7 @@
5108
5163
  },
5109
5164
  "locationInModule": {
5110
5165
  "filename": "lib/job-executable.ts",
5111
- "line": 36
5166
+ "line": 41
5112
5167
  },
5113
5168
  "name": "of",
5114
5169
  "parameters": [
@@ -5200,6 +5255,23 @@
5200
5255
  "fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
5201
5256
  }
5202
5257
  },
5258
+ {
5259
+ "const": true,
5260
+ "docs": {
5261
+ "stability": "experimental",
5262
+ "summary": "Glue version using Spark 3.3.0 and Python 3.10."
5263
+ },
5264
+ "immutable": true,
5265
+ "locationInModule": {
5266
+ "filename": "lib/job-executable.ts",
5267
+ "line": 35
5268
+ },
5269
+ "name": "V4_0",
5270
+ "static": true,
5271
+ "type": {
5272
+ "fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
5273
+ }
5274
+ },
5203
5275
  {
5204
5276
  "docs": {
5205
5277
  "stability": "experimental",
@@ -5208,7 +5280,7 @@
5208
5280
  "immutable": true,
5209
5281
  "locationInModule": {
5210
5282
  "filename": "lib/job-executable.ts",
5211
- "line": 43
5283
+ "line": 48
5212
5284
  },
5213
5285
  "name": "name",
5214
5286
  "type": {
@@ -5736,7 +5808,7 @@
5736
5808
  "kind": "interface",
5737
5809
  "locationInModule": {
5738
5810
  "filename": "lib/security-configuration.ts",
5739
- "line": 9
5811
+ "line": 10
5740
5812
  },
5741
5813
  "name": "ISecurityConfiguration",
5742
5814
  "properties": [
@@ -5752,7 +5824,7 @@
5752
5824
  "immutable": true,
5753
5825
  "locationInModule": {
5754
5826
  "filename": "lib/security-configuration.ts",
5755
- "line": 14
5827
+ "line": 15
5756
5828
  },
5757
5829
  "name": "securityConfigurationName",
5758
5830
  "type": {
@@ -6537,7 +6609,7 @@
6537
6609
  "docs": {
6538
6610
  "stability": "experimental",
6539
6611
  "summary": "Job bookmarks encryption configuration.",
6540
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
6612
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
6541
6613
  "custom": {
6542
6614
  "exampleMetadata": "infused"
6543
6615
  }
@@ -6546,7 +6618,7 @@
6546
6618
  "kind": "interface",
6547
6619
  "locationInModule": {
6548
6620
  "filename": "lib/security-configuration.ts",
6549
- "line": 98
6621
+ "line": 99
6550
6622
  },
6551
6623
  "name": "JobBookmarksEncryption",
6552
6624
  "properties": [
@@ -6559,7 +6631,7 @@
6559
6631
  "immutable": true,
6560
6632
  "locationInModule": {
6561
6633
  "filename": "lib/security-configuration.ts",
6562
- "line": 102
6634
+ "line": 103
6563
6635
  },
6564
6636
  "name": "mode",
6565
6637
  "type": {
@@ -6576,7 +6648,7 @@
6576
6648
  "immutable": true,
6577
6649
  "locationInModule": {
6578
6650
  "filename": "lib/security-configuration.ts",
6579
- "line": 108
6651
+ "line": 109
6580
6652
  },
6581
6653
  "name": "kmsKey",
6582
6654
  "optional": true,
@@ -6593,7 +6665,7 @@
6593
6665
  "see": "https://docs.aws.amazon.com/glue/latest/webapi/API_JobBookmarksEncryption.html#Glue-Type-JobBookmarksEncryption-JobBookmarksEncryptionMode",
6594
6666
  "stability": "experimental",
6595
6667
  "summary": "Encryption mode for Job Bookmarks.",
6596
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
6668
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
6597
6669
  "custom": {
6598
6670
  "exampleMetadata": "infused"
6599
6671
  }
@@ -6602,7 +6674,7 @@
6602
6674
  "kind": "enum",
6603
6675
  "locationInModule": {
6604
6676
  "filename": "lib/security-configuration.ts",
6605
- "line": 54
6677
+ "line": 55
6606
6678
  },
6607
6679
  "members": [
6608
6680
  {
@@ -6631,7 +6703,7 @@
6631
6703
  "kind": "class",
6632
6704
  "locationInModule": {
6633
6705
  "filename": "lib/job-executable.ts",
6634
- "line": 212
6706
+ "line": 217
6635
6707
  },
6636
6708
  "methods": [
6637
6709
  {
@@ -6641,7 +6713,7 @@
6641
6713
  },
6642
6714
  "locationInModule": {
6643
6715
  "filename": "lib/job-executable.ts",
6644
- "line": 284
6716
+ "line": 289
6645
6717
  },
6646
6718
  "name": "of",
6647
6719
  "parameters": [
@@ -6669,7 +6741,7 @@
6669
6741
  },
6670
6742
  "locationInModule": {
6671
6743
  "filename": "lib/job-executable.ts",
6672
- "line": 245
6744
+ "line": 250
6673
6745
  },
6674
6746
  "name": "pythonEtl",
6675
6747
  "parameters": [
@@ -6697,7 +6769,7 @@
6697
6769
  },
6698
6770
  "locationInModule": {
6699
6771
  "filename": "lib/job-executable.ts",
6700
- "line": 271
6772
+ "line": 276
6701
6773
  },
6702
6774
  "name": "pythonShell",
6703
6775
  "parameters": [
@@ -6725,7 +6797,7 @@
6725
6797
  },
6726
6798
  "locationInModule": {
6727
6799
  "filename": "lib/job-executable.ts",
6728
- "line": 258
6800
+ "line": 263
6729
6801
  },
6730
6802
  "name": "pythonStreaming",
6731
6803
  "parameters": [
@@ -6753,7 +6825,7 @@
6753
6825
  },
6754
6826
  "locationInModule": {
6755
6827
  "filename": "lib/job-executable.ts",
6756
- "line": 219
6828
+ "line": 224
6757
6829
  },
6758
6830
  "name": "scalaEtl",
6759
6831
  "parameters": [
@@ -6781,7 +6853,7 @@
6781
6853
  },
6782
6854
  "locationInModule": {
6783
6855
  "filename": "lib/job-executable.ts",
6784
- "line": 232
6856
+ "line": 237
6785
6857
  },
6786
6858
  "name": "scalaStreaming",
6787
6859
  "parameters": [
@@ -6809,7 +6881,7 @@
6809
6881
  },
6810
6882
  "locationInModule": {
6811
6883
  "filename": "lib/job-executable.ts",
6812
- "line": 317
6884
+ "line": 322
6813
6885
  },
6814
6886
  "name": "bind",
6815
6887
  "returns": {
@@ -6837,7 +6909,7 @@
6837
6909
  "kind": "interface",
6838
6910
  "locationInModule": {
6839
6911
  "filename": "lib/job-executable.ts",
6840
- "line": 325
6912
+ "line": 330
6841
6913
  },
6842
6914
  "name": "JobExecutableConfig",
6843
6915
  "properties": [
@@ -6851,7 +6923,7 @@
6851
6923
  "immutable": true,
6852
6924
  "locationInModule": {
6853
6925
  "filename": "lib/job-executable.ts",
6854
- "line": 331
6926
+ "line": 336
6855
6927
  },
6856
6928
  "name": "glueVersion",
6857
6929
  "type": {
@@ -6868,7 +6940,7 @@
6868
6940
  "immutable": true,
6869
6941
  "locationInModule": {
6870
6942
  "filename": "lib/job-executable.ts",
6871
- "line": 338
6943
+ "line": 343
6872
6944
  },
6873
6945
  "name": "language",
6874
6946
  "type": {
@@ -6884,7 +6956,7 @@
6884
6956
  "immutable": true,
6885
6957
  "locationInModule": {
6886
6958
  "filename": "lib/job-executable.ts",
6887
- "line": 355
6959
+ "line": 360
6888
6960
  },
6889
6961
  "name": "script",
6890
6962
  "type": {
@@ -6900,7 +6972,7 @@
6900
6972
  "immutable": true,
6901
6973
  "locationInModule": {
6902
6974
  "filename": "lib/job-executable.ts",
6903
- "line": 343
6975
+ "line": 348
6904
6976
  },
6905
6977
  "name": "type",
6906
6978
  "type": {
@@ -6919,7 +6991,7 @@
6919
6991
  "immutable": true,
6920
6992
  "locationInModule": {
6921
6993
  "filename": "lib/job-executable.ts",
6922
- "line": 364
6994
+ "line": 369
6923
6995
  },
6924
6996
  "name": "className",
6925
6997
  "optional": true,
@@ -6938,7 +7010,7 @@
6938
7010
  "immutable": true,
6939
7011
  "locationInModule": {
6940
7012
  "filename": "lib/job-executable.ts",
6941
- "line": 391
7013
+ "line": 396
6942
7014
  },
6943
7015
  "name": "extraFiles",
6944
7016
  "optional": true,
@@ -6962,7 +7034,7 @@
6962
7034
  "immutable": true,
6963
7035
  "locationInModule": {
6964
7036
  "filename": "lib/job-executable.ts",
6965
- "line": 373
7037
+ "line": 378
6966
7038
  },
6967
7039
  "name": "extraJars",
6968
7040
  "optional": true,
@@ -6986,7 +7058,7 @@
6986
7058
  "immutable": true,
6987
7059
  "locationInModule": {
6988
7060
  "filename": "lib/job-executable.ts",
6989
- "line": 400
7061
+ "line": 405
6990
7062
  },
6991
7063
  "name": "extraJarsFirst",
6992
7064
  "optional": true,
@@ -7005,7 +7077,7 @@
7005
7077
  "immutable": true,
7006
7078
  "locationInModule": {
7007
7079
  "filename": "lib/job-executable.ts",
7008
- "line": 382
7080
+ "line": 387
7009
7081
  },
7010
7082
  "name": "extraPythonFiles",
7011
7083
  "optional": true,
@@ -7028,7 +7100,7 @@
7028
7100
  "immutable": true,
7029
7101
  "locationInModule": {
7030
7102
  "filename": "lib/job-executable.ts",
7031
- "line": 350
7103
+ "line": 355
7032
7104
  },
7033
7105
  "name": "pythonVersion",
7034
7106
  "optional": true,
@@ -7049,7 +7121,7 @@
7049
7121
  "kind": "enum",
7050
7122
  "locationInModule": {
7051
7123
  "filename": "lib/job-executable.ts",
7052
- "line": 53
7124
+ "line": 58
7053
7125
  },
7054
7126
  "members": [
7055
7127
  {
@@ -7520,7 +7592,7 @@
7520
7592
  "kind": "class",
7521
7593
  "locationInModule": {
7522
7594
  "filename": "lib/job-executable.ts",
7523
- "line": 91
7595
+ "line": 96
7524
7596
  },
7525
7597
  "methods": [
7526
7598
  {
@@ -7530,7 +7602,7 @@
7530
7602
  },
7531
7603
  "locationInModule": {
7532
7604
  "filename": "lib/job-executable.ts",
7533
- "line": 111
7605
+ "line": 116
7534
7606
  },
7535
7607
  "name": "of",
7536
7608
  "parameters": [
@@ -7563,7 +7635,7 @@
7563
7635
  "immutable": true,
7564
7636
  "locationInModule": {
7565
7637
  "filename": "lib/job-executable.ts",
7566
- "line": 95
7638
+ "line": 100
7567
7639
  },
7568
7640
  "name": "ETL",
7569
7641
  "static": true,
@@ -7580,7 +7652,7 @@
7580
7652
  "immutable": true,
7581
7653
  "locationInModule": {
7582
7654
  "filename": "lib/job-executable.ts",
7583
- "line": 105
7655
+ "line": 110
7584
7656
  },
7585
7657
  "name": "PYTHON_SHELL",
7586
7658
  "static": true,
@@ -7597,7 +7669,7 @@
7597
7669
  "immutable": true,
7598
7670
  "locationInModule": {
7599
7671
  "filename": "lib/job-executable.ts",
7600
- "line": 100
7672
+ "line": 105
7601
7673
  },
7602
7674
  "name": "STREAMING",
7603
7675
  "static": true,
@@ -7613,7 +7685,7 @@
7613
7685
  "immutable": true,
7614
7686
  "locationInModule": {
7615
7687
  "filename": "lib/job-executable.ts",
7616
- "line": 118
7688
+ "line": 123
7617
7689
  },
7618
7690
  "name": "name",
7619
7691
  "type": {
@@ -7856,7 +7928,7 @@
7856
7928
  "kind": "interface",
7857
7929
  "locationInModule": {
7858
7930
  "filename": "lib/job-executable.ts",
7859
- "line": 207
7931
+ "line": 212
7860
7932
  },
7861
7933
  "name": "PythonShellExecutableProps",
7862
7934
  "properties": [
@@ -7870,7 +7942,7 @@
7870
7942
  "immutable": true,
7871
7943
  "locationInModule": {
7872
7944
  "filename": "lib/job-executable.ts",
7873
- "line": 148
7945
+ "line": 153
7874
7946
  },
7875
7947
  "name": "glueVersion",
7876
7948
  "type": {
@@ -7886,7 +7958,7 @@
7886
7958
  "immutable": true,
7887
7959
  "locationInModule": {
7888
7960
  "filename": "lib/job-executable.ts",
7889
- "line": 129
7961
+ "line": 134
7890
7962
  },
7891
7963
  "name": "pythonVersion",
7892
7964
  "type": {
@@ -7902,7 +7974,7 @@
7902
7974
  "immutable": true,
7903
7975
  "locationInModule": {
7904
7976
  "filename": "lib/job-executable.ts",
7905
- "line": 153
7977
+ "line": 158
7906
7978
  },
7907
7979
  "name": "script",
7908
7980
  "type": {
@@ -7921,7 +7993,7 @@
7921
7993
  "immutable": true,
7922
7994
  "locationInModule": {
7923
7995
  "filename": "lib/job-executable.ts",
7924
- "line": 163
7996
+ "line": 168
7925
7997
  },
7926
7998
  "name": "extraFiles",
7927
7999
  "optional": true,
@@ -7946,7 +8018,7 @@
7946
8018
  "immutable": true,
7947
8019
  "locationInModule": {
7948
8020
  "filename": "lib/job-executable.ts",
7949
- "line": 139
8021
+ "line": 144
7950
8022
  },
7951
8023
  "name": "extraPythonFiles",
7952
8024
  "optional": true,
@@ -7968,7 +8040,7 @@
7968
8040
  "docs": {
7969
8041
  "stability": "experimental",
7970
8042
  "summary": "Props for creating a Python Spark (ETL or Streaming) job executable.",
7971
- "example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V2_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});",
8043
+ "example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});",
7972
8044
  "custom": {
7973
8045
  "exampleMetadata": "infused"
7974
8046
  }
@@ -7977,7 +8049,7 @@
7977
8049
  "kind": "interface",
7978
8050
  "locationInModule": {
7979
8051
  "filename": "lib/job-executable.ts",
7980
- "line": 202
8052
+ "line": 207
7981
8053
  },
7982
8054
  "name": "PythonSparkJobExecutableProps",
7983
8055
  "properties": [
@@ -7991,7 +8063,7 @@
7991
8063
  "immutable": true,
7992
8064
  "locationInModule": {
7993
8065
  "filename": "lib/job-executable.ts",
7994
- "line": 148
8066
+ "line": 153
7995
8067
  },
7996
8068
  "name": "glueVersion",
7997
8069
  "type": {
@@ -8007,7 +8079,7 @@
8007
8079
  "immutable": true,
8008
8080
  "locationInModule": {
8009
8081
  "filename": "lib/job-executable.ts",
8010
- "line": 129
8082
+ "line": 134
8011
8083
  },
8012
8084
  "name": "pythonVersion",
8013
8085
  "type": {
@@ -8023,7 +8095,7 @@
8023
8095
  "immutable": true,
8024
8096
  "locationInModule": {
8025
8097
  "filename": "lib/job-executable.ts",
8026
- "line": 153
8098
+ "line": 158
8027
8099
  },
8028
8100
  "name": "script",
8029
8101
  "type": {
@@ -8042,7 +8114,7 @@
8042
8114
  "immutable": true,
8043
8115
  "locationInModule": {
8044
8116
  "filename": "lib/job-executable.ts",
8045
- "line": 163
8117
+ "line": 168
8046
8118
  },
8047
8119
  "name": "extraFiles",
8048
8120
  "optional": true,
@@ -8066,7 +8138,7 @@
8066
8138
  "immutable": true,
8067
8139
  "locationInModule": {
8068
8140
  "filename": "lib/job-executable.ts",
8069
- "line": 175
8141
+ "line": 180
8070
8142
  },
8071
8143
  "name": "extraJars",
8072
8144
  "optional": true,
@@ -8090,7 +8162,7 @@
8090
8162
  "immutable": true,
8091
8163
  "locationInModule": {
8092
8164
  "filename": "lib/job-executable.ts",
8093
- "line": 184
8165
+ "line": 189
8094
8166
  },
8095
8167
  "name": "extraJarsFirst",
8096
8168
  "optional": true,
@@ -8110,7 +8182,7 @@
8110
8182
  "immutable": true,
8111
8183
  "locationInModule": {
8112
8184
  "filename": "lib/job-executable.ts",
8113
- "line": 139
8185
+ "line": 144
8114
8186
  },
8115
8187
  "name": "extraPythonFiles",
8116
8188
  "optional": true,
@@ -8131,7 +8203,7 @@
8131
8203
  "docs": {
8132
8204
  "stability": "experimental",
8133
8205
  "summary": "Python version.",
8134
- "example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V2_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});",
8206
+ "example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});",
8135
8207
  "custom": {
8136
8208
  "exampleMetadata": "infused"
8137
8209
  }
@@ -8140,7 +8212,7 @@
8140
8212
  "kind": "enum",
8141
8213
  "locationInModule": {
8142
8214
  "filename": "lib/job-executable.ts",
8143
- "line": 68
8215
+ "line": 73
8144
8216
  },
8145
8217
  "members": [
8146
8218
  {
@@ -8250,7 +8322,7 @@
8250
8322
  "docs": {
8251
8323
  "stability": "experimental",
8252
8324
  "summary": "S3 encryption configuration.",
8253
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
8325
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
8254
8326
  "custom": {
8255
8327
  "exampleMetadata": "infused"
8256
8328
  }
@@ -8259,7 +8331,7 @@
8259
8331
  "kind": "interface",
8260
8332
  "locationInModule": {
8261
8333
  "filename": "lib/security-configuration.ts",
8262
- "line": 66
8334
+ "line": 67
8263
8335
  },
8264
8336
  "name": "S3Encryption",
8265
8337
  "properties": [
@@ -8272,7 +8344,7 @@
8272
8344
  "immutable": true,
8273
8345
  "locationInModule": {
8274
8346
  "filename": "lib/security-configuration.ts",
8275
- "line": 70
8347
+ "line": 71
8276
8348
  },
8277
8349
  "name": "mode",
8278
8350
  "type": {
@@ -8289,7 +8361,7 @@
8289
8361
  "immutable": true,
8290
8362
  "locationInModule": {
8291
8363
  "filename": "lib/security-configuration.ts",
8292
- "line": 76
8364
+ "line": 77
8293
8365
  },
8294
8366
  "name": "kmsKey",
8295
8367
  "optional": true,
@@ -8306,7 +8378,7 @@
8306
8378
  "see": "https://docs.aws.amazon.com/glue/latest/webapi/API_S3Encryption.html#Glue-Type-S3Encryption-S3EncryptionMode",
8307
8379
  "stability": "experimental",
8308
8380
  "summary": "Encryption mode for S3.",
8309
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
8381
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
8310
8382
  "custom": {
8311
8383
  "exampleMetadata": "infused"
8312
8384
  }
@@ -8315,7 +8387,7 @@
8315
8387
  "kind": "enum",
8316
8388
  "locationInModule": {
8317
8389
  "filename": "lib/security-configuration.ts",
8318
- "line": 21
8390
+ "line": 22
8319
8391
  },
8320
8392
  "members": [
8321
8393
  {
@@ -8344,7 +8416,7 @@
8344
8416
  "docs": {
8345
8417
  "stability": "experimental",
8346
8418
  "summary": "Props for creating a Scala Spark (ETL or Streaming) job executable.",
8347
- "example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V2_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});",
8419
+ "example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});",
8348
8420
  "custom": {
8349
8421
  "exampleMetadata": "infused"
8350
8422
  }
@@ -8353,7 +8425,7 @@
8353
8425
  "kind": "interface",
8354
8426
  "locationInModule": {
8355
8427
  "filename": "lib/job-executable.ts",
8356
- "line": 190
8428
+ "line": 195
8357
8429
  },
8358
8430
  "name": "ScalaJobExecutableProps",
8359
8431
  "properties": [
@@ -8367,7 +8439,7 @@
8367
8439
  "immutable": true,
8368
8440
  "locationInModule": {
8369
8441
  "filename": "lib/job-executable.ts",
8370
- "line": 196
8442
+ "line": 201
8371
8443
  },
8372
8444
  "name": "className",
8373
8445
  "type": {
@@ -8384,7 +8456,7 @@
8384
8456
  "immutable": true,
8385
8457
  "locationInModule": {
8386
8458
  "filename": "lib/job-executable.ts",
8387
- "line": 148
8459
+ "line": 153
8388
8460
  },
8389
8461
  "name": "glueVersion",
8390
8462
  "type": {
@@ -8400,7 +8472,7 @@
8400
8472
  "immutable": true,
8401
8473
  "locationInModule": {
8402
8474
  "filename": "lib/job-executable.ts",
8403
- "line": 153
8475
+ "line": 158
8404
8476
  },
8405
8477
  "name": "script",
8406
8478
  "type": {
@@ -8419,7 +8491,7 @@
8419
8491
  "immutable": true,
8420
8492
  "locationInModule": {
8421
8493
  "filename": "lib/job-executable.ts",
8422
- "line": 163
8494
+ "line": 168
8423
8495
  },
8424
8496
  "name": "extraFiles",
8425
8497
  "optional": true,
@@ -8443,7 +8515,7 @@
8443
8515
  "immutable": true,
8444
8516
  "locationInModule": {
8445
8517
  "filename": "lib/job-executable.ts",
8446
- "line": 175
8518
+ "line": 180
8447
8519
  },
8448
8520
  "name": "extraJars",
8449
8521
  "optional": true,
@@ -8467,7 +8539,7 @@
8467
8539
  "immutable": true,
8468
8540
  "locationInModule": {
8469
8541
  "filename": "lib/job-executable.ts",
8470
- "line": 184
8542
+ "line": 189
8471
8543
  },
8472
8544
  "name": "extraJarsFirst",
8473
8545
  "optional": true,
@@ -8483,7 +8555,7 @@
8483
8555
  "docs": {
8484
8556
  "see": "https://docs.aws.amazon.com/athena/latest/ug/data-types.html",
8485
8557
  "stability": "experimental",
8486
- "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});",
8558
+ "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
8487
8559
  "custom": {
8488
8560
  "exampleMetadata": "infused"
8489
8561
  }
@@ -8889,7 +8961,7 @@
8889
8961
  "remarks": "The following scenarios show some of the ways that you can use a security configuration.\n- Attach a security configuration to an AWS Glue crawler to write encrypted Amazon CloudWatch Logs.\n- Attach a security configuration to an extract, transform, and load (ETL) job to write encrypted Amazon Simple Storage Service (Amazon S3) targets and encrypted CloudWatch Logs.\n- Attach a security configuration to an ETL job to write its jobs bookmarks as encrypted Amazon S3 data.\n- Attach a security configuration to a development endpoint to write encrypted Amazon S3 targets.",
8890
8962
  "stability": "experimental",
8891
8963
  "summary": "A security configuration is a set of security properties that can be used by AWS Glue to encrypt data at rest.",
8892
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
8964
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
8893
8965
  "custom": {
8894
8966
  "exampleMetadata": "infused"
8895
8967
  }
@@ -8901,7 +8973,7 @@
8901
8973
  },
8902
8974
  "locationInModule": {
8903
8975
  "filename": "lib/security-configuration.ts",
8904
- "line": 187
8976
+ "line": 190
8905
8977
  },
8906
8978
  "parameters": [
8907
8979
  {
@@ -8918,6 +8990,7 @@
8918
8990
  },
8919
8991
  {
8920
8992
  "name": "props",
8993
+ "optional": true,
8921
8994
  "type": {
8922
8995
  "fqn": "@aws-cdk/aws-glue-alpha.SecurityConfigurationProps"
8923
8996
  }
@@ -8930,7 +9003,7 @@
8930
9003
  "kind": "class",
8931
9004
  "locationInModule": {
8932
9005
  "filename": "lib/security-configuration.ts",
8933
- "line": 148
9006
+ "line": 151
8934
9007
  },
8935
9008
  "methods": [
8936
9009
  {
@@ -8940,7 +9013,7 @@
8940
9013
  },
8941
9014
  "locationInModule": {
8942
9015
  "filename": "lib/security-configuration.ts",
8943
- "line": 157
9016
+ "line": 160
8944
9017
  },
8945
9018
  "name": "fromSecurityConfigurationName",
8946
9019
  "parameters": [
@@ -8993,7 +9066,7 @@
8993
9066
  "immutable": true,
8994
9067
  "locationInModule": {
8995
9068
  "filename": "lib/security-configuration.ts",
8996
- "line": 170
9069
+ "line": 173
8997
9070
  },
8998
9071
  "name": "securityConfigurationName",
8999
9072
  "overrides": "@aws-cdk/aws-glue-alpha.ISecurityConfiguration",
@@ -9009,7 +9082,7 @@
9009
9082
  "immutable": true,
9010
9083
  "locationInModule": {
9011
9084
  "filename": "lib/security-configuration.ts",
9012
- "line": 175
9085
+ "line": 178
9013
9086
  },
9014
9087
  "name": "cloudWatchEncryptionKey",
9015
9088
  "optional": true,
@@ -9025,7 +9098,7 @@
9025
9098
  "immutable": true,
9026
9099
  "locationInModule": {
9027
9100
  "filename": "lib/security-configuration.ts",
9028
- "line": 180
9101
+ "line": 183
9029
9102
  },
9030
9103
  "name": "jobBookmarksEncryptionKey",
9031
9104
  "optional": true,
@@ -9041,7 +9114,7 @@
9041
9114
  "immutable": true,
9042
9115
  "locationInModule": {
9043
9116
  "filename": "lib/security-configuration.ts",
9044
- "line": 185
9117
+ "line": 188
9045
9118
  },
9046
9119
  "name": "s3EncryptionKey",
9047
9120
  "optional": true,
@@ -9058,7 +9131,7 @@
9058
9131
  "docs": {
9059
9132
  "stability": "experimental",
9060
9133
  "summary": "Constructions properties of {@link SecurityConfiguration}.",
9061
- "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
9134
+ "example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
9062
9135
  "custom": {
9063
9136
  "exampleMetadata": "infused"
9064
9137
  }
@@ -9067,26 +9140,10 @@
9067
9140
  "kind": "interface",
9068
9141
  "locationInModule": {
9069
9142
  "filename": "lib/security-configuration.ts",
9070
- "line": 114
9143
+ "line": 115
9071
9144
  },
9072
9145
  "name": "SecurityConfigurationProps",
9073
9146
  "properties": [
9074
- {
9075
- "abstract": true,
9076
- "docs": {
9077
- "stability": "experimental",
9078
- "summary": "The name of the security configuration."
9079
- },
9080
- "immutable": true,
9081
- "locationInModule": {
9082
- "filename": "lib/security-configuration.ts",
9083
- "line": 118
9084
- },
9085
- "name": "securityConfigurationName",
9086
- "type": {
9087
- "primitive": "string"
9088
- }
9089
- },
9090
9147
  {
9091
9148
  "abstract": true,
9092
9149
  "docs": {
@@ -9097,7 +9154,7 @@
9097
9154
  "immutable": true,
9098
9155
  "locationInModule": {
9099
9156
  "filename": "lib/security-configuration.ts",
9100
- "line": 124
9157
+ "line": 127
9101
9158
  },
9102
9159
  "name": "cloudWatchEncryption",
9103
9160
  "optional": true,
@@ -9115,7 +9172,7 @@
9115
9172
  "immutable": true,
9116
9173
  "locationInModule": {
9117
9174
  "filename": "lib/security-configuration.ts",
9118
- "line": 130
9175
+ "line": 133
9119
9176
  },
9120
9177
  "name": "jobBookmarksEncryption",
9121
9178
  "optional": true,
@@ -9133,13 +9190,31 @@
9133
9190
  "immutable": true,
9134
9191
  "locationInModule": {
9135
9192
  "filename": "lib/security-configuration.ts",
9136
- "line": 136
9193
+ "line": 139
9137
9194
  },
9138
9195
  "name": "s3Encryption",
9139
9196
  "optional": true,
9140
9197
  "type": {
9141
9198
  "fqn": "@aws-cdk/aws-glue-alpha.S3Encryption"
9142
9199
  }
9200
+ },
9201
+ {
9202
+ "abstract": true,
9203
+ "docs": {
9204
+ "default": "- generated by CDK.",
9205
+ "stability": "experimental",
9206
+ "summary": "The name of the security configuration."
9207
+ },
9208
+ "immutable": true,
9209
+ "locationInModule": {
9210
+ "filename": "lib/security-configuration.ts",
9211
+ "line": 121
9212
+ },
9213
+ "name": "securityConfigurationName",
9214
+ "optional": true,
9215
+ "type": {
9216
+ "primitive": "string"
9217
+ }
9143
9218
  }
9144
9219
  ],
9145
9220
  "symbolId": "lib/security-configuration:SecurityConfigurationProps"
@@ -9505,7 +9580,7 @@
9505
9580
  "docs": {
9506
9581
  "stability": "experimental",
9507
9582
  "summary": "A Glue table.",
9508
- "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});",
9583
+ "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
9509
9584
  "custom": {
9510
9585
  "exampleMetadata": "infused"
9511
9586
  }
@@ -9517,7 +9592,7 @@
9517
9592
  },
9518
9593
  "locationInModule": {
9519
9594
  "filename": "lib/table.ts",
9520
- "line": 283
9595
+ "line": 285
9521
9596
  },
9522
9597
  "parameters": [
9523
9598
  {
@@ -9546,7 +9621,7 @@
9546
9621
  "kind": "class",
9547
9622
  "locationInModule": {
9548
9623
  "filename": "lib/table.ts",
9549
- "line": 189
9624
+ "line": 191
9550
9625
  },
9551
9626
  "methods": [
9552
9627
  {
@@ -9555,7 +9630,7 @@
9555
9630
  },
9556
9631
  "locationInModule": {
9557
9632
  "filename": "lib/table.ts",
9558
- "line": 191
9633
+ "line": 193
9559
9634
  },
9560
9635
  "name": "fromTableArn",
9561
9636
  "parameters": [
@@ -9592,7 +9667,7 @@
9592
9667
  },
9593
9668
  "locationInModule": {
9594
9669
  "filename": "lib/table.ts",
9595
- "line": 207
9670
+ "line": 209
9596
9671
  },
9597
9672
  "name": "fromTableAttributes",
9598
9673
  "parameters": [
@@ -9640,7 +9715,7 @@
9640
9715
  },
9641
9716
  "locationInModule": {
9642
9717
  "filename": "lib/table.ts",
9643
- "line": 356
9718
+ "line": 361
9644
9719
  },
9645
9720
  "name": "addPartitionIndex",
9646
9721
  "parameters": [
@@ -9659,7 +9734,7 @@
9659
9734
  },
9660
9735
  "locationInModule": {
9661
9736
  "filename": "lib/table.ts",
9662
- "line": 453
9737
+ "line": 458
9663
9738
  },
9664
9739
  "name": "grant",
9665
9740
  "parameters": [
@@ -9694,7 +9769,7 @@
9694
9769
  },
9695
9770
  "locationInModule": {
9696
9771
  "filename": "lib/table.ts",
9697
- "line": 419
9772
+ "line": 424
9698
9773
  },
9699
9774
  "name": "grantRead",
9700
9775
  "parameters": [
@@ -9721,7 +9796,7 @@
9721
9796
  },
9722
9797
  "locationInModule": {
9723
9798
  "filename": "lib/table.ts",
9724
- "line": 443
9799
+ "line": 448
9725
9800
  },
9726
9801
  "name": "grantReadWrite",
9727
9802
  "parameters": [
@@ -9749,7 +9824,7 @@
9749
9824
  },
9750
9825
  "locationInModule": {
9751
9826
  "filename": "lib/table.ts",
9752
- "line": 465
9827
+ "line": 470
9753
9828
  },
9754
9829
  "name": "grantToUnderlyingResources",
9755
9830
  "parameters": [
@@ -9784,7 +9859,7 @@
9784
9859
  },
9785
9860
  "locationInModule": {
9786
9861
  "filename": "lib/table.ts",
9787
- "line": 431
9862
+ "line": 436
9788
9863
  },
9789
9864
  "name": "grantWrite",
9790
9865
  "parameters": [
@@ -9815,7 +9890,7 @@
9815
9890
  "immutable": true,
9816
9891
  "locationInModule": {
9817
9892
  "filename": "lib/table.ts",
9818
- "line": 239
9893
+ "line": 241
9819
9894
  },
9820
9895
  "name": "bucket",
9821
9896
  "type": {
@@ -9830,7 +9905,7 @@
9830
9905
  "immutable": true,
9831
9906
  "locationInModule": {
9832
9907
  "filename": "lib/table.ts",
9833
- "line": 264
9908
+ "line": 266
9834
9909
  },
9835
9910
  "name": "columns",
9836
9911
  "type": {
@@ -9850,7 +9925,7 @@
9850
9925
  "immutable": true,
9851
9926
  "locationInModule": {
9852
9927
  "filename": "lib/table.ts",
9853
- "line": 224
9928
+ "line": 226
9854
9929
  },
9855
9930
  "name": "compressed",
9856
9931
  "type": {
@@ -9865,7 +9940,7 @@
9865
9940
  "immutable": true,
9866
9941
  "locationInModule": {
9867
9942
  "filename": "lib/table.ts",
9868
- "line": 219
9943
+ "line": 221
9869
9944
  },
9870
9945
  "name": "database",
9871
9946
  "type": {
@@ -9880,7 +9955,7 @@
9880
9955
  "immutable": true,
9881
9956
  "locationInModule": {
9882
9957
  "filename": "lib/table.ts",
9883
- "line": 259
9958
+ "line": 261
9884
9959
  },
9885
9960
  "name": "dataFormat",
9886
9961
  "type": {
@@ -9895,7 +9970,7 @@
9895
9970
  "immutable": true,
9896
9971
  "locationInModule": {
9897
9972
  "filename": "lib/table.ts",
9898
- "line": 229
9973
+ "line": 231
9899
9974
  },
9900
9975
  "name": "encryption",
9901
9976
  "type": {
@@ -9910,7 +9985,7 @@
9910
9985
  "immutable": true,
9911
9986
  "locationInModule": {
9912
9987
  "filename": "lib/table.ts",
9913
- "line": 244
9988
+ "line": 246
9914
9989
  },
9915
9990
  "name": "s3Prefix",
9916
9991
  "type": {
@@ -9925,7 +10000,7 @@
9925
10000
  "immutable": true,
9926
10001
  "locationInModule": {
9927
10002
  "filename": "lib/table.ts",
9928
- "line": 254
10003
+ "line": 256
9929
10004
  },
9930
10005
  "name": "tableArn",
9931
10006
  "overrides": "@aws-cdk/aws-glue-alpha.ITable",
@@ -9941,7 +10016,7 @@
9941
10016
  "immutable": true,
9942
10017
  "locationInModule": {
9943
10018
  "filename": "lib/table.ts",
9944
- "line": 249
10019
+ "line": 251
9945
10020
  },
9946
10021
  "name": "tableName",
9947
10022
  "overrides": "@aws-cdk/aws-glue-alpha.ITable",
@@ -9958,7 +10033,7 @@
9958
10033
  "immutable": true,
9959
10034
  "locationInModule": {
9960
10035
  "filename": "lib/table.ts",
9961
- "line": 234
10036
+ "line": 236
9962
10037
  },
9963
10038
  "name": "encryptionKey",
9964
10039
  "optional": true,
@@ -9974,7 +10049,7 @@
9974
10049
  "immutable": true,
9975
10050
  "locationInModule": {
9976
10051
  "filename": "lib/table.ts",
9977
- "line": 274
10052
+ "line": 276
9978
10053
  },
9979
10054
  "name": "partitionIndexes",
9980
10055
  "optional": true,
@@ -9995,7 +10070,7 @@
9995
10070
  "immutable": true,
9996
10071
  "locationInModule": {
9997
10072
  "filename": "lib/table.ts",
9998
- "line": 269
10073
+ "line": 271
9999
10074
  },
10000
10075
  "name": "partitionKeys",
10001
10076
  "optional": true,
@@ -10068,7 +10143,7 @@
10068
10143
  "see": "https://docs.aws.amazon.com/athena/latest/ug/encryption.html",
10069
10144
  "stability": "experimental",
10070
10145
  "summary": "Encryption options for a Table.",
10071
- "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
10146
+ "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
10072
10147
  "custom": {
10073
10148
  "exampleMetadata": "infused"
10074
10149
  }
@@ -10126,7 +10201,7 @@
10126
10201
  "datatype": true,
10127
10202
  "docs": {
10128
10203
  "stability": "experimental",
10129
- "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});",
10204
+ "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
10130
10205
  "custom": {
10131
10206
  "exampleMetadata": "infused"
10132
10207
  }
@@ -10148,7 +10223,7 @@
10148
10223
  "immutable": true,
10149
10224
  "locationInModule": {
10150
10225
  "filename": "lib/table.ts",
10151
- "line": 118
10226
+ "line": 120
10152
10227
  },
10153
10228
  "name": "columns",
10154
10229
  "type": {
@@ -10169,7 +10244,7 @@
10169
10244
  "immutable": true,
10170
10245
  "locationInModule": {
10171
10246
  "filename": "lib/table.ts",
10172
- "line": 99
10247
+ "line": 101
10173
10248
  },
10174
10249
  "name": "database",
10175
10250
  "type": {
@@ -10185,29 +10260,13 @@
10185
10260
  "immutable": true,
10186
10261
  "locationInModule": {
10187
10262
  "filename": "lib/table.ts",
10188
- "line": 139
10263
+ "line": 141
10189
10264
  },
10190
10265
  "name": "dataFormat",
10191
10266
  "type": {
10192
10267
  "fqn": "@aws-cdk/aws-glue-alpha.DataFormat"
10193
10268
  }
10194
10269
  },
10195
- {
10196
- "abstract": true,
10197
- "docs": {
10198
- "stability": "experimental",
10199
- "summary": "Name of the table."
10200
- },
10201
- "immutable": true,
10202
- "locationInModule": {
10203
- "filename": "lib/table.ts",
10204
- "line": 87
10205
- },
10206
- "name": "tableName",
10207
- "type": {
10208
- "primitive": "string"
10209
- }
10210
- },
10211
10270
  {
10212
10271
  "abstract": true,
10213
10272
  "docs": {
@@ -10218,7 +10277,7 @@
10218
10277
  "immutable": true,
10219
10278
  "locationInModule": {
10220
10279
  "filename": "lib/table.ts",
10221
- "line": 106
10280
+ "line": 108
10222
10281
  },
10223
10282
  "name": "bucket",
10224
10283
  "optional": true,
@@ -10236,7 +10295,7 @@
10236
10295
  "immutable": true,
10237
10296
  "locationInModule": {
10238
10297
  "filename": "lib/table.ts",
10239
- "line": 146
10298
+ "line": 148
10240
10299
  },
10241
10300
  "name": "compressed",
10242
10301
  "optional": true,
@@ -10254,7 +10313,7 @@
10254
10313
  "immutable": true,
10255
10314
  "locationInModule": {
10256
10315
  "filename": "lib/table.ts",
10257
- "line": 94
10316
+ "line": 96
10258
10317
  },
10259
10318
  "name": "description",
10260
10319
  "optional": true,
@@ -10273,7 +10332,7 @@
10273
10332
  "immutable": true,
10274
10333
  "locationInModule": {
10275
10334
  "filename": "lib/table.ts",
10276
- "line": 183
10335
+ "line": 185
10277
10336
  },
10278
10337
  "name": "enablePartitionFiltering",
10279
10338
  "optional": true,
@@ -10292,7 +10351,7 @@
10292
10351
  "immutable": true,
10293
10352
  "locationInModule": {
10294
10353
  "filename": "lib/table.ts",
10295
- "line": 158
10354
+ "line": 160
10296
10355
  },
10297
10356
  "name": "encryption",
10298
10357
  "optional": true,
@@ -10311,7 +10370,7 @@
10311
10370
  "immutable": true,
10312
10371
  "locationInModule": {
10313
10372
  "filename": "lib/table.ts",
10314
- "line": 167
10373
+ "line": 169
10315
10374
  },
10316
10375
  "name": "encryptionKey",
10317
10376
  "optional": true,
@@ -10330,7 +10389,7 @@
10330
10389
  "immutable": true,
10331
10390
  "locationInModule": {
10332
10391
  "filename": "lib/table.ts",
10333
- "line": 134
10392
+ "line": 136
10334
10393
  },
10335
10394
  "name": "partitionIndexes",
10336
10395
  "optional": true,
@@ -10353,7 +10412,7 @@
10353
10412
  "immutable": true,
10354
10413
  "locationInModule": {
10355
10414
  "filename": "lib/table.ts",
10356
- "line": 125
10415
+ "line": 127
10357
10416
  },
10358
10417
  "name": "partitionKeys",
10359
10418
  "optional": true,
@@ -10376,7 +10435,7 @@
10376
10435
  "immutable": true,
10377
10436
  "locationInModule": {
10378
10437
  "filename": "lib/table.ts",
10379
- "line": 113
10438
+ "line": 115
10380
10439
  },
10381
10440
  "name": "s3Prefix",
10382
10441
  "optional": true,
@@ -10394,13 +10453,31 @@
10394
10453
  "immutable": true,
10395
10454
  "locationInModule": {
10396
10455
  "filename": "lib/table.ts",
10397
- "line": 174
10456
+ "line": 176
10398
10457
  },
10399
10458
  "name": "storedAsSubDirectories",
10400
10459
  "optional": true,
10401
10460
  "type": {
10402
10461
  "primitive": "boolean"
10403
10462
  }
10463
+ },
10464
+ {
10465
+ "abstract": true,
10466
+ "docs": {
10467
+ "default": "- generated by CDK.",
10468
+ "stability": "experimental",
10469
+ "summary": "Name of the table."
10470
+ },
10471
+ "immutable": true,
10472
+ "locationInModule": {
10473
+ "filename": "lib/table.ts",
10474
+ "line": 89
10475
+ },
10476
+ "name": "tableName",
10477
+ "optional": true,
10478
+ "type": {
10479
+ "primitive": "string"
10480
+ }
10404
10481
  }
10405
10482
  ],
10406
10483
  "symbolId": "lib/table:TableProps"
@@ -10411,7 +10488,7 @@
10411
10488
  "docs": {
10412
10489
  "stability": "experimental",
10413
10490
  "summary": "Represents a type of a column in a table schema.",
10414
- "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});",
10491
+ "example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
10415
10492
  "custom": {
10416
10493
  "exampleMetadata": "infused"
10417
10494
  }
@@ -10580,6 +10657,6 @@
10580
10657
  "symbolId": "lib/job:WorkerType"
10581
10658
  }
10582
10659
  },
10583
- "version": "2.53.0-alpha.0",
10660
+ "version": "2.55.0-alpha.0",
10584
10661
  "fingerprint": "**********"
10585
10662
  }