@aws-cdk/aws-glue-alpha 2.3.0-alpha.0 → 2.4.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.3.0",
11
+ "aws-cdk-lib": "^2.4.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -2855,7 +2855,7 @@
2855
2855
  "stability": "experimental"
2856
2856
  },
2857
2857
  "homepage": "https://github.com/aws/aws-cdk",
2858
- "jsiiVersion": "1.47.0 (build 86d2c33)",
2858
+ "jsiiVersion": "1.50.0 (build d1830a4)",
2859
2859
  "keywords": [
2860
2860
  "aws",
2861
2861
  "cdk",
@@ -2876,7 +2876,7 @@
2876
2876
  },
2877
2877
  "name": "@aws-cdk/aws-glue-alpha",
2878
2878
  "readme": {
2879
- "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.\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\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### Partitions\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## [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"
2879
+ "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.\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\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## [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"
2880
2880
  },
2881
2881
  "repository": {
2882
2882
  "directory": "packages/individual-packages/aws-glue",
@@ -2920,7 +2920,7 @@
2920
2920
  "docs": {
2921
2921
  "stability": "experimental",
2922
2922
  "summary": "Job Code from a local file.",
2923
- "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;\n\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 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});",
2923
+ "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 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});",
2924
2924
  "custom": {
2925
2925
  "exampleMetadata": "fixture=_generated"
2926
2926
  }
@@ -3000,7 +3000,7 @@
3000
3000
  "see": "https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html#classifier-built-in",
3001
3001
  "stability": "experimental",
3002
3002
  "summary": "Classification string given to tables with this data format.",
3003
- "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';\n\nconst classificationString = glue_alpha.ClassificationString.AVRO;",
3003
+ "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 classificationString = glue_alpha.ClassificationString.AVRO;",
3004
3004
  "custom": {
3005
3005
  "exampleMetadata": "fixture=_generated"
3006
3006
  }
@@ -3116,34 +3116,34 @@
3116
3116
  }
3117
3117
  },
3118
3118
  {
3119
+ "const": true,
3119
3120
  "docs": {
3121
+ "see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html#aws-glue-programming-etl-format-xml",
3120
3122
  "stability": "experimental"
3121
3123
  },
3122
3124
  "immutable": true,
3123
3125
  "locationInModule": {
3124
3126
  "filename": "lib/data-format.ts",
3125
- "line": 176
3127
+ "line": 164
3126
3128
  },
3127
- "name": "value",
3129
+ "name": "XML",
3130
+ "static": true,
3128
3131
  "type": {
3129
- "primitive": "string"
3132
+ "fqn": "@aws-cdk/aws-glue-alpha.ClassificationString"
3130
3133
  }
3131
3134
  },
3132
3135
  {
3133
- "const": true,
3134
3136
  "docs": {
3135
- "see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html#aws-glue-programming-etl-format-xml",
3136
3137
  "stability": "experimental"
3137
3138
  },
3138
3139
  "immutable": true,
3139
3140
  "locationInModule": {
3140
3141
  "filename": "lib/data-format.ts",
3141
- "line": 164
3142
+ "line": 176
3142
3143
  },
3143
- "name": "XML",
3144
- "static": true,
3144
+ "name": "value",
3145
3145
  "type": {
3146
- "fqn": "@aws-cdk/aws-glue-alpha.ClassificationString"
3146
+ "primitive": "string"
3147
3147
  }
3148
3148
  }
3149
3149
  ],
@@ -3153,6 +3153,9 @@
3153
3153
  "assembly": "@aws-cdk/aws-glue-alpha",
3154
3154
  "datatype": true,
3155
3155
  "docs": {
3156
+ "custom": {
3157
+ "exampleMetadata": "infused"
3158
+ },
3156
3159
  "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});",
3157
3160
  "stability": "experimental",
3158
3161
  "summary": "CloudWatch Logs encryption configuration."
@@ -3205,6 +3208,10 @@
3205
3208
  "@aws-cdk/aws-glue-alpha.CloudWatchEncryptionMode": {
3206
3209
  "assembly": "@aws-cdk/aws-glue-alpha",
3207
3210
  "docs": {
3211
+ "custom": {
3212
+ "exampleMetadata": "infused"
3213
+ },
3214
+ "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});",
3208
3215
  "see": "https://docs.aws.amazon.com/glue/latest/webapi/API_CloudWatchEncryption.html#Glue-Type-CloudWatchEncryption-CloudWatchEncryptionMode",
3209
3216
  "stability": "experimental",
3210
3217
  "summary": "Encryption mode for CloudWatch Logs."
@@ -3226,12 +3233,15 @@
3226
3233
  }
3227
3234
  ],
3228
3235
  "name": "CloudWatchEncryptionMode",
3229
- "symbolId": "lib/security-configuration:CloudWatchEncryptionMode.KMS"
3236
+ "symbolId": "lib/security-configuration:CloudWatchEncryptionMode"
3230
3237
  },
3231
3238
  "@aws-cdk/aws-glue-alpha.Code": {
3232
3239
  "abstract": true,
3233
3240
  "assembly": "@aws-cdk/aws-glue-alpha",
3234
3241
  "docs": {
3242
+ "custom": {
3243
+ "exampleMetadata": "infused"
3244
+ },
3235
3245
  "example": "declare 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});",
3236
3246
  "stability": "experimental",
3237
3247
  "summary": "Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file)."
@@ -3248,37 +3258,6 @@
3248
3258
  "line": 12
3249
3259
  },
3250
3260
  "methods": [
3251
- {
3252
- "abstract": true,
3253
- "docs": {
3254
- "stability": "experimental",
3255
- "summary": "Called when the Job is initialized to allow this object to bind."
3256
- },
3257
- "locationInModule": {
3258
- "filename": "lib/code.ts",
3259
- "line": 35
3260
- },
3261
- "name": "bind",
3262
- "parameters": [
3263
- {
3264
- "name": "scope",
3265
- "type": {
3266
- "fqn": "constructs.Construct"
3267
- }
3268
- },
3269
- {
3270
- "name": "grantable",
3271
- "type": {
3272
- "fqn": "aws-cdk-lib.aws_iam.IGrantable"
3273
- }
3274
- }
3275
- ],
3276
- "returns": {
3277
- "type": {
3278
- "fqn": "@aws-cdk/aws-glue-alpha.CodeConfig"
3279
- }
3280
- }
3281
- },
3282
3261
  {
3283
3262
  "docs": {
3284
3263
  "stability": "experimental",
@@ -3350,6 +3329,37 @@
3350
3329
  }
3351
3330
  },
3352
3331
  "static": true
3332
+ },
3333
+ {
3334
+ "abstract": true,
3335
+ "docs": {
3336
+ "stability": "experimental",
3337
+ "summary": "Called when the Job is initialized to allow this object to bind."
3338
+ },
3339
+ "locationInModule": {
3340
+ "filename": "lib/code.ts",
3341
+ "line": 35
3342
+ },
3343
+ "name": "bind",
3344
+ "parameters": [
3345
+ {
3346
+ "name": "scope",
3347
+ "type": {
3348
+ "fqn": "constructs.Construct"
3349
+ }
3350
+ },
3351
+ {
3352
+ "name": "grantable",
3353
+ "type": {
3354
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
3355
+ }
3356
+ }
3357
+ ],
3358
+ "returns": {
3359
+ "type": {
3360
+ "fqn": "@aws-cdk/aws-glue-alpha.CodeConfig"
3361
+ }
3362
+ }
3353
3363
  }
3354
3364
  ],
3355
3365
  "name": "Code",
@@ -3361,7 +3371,7 @@
3361
3371
  "docs": {
3362
3372
  "stability": "experimental",
3363
3373
  "summary": "Result of binding `Code` into a `Job`.",
3364
- "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';\n\nconst codeConfig: glue_alpha.CodeConfig = {\n s3Location: {\n bucketName: 'bucketName',\n objectKey: 'objectKey',\n\n // the properties below are optional\n objectVersion: 'objectVersion',\n },\n};",
3374
+ "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 codeConfig: glue_alpha.CodeConfig = {\n s3Location: {\n bucketName: 'bucketName',\n objectKey: 'objectKey',\n\n // the properties below are optional\n objectVersion: 'objectVersion',\n },\n};",
3365
3375
  "custom": {
3366
3376
  "exampleMetadata": "fixture=_generated"
3367
3377
  }
@@ -3399,7 +3409,7 @@
3399
3409
  "docs": {
3400
3410
  "stability": "experimental",
3401
3411
  "summary": "A column of a table.",
3402
- "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';\n\nconst column: glue_alpha.Column = {\n name: 'name',\n type: {\n inputString: 'inputString',\n isPrimitive: false,\n },\n\n // the properties below are optional\n comment: 'comment',\n};",
3412
+ "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 column: glue_alpha.Column = {\n name: 'name',\n type: {\n inputString: 'inputString',\n isPrimitive: false,\n },\n\n // the properties below are optional\n comment: 'comment',\n};",
3403
3413
  "custom": {
3404
3414
  "exampleMetadata": "fixture=_generated"
3405
3415
  }
@@ -3415,17 +3425,15 @@
3415
3425
  {
3416
3426
  "abstract": true,
3417
3427
  "docs": {
3418
- "default": "none",
3419
3428
  "stability": "experimental",
3420
- "summary": "Coment describing the column."
3429
+ "summary": "Name of the column."
3421
3430
  },
3422
3431
  "immutable": true,
3423
3432
  "locationInModule": {
3424
3433
  "filename": "lib/schema.ts",
3425
- "line": 20
3434
+ "line": 8
3426
3435
  },
3427
- "name": "comment",
3428
- "optional": true,
3436
+ "name": "name",
3429
3437
  "type": {
3430
3438
  "primitive": "string"
3431
3439
  }
@@ -3434,32 +3442,34 @@
3434
3442
  "abstract": true,
3435
3443
  "docs": {
3436
3444
  "stability": "experimental",
3437
- "summary": "Name of the column."
3445
+ "summary": "Type of the column."
3438
3446
  },
3439
3447
  "immutable": true,
3440
3448
  "locationInModule": {
3441
3449
  "filename": "lib/schema.ts",
3442
- "line": 8
3450
+ "line": 13
3443
3451
  },
3444
- "name": "name",
3452
+ "name": "type",
3445
3453
  "type": {
3446
- "primitive": "string"
3454
+ "fqn": "@aws-cdk/aws-glue-alpha.Type"
3447
3455
  }
3448
3456
  },
3449
3457
  {
3450
3458
  "abstract": true,
3451
3459
  "docs": {
3460
+ "default": "none",
3452
3461
  "stability": "experimental",
3453
- "summary": "Type of the column."
3462
+ "summary": "Coment describing the column."
3454
3463
  },
3455
3464
  "immutable": true,
3456
3465
  "locationInModule": {
3457
3466
  "filename": "lib/schema.ts",
3458
- "line": 13
3467
+ "line": 20
3459
3468
  },
3460
- "name": "type",
3469
+ "name": "comment",
3470
+ "optional": true,
3461
3471
  "type": {
3462
- "fqn": "@aws-cdk/aws-glue-alpha.Type"
3472
+ "primitive": "string"
3463
3473
  }
3464
3474
  }
3465
3475
  ],
@@ -3469,6 +3479,9 @@
3469
3479
  "assembly": "@aws-cdk/aws-glue-alpha",
3470
3480
  "base": "aws-cdk-lib.Resource",
3471
3481
  "docs": {
3482
+ "custom": {
3483
+ "exampleMetadata": "infused"
3484
+ },
3472
3485
  "example": "declare 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});",
3473
3486
  "stability": "experimental",
3474
3487
  "summary": "An AWS Glue connection to a data source."
@@ -3679,7 +3692,7 @@
3679
3692
  "docs": {
3680
3693
  "stability": "experimental",
3681
3694
  "summary": "Base Connection Options.",
3682
- "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 { aws_ec2 as ec2 } from 'aws-cdk-lib';\n\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\n\nconst connectionOptions: glue_alpha.ConnectionOptions = {\n connectionName: 'connectionName',\n description: 'description',\n matchCriteria: ['matchCriteria'],\n properties: {\n propertiesKey: 'properties',\n },\n securityGroups: [securityGroup],\n subnet: subnet,\n};",
3695
+ "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 { aws_ec2 as ec2 } from 'aws-cdk-lib';\n\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nconst connectionOptions: glue_alpha.ConnectionOptions = {\n connectionName: 'connectionName',\n description: 'description',\n matchCriteria: ['matchCriteria'],\n properties: {\n propertiesKey: 'properties',\n },\n securityGroups: [securityGroup],\n subnet: subnet,\n};",
3683
3696
  "custom": {
3684
3697
  "exampleMetadata": "fixture=_generated"
3685
3698
  }
@@ -3825,6 +3838,9 @@
3825
3838
  "assembly": "@aws-cdk/aws-glue-alpha",
3826
3839
  "datatype": true,
3827
3840
  "docs": {
3841
+ "custom": {
3842
+ "exampleMetadata": "infused"
3843
+ },
3828
3844
  "example": "declare 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});",
3829
3845
  "stability": "experimental",
3830
3846
  "summary": "Construction properties for {@link Connection}."
@@ -3862,6 +3878,9 @@
3862
3878
  "@aws-cdk/aws-glue-alpha.ConnectionType": {
3863
3879
  "assembly": "@aws-cdk/aws-glue-alpha",
3864
3880
  "docs": {
3881
+ "custom": {
3882
+ "exampleMetadata": "infused"
3883
+ },
3865
3884
  "example": "declare 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});",
3866
3885
  "remarks": "If you need to use a connection type that doesn't exist as a static member, you\ncan instantiate a `ConnectionType` object, e.g: `new ConnectionType('NEW_TYPE')`.",
3867
3886
  "stability": "experimental",
@@ -4003,7 +4022,7 @@
4003
4022
  "see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
4004
4023
  "stability": "experimental",
4005
4024
  "summary": "Properties for enabling Continuous Logging for Glue Jobs.",
4006
- "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 { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const logGroup: logs.LogGroup;\n\nconst continuousLoggingProps: glue_alpha.ContinuousLoggingProps = {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n};",
4025
+ "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 { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const logGroup: logs.LogGroup;\nconst continuousLoggingProps: glue_alpha.ContinuousLoggingProps = {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n};",
4007
4026
  "custom": {
4008
4027
  "exampleMetadata": "fixture=_generated"
4009
4028
  }
@@ -4019,36 +4038,36 @@
4019
4038
  {
4020
4039
  "abstract": true,
4021
4040
  "docs": {
4022
- "default": "`%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n`",
4023
- "remarks": "This is a Log4j Conversion Pattern to customize driver and executor logs.",
4024
4041
  "stability": "experimental",
4025
- "summary": "Apply the provided conversion pattern."
4042
+ "summary": "Enable continouous logging."
4026
4043
  },
4027
4044
  "immutable": true,
4028
4045
  "locationInModule": {
4029
4046
  "filename": "lib/job.ts",
4030
- "line": 418
4047
+ "line": 388
4031
4048
  },
4032
- "name": "conversionPattern",
4033
- "optional": true,
4049
+ "name": "enabled",
4034
4050
  "type": {
4035
- "primitive": "string"
4051
+ "primitive": "boolean"
4036
4052
  }
4037
4053
  },
4038
4054
  {
4039
4055
  "abstract": true,
4040
4056
  "docs": {
4057
+ "default": "`%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n`",
4058
+ "remarks": "This is a Log4j Conversion Pattern to customize driver and executor logs.",
4041
4059
  "stability": "experimental",
4042
- "summary": "Enable continouous logging."
4060
+ "summary": "Apply the provided conversion pattern."
4043
4061
  },
4044
4062
  "immutable": true,
4045
4063
  "locationInModule": {
4046
4064
  "filename": "lib/job.ts",
4047
- "line": 388
4065
+ "line": 418
4048
4066
  },
4049
- "name": "enabled",
4067
+ "name": "conversionPattern",
4068
+ "optional": true,
4050
4069
  "type": {
4051
- "primitive": "boolean"
4070
+ "primitive": "string"
4052
4071
  }
4053
4072
  },
4054
4073
  {
@@ -4111,6 +4130,9 @@
4111
4130
  "@aws-cdk/aws-glue-alpha.DataFormat": {
4112
4131
  "assembly": "@aws-cdk/aws-glue-alpha",
4113
4132
  "docs": {
4133
+ "custom": {
4134
+ "exampleMetadata": "infused"
4135
+ },
4114
4136
  "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});",
4115
4137
  "stability": "experimental",
4116
4138
  "summary": "Defines the input/output formats and ser/de for a single DataFormat."
@@ -4374,7 +4396,7 @@
4374
4396
  "docs": {
4375
4397
  "stability": "experimental",
4376
4398
  "summary": "Properties of a DataFormat instance.",
4377
- "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';\n\ndeclare const classificationString: glue_alpha.ClassificationString;\ndeclare const inputFormat: glue_alpha.InputFormat;\ndeclare const outputFormat: glue_alpha.OutputFormat;\ndeclare const serializationLibrary: glue_alpha.SerializationLibrary;\n\nconst dataFormatProps: glue_alpha.DataFormatProps = {\n inputFormat: inputFormat,\n outputFormat: outputFormat,\n serializationLibrary: serializationLibrary,\n\n // the properties below are optional\n classificationString: classificationString,\n};",
4399
+ "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';\n\ndeclare const classificationString: glue_alpha.ClassificationString;\ndeclare const inputFormat: glue_alpha.InputFormat;\ndeclare const outputFormat: glue_alpha.OutputFormat;\ndeclare const serializationLibrary: glue_alpha.SerializationLibrary;\nconst dataFormatProps: glue_alpha.DataFormatProps = {\n inputFormat: inputFormat,\n outputFormat: outputFormat,\n serializationLibrary: serializationLibrary,\n\n // the properties below are optional\n classificationString: classificationString,\n};",
4378
4400
  "custom": {
4379
4401
  "exampleMetadata": "fixture=_generated"
4380
4402
  }
@@ -4387,24 +4409,6 @@
4387
4409
  },
4388
4410
  "name": "DataFormatProps",
4389
4411
  "properties": [
4390
- {
4391
- "abstract": true,
4392
- "docs": {
4393
- "default": "- No classification is specified.",
4394
- "stability": "experimental",
4395
- "summary": "Classification string given to tables with this data format."
4396
- },
4397
- "immutable": true,
4398
- "locationInModule": {
4399
- "filename": "lib/data-format.ts",
4400
- "line": 203
4401
- },
4402
- "name": "classificationString",
4403
- "optional": true,
4404
- "type": {
4405
- "fqn": "@aws-cdk/aws-glue-alpha.ClassificationString"
4406
- }
4407
- },
4408
4412
  {
4409
4413
  "abstract": true,
4410
4414
  "docs": {
@@ -4452,6 +4456,24 @@
4452
4456
  "type": {
4453
4457
  "fqn": "@aws-cdk/aws-glue-alpha.SerializationLibrary"
4454
4458
  }
4459
+ },
4460
+ {
4461
+ "abstract": true,
4462
+ "docs": {
4463
+ "default": "- No classification is specified.",
4464
+ "stability": "experimental",
4465
+ "summary": "Classification string given to tables with this data format."
4466
+ },
4467
+ "immutable": true,
4468
+ "locationInModule": {
4469
+ "filename": "lib/data-format.ts",
4470
+ "line": 203
4471
+ },
4472
+ "name": "classificationString",
4473
+ "optional": true,
4474
+ "type": {
4475
+ "fqn": "@aws-cdk/aws-glue-alpha.ClassificationString"
4476
+ }
4455
4477
  }
4456
4478
  ],
4457
4479
  "symbolId": "lib/data-format:DataFormatProps"
@@ -4460,6 +4482,9 @@
4460
4482
  "assembly": "@aws-cdk/aws-glue-alpha",
4461
4483
  "base": "aws-cdk-lib.Resource",
4462
4484
  "docs": {
4485
+ "custom": {
4486
+ "exampleMetadata": "infused"
4487
+ },
4463
4488
  "example": "new glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n});",
4464
4489
  "stability": "experimental",
4465
4490
  "summary": "A Glue database."
@@ -4629,6 +4654,9 @@
4629
4654
  "assembly": "@aws-cdk/aws-glue-alpha",
4630
4655
  "datatype": true,
4631
4656
  "docs": {
4657
+ "custom": {
4658
+ "exampleMetadata": "infused"
4659
+ },
4632
4660
  "example": "new glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n});",
4633
4661
  "stability": "experimental"
4634
4662
  },
@@ -4681,6 +4709,9 @@
4681
4709
  "@aws-cdk/aws-glue-alpha.GlueVersion": {
4682
4710
  "assembly": "@aws-cdk/aws-glue-alpha",
4683
4711
  "docs": {
4712
+ "custom": {
4713
+ "exampleMetadata": "infused"
4714
+ },
4684
4715
  "example": "declare 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});",
4685
4716
  "see": "https://docs.aws.amazon.com/glue/latest/dg/add-job.html.\n\nIf you need to use a GlueVersion that doesn't exist as a static member, you\ncan instantiate a `GlueVersion` object, e.g: `GlueVersion.of('1.5')`.",
4686
4717
  "stability": "experimental",
@@ -4724,21 +4755,6 @@
4724
4755
  ],
4725
4756
  "name": "GlueVersion",
4726
4757
  "properties": [
4727
- {
4728
- "docs": {
4729
- "stability": "experimental",
4730
- "summary": "The name of this GlueVersion, as expected by Job resource."
4731
- },
4732
- "immutable": true,
4733
- "locationInModule": {
4734
- "filename": "lib/job-executable.ts",
4735
- "line": 43
4736
- },
4737
- "name": "name",
4738
- "type": {
4739
- "primitive": "string"
4740
- }
4741
- },
4742
4758
  {
4743
4759
  "const": true,
4744
4760
  "docs": {
@@ -4806,6 +4822,21 @@
4806
4822
  "type": {
4807
4823
  "fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
4808
4824
  }
4825
+ },
4826
+ {
4827
+ "docs": {
4828
+ "stability": "experimental",
4829
+ "summary": "The name of this GlueVersion, as expected by Job resource."
4830
+ },
4831
+ "immutable": true,
4832
+ "locationInModule": {
4833
+ "filename": "lib/job-executable.ts",
4834
+ "line": 43
4835
+ },
4836
+ "name": "name",
4837
+ "type": {
4838
+ "primitive": "string"
4839
+ }
4809
4840
  }
4810
4841
  ],
4811
4842
  "symbolId": "lib/job-executable:GlueVersion"
@@ -5366,7 +5397,7 @@
5366
5397
  "kind": "interface",
5367
5398
  "locationInModule": {
5368
5399
  "filename": "lib/table.ts",
5369
- "line": 11
5400
+ "line": 31
5370
5401
  },
5371
5402
  "name": "ITable",
5372
5403
  "properties": [
@@ -5381,7 +5412,7 @@
5381
5412
  "immutable": true,
5382
5413
  "locationInModule": {
5383
5414
  "filename": "lib/table.ts",
5384
- "line": 15
5415
+ "line": 35
5385
5416
  },
5386
5417
  "name": "tableArn",
5387
5418
  "type": {
@@ -5399,7 +5430,7 @@
5399
5430
  "immutable": true,
5400
5431
  "locationInModule": {
5401
5432
  "filename": "lib/table.ts",
5402
- "line": 20
5433
+ "line": 40
5403
5434
  },
5404
5435
  "name": "tableName",
5405
5436
  "type": {
@@ -5414,7 +5445,7 @@
5414
5445
  "docs": {
5415
5446
  "stability": "experimental",
5416
5447
  "summary": "Absolute class name of the Hadoop `InputFormat` to use when reading table files.",
5417
- "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';\n\nconst inputFormat = glue_alpha.InputFormat.AVRO;",
5448
+ "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 inputFormat = glue_alpha.InputFormat.AVRO;",
5418
5449
  "custom": {
5419
5450
  "exampleMetadata": "fixture=_generated"
5420
5451
  }
@@ -5462,20 +5493,6 @@
5462
5493
  "fqn": "@aws-cdk/aws-glue-alpha.InputFormat"
5463
5494
  }
5464
5495
  },
5465
- {
5466
- "docs": {
5467
- "stability": "experimental"
5468
- },
5469
- "immutable": true,
5470
- "locationInModule": {
5471
- "filename": "lib/data-format.ts",
5472
- "line": 43
5473
- },
5474
- "name": "className",
5475
- "type": {
5476
- "primitive": "string"
5477
- }
5478
- },
5479
5496
  {
5480
5497
  "const": true,
5481
5498
  "docs": {
@@ -5548,6 +5565,20 @@
5548
5565
  "type": {
5549
5566
  "fqn": "@aws-cdk/aws-glue-alpha.InputFormat"
5550
5567
  }
5568
+ },
5569
+ {
5570
+ "docs": {
5571
+ "stability": "experimental"
5572
+ },
5573
+ "immutable": true,
5574
+ "locationInModule": {
5575
+ "filename": "lib/data-format.ts",
5576
+ "line": 43
5577
+ },
5578
+ "name": "className",
5579
+ "type": {
5580
+ "primitive": "string"
5581
+ }
5551
5582
  }
5552
5583
  ],
5553
5584
  "symbolId": "lib/data-format:InputFormat"
@@ -5556,6 +5587,9 @@
5556
5587
  "assembly": "@aws-cdk/aws-glue-alpha",
5557
5588
  "base": "aws-cdk-lib.Resource",
5558
5589
  "docs": {
5590
+ "custom": {
5591
+ "exampleMetadata": "infused"
5592
+ },
5559
5593
  "example": "declare 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});",
5560
5594
  "stability": "experimental",
5561
5595
  "summary": "A Glue Job."
@@ -6070,7 +6104,7 @@
6070
6104
  "docs": {
6071
6105
  "stability": "experimental",
6072
6106
  "summary": "Attributes for importing {@link Job}.",
6073
- "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 { aws_iam as iam } from 'aws-cdk-lib';\n\ndeclare const role: iam.Role;\n\nconst jobAttributes: glue_alpha.JobAttributes = {\n jobName: 'jobName',\n\n // the properties below are optional\n role: role,\n};",
6107
+ "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 { aws_iam as iam } from 'aws-cdk-lib';\n\ndeclare const role: iam.Role;\nconst jobAttributes: glue_alpha.JobAttributes = {\n jobName: 'jobName',\n\n // the properties below are optional\n role: role,\n};",
6074
6108
  "custom": {
6075
6109
  "exampleMetadata": "fixture=_generated"
6076
6110
  }
@@ -6124,6 +6158,9 @@
6124
6158
  "assembly": "@aws-cdk/aws-glue-alpha",
6125
6159
  "datatype": true,
6126
6160
  "docs": {
6161
+ "custom": {
6162
+ "exampleMetadata": "infused"
6163
+ },
6127
6164
  "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});",
6128
6165
  "stability": "experimental",
6129
6166
  "summary": "Job bookmarks encryption configuration."
@@ -6176,6 +6213,10 @@
6176
6213
  "@aws-cdk/aws-glue-alpha.JobBookmarksEncryptionMode": {
6177
6214
  "assembly": "@aws-cdk/aws-glue-alpha",
6178
6215
  "docs": {
6216
+ "custom": {
6217
+ "exampleMetadata": "infused"
6218
+ },
6219
+ "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});",
6179
6220
  "see": "https://docs.aws.amazon.com/glue/latest/webapi/API_JobBookmarksEncryption.html#Glue-Type-JobBookmarksEncryption-JobBookmarksEncryptionMode",
6180
6221
  "stability": "experimental",
6181
6222
  "summary": "Encryption mode for Job Bookmarks."
@@ -6197,12 +6238,15 @@
6197
6238
  }
6198
6239
  ],
6199
6240
  "name": "JobBookmarksEncryptionMode",
6200
- "symbolId": "lib/security-configuration:JobBookmarksEncryptionMode.CLIENT_SIDE_KMS"
6241
+ "symbolId": "lib/security-configuration:JobBookmarksEncryptionMode"
6201
6242
  },
6202
6243
  "@aws-cdk/aws-glue-alpha.JobExecutable": {
6203
6244
  "assembly": "@aws-cdk/aws-glue-alpha",
6204
6245
  "docs": {
6205
- "example": "declare 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});",
6246
+ "custom": {
6247
+ "exampleMetadata": "infused"
6248
+ },
6249
+ "example": "declare 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});",
6206
6250
  "stability": "experimental",
6207
6251
  "summary": "The executable properties related to the Glue job's GlueVersion, JobType and code."
6208
6252
  },
@@ -6407,7 +6451,7 @@
6407
6451
  "docs": {
6408
6452
  "stability": "experimental",
6409
6453
  "summary": "Result of binding a `JobExecutable` into a `Job`.",
6410
- "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';\n\ndeclare const code: glue_alpha.Code;\ndeclare const glueVersion: glue_alpha.GlueVersion;\ndeclare const jobType: glue_alpha.JobType;\n\nconst jobExecutableConfig: glue_alpha.JobExecutableConfig = {\n glueVersion: glueVersion,\n language: glue_alpha.JobLanguage.SCALA,\n script: code,\n type: jobType,\n\n // the properties below are optional\n className: 'className',\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n extraPythonFiles: [code],\n pythonVersion: glue_alpha.PythonVersion.TWO,\n};",
6454
+ "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';\n\ndeclare const code: glue_alpha.Code;\ndeclare const glueVersion: glue_alpha.GlueVersion;\ndeclare const jobType: glue_alpha.JobType;\nconst jobExecutableConfig: glue_alpha.JobExecutableConfig = {\n glueVersion: glueVersion,\n language: glue_alpha.JobLanguage.SCALA,\n script: code,\n type: jobType,\n\n // the properties below are optional\n className: 'className',\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n extraPythonFiles: [code],\n pythonVersion: glue_alpha.PythonVersion.TWO,\n};",
6411
6455
  "custom": {
6412
6456
  "exampleMetadata": "fixture=_generated"
6413
6457
  }
@@ -6420,6 +6464,72 @@
6420
6464
  },
6421
6465
  "name": "JobExecutableConfig",
6422
6466
  "properties": [
6467
+ {
6468
+ "abstract": true,
6469
+ "docs": {
6470
+ "see": "https://docs.aws.amazon.com/glue/latest/dg/release-notes.html",
6471
+ "stability": "experimental",
6472
+ "summary": "Glue version."
6473
+ },
6474
+ "immutable": true,
6475
+ "locationInModule": {
6476
+ "filename": "lib/job-executable.ts",
6477
+ "line": 323
6478
+ },
6479
+ "name": "glueVersion",
6480
+ "type": {
6481
+ "fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
6482
+ }
6483
+ },
6484
+ {
6485
+ "abstract": true,
6486
+ "docs": {
6487
+ "see": "`--job-language` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
6488
+ "stability": "experimental",
6489
+ "summary": "The language of the job (Scala or Python)."
6490
+ },
6491
+ "immutable": true,
6492
+ "locationInModule": {
6493
+ "filename": "lib/job-executable.ts",
6494
+ "line": 330
6495
+ },
6496
+ "name": "language",
6497
+ "type": {
6498
+ "fqn": "@aws-cdk/aws-glue-alpha.JobLanguage"
6499
+ }
6500
+ },
6501
+ {
6502
+ "abstract": true,
6503
+ "docs": {
6504
+ "stability": "experimental",
6505
+ "summary": "The script that is executed by a job."
6506
+ },
6507
+ "immutable": true,
6508
+ "locationInModule": {
6509
+ "filename": "lib/job-executable.ts",
6510
+ "line": 347
6511
+ },
6512
+ "name": "script",
6513
+ "type": {
6514
+ "fqn": "@aws-cdk/aws-glue-alpha.Code"
6515
+ }
6516
+ },
6517
+ {
6518
+ "abstract": true,
6519
+ "docs": {
6520
+ "stability": "experimental",
6521
+ "summary": "Specify the type of the job whether it's an Apache Spark ETL or streaming one or if it's a Python shell job."
6522
+ },
6523
+ "immutable": true,
6524
+ "locationInModule": {
6525
+ "filename": "lib/job-executable.ts",
6526
+ "line": 335
6527
+ },
6528
+ "name": "type",
6529
+ "type": {
6530
+ "fqn": "@aws-cdk/aws-glue-alpha.JobType"
6531
+ }
6532
+ },
6423
6533
  {
6424
6534
  "abstract": true,
6425
6535
  "docs": {
@@ -6531,40 +6641,6 @@
6531
6641
  }
6532
6642
  }
6533
6643
  },
6534
- {
6535
- "abstract": true,
6536
- "docs": {
6537
- "see": "https://docs.aws.amazon.com/glue/latest/dg/release-notes.html",
6538
- "stability": "experimental",
6539
- "summary": "Glue version."
6540
- },
6541
- "immutable": true,
6542
- "locationInModule": {
6543
- "filename": "lib/job-executable.ts",
6544
- "line": 323
6545
- },
6546
- "name": "glueVersion",
6547
- "type": {
6548
- "fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
6549
- }
6550
- },
6551
- {
6552
- "abstract": true,
6553
- "docs": {
6554
- "see": "`--job-language` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
6555
- "stability": "experimental",
6556
- "summary": "The language of the job (Scala or Python)."
6557
- },
6558
- "immutable": true,
6559
- "locationInModule": {
6560
- "filename": "lib/job-executable.ts",
6561
- "line": 330
6562
- },
6563
- "name": "language",
6564
- "type": {
6565
- "fqn": "@aws-cdk/aws-glue-alpha.JobLanguage"
6566
- }
6567
- },
6568
6644
  {
6569
6645
  "abstract": true,
6570
6646
  "docs": {
@@ -6582,38 +6658,6 @@
6582
6658
  "type": {
6583
6659
  "fqn": "@aws-cdk/aws-glue-alpha.PythonVersion"
6584
6660
  }
6585
- },
6586
- {
6587
- "abstract": true,
6588
- "docs": {
6589
- "stability": "experimental",
6590
- "summary": "The script that is executed by a job."
6591
- },
6592
- "immutable": true,
6593
- "locationInModule": {
6594
- "filename": "lib/job-executable.ts",
6595
- "line": 347
6596
- },
6597
- "name": "script",
6598
- "type": {
6599
- "fqn": "@aws-cdk/aws-glue-alpha.Code"
6600
- }
6601
- },
6602
- {
6603
- "abstract": true,
6604
- "docs": {
6605
- "stability": "experimental",
6606
- "summary": "Specify the type of the job whether it's an Apache Spark ETL or streaming one or if it's a Python shell job."
6607
- },
6608
- "immutable": true,
6609
- "locationInModule": {
6610
- "filename": "lib/job-executable.ts",
6611
- "line": 335
6612
- },
6613
- "name": "type",
6614
- "type": {
6615
- "fqn": "@aws-cdk/aws-glue-alpha.JobType"
6616
- }
6617
6661
  }
6618
6662
  ],
6619
6663
  "symbolId": "lib/job-executable:JobExecutableConfig"
@@ -6634,16 +6678,16 @@
6634
6678
  {
6635
6679
  "docs": {
6636
6680
  "stability": "experimental",
6637
- "summary": "Python."
6681
+ "summary": "Scala."
6638
6682
  },
6639
- "name": "PYTHON"
6683
+ "name": "SCALA"
6640
6684
  },
6641
6685
  {
6642
6686
  "docs": {
6643
6687
  "stability": "experimental",
6644
- "summary": "Scala."
6688
+ "summary": "Python."
6645
6689
  },
6646
- "name": "SCALA"
6690
+ "name": "PYTHON"
6647
6691
  }
6648
6692
  ],
6649
6693
  "name": "JobLanguage",
@@ -6653,6 +6697,9 @@
6653
6697
  "assembly": "@aws-cdk/aws-glue-alpha",
6654
6698
  "datatype": true,
6655
6699
  "docs": {
6700
+ "custom": {
6701
+ "exampleMetadata": "infused"
6702
+ },
6656
6703
  "example": "declare 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});",
6657
6704
  "stability": "experimental",
6658
6705
  "summary": "Construction properties for {@link Job}."
@@ -7087,7 +7134,7 @@
7087
7134
  "remarks": "If you need to use a JobType that doesn't exist as a static member, you\ncan instantiate a `JobType` object, e.g: `JobType.of('other name')`.",
7088
7135
  "stability": "experimental",
7089
7136
  "summary": "The job type.",
7090
- "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';\n\nconst jobType = glue_alpha.JobType.ETL;",
7137
+ "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 jobType = glue_alpha.JobType.ETL;",
7091
7138
  "custom": {
7092
7139
  "exampleMetadata": "fixture=_generated"
7093
7140
  }
@@ -7148,52 +7195,52 @@
7148
7195
  }
7149
7196
  },
7150
7197
  {
7198
+ "const": true,
7151
7199
  "docs": {
7152
7200
  "stability": "experimental",
7153
- "summary": "The name of this JobType, as expected by Job resource."
7201
+ "summary": "Command for running a Glue python shell job."
7154
7202
  },
7155
7203
  "immutable": true,
7156
7204
  "locationInModule": {
7157
7205
  "filename": "lib/job-executable.ts",
7158
- "line": 113
7206
+ "line": 100
7159
7207
  },
7160
- "name": "name",
7208
+ "name": "PYTHON_SHELL",
7209
+ "static": true,
7161
7210
  "type": {
7162
- "primitive": "string"
7211
+ "fqn": "@aws-cdk/aws-glue-alpha.JobType"
7163
7212
  }
7164
7213
  },
7165
7214
  {
7166
7215
  "const": true,
7167
7216
  "docs": {
7168
7217
  "stability": "experimental",
7169
- "summary": "Command for running a Glue python shell job."
7218
+ "summary": "Command for running a Glue streaming job."
7170
7219
  },
7171
7220
  "immutable": true,
7172
7221
  "locationInModule": {
7173
7222
  "filename": "lib/job-executable.ts",
7174
- "line": 100
7223
+ "line": 95
7175
7224
  },
7176
- "name": "PYTHON_SHELL",
7225
+ "name": "STREAMING",
7177
7226
  "static": true,
7178
7227
  "type": {
7179
7228
  "fqn": "@aws-cdk/aws-glue-alpha.JobType"
7180
7229
  }
7181
7230
  },
7182
7231
  {
7183
- "const": true,
7184
7232
  "docs": {
7185
7233
  "stability": "experimental",
7186
- "summary": "Command for running a Glue streaming job."
7234
+ "summary": "The name of this JobType, as expected by Job resource."
7187
7235
  },
7188
7236
  "immutable": true,
7189
7237
  "locationInModule": {
7190
7238
  "filename": "lib/job-executable.ts",
7191
- "line": 95
7239
+ "line": 113
7192
7240
  },
7193
- "name": "STREAMING",
7194
- "static": true,
7241
+ "name": "name",
7195
7242
  "type": {
7196
- "fqn": "@aws-cdk/aws-glue-alpha.JobType"
7243
+ "primitive": "string"
7197
7244
  }
7198
7245
  }
7199
7246
  ],
@@ -7236,7 +7283,7 @@
7236
7283
  "docs": {
7237
7284
  "stability": "experimental",
7238
7285
  "summary": "Absolute class name of the Hadoop `OutputFormat` to use when writing table files.",
7239
- "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';\n\nconst outputFormat = new glue_alpha.OutputFormat('className');",
7286
+ "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 outputFormat = new glue_alpha.OutputFormat('className');",
7240
7287
  "custom": {
7241
7288
  "exampleMetadata": "fixture=_generated"
7242
7289
  }
@@ -7284,20 +7331,6 @@
7284
7331
  "fqn": "@aws-cdk/aws-glue-alpha.InputFormat"
7285
7332
  }
7286
7333
  },
7287
- {
7288
- "docs": {
7289
- "stability": "experimental"
7290
- },
7291
- "immutable": true,
7292
- "locationInModule": {
7293
- "filename": "lib/data-format.ts",
7294
- "line": 78
7295
- },
7296
- "name": "className",
7297
- "type": {
7298
- "primitive": "string"
7299
- }
7300
- },
7301
7334
  {
7302
7335
  "const": true,
7303
7336
  "docs": {
@@ -7351,14 +7384,93 @@
7351
7384
  "type": {
7352
7385
  "fqn": "@aws-cdk/aws-glue-alpha.OutputFormat"
7353
7386
  }
7387
+ },
7388
+ {
7389
+ "docs": {
7390
+ "stability": "experimental"
7391
+ },
7392
+ "immutable": true,
7393
+ "locationInModule": {
7394
+ "filename": "lib/data-format.ts",
7395
+ "line": 78
7396
+ },
7397
+ "name": "className",
7398
+ "type": {
7399
+ "primitive": "string"
7400
+ }
7354
7401
  }
7355
7402
  ],
7356
7403
  "symbolId": "lib/data-format:OutputFormat"
7357
7404
  },
7405
+ "@aws-cdk/aws-glue-alpha.PartitionIndex": {
7406
+ "assembly": "@aws-cdk/aws-glue-alpha",
7407
+ "datatype": true,
7408
+ "docs": {
7409
+ "custom": {
7410
+ "exampleMetadata": "infused"
7411
+ },
7412
+ "example": "declare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});",
7413
+ "stability": "experimental",
7414
+ "summary": "Properties of a Partition Index."
7415
+ },
7416
+ "fqn": "@aws-cdk/aws-glue-alpha.PartitionIndex",
7417
+ "kind": "interface",
7418
+ "locationInModule": {
7419
+ "filename": "lib/table.ts",
7420
+ "line": 16
7421
+ },
7422
+ "name": "PartitionIndex",
7423
+ "properties": [
7424
+ {
7425
+ "abstract": true,
7426
+ "docs": {
7427
+ "remarks": "The names must correspond to a name in the\ntable's partition keys.",
7428
+ "stability": "experimental",
7429
+ "summary": "The partition key names that comprise the partition index."
7430
+ },
7431
+ "immutable": true,
7432
+ "locationInModule": {
7433
+ "filename": "lib/table.ts",
7434
+ "line": 29
7435
+ },
7436
+ "name": "keyNames",
7437
+ "type": {
7438
+ "collection": {
7439
+ "elementtype": {
7440
+ "primitive": "string"
7441
+ },
7442
+ "kind": "array"
7443
+ }
7444
+ }
7445
+ },
7446
+ {
7447
+ "abstract": true,
7448
+ "docs": {
7449
+ "default": "- a name will be generated for you.",
7450
+ "stability": "experimental",
7451
+ "summary": "The name of the partition index."
7452
+ },
7453
+ "immutable": true,
7454
+ "locationInModule": {
7455
+ "filename": "lib/table.ts",
7456
+ "line": 22
7457
+ },
7458
+ "name": "indexName",
7459
+ "optional": true,
7460
+ "type": {
7461
+ "primitive": "string"
7462
+ }
7463
+ }
7464
+ ],
7465
+ "symbolId": "lib/table:PartitionIndex"
7466
+ },
7358
7467
  "@aws-cdk/aws-glue-alpha.PythonShellExecutableProps": {
7359
7468
  "assembly": "@aws-cdk/aws-glue-alpha",
7360
7469
  "datatype": true,
7361
7470
  "docs": {
7471
+ "custom": {
7472
+ "exampleMetadata": "infused"
7473
+ },
7362
7474
  "example": "declare 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});",
7363
7475
  "stability": "experimental",
7364
7476
  "summary": "Props for creating a Python shell job executable."
@@ -7477,6 +7589,9 @@
7477
7589
  "assembly": "@aws-cdk/aws-glue-alpha",
7478
7590
  "datatype": true,
7479
7591
  "docs": {
7592
+ "custom": {
7593
+ "exampleMetadata": "infused"
7594
+ },
7480
7595
  "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});",
7481
7596
  "stability": "experimental",
7482
7597
  "summary": "Props for creating a Python Spark (ETL or Streaming) job executable."
@@ -7637,6 +7752,9 @@
7637
7752
  "@aws-cdk/aws-glue-alpha.PythonVersion": {
7638
7753
  "assembly": "@aws-cdk/aws-glue-alpha",
7639
7754
  "docs": {
7755
+ "custom": {
7756
+ "exampleMetadata": "infused"
7757
+ },
7640
7758
  "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});",
7641
7759
  "stability": "experimental",
7642
7760
  "summary": "Python version."
@@ -7651,16 +7769,16 @@
7651
7769
  {
7652
7770
  "docs": {
7653
7771
  "stability": "experimental",
7654
- "summary": "Python 3 (the exact version depends on GlueVersion and JobCommand used)."
7772
+ "summary": "Python 2 (the exact version depends on GlueVersion and JobCommand used)."
7655
7773
  },
7656
- "name": "THREE"
7774
+ "name": "TWO"
7657
7775
  },
7658
7776
  {
7659
7777
  "docs": {
7660
7778
  "stability": "experimental",
7661
- "summary": "Python 2 (the exact version depends on GlueVersion and JobCommand used)."
7779
+ "summary": "Python 3 (the exact version depends on GlueVersion and JobCommand used)."
7662
7780
  },
7663
- "name": "TWO"
7781
+ "name": "THREE"
7664
7782
  }
7665
7783
  ],
7666
7784
  "name": "PythonVersion",
@@ -7672,7 +7790,7 @@
7672
7790
  "docs": {
7673
7791
  "stability": "experimental",
7674
7792
  "summary": "Glue job Code from an S3 bucket.",
7675
- "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 { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\n\nconst s3Code = new glue_alpha.S3Code(bucket, 'key');",
7793
+ "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 { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\nconst s3Code = new glue_alpha.S3Code(bucket, 'key');",
7676
7794
  "custom": {
7677
7795
  "exampleMetadata": "fixture=_generated"
7678
7796
  }
@@ -7746,6 +7864,9 @@
7746
7864
  "assembly": "@aws-cdk/aws-glue-alpha",
7747
7865
  "datatype": true,
7748
7866
  "docs": {
7867
+ "custom": {
7868
+ "exampleMetadata": "infused"
7869
+ },
7749
7870
  "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});",
7750
7871
  "stability": "experimental",
7751
7872
  "summary": "S3 encryption configuration."
@@ -7798,6 +7919,9 @@
7798
7919
  "@aws-cdk/aws-glue-alpha.S3EncryptionMode": {
7799
7920
  "assembly": "@aws-cdk/aws-glue-alpha",
7800
7921
  "docs": {
7922
+ "custom": {
7923
+ "exampleMetadata": "infused"
7924
+ },
7801
7925
  "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});",
7802
7926
  "see": "https://docs.aws.amazon.com/glue/latest/webapi/API_S3Encryption.html#Glue-Type-S3Encryption-S3EncryptionMode",
7803
7927
  "stability": "experimental",
@@ -7834,6 +7958,9 @@
7834
7958
  "assembly": "@aws-cdk/aws-glue-alpha",
7835
7959
  "datatype": true,
7836
7960
  "docs": {
7961
+ "custom": {
7962
+ "exampleMetadata": "infused"
7963
+ },
7837
7964
  "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});",
7838
7965
  "stability": "experimental",
7839
7966
  "summary": "Props for creating a Scala Spark (ETL or Streaming) job executable."
@@ -7970,6 +8097,9 @@
7970
8097
  "@aws-cdk/aws-glue-alpha.Schema": {
7971
8098
  "assembly": "@aws-cdk/aws-glue-alpha",
7972
8099
  "docs": {
8100
+ "custom": {
8101
+ "exampleMetadata": "infused"
8102
+ },
7973
8103
  "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});",
7974
8104
  "see": "https://docs.aws.amazon.com/athena/latest/ug/data-types.html",
7975
8105
  "stability": "experimental"
@@ -8372,6 +8502,9 @@
8372
8502
  "assembly": "@aws-cdk/aws-glue-alpha",
8373
8503
  "base": "aws-cdk-lib.Resource",
8374
8504
  "docs": {
8505
+ "custom": {
8506
+ "exampleMetadata": "infused"
8507
+ },
8375
8508
  "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});",
8376
8509
  "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.",
8377
8510
  "stability": "experimental",
@@ -8539,6 +8672,9 @@
8539
8672
  "assembly": "@aws-cdk/aws-glue-alpha",
8540
8673
  "datatype": true,
8541
8674
  "docs": {
8675
+ "custom": {
8676
+ "exampleMetadata": "infused"
8677
+ },
8542
8678
  "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});",
8543
8679
  "stability": "experimental",
8544
8680
  "summary": "Constructions properties of {@link SecurityConfiguration}."
@@ -8630,7 +8766,7 @@
8630
8766
  "see": "https://cwiki.apache.org/confluence/display/Hive/SerDe",
8631
8767
  "stability": "experimental",
8632
8768
  "summary": "Serialization library to use when serializing/deserializing (SerDe) table records.",
8633
- "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';\n\nconst serializationLibrary = glue_alpha.SerializationLibrary.AVRO;",
8769
+ "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 serializationLibrary = glue_alpha.SerializationLibrary.AVRO;",
8634
8770
  "custom": {
8635
8771
  "exampleMetadata": "fixture=_generated"
8636
8772
  }
@@ -8677,20 +8813,6 @@
8677
8813
  "fqn": "@aws-cdk/aws-glue-alpha.SerializationLibrary"
8678
8814
  }
8679
8815
  },
8680
- {
8681
- "docs": {
8682
- "stability": "experimental"
8683
- },
8684
- "immutable": true,
8685
- "locationInModule": {
8686
- "filename": "lib/data-format.ts",
8687
- "line": 137
8688
- },
8689
- "name": "className",
8690
- "type": {
8691
- "primitive": "string"
8692
- }
8693
- },
8694
8816
  {
8695
8817
  "const": true,
8696
8818
  "docs": {
@@ -8843,6 +8965,20 @@
8843
8965
  "type": {
8844
8966
  "fqn": "@aws-cdk/aws-glue-alpha.SerializationLibrary"
8845
8967
  }
8968
+ },
8969
+ {
8970
+ "docs": {
8971
+ "stability": "experimental"
8972
+ },
8973
+ "immutable": true,
8974
+ "locationInModule": {
8975
+ "filename": "lib/data-format.ts",
8976
+ "line": 137
8977
+ },
8978
+ "name": "className",
8979
+ "type": {
8980
+ "primitive": "string"
8981
+ }
8846
8982
  }
8847
8983
  ],
8848
8984
  "symbolId": "lib/data-format:SerializationLibrary"
@@ -8854,7 +8990,7 @@
8854
8990
  "see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
8855
8991
  "stability": "experimental",
8856
8992
  "summary": "The Spark UI logging location.",
8857
- "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 { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\n\nconst sparkUILoggingLocation: glue_alpha.SparkUILoggingLocation = {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n};",
8993
+ "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 { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\nconst sparkUILoggingLocation: glue_alpha.SparkUILoggingLocation = {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n};",
8858
8994
  "custom": {
8859
8995
  "exampleMetadata": "fixture=_generated"
8860
8996
  }
@@ -8911,7 +9047,7 @@
8911
9047
  "see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
8912
9048
  "stability": "experimental",
8913
9049
  "summary": "Properties for enabling Spark UI monitoring feature for Spark-based Glue jobs.",
8914
- "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 { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\n\nconst sparkUIProps: glue_alpha.SparkUIProps = {\n enabled: false,\n\n // the properties below are optional\n bucket: bucket,\n prefix: 'prefix',\n};",
9050
+ "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 { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\nconst sparkUIProps: glue_alpha.SparkUIProps = {\n enabled: false,\n\n // the properties below are optional\n bucket: bucket,\n prefix: 'prefix',\n};",
8915
9051
  "custom": {
8916
9052
  "exampleMetadata": "fixture=_generated"
8917
9053
  }
@@ -8927,35 +9063,35 @@
8927
9063
  {
8928
9064
  "abstract": true,
8929
9065
  "docs": {
8930
- "default": "a new bucket will be created.",
8931
9066
  "stability": "experimental",
8932
- "summary": "The bucket where the Glue job stores the logs."
9067
+ "summary": "Enable Spark UI."
8933
9068
  },
8934
9069
  "immutable": true,
8935
9070
  "locationInModule": {
8936
9071
  "filename": "lib/job.ts",
8937
- "line": 348
9072
+ "line": 341
8938
9073
  },
8939
- "name": "bucket",
8940
- "optional": true,
9074
+ "name": "enabled",
8941
9075
  "type": {
8942
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
9076
+ "primitive": "boolean"
8943
9077
  }
8944
9078
  },
8945
9079
  {
8946
9080
  "abstract": true,
8947
9081
  "docs": {
9082
+ "default": "a new bucket will be created.",
8948
9083
  "stability": "experimental",
8949
- "summary": "Enable Spark UI."
9084
+ "summary": "The bucket where the Glue job stores the logs."
8950
9085
  },
8951
9086
  "immutable": true,
8952
9087
  "locationInModule": {
8953
9088
  "filename": "lib/job.ts",
8954
- "line": 341
9089
+ "line": 348
8955
9090
  },
8956
- "name": "enabled",
9091
+ "name": "bucket",
9092
+ "optional": true,
8957
9093
  "type": {
8958
- "primitive": "boolean"
9094
+ "fqn": "aws-cdk-lib.aws_s3.IBucket"
8959
9095
  }
8960
9096
  },
8961
9097
  {
@@ -8983,6 +9119,9 @@
8983
9119
  "assembly": "@aws-cdk/aws-glue-alpha",
8984
9120
  "base": "aws-cdk-lib.Resource",
8985
9121
  "docs": {
9122
+ "custom": {
9123
+ "exampleMetadata": "infused"
9124
+ },
8986
9125
  "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});",
8987
9126
  "stability": "experimental",
8988
9127
  "summary": "A Glue table."
@@ -8994,7 +9133,7 @@
8994
9133
  },
8995
9134
  "locationInModule": {
8996
9135
  "filename": "lib/table.ts",
8997
- "line": 233
9136
+ "line": 274
8998
9137
  },
8999
9138
  "parameters": [
9000
9139
  {
@@ -9023,7 +9162,7 @@
9023
9162
  "kind": "class",
9024
9163
  "locationInModule": {
9025
9164
  "filename": "lib/table.ts",
9026
- "line": 151
9165
+ "line": 180
9027
9166
  },
9028
9167
  "methods": [
9029
9168
  {
@@ -9032,7 +9171,7 @@
9032
9171
  },
9033
9172
  "locationInModule": {
9034
9173
  "filename": "lib/table.ts",
9035
- "line": 153
9174
+ "line": 182
9036
9175
  },
9037
9176
  "name": "fromTableArn",
9038
9177
  "parameters": [
@@ -9069,7 +9208,7 @@
9069
9208
  },
9070
9209
  "locationInModule": {
9071
9210
  "filename": "lib/table.ts",
9072
- "line": 169
9211
+ "line": 198
9073
9212
  },
9074
9213
  "name": "fromTableAttributes",
9075
9214
  "parameters": [
@@ -9108,6 +9247,27 @@
9108
9247
  },
9109
9248
  "static": true
9110
9249
  },
9250
+ {
9251
+ "docs": {
9252
+ "remarks": "You can have a maximum of 3 partition\nindexes to a table. Partition index keys must be a subset of the table's\npartition keys.",
9253
+ "see": "https://docs.aws.amazon.com/glue/latest/dg/partition-indexes.html",
9254
+ "stability": "experimental",
9255
+ "summary": "Add a partition index to the table."
9256
+ },
9257
+ "locationInModule": {
9258
+ "filename": "lib/table.ts",
9259
+ "line": 346
9260
+ },
9261
+ "name": "addPartitionIndex",
9262
+ "parameters": [
9263
+ {
9264
+ "name": "index",
9265
+ "type": {
9266
+ "fqn": "@aws-cdk/aws-glue-alpha.PartitionIndex"
9267
+ }
9268
+ }
9269
+ ]
9270
+ },
9111
9271
  {
9112
9272
  "docs": {
9113
9273
  "stability": "experimental",
@@ -9115,7 +9275,7 @@
9115
9275
  },
9116
9276
  "locationInModule": {
9117
9277
  "filename": "lib/table.ts",
9118
- "line": 331
9278
+ "line": 443
9119
9279
  },
9120
9280
  "name": "grant",
9121
9281
  "parameters": [
@@ -9150,7 +9310,7 @@
9150
9310
  },
9151
9311
  "locationInModule": {
9152
9312
  "filename": "lib/table.ts",
9153
- "line": 297
9313
+ "line": 409
9154
9314
  },
9155
9315
  "name": "grantRead",
9156
9316
  "parameters": [
@@ -9177,7 +9337,7 @@
9177
9337
  },
9178
9338
  "locationInModule": {
9179
9339
  "filename": "lib/table.ts",
9180
- "line": 321
9340
+ "line": 433
9181
9341
  },
9182
9342
  "name": "grantReadWrite",
9183
9343
  "parameters": [
@@ -9197,6 +9357,42 @@
9197
9357
  }
9198
9358
  }
9199
9359
  },
9360
+ {
9361
+ "docs": {
9362
+ "remarks": "Permissions will be granted to the catalog, the database, and the table.",
9363
+ "stability": "experimental",
9364
+ "summary": "Grant the given identity custom permissions to ALL underlying resources of the table."
9365
+ },
9366
+ "locationInModule": {
9367
+ "filename": "lib/table.ts",
9368
+ "line": 455
9369
+ },
9370
+ "name": "grantToUnderlyingResources",
9371
+ "parameters": [
9372
+ {
9373
+ "name": "grantee",
9374
+ "type": {
9375
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9376
+ }
9377
+ },
9378
+ {
9379
+ "name": "actions",
9380
+ "type": {
9381
+ "collection": {
9382
+ "elementtype": {
9383
+ "primitive": "string"
9384
+ },
9385
+ "kind": "array"
9386
+ }
9387
+ }
9388
+ }
9389
+ ],
9390
+ "returns": {
9391
+ "type": {
9392
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9393
+ }
9394
+ }
9395
+ },
9200
9396
  {
9201
9397
  "docs": {
9202
9398
  "stability": "experimental",
@@ -9204,7 +9400,7 @@
9204
9400
  },
9205
9401
  "locationInModule": {
9206
9402
  "filename": "lib/table.ts",
9207
- "line": 309
9403
+ "line": 421
9208
9404
  },
9209
9405
  "name": "grantWrite",
9210
9406
  "parameters": [
@@ -9235,7 +9431,7 @@
9235
9431
  "immutable": true,
9236
9432
  "locationInModule": {
9237
9433
  "filename": "lib/table.ts",
9238
- "line": 201
9434
+ "line": 230
9239
9435
  },
9240
9436
  "name": "bucket",
9241
9437
  "type": {
@@ -9250,7 +9446,7 @@
9250
9446
  "immutable": true,
9251
9447
  "locationInModule": {
9252
9448
  "filename": "lib/table.ts",
9253
- "line": 226
9449
+ "line": 255
9254
9450
  },
9255
9451
  "name": "columns",
9256
9452
  "type": {
@@ -9270,7 +9466,7 @@
9270
9466
  "immutable": true,
9271
9467
  "locationInModule": {
9272
9468
  "filename": "lib/table.ts",
9273
- "line": 186
9469
+ "line": 215
9274
9470
  },
9275
9471
  "name": "compressed",
9276
9472
  "type": {
@@ -9285,7 +9481,7 @@
9285
9481
  "immutable": true,
9286
9482
  "locationInModule": {
9287
9483
  "filename": "lib/table.ts",
9288
- "line": 181
9484
+ "line": 210
9289
9485
  },
9290
9486
  "name": "database",
9291
9487
  "type": {
@@ -9300,7 +9496,7 @@
9300
9496
  "immutable": true,
9301
9497
  "locationInModule": {
9302
9498
  "filename": "lib/table.ts",
9303
- "line": 221
9499
+ "line": 250
9304
9500
  },
9305
9501
  "name": "dataFormat",
9306
9502
  "type": {
@@ -9315,7 +9511,7 @@
9315
9511
  "immutable": true,
9316
9512
  "locationInModule": {
9317
9513
  "filename": "lib/table.ts",
9318
- "line": 191
9514
+ "line": 220
9319
9515
  },
9320
9516
  "name": "encryption",
9321
9517
  "type": {
@@ -9330,7 +9526,7 @@
9330
9526
  "immutable": true,
9331
9527
  "locationInModule": {
9332
9528
  "filename": "lib/table.ts",
9333
- "line": 206
9529
+ "line": 235
9334
9530
  },
9335
9531
  "name": "s3Prefix",
9336
9532
  "type": {
@@ -9345,7 +9541,7 @@
9345
9541
  "immutable": true,
9346
9542
  "locationInModule": {
9347
9543
  "filename": "lib/table.ts",
9348
- "line": 216
9544
+ "line": 245
9349
9545
  },
9350
9546
  "name": "tableArn",
9351
9547
  "overrides": "@aws-cdk/aws-glue-alpha.ITable",
@@ -9361,7 +9557,7 @@
9361
9557
  "immutable": true,
9362
9558
  "locationInModule": {
9363
9559
  "filename": "lib/table.ts",
9364
- "line": 211
9560
+ "line": 240
9365
9561
  },
9366
9562
  "name": "tableName",
9367
9563
  "overrides": "@aws-cdk/aws-glue-alpha.ITable",
@@ -9378,7 +9574,7 @@
9378
9574
  "immutable": true,
9379
9575
  "locationInModule": {
9380
9576
  "filename": "lib/table.ts",
9381
- "line": 196
9577
+ "line": 225
9382
9578
  },
9383
9579
  "name": "encryptionKey",
9384
9580
  "optional": true,
@@ -9386,6 +9582,27 @@
9386
9582
  "fqn": "aws-cdk-lib.aws_kms.IKey"
9387
9583
  }
9388
9584
  },
9585
+ {
9586
+ "docs": {
9587
+ "stability": "experimental",
9588
+ "summary": "This table's partition indexes."
9589
+ },
9590
+ "immutable": true,
9591
+ "locationInModule": {
9592
+ "filename": "lib/table.ts",
9593
+ "line": 265
9594
+ },
9595
+ "name": "partitionIndexes",
9596
+ "optional": true,
9597
+ "type": {
9598
+ "collection": {
9599
+ "elementtype": {
9600
+ "fqn": "@aws-cdk/aws-glue-alpha.PartitionIndex"
9601
+ },
9602
+ "kind": "array"
9603
+ }
9604
+ }
9605
+ },
9389
9606
  {
9390
9607
  "docs": {
9391
9608
  "stability": "experimental",
@@ -9394,7 +9611,7 @@
9394
9611
  "immutable": true,
9395
9612
  "locationInModule": {
9396
9613
  "filename": "lib/table.ts",
9397
- "line": 231
9614
+ "line": 260
9398
9615
  },
9399
9616
  "name": "partitionKeys",
9400
9617
  "optional": true,
@@ -9415,7 +9632,7 @@
9415
9632
  "datatype": true,
9416
9633
  "docs": {
9417
9634
  "stability": "experimental",
9418
- "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';\n\nconst tableAttributes: glue_alpha.TableAttributes = {\n tableArn: 'tableArn',\n tableName: 'tableName',\n};",
9635
+ "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 tableAttributes: glue_alpha.TableAttributes = {\n tableArn: 'tableArn',\n tableName: 'tableName',\n};",
9419
9636
  "custom": {
9420
9637
  "exampleMetadata": "fixture=_generated"
9421
9638
  }
@@ -9424,7 +9641,7 @@
9424
9641
  "kind": "interface",
9425
9642
  "locationInModule": {
9426
9643
  "filename": "lib/table.ts",
9427
- "line": 58
9644
+ "line": 78
9428
9645
  },
9429
9646
  "name": "TableAttributes",
9430
9647
  "properties": [
@@ -9436,7 +9653,7 @@
9436
9653
  "immutable": true,
9437
9654
  "locationInModule": {
9438
9655
  "filename": "lib/table.ts",
9439
- "line": 59
9656
+ "line": 79
9440
9657
  },
9441
9658
  "name": "tableArn",
9442
9659
  "type": {
@@ -9451,7 +9668,7 @@
9451
9668
  "immutable": true,
9452
9669
  "locationInModule": {
9453
9670
  "filename": "lib/table.ts",
9454
- "line": 60
9671
+ "line": 80
9455
9672
  },
9456
9673
  "name": "tableName",
9457
9674
  "type": {
@@ -9464,6 +9681,9 @@
9464
9681
  "@aws-cdk/aws-glue-alpha.TableEncryption": {
9465
9682
  "assembly": "@aws-cdk/aws-glue-alpha",
9466
9683
  "docs": {
9684
+ "custom": {
9685
+ "exampleMetadata": "infused"
9686
+ },
9467
9687
  "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});",
9468
9688
  "see": "https://docs.aws.amazon.com/athena/latest/ug/encryption.html",
9469
9689
  "stability": "experimental",
@@ -9473,7 +9693,7 @@
9473
9693
  "kind": "enum",
9474
9694
  "locationInModule": {
9475
9695
  "filename": "lib/table.ts",
9476
- "line": 28
9696
+ "line": 48
9477
9697
  },
9478
9698
  "members": [
9479
9699
  {
@@ -9521,6 +9741,9 @@
9521
9741
  "assembly": "@aws-cdk/aws-glue-alpha",
9522
9742
  "datatype": true,
9523
9743
  "docs": {
9744
+ "custom": {
9745
+ "exampleMetadata": "infused"
9746
+ },
9524
9747
  "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});",
9525
9748
  "stability": "experimental"
9526
9749
  },
@@ -9528,7 +9751,7 @@
9528
9751
  "kind": "interface",
9529
9752
  "locationInModule": {
9530
9753
  "filename": "lib/table.ts",
9531
- "line": 63
9754
+ "line": 83
9532
9755
  },
9533
9756
  "name": "TableProps",
9534
9757
  "properties": [
@@ -9541,7 +9764,7 @@
9541
9764
  "immutable": true,
9542
9765
  "locationInModule": {
9543
9766
  "filename": "lib/table.ts",
9544
- "line": 98
9767
+ "line": 118
9545
9768
  },
9546
9769
  "name": "columns",
9547
9770
  "type": {
@@ -9562,7 +9785,7 @@
9562
9785
  "immutable": true,
9563
9786
  "locationInModule": {
9564
9787
  "filename": "lib/table.ts",
9565
- "line": 79
9788
+ "line": 99
9566
9789
  },
9567
9790
  "name": "database",
9568
9791
  "type": {
@@ -9578,7 +9801,7 @@
9578
9801
  "immutable": true,
9579
9802
  "locationInModule": {
9580
9803
  "filename": "lib/table.ts",
9581
- "line": 110
9804
+ "line": 139
9582
9805
  },
9583
9806
  "name": "dataFormat",
9584
9807
  "type": {
@@ -9594,7 +9817,7 @@
9594
9817
  "immutable": true,
9595
9818
  "locationInModule": {
9596
9819
  "filename": "lib/table.ts",
9597
- "line": 67
9820
+ "line": 87
9598
9821
  },
9599
9822
  "name": "tableName",
9600
9823
  "type": {
@@ -9611,7 +9834,7 @@
9611
9834
  "immutable": true,
9612
9835
  "locationInModule": {
9613
9836
  "filename": "lib/table.ts",
9614
- "line": 86
9837
+ "line": 106
9615
9838
  },
9616
9839
  "name": "bucket",
9617
9840
  "optional": true,
@@ -9629,7 +9852,7 @@
9629
9852
  "immutable": true,
9630
9853
  "locationInModule": {
9631
9854
  "filename": "lib/table.ts",
9632
- "line": 117
9855
+ "line": 146
9633
9856
  },
9634
9857
  "name": "compressed",
9635
9858
  "optional": true,
@@ -9647,7 +9870,7 @@
9647
9870
  "immutable": true,
9648
9871
  "locationInModule": {
9649
9872
  "filename": "lib/table.ts",
9650
- "line": 74
9873
+ "line": 94
9651
9874
  },
9652
9875
  "name": "description",
9653
9876
  "optional": true,
@@ -9666,7 +9889,7 @@
9666
9889
  "immutable": true,
9667
9890
  "locationInModule": {
9668
9891
  "filename": "lib/table.ts",
9669
- "line": 129
9892
+ "line": 158
9670
9893
  },
9671
9894
  "name": "encryption",
9672
9895
  "optional": true,
@@ -9685,7 +9908,7 @@
9685
9908
  "immutable": true,
9686
9909
  "locationInModule": {
9687
9910
  "filename": "lib/table.ts",
9688
- "line": 138
9911
+ "line": 167
9689
9912
  },
9690
9913
  "name": "encryptionKey",
9691
9914
  "optional": true,
@@ -9693,6 +9916,30 @@
9693
9916
  "fqn": "aws-cdk-lib.aws_kms.IKey"
9694
9917
  }
9695
9918
  },
9919
+ {
9920
+ "abstract": true,
9921
+ "docs": {
9922
+ "default": "table has no partition indexes",
9923
+ "remarks": "A maximum of 3 indexes\nare allowed on a table. Keys in the index must be part\nof the table's partition keys.",
9924
+ "stability": "experimental",
9925
+ "summary": "Partition indexes on the table."
9926
+ },
9927
+ "immutable": true,
9928
+ "locationInModule": {
9929
+ "filename": "lib/table.ts",
9930
+ "line": 134
9931
+ },
9932
+ "name": "partitionIndexes",
9933
+ "optional": true,
9934
+ "type": {
9935
+ "collection": {
9936
+ "elementtype": {
9937
+ "fqn": "@aws-cdk/aws-glue-alpha.PartitionIndex"
9938
+ },
9939
+ "kind": "array"
9940
+ }
9941
+ }
9942
+ },
9696
9943
  {
9697
9944
  "abstract": true,
9698
9945
  "docs": {
@@ -9703,7 +9950,7 @@
9703
9950
  "immutable": true,
9704
9951
  "locationInModule": {
9705
9952
  "filename": "lib/table.ts",
9706
- "line": 105
9953
+ "line": 125
9707
9954
  },
9708
9955
  "name": "partitionKeys",
9709
9956
  "optional": true,
@@ -9726,7 +9973,7 @@
9726
9973
  "immutable": true,
9727
9974
  "locationInModule": {
9728
9975
  "filename": "lib/table.ts",
9729
- "line": 93
9976
+ "line": 113
9730
9977
  },
9731
9978
  "name": "s3Prefix",
9732
9979
  "optional": true,
@@ -9744,7 +9991,7 @@
9744
9991
  "immutable": true,
9745
9992
  "locationInModule": {
9746
9993
  "filename": "lib/table.ts",
9747
- "line": 145
9994
+ "line": 174
9748
9995
  },
9749
9996
  "name": "storedAsSubDirectories",
9750
9997
  "optional": true,
@@ -9759,6 +10006,9 @@
9759
10006
  "assembly": "@aws-cdk/aws-glue-alpha",
9760
10007
  "datatype": true,
9761
10008
  "docs": {
10009
+ "custom": {
10010
+ "exampleMetadata": "infused"
10011
+ },
9762
10012
  "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});",
9763
10013
  "stability": "experimental",
9764
10014
  "summary": "Represents a type of a column in a table schema."
@@ -9812,7 +10062,7 @@
9812
10062
  "remarks": "If you need to use a WorkerType that doesn't exist as a static member, you\ncan instantiate a `WorkerType` object, e.g: `WorkerType.of('other type')`.",
9813
10063
  "stability": "experimental",
9814
10064
  "summary": "The type of predefined worker that is allocated when a job runs.",
9815
- "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';\n\nconst workerType = glue_alpha.WorkerType.G_1X;",
10065
+ "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 workerType = glue_alpha.WorkerType.G_1X;",
9816
10066
  "custom": {
9817
10067
  "exampleMetadata": "fixture=_generated"
9818
10068
  }
@@ -9892,41 +10142,41 @@
9892
10142
  }
9893
10143
  },
9894
10144
  {
10145
+ "const": true,
9895
10146
  "docs": {
9896
10147
  "stability": "experimental",
9897
- "summary": "The name of this WorkerType, as expected by Job resource."
10148
+ "summary": "Each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker."
9898
10149
  },
9899
10150
  "immutable": true,
9900
10151
  "locationInModule": {
9901
10152
  "filename": "lib/job.ts",
9902
- "line": 46
10153
+ "line": 23
9903
10154
  },
9904
- "name": "name",
10155
+ "name": "STANDARD",
10156
+ "static": true,
9905
10157
  "type": {
9906
- "primitive": "string"
10158
+ "fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
9907
10159
  }
9908
10160
  },
9909
10161
  {
9910
- "const": true,
9911
10162
  "docs": {
9912
10163
  "stability": "experimental",
9913
- "summary": "Each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker."
10164
+ "summary": "The name of this WorkerType, as expected by Job resource."
9914
10165
  },
9915
10166
  "immutable": true,
9916
10167
  "locationInModule": {
9917
10168
  "filename": "lib/job.ts",
9918
- "line": 23
10169
+ "line": 46
9919
10170
  },
9920
- "name": "STANDARD",
9921
- "static": true,
10171
+ "name": "name",
9922
10172
  "type": {
9923
- "fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
10173
+ "primitive": "string"
9924
10174
  }
9925
10175
  }
9926
10176
  ],
9927
10177
  "symbolId": "lib/job:WorkerType"
9928
10178
  }
9929
10179
  },
9930
- "version": "2.3.0-alpha.0",
10180
+ "version": "2.4.0-alpha.0",
9931
10181
  "fingerprint": "**********"
9932
10182
  }