@aws-cdk/aws-s3tables-alpha 2.211.0-alpha.0 → 2.213.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 +458 -46
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +15 -1
- package/README.md +28 -1
- package/awslint.json +3 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/namespace.js +1 -1
- package/lib/permissions.d.ts +3 -0
- package/lib/permissions.js +18 -2
- package/lib/table-bucket-policy.js +1 -1
- package/lib/table-bucket.js +1 -1
- package/lib/table-policy.d.ts +43 -0
- package/lib/table-policy.js +57 -0
- package/lib/table.d.ts +76 -0
- package/lib/table.js +41 -2
- package/package.json +6 -6
- package/rosetta/default.ts-fixture +7 -1
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -158,6 +158,20 @@ function _aws_cdk_aws_s3tables_alpha_TableAttributes(p) {
|
|
|
158
158
|
}
|
|
159
159
|
function _aws_cdk_aws_s3tables_alpha_Table(p) {
|
|
160
160
|
}
|
|
161
|
+
function _aws_cdk_aws_s3tables_alpha_TablePolicyProps(p) {
|
|
162
|
+
if (p == null)
|
|
163
|
+
return;
|
|
164
|
+
visitedObjects.add(p);
|
|
165
|
+
try {
|
|
166
|
+
if (!visitedObjects.has(p.table))
|
|
167
|
+
_aws_cdk_aws_s3tables_alpha_ITable(p.table);
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
visitedObjects.delete(p);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function _aws_cdk_aws_s3tables_alpha_TablePolicy(p) {
|
|
174
|
+
}
|
|
161
175
|
function print(name, deprecationMessage) {
|
|
162
176
|
const deprecated = process.env.JSII_DEPRECATED;
|
|
163
177
|
const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn";
|
|
@@ -194,4 +208,4 @@ class DeprecationError extends Error {
|
|
|
194
208
|
});
|
|
195
209
|
}
|
|
196
210
|
}
|
|
197
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_s3tables_alpha_ITableBucket, _aws_cdk_aws_s3tables_alpha_UnreferencedFileRemoval, _aws_cdk_aws_s3tables_alpha_UnreferencedFileRemovalStatus, _aws_cdk_aws_s3tables_alpha_TableBucketEncryption, _aws_cdk_aws_s3tables_alpha_TableBucketProps, _aws_cdk_aws_s3tables_alpha_TableBucketAttributes, _aws_cdk_aws_s3tables_alpha_TableBucket, _aws_cdk_aws_s3tables_alpha_TableBucketPolicyProps, _aws_cdk_aws_s3tables_alpha_TableBucketPolicy, _aws_cdk_aws_s3tables_alpha_INamespace, _aws_cdk_aws_s3tables_alpha_NamespaceProps, _aws_cdk_aws_s3tables_alpha_NamespaceAttributes, _aws_cdk_aws_s3tables_alpha_Namespace, _aws_cdk_aws_s3tables_alpha_ITable, _aws_cdk_aws_s3tables_alpha_TableProps, _aws_cdk_aws_s3tables_alpha_OpenTableFormat, _aws_cdk_aws_s3tables_alpha_CompactionProperty, _aws_cdk_aws_s3tables_alpha_Status, _aws_cdk_aws_s3tables_alpha_IcebergMetadataProperty, _aws_cdk_aws_s3tables_alpha_IcebergSchemaProperty, _aws_cdk_aws_s3tables_alpha_SchemaFieldProperty, _aws_cdk_aws_s3tables_alpha_SnapshotManagementProperty, _aws_cdk_aws_s3tables_alpha_TableAttributes, _aws_cdk_aws_s3tables_alpha_Table };
|
|
211
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_s3tables_alpha_ITableBucket, _aws_cdk_aws_s3tables_alpha_UnreferencedFileRemoval, _aws_cdk_aws_s3tables_alpha_UnreferencedFileRemovalStatus, _aws_cdk_aws_s3tables_alpha_TableBucketEncryption, _aws_cdk_aws_s3tables_alpha_TableBucketProps, _aws_cdk_aws_s3tables_alpha_TableBucketAttributes, _aws_cdk_aws_s3tables_alpha_TableBucket, _aws_cdk_aws_s3tables_alpha_TableBucketPolicyProps, _aws_cdk_aws_s3tables_alpha_TableBucketPolicy, _aws_cdk_aws_s3tables_alpha_INamespace, _aws_cdk_aws_s3tables_alpha_NamespaceProps, _aws_cdk_aws_s3tables_alpha_NamespaceAttributes, _aws_cdk_aws_s3tables_alpha_Namespace, _aws_cdk_aws_s3tables_alpha_ITable, _aws_cdk_aws_s3tables_alpha_TableProps, _aws_cdk_aws_s3tables_alpha_OpenTableFormat, _aws_cdk_aws_s3tables_alpha_CompactionProperty, _aws_cdk_aws_s3tables_alpha_Status, _aws_cdk_aws_s3tables_alpha_IcebergMetadataProperty, _aws_cdk_aws_s3tables_alpha_IcebergSchemaProperty, _aws_cdk_aws_s3tables_alpha_SchemaFieldProperty, _aws_cdk_aws_s3tables_alpha_SnapshotManagementProperty, _aws_cdk_aws_s3tables_alpha_TableAttributes, _aws_cdk_aws_s3tables_alpha_Table, _aws_cdk_aws_s3tables_alpha_TablePolicyProps, _aws_cdk_aws_s3tables_alpha_TablePolicy };
|
package/README.md
CHANGED
|
@@ -159,9 +159,36 @@ const encryptedBucketAuto = new TableBucket(scope, 'EncryptedTableBucketAuto', {
|
|
|
159
159
|
});
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
+
### Controlling Table Permissions
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
// Grant the principal read permissions to the table
|
|
166
|
+
const accountId = '123456789012'
|
|
167
|
+
table.grantRead(new iam.AccountPrincipal(accountId));
|
|
168
|
+
|
|
169
|
+
// Grant the role write permissions to the table
|
|
170
|
+
const role = new iam.Role(stack, 'MyRole', { assumedBy: new iam.ServicePrincipal('sample') });
|
|
171
|
+
table.grantWrite(role);
|
|
172
|
+
|
|
173
|
+
// Grant the user read and write permissions to the table
|
|
174
|
+
table.grantReadWrite(new iam.User(stack, 'MyUser'));
|
|
175
|
+
|
|
176
|
+
// Grant an account permissions to the table
|
|
177
|
+
table.grantReadWrite(new iam.AccountPrincipal(accountId));
|
|
178
|
+
|
|
179
|
+
// Add custom resource policy statements
|
|
180
|
+
const permissions = new iam.PolicyStatement({
|
|
181
|
+
effect: iam.Effect.ALLOW,
|
|
182
|
+
actions: ['s3tables:*'],
|
|
183
|
+
principals: [ new iam.ServicePrincipal('example.aws.internal') ],
|
|
184
|
+
resources: ['*']
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
table.addToResourcePolicy(permissions);
|
|
188
|
+
```
|
|
189
|
+
|
|
162
190
|
## Coming Soon
|
|
163
191
|
|
|
164
192
|
L2 Construct support for:
|
|
165
193
|
|
|
166
|
-
- Table Policy
|
|
167
194
|
- KMS encryption support for Tables
|
package/awslint.json
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
"duration-prop-name:@aws-cdk/aws-s3tables-alpha.UnreferencedFileRemoval.noncurrentDays",
|
|
6
6
|
"duration-prop-type:@aws-cdk/aws-s3tables-alpha.UnreferencedFileRemoval.unreferencedDays",
|
|
7
7
|
"duration-prop-name:@aws-cdk/aws-s3tables-alpha.UnreferencedFileRemoval.unreferencedDays",
|
|
8
|
-
"attribute-tag:@aws-cdk/aws-s3tables-alpha.TableBucket.tableBucketPolicy"
|
|
8
|
+
"attribute-tag:@aws-cdk/aws-s3tables-alpha.TableBucket.tableBucketPolicy",
|
|
9
|
+
"attribute-tag:@aws-cdk/aws-s3tables-alpha.Table.tablePolicy",
|
|
10
|
+
"props-physical-name:@aws-cdk/aws-s3tables-alpha.TablePolicyProps"
|
|
9
11
|
]
|
|
10
12
|
}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -22,4 +22,5 @@ __exportStar(require("./table-bucket"), exports);
|
|
|
22
22
|
__exportStar(require("./table-bucket-policy"), exports);
|
|
23
23
|
__exportStar(require("./namespace"), exports);
|
|
24
24
|
__exportStar(require("./table"), exports);
|
|
25
|
-
|
|
25
|
+
__exportStar(require("./table-policy"), exports);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseURBQXlEO0FBQ3pELG9EQUFvRDtBQUNwRCxrRUFBa0U7QUFDbEUsOEVBQThFOzs7Ozs7Ozs7Ozs7Ozs7O0FBRTlFLGlEQUErQjtBQUMvQix3REFBc0M7QUFDdEMsOENBQTRCO0FBQzVCLDBDQUF3QjtBQUN4QixpREFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgaW5kZXgudHMgZmlsZXMgY29udGFpbnMgYSBsaXN0IG9mIGZpbGVzIHdlIHdhbnQgdG9cbi8vIGluY2x1ZGUgYXMgcGFydCBvZiB0aGUgcHVibGljIEFQSSBvZiB0aGlzIG1vZHVsZS5cbi8vIEluIGdlbmVyYWwsIGFsbCBmaWxlcyBpbmNsdWRpbmcgTDIgY2xhc3NlcyB3aWxsIGJlIGxpc3RlZCBoZXJlLFxuLy8gd2hpbGUgYWxsIGZpbGVzIGluY2x1ZGluZyBvbmx5IHV0aWxpdHkgZnVuY3Rpb25zIHdpbGwgYmUgb21pdHRlZCBmcm9tIGhlcmUuXG5cbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYnVja2V0JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYnVja2V0LXBvbGljeSc7XG5leHBvcnQgKiBmcm9tICcuL25hbWVzcGFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtcG9saWN5JztcbiJdfQ==
|
package/lib/namespace.js
CHANGED
|
@@ -108,7 +108,7 @@ let Namespace = Namespace_1 = class Namespace extends core_1.Resource {
|
|
|
108
108
|
};
|
|
109
109
|
exports.Namespace = Namespace;
|
|
110
110
|
_a = JSII_RTTI_SYMBOL_1;
|
|
111
|
-
Namespace[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.Namespace", version: "2.
|
|
111
|
+
Namespace[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.Namespace", version: "2.213.0-alpha.0" };
|
|
112
112
|
/** Uniquely identifies this class. */
|
|
113
113
|
Namespace.PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.Namespace';
|
|
114
114
|
exports.Namespace = Namespace = Namespace_1 = __decorate([
|
package/lib/permissions.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export declare const TABLE_BUCKET_READ_ACCESS: string[];
|
|
2
2
|
export declare const TABLE_BUCKET_WRITE_ACCESS: string[];
|
|
3
3
|
export declare const TABLE_BUCKET_READ_WRITE_ACCESS: string[];
|
|
4
|
+
export declare const TABLE_READ_ACCESS: string[];
|
|
5
|
+
export declare const TABLE_WRITE_ACCESS: string[];
|
|
6
|
+
export declare const TABLE_READ_WRITE_ACCESS: string[];
|
|
4
7
|
export declare const KEY_READ_ACCESS: string[];
|
|
5
8
|
export declare const KEY_WRITE_ACCESS: string[];
|
|
6
9
|
export declare const KEY_READ_WRITE_ACCESS: string[];
|
package/lib/permissions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KEY_READ_WRITE_ACCESS = exports.KEY_WRITE_ACCESS = exports.KEY_READ_ACCESS = exports.TABLE_BUCKET_READ_WRITE_ACCESS = exports.TABLE_BUCKET_WRITE_ACCESS = exports.TABLE_BUCKET_READ_ACCESS = void 0;
|
|
3
|
+
exports.KEY_READ_WRITE_ACCESS = exports.KEY_WRITE_ACCESS = exports.KEY_READ_ACCESS = exports.TABLE_READ_WRITE_ACCESS = exports.TABLE_WRITE_ACCESS = exports.TABLE_READ_ACCESS = exports.TABLE_BUCKET_READ_WRITE_ACCESS = exports.TABLE_BUCKET_WRITE_ACCESS = exports.TABLE_BUCKET_READ_ACCESS = void 0;
|
|
4
|
+
// Table Bucket
|
|
4
5
|
// Read priveleges
|
|
5
6
|
exports.TABLE_BUCKET_READ_ACCESS = [
|
|
6
7
|
's3tables:Get*',
|
|
@@ -21,6 +22,21 @@ exports.TABLE_BUCKET_READ_WRITE_ACCESS = [...new Set([
|
|
|
21
22
|
...exports.TABLE_BUCKET_READ_ACCESS,
|
|
22
23
|
...exports.TABLE_BUCKET_WRITE_ACCESS,
|
|
23
24
|
])];
|
|
25
|
+
// Table
|
|
26
|
+
// Read priveleges
|
|
27
|
+
exports.TABLE_READ_ACCESS = [
|
|
28
|
+
's3tables:Get*',
|
|
29
|
+
];
|
|
30
|
+
// Write priveleges
|
|
31
|
+
exports.TABLE_WRITE_ACCESS = [
|
|
32
|
+
's3tables:PutTableData',
|
|
33
|
+
's3tables:UpdateTableMetadataLocation',
|
|
34
|
+
's3tables:RenameTable',
|
|
35
|
+
];
|
|
36
|
+
exports.TABLE_READ_WRITE_ACCESS = [...new Set([
|
|
37
|
+
...exports.TABLE_READ_ACCESS,
|
|
38
|
+
...exports.TABLE_WRITE_ACCESS,
|
|
39
|
+
])];
|
|
24
40
|
// Permissions for user defined KMS Keys
|
|
25
41
|
// https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html
|
|
26
42
|
exports.KEY_READ_ACCESS = [
|
|
@@ -34,4 +50,4 @@ exports.KEY_READ_WRITE_ACCESS = [...new Set([
|
|
|
34
50
|
...exports.KEY_READ_ACCESS,
|
|
35
51
|
...exports.KEY_WRITE_ACCESS,
|
|
36
52
|
])];
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxlQUFlO0FBQ2Ysa0JBQWtCO0FBQ0wsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLHFCQUFxQjtDQUN0QixDQUFDO0FBRUYsbUJBQW1CO0FBQ04sUUFBQSx5QkFBeUIsR0FBRztJQUN2Qyx1QkFBdUI7SUFDdkIsc0NBQXNDO0lBQ3RDLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsaURBQWlEO0lBQ2pELHNCQUFzQjtJQUN0QixzQkFBc0I7Q0FDdkIsQ0FBQztBQUVXLFFBQUEsOEJBQThCLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDO1FBQ3hELEdBQUcsZ0NBQXdCO1FBQzNCLEdBQUcsaUNBQXlCO0tBQzdCLENBQUMsQ0FBQyxDQUFDO0FBRUosUUFBUTtBQUNSLGtCQUFrQjtBQUNMLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsZUFBZTtDQUNoQixDQUFDO0FBQ0YsbUJBQW1CO0FBQ04sUUFBQSxrQkFBa0IsR0FBRztJQUNoQyx1QkFBdUI7SUFDdkIsc0NBQXNDO0lBQ3RDLHNCQUFzQjtDQUN2QixDQUFDO0FBQ1csUUFBQSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDakQsR0FBRyx5QkFBaUI7UUFDcEIsR0FBRywwQkFBa0I7S0FDdEIsQ0FBQyxDQUFDLENBQUM7QUFFSix3Q0FBd0M7QUFDeEMsdUZBQXVGO0FBQzFFLFFBQUEsZUFBZSxHQUFHO0lBQzdCLGFBQWE7Q0FDZCxDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixhQUFhO0lBQ2Isc0JBQXNCO0NBQ3ZCLENBQUM7QUFFVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUMvQyxHQUFHLHVCQUFlO1FBQ2xCLEdBQUcsd0JBQWdCO0tBQ3BCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGFibGUgQnVja2V0XG4vLyBSZWFkIHByaXZlbGVnZXNcbmV4cG9ydCBjb25zdCBUQUJMRV9CVUNLRVRfUkVBRF9BQ0NFU1MgPSBbXG4gICdzM3RhYmxlczpHZXQqJyxcbiAgJ3MzdGFibGVzOkxpc3ROYW1lc3BhY2UnLFxuICAnczN0YWJsZXM6TGlzdFRhYmxlcycsXG5dO1xuXG4vLyBXcml0ZSBwcml2ZWxlZ2VzXG5leHBvcnQgY29uc3QgVEFCTEVfQlVDS0VUX1dSSVRFX0FDQ0VTUyA9IFtcbiAgJ3MzdGFibGVzOlB1dFRhYmxlRGF0YScsXG4gICdzM3RhYmxlczpVcGRhdGVUYWJsZU1ldGFkYXRhTG9jYXRpb24nLFxuICAnczN0YWJsZXM6Q3JlYXRlTmFtZXNwYWNlJyxcbiAgJ3MzdGFibGVzOkRlbGV0ZU5hbWVzcGFjZScsXG4gICdzM3RhYmxlczpQdXRUYWJsZUJ1Y2tldE1haW50ZW5hbmNlQ29uZmlndXJhdGlvbicsXG4gICdzM3RhYmxlczpDcmVhdGVUYWJsZScsXG4gICdzM3RhYmxlczpSZW5hbWVUYWJsZScsXG5dO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfQlVDS0VUX1JFQURfV1JJVEVfQUNDRVNTID0gWy4uLm5ldyBTZXQoW1xuICAuLi5UQUJMRV9CVUNLRVRfUkVBRF9BQ0NFU1MsXG4gIC4uLlRBQkxFX0JVQ0tFVF9XUklURV9BQ0NFU1MsXG5dKV07XG5cbi8vIFRhYmxlXG4vLyBSZWFkIHByaXZlbGVnZXNcbmV4cG9ydCBjb25zdCBUQUJMRV9SRUFEX0FDQ0VTUyA9IFtcbiAgJ3MzdGFibGVzOkdldConLFxuXTtcbi8vIFdyaXRlIHByaXZlbGVnZXNcbmV4cG9ydCBjb25zdCBUQUJMRV9XUklURV9BQ0NFU1MgPSBbXG4gICdzM3RhYmxlczpQdXRUYWJsZURhdGEnLFxuICAnczN0YWJsZXM6VXBkYXRlVGFibGVNZXRhZGF0YUxvY2F0aW9uJyxcbiAgJ3MzdGFibGVzOlJlbmFtZVRhYmxlJyxcbl07XG5leHBvcnQgY29uc3QgVEFCTEVfUkVBRF9XUklURV9BQ0NFU1MgPSBbLi4ubmV3IFNldChbXG4gIC4uLlRBQkxFX1JFQURfQUNDRVNTLFxuICAuLi5UQUJMRV9XUklURV9BQ0NFU1MsXG5dKV07XG5cbi8vIFBlcm1pc3Npb25zIGZvciB1c2VyIGRlZmluZWQgS01TIEtleXNcbi8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvdXNlcmd1aWRlL3MzLXRhYmxlcy1rbXMtcGVybWlzc2lvbnMuaHRtbFxuZXhwb3J0IGNvbnN0IEtFWV9SRUFEX0FDQ0VTUyA9IFtcbiAgJ2ttczpEZWNyeXB0Jyxcbl07XG5cbmV4cG9ydCBjb25zdCBLRVlfV1JJVEVfQUNDRVNTID0gW1xuICAna21zOkRlY3J5cHQnLFxuICAna21zOkdlbmVyYXRlRGF0YUtleSonLFxuXTtcblxuZXhwb3J0IGNvbnN0IEtFWV9SRUFEX1dSSVRFX0FDQ0VTUyA9IFsuLi5uZXcgU2V0KFtcbiAgLi4uS0VZX1JFQURfQUNDRVNTLFxuICAuLi5LRVlfV1JJVEVfQUNDRVNTLFxuXSldO1xuIl19
|
|
@@ -48,7 +48,7 @@ let TableBucketPolicy = class TableBucketPolicy extends core_1.Resource {
|
|
|
48
48
|
};
|
|
49
49
|
exports.TableBucketPolicy = TableBucketPolicy;
|
|
50
50
|
_a = JSII_RTTI_SYMBOL_1;
|
|
51
|
-
TableBucketPolicy[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.TableBucketPolicy", version: "2.
|
|
51
|
+
TableBucketPolicy[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.TableBucketPolicy", version: "2.213.0-alpha.0" };
|
|
52
52
|
/** Uniquely identifies this class. */
|
|
53
53
|
TableBucketPolicy.PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.TableBucketPolicy';
|
|
54
54
|
exports.TableBucketPolicy = TableBucketPolicy = __decorate([
|
package/lib/table-bucket.js
CHANGED
|
@@ -385,7 +385,7 @@ let TableBucket = TableBucket_1 = class TableBucket extends TableBucketBase {
|
|
|
385
385
|
};
|
|
386
386
|
exports.TableBucket = TableBucket;
|
|
387
387
|
_a = JSII_RTTI_SYMBOL_1;
|
|
388
|
-
TableBucket[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.TableBucket", version: "2.
|
|
388
|
+
TableBucket[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.TableBucket", version: "2.213.0-alpha.0" };
|
|
389
389
|
/** Uniquely identifies this class. */
|
|
390
390
|
TableBucket.PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.TableBucket';
|
|
391
391
|
exports.TableBucket = TableBucket = TableBucket_1 = __decorate([
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Construct } from 'constructs';
|
|
2
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
3
|
+
import { RemovalPolicy, Resource } from 'aws-cdk-lib/core';
|
|
4
|
+
import { ITable } from './table';
|
|
5
|
+
/**
|
|
6
|
+
* Parameters for constructing a TablePolicy
|
|
7
|
+
*/
|
|
8
|
+
export interface TablePolicyProps {
|
|
9
|
+
/**
|
|
10
|
+
* The associated table
|
|
11
|
+
*/
|
|
12
|
+
readonly table: ITable;
|
|
13
|
+
/**
|
|
14
|
+
* The policy document for the table's resource policy
|
|
15
|
+
* @default undefined An empty iam.PolicyDocument will be initialized
|
|
16
|
+
*/
|
|
17
|
+
readonly resourcePolicy?: iam.PolicyDocument;
|
|
18
|
+
/**
|
|
19
|
+
* Policy to apply when the policy is removed from this stack.
|
|
20
|
+
*
|
|
21
|
+
* @default - RemovalPolicy.DESTROY.
|
|
22
|
+
*/
|
|
23
|
+
readonly removalPolicy?: RemovalPolicy;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A Policy for S3 Tables.
|
|
27
|
+
*
|
|
28
|
+
* You will almost never need to use this construct directly.
|
|
29
|
+
* Instead, Table.addToResourcePolicy can be used to add more policies to your table directly
|
|
30
|
+
*/
|
|
31
|
+
export declare class TablePolicy extends Resource {
|
|
32
|
+
/** Uniquely identifies this class. */
|
|
33
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
34
|
+
/**
|
|
35
|
+
* The IAM PolicyDocument containing permissions represented by this policy.
|
|
36
|
+
*/
|
|
37
|
+
readonly document: iam.PolicyDocument;
|
|
38
|
+
/**
|
|
39
|
+
* @internal The underlying policy resource.
|
|
40
|
+
*/
|
|
41
|
+
private readonly _resource;
|
|
42
|
+
constructor(scope: Construct, id: string, props: TablePolicyProps);
|
|
43
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var _a;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.TablePolicy = void 0;
|
|
11
|
+
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
12
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
13
|
+
const aws_s3tables_1 = require("aws-cdk-lib/aws-s3tables");
|
|
14
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
15
|
+
const core_1 = require("aws-cdk-lib/core");
|
|
16
|
+
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
17
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
18
|
+
/**
|
|
19
|
+
* A Policy for S3 Tables.
|
|
20
|
+
*
|
|
21
|
+
* You will almost never need to use this construct directly.
|
|
22
|
+
* Instead, Table.addToResourcePolicy can be used to add more policies to your table directly
|
|
23
|
+
*/
|
|
24
|
+
let TablePolicy = class TablePolicy extends core_1.Resource {
|
|
25
|
+
constructor(scope, id, props) {
|
|
26
|
+
super(scope, id);
|
|
27
|
+
try {
|
|
28
|
+
jsiiDeprecationWarnings._aws_cdk_aws_s3tables_alpha_TablePolicyProps(props);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
32
|
+
Error.captureStackTrace(error, TablePolicy);
|
|
33
|
+
}
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
// Enhanced CDK Analytics Telemetry
|
|
37
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
38
|
+
// Use default policy if not provided with props
|
|
39
|
+
this.document = props.resourcePolicy || new iam.PolicyDocument({});
|
|
40
|
+
this._resource = new aws_s3tables_1.CfnTablePolicy(this, id, {
|
|
41
|
+
tableArn: props.table.tableArn,
|
|
42
|
+
resourcePolicy: this.document,
|
|
43
|
+
});
|
|
44
|
+
if (props.removalPolicy) {
|
|
45
|
+
this._resource.applyRemovalPolicy(props.removalPolicy);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.TablePolicy = TablePolicy;
|
|
50
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
51
|
+
TablePolicy[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.TablePolicy", version: "2.213.0-alpha.0" };
|
|
52
|
+
/** Uniquely identifies this class. */
|
|
53
|
+
TablePolicy.PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.TablePolicy';
|
|
54
|
+
exports.TablePolicy = TablePolicy = __decorate([
|
|
55
|
+
prop_injectable_1.propertyInjectable
|
|
56
|
+
], TablePolicy);
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGFibGUtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLDJEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsMkNBQTJEO0FBRTNELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUF1QjFFOzs7OztHQUtHO0FBRUksSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLGVBQVE7SUFZdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7K0NBYlIsV0FBVzs7OztRQWNwQixtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLDZCQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUM1QyxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQzlCLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUM5QixDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxDQUFDO0tBQ0Y7O0FBNUJVLGtDQUFXOzs7QUFDdEIsc0NBQXNDO0FBQ2YsaUNBQXFCLEdBQVcseUNBQXlDLEFBQXBELENBQXFEO3NCQUZ0RixXQUFXO0lBRHZCLG9DQUFrQjtHQUNOLFdBQVcsQ0E2QnZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5UYWJsZVBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zM3RhYmxlcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBSZW1vdmFsUG9saWN5LCBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSAnLi90YWJsZSc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgY29uc3RydWN0aW5nIGEgVGFibGVQb2xpY3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJsZVBvbGljeVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBhc3NvY2lhdGVkIHRhYmxlXG4gICAqL1xuICByZWFkb25seSB0YWJsZTogSVRhYmxlO1xuICAvKipcbiAgICogVGhlIHBvbGljeSBkb2N1bWVudCBmb3IgdGhlIHRhYmxlJ3MgcmVzb3VyY2UgcG9saWN5XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCBBbiBlbXB0eSBpYW0uUG9saWN5RG9jdW1lbnQgd2lsbCBiZSBpbml0aWFsaXplZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VQb2xpY3k/OiBpYW0uUG9saWN5RG9jdW1lbnQ7XG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgcG9saWN5IGlzIHJlbW92ZWQgZnJvbSB0aGlzIHN0YWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFJlbW92YWxQb2xpY3kuREVTVFJPWS5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEEgIFBvbGljeSBmb3IgUzMgVGFibGVzLlxuICpcbiAqIFlvdSB3aWxsIGFsbW9zdCBuZXZlciBuZWVkIHRvIHVzZSB0aGlzIGNvbnN0cnVjdCBkaXJlY3RseS5cbiAqIEluc3RlYWQsIFRhYmxlLmFkZFRvUmVzb3VyY2VQb2xpY3kgY2FuIGJlIHVzZWQgdG8gYWRkIG1vcmUgcG9saWNpZXMgdG8geW91ciB0YWJsZSBkaXJlY3RseVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgVGFibGVQb2xpY3kgZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLXMzdGFibGVzLWFscGhhLlRhYmxlUG9saWN5JztcbiAgLyoqXG4gICAqIFRoZSBJQU0gUG9saWN5RG9jdW1lbnQgY29udGFpbmluZyBwZXJtaXNzaW9ucyByZXByZXNlbnRlZCBieSB0aGlzIHBvbGljeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudDogaWFtLlBvbGljeURvY3VtZW50O1xuICAvKipcbiAgICogQGludGVybmFsIFRoZSB1bmRlcmx5aW5nIHBvbGljeSByZXNvdXJjZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc291cmNlOiBDZm5UYWJsZVBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVGFibGVQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICAvLyBVc2UgZGVmYXVsdCBwb2xpY3kgaWYgbm90IHByb3ZpZGVkIHdpdGggcHJvcHNcbiAgICB0aGlzLmRvY3VtZW50ID0gcHJvcHMucmVzb3VyY2VQb2xpY3kgfHwgbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7fSk7XG5cbiAgICB0aGlzLl9yZXNvdXJjZSA9IG5ldyBDZm5UYWJsZVBvbGljeSh0aGlzLCBpZCwge1xuICAgICAgdGFibGVBcm46IHByb3BzLnRhYmxlLnRhYmxlQXJuLFxuICAgICAgcmVzb3VyY2VQb2xpY3k6IHRoaXMuZG9jdW1lbnQsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucmVtb3ZhbFBvbGljeSkge1xuICAgICAgdGhpcy5fcmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3kpO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/table.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resource, IResource, RemovalPolicy } from 'aws-cdk-lib/core';
|
|
2
2
|
import { INamespace } from './namespace';
|
|
3
|
+
import { CfnTablePolicy } from 'aws-cdk-lib/aws-s3tables';
|
|
3
4
|
import { Construct } from 'constructs';
|
|
5
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
6
|
/**
|
|
5
7
|
* Represents an S3 Table.
|
|
6
8
|
*/
|
|
@@ -25,6 +27,54 @@ export interface ITable extends IResource {
|
|
|
25
27
|
* @attribute
|
|
26
28
|
*/
|
|
27
29
|
readonly region?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Adds a statement to the resource policy for a principal (i.e.
|
|
32
|
+
* account/role/service) to perform actions on this table.
|
|
33
|
+
*
|
|
34
|
+
* Note that the policy statement may or may not be added to the policy.
|
|
35
|
+
* For example, when an `ITable` is created from an existing table,
|
|
36
|
+
* it's not possible to tell whether the table already has a policy
|
|
37
|
+
* attached, let alone to re-use that policy to add more statements to it.
|
|
38
|
+
* So it's safest to do nothing in these cases.
|
|
39
|
+
*
|
|
40
|
+
* @param statement the policy statement to be added to the table's
|
|
41
|
+
* policy.
|
|
42
|
+
* @returns metadata about the execution of this method. If the policy
|
|
43
|
+
* was not added, the value of `statementAdded` will be `false`. You
|
|
44
|
+
* should always check this value to make sure that the operation was
|
|
45
|
+
* actually carried out. Otherwise, synthesis and deploy will terminate
|
|
46
|
+
* silently, which may be confusing.
|
|
47
|
+
*/
|
|
48
|
+
addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
|
49
|
+
/**
|
|
50
|
+
* Grant read permissions for this table to an IAM principal (Role/Group/User).
|
|
51
|
+
*
|
|
52
|
+
* If the parent TableBucket of this table has encryption,
|
|
53
|
+
* you should grant kms:Decrypt permission to use this key to the same principal.
|
|
54
|
+
*
|
|
55
|
+
* @param identity The principal to allow read permissions to
|
|
56
|
+
*/
|
|
57
|
+
grantRead(identity: iam.IGrantable): iam.Grant;
|
|
58
|
+
/**
|
|
59
|
+
* Grant write permissions for this table to an IAM principal (Role/Group/User).
|
|
60
|
+
*
|
|
61
|
+
* If the parent TableBucket of this table has encryption,
|
|
62
|
+
* you should grant kms:GenerateDataKey and kms:Decrypt permission
|
|
63
|
+
* to use this key to the same principal.
|
|
64
|
+
*
|
|
65
|
+
* @param identity The principal to allow write permissions to
|
|
66
|
+
*/
|
|
67
|
+
grantWrite(identity: iam.IGrantable): iam.Grant;
|
|
68
|
+
/**
|
|
69
|
+
* Grant read and write permissions for this table to an IAM principal (Role/Group/User).
|
|
70
|
+
*
|
|
71
|
+
* If the parent TableBucket of this table has encryption,
|
|
72
|
+
* you should grant kms:GenerateDataKey and kms:Decrypt permission
|
|
73
|
+
* to use this key to the same principal.
|
|
74
|
+
*
|
|
75
|
+
* @param identity The principal to allow read and write permissions to
|
|
76
|
+
*/
|
|
77
|
+
grantReadWrite(identity: iam.IGrantable): iam.Grant;
|
|
28
78
|
}
|
|
29
79
|
/**
|
|
30
80
|
* Base class for Table implementations.
|
|
@@ -32,6 +82,27 @@ export interface ITable extends IResource {
|
|
|
32
82
|
declare abstract class TableBase extends Resource implements ITable {
|
|
33
83
|
abstract readonly tableName: string;
|
|
34
84
|
abstract readonly tableArn: string;
|
|
85
|
+
/**
|
|
86
|
+
* The resource policy associated with this table.
|
|
87
|
+
*
|
|
88
|
+
* If `autoCreatePolicy` is true, a `TablePolicy` will be created upon the
|
|
89
|
+
* first call to addToResourcePolicy(s).
|
|
90
|
+
*/
|
|
91
|
+
abstract tablePolicy?: CfnTablePolicy;
|
|
92
|
+
/**
|
|
93
|
+
* Indicates if a table resource policy should automatically created upon
|
|
94
|
+
* the first call to `addToResourcePolicy`.
|
|
95
|
+
*/
|
|
96
|
+
protected abstract autoCreatePolicy: boolean;
|
|
97
|
+
addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
|
98
|
+
grantRead(identity: iam.IGrantable): iam.Grant;
|
|
99
|
+
grantWrite(identity: iam.IGrantable): iam.Grant;
|
|
100
|
+
grantReadWrite(identity: iam.IGrantable): iam.Grant;
|
|
101
|
+
/**
|
|
102
|
+
* Grants the given s3tables permissions to the provided principal
|
|
103
|
+
* @returns Grant object
|
|
104
|
+
*/
|
|
105
|
+
private grant;
|
|
35
106
|
}
|
|
36
107
|
/**
|
|
37
108
|
* Properties for creating a new S3 Table.
|
|
@@ -241,6 +312,11 @@ export declare class Table extends TableBase {
|
|
|
241
312
|
* The namespace containing this table
|
|
242
313
|
*/
|
|
243
314
|
readonly namespace: INamespace;
|
|
315
|
+
/**
|
|
316
|
+
* The resource policy for this table.
|
|
317
|
+
*/
|
|
318
|
+
readonly tablePolicy?: CfnTablePolicy;
|
|
319
|
+
protected autoCreatePolicy: boolean;
|
|
244
320
|
constructor(scope: Construct, id: string, props: TableProps);
|
|
245
321
|
}
|
|
246
322
|
export {};
|
package/lib/table.js
CHANGED
|
@@ -15,11 +15,49 @@ const core_1 = require("aws-cdk-lib/core");
|
|
|
15
15
|
const aws_s3tables_1 = require("aws-cdk-lib/aws-s3tables");
|
|
16
16
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
17
17
|
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
18
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
19
|
+
const perms = require("./permissions");
|
|
18
20
|
const os_1 = require("os");
|
|
19
21
|
/**
|
|
20
22
|
* Base class for Table implementations.
|
|
21
23
|
*/
|
|
22
24
|
class TableBase extends core_1.Resource {
|
|
25
|
+
addToResourcePolicy(statement) {
|
|
26
|
+
if (!this.tablePolicy && this.autoCreatePolicy) {
|
|
27
|
+
this.tablePolicy = new aws_s3tables_1.CfnTablePolicy(this, 'DefaultPolicy', {
|
|
28
|
+
tableArn: this.tableArn,
|
|
29
|
+
resourcePolicy: new iam.PolicyDocument({}),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (this.tablePolicy) {
|
|
33
|
+
this.tablePolicy.resourcePolicy.addStatements(statement);
|
|
34
|
+
return { statementAdded: true, policyDependable: this.tablePolicy };
|
|
35
|
+
}
|
|
36
|
+
return { statementAdded: false };
|
|
37
|
+
}
|
|
38
|
+
grantRead(identity) {
|
|
39
|
+
return this.grant(identity, perms.TABLE_READ_ACCESS, this.tableArn);
|
|
40
|
+
}
|
|
41
|
+
grantWrite(identity) {
|
|
42
|
+
return this.grant(identity, perms.TABLE_WRITE_ACCESS, this.tableArn);
|
|
43
|
+
}
|
|
44
|
+
grantReadWrite(identity) {
|
|
45
|
+
return this.grant(identity, perms.TABLE_READ_WRITE_ACCESS, this.tableArn);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Grants the given s3tables permissions to the provided principal
|
|
49
|
+
* @returns Grant object
|
|
50
|
+
*/
|
|
51
|
+
grant(grantee, tableActions, resourceArn, ...otherResourceArns) {
|
|
52
|
+
const resources = [resourceArn, ...otherResourceArns].filter(arn => arn != undefined);
|
|
53
|
+
const grant = iam.Grant.addToPrincipalOrResource({
|
|
54
|
+
grantee,
|
|
55
|
+
actions: tableActions,
|
|
56
|
+
resourceArns: resources,
|
|
57
|
+
resource: this,
|
|
58
|
+
});
|
|
59
|
+
return grant;
|
|
60
|
+
}
|
|
23
61
|
}
|
|
24
62
|
/**
|
|
25
63
|
* Supported open table formats.
|
|
@@ -123,6 +161,7 @@ let Table = Table_1 = class Table extends TableBase {
|
|
|
123
161
|
}
|
|
124
162
|
constructor(scope, id, props) {
|
|
125
163
|
super(scope, id, {});
|
|
164
|
+
this.autoCreatePolicy = true;
|
|
126
165
|
try {
|
|
127
166
|
jsiiDeprecationWarnings._aws_cdk_aws_s3tables_alpha_TableProps(props);
|
|
128
167
|
}
|
|
@@ -154,10 +193,10 @@ let Table = Table_1 = class Table extends TableBase {
|
|
|
154
193
|
};
|
|
155
194
|
exports.Table = Table;
|
|
156
195
|
_a = JSII_RTTI_SYMBOL_1;
|
|
157
|
-
Table[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.Table", version: "2.
|
|
196
|
+
Table[_a] = { fqn: "@aws-cdk/aws-s3tables-alpha.Table", version: "2.213.0-alpha.0" };
|
|
158
197
|
/** Uniquely identifies this class. */
|
|
159
198
|
Table.PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.Table';
|
|
160
199
|
exports.Table = Table = Table_1 = __decorate([
|
|
161
200
|
prop_injectable_1.propertyInjectable
|
|
162
201
|
], Table);
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsMkNBTTBCO0FBRTFCLDJEQUFvRDtBQUNwRCw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDJCQUF5QjtBQStCekI7O0dBRUc7QUFDSCxNQUFlLFNBQVUsU0FBUSxlQUFRO0NBR3hDO0FBa0REOztHQUVHO0FBQ0gsSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCOztPQUVHO0lBQ0gsc0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLGVBQWUsK0JBQWYsZUFBZSxRQUsxQjtBQWtCRDs7R0FFRztBQUNILElBQVksTUFTWDtBQVRELFdBQVksTUFBTTtJQUNoQjs7T0FFRztJQUNILDZCQUFtQixDQUFBO0lBQ25COztPQUVHO0lBQ0gsK0JBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVRXLE1BQU0sc0JBQU4sTUFBTSxRQVNqQjtBQW1HRDs7R0FFRztBQUVJLElBQU0sS0FBSyxhQUFYLE1BQU0sS0FBTSxTQUFRLFNBQVM7SUFJbEM7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUMvQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBc0I7Ozs7Ozs7Ozs7UUFFdEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNoQyxPQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpDLE1BQU0sTUFBTyxTQUFRLFNBQVM7WUFBOUI7O2dCQUNrQixjQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztnQkFDNUIsYUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFDMUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1lBUTlDLENBQUM7WUFOQzs7ZUFFRztZQUNJLE1BQU07Z0JBQ1gsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1NBQ0Y7UUFFRCxPQUFPLElBQUksTUFB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QUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUN6Qzs7QUF4SVUsc0JBQUs7OztBQUNoQixzQ0FBc0M7QUFDZiwyQkFBcUIsR0FBVyxtQ0FBbUMsQUFBOUMsQ0FBK0M7Z0JBRmhGLEtBQUs7SUFEakIsb0NBQWtCO0dBQ04sS0FBSyxDQXlJakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXNvdXJjZSxcbiAgSVJlc291cmNlLFxuICBSZW1vdmFsUG9saWN5LFxuICBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcixcbiAgVG9rZW4sXG59IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgSU5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCB7IENmblRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzdGFibGVzJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRU9MIH0gZnJvbSAnb3MnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gUzMgVGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyB0YWJsZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyB0YWJsZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50SWQgY29udGFpbmluZyB0aGlzIHRhYmxlLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIGNvbnRhaW5pbmcgdGhpcyB0YWJsZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFRhYmxlIGltcGxlbWVudGF0aW9ucy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgVGFibGVCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVGFibGUge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0YWJsZUFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgbmV3IFMzIFRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGlzIHRhYmxlLCB1bmlxdWUgd2l0aGluIHRoZSBuYW1lc3BhY2VcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSB1bmRlciB3aGljaCB0aGlzIHRhYmxlIGlzIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogSU5hbWVzcGFjZTtcbiAgLyoqXG4gICAqIEZvcm1hdCBvZiB0aGlzIHRhYmxlLiBDdXJyZW50bHksIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyBPcGVuVGFibGVGb3JtYXQuSUNFQkVSRy5cbiAgICovXG4gIHJlYWRvbmx5IG9wZW5UYWJsZUZvcm1hdDogT3BlblRhYmxlRm9ybWF0O1xuICAvKipcbiAgICogU2V0dGluZ3MgZ292ZXJuaW5nIHRoZSBDb21wYWN0aW9uIG1haW50ZW5hbmNlIGFjdGlvbi5cbiAgICogQGRlZmF1bHQgQW1hem9uIFMzIHNlbGVjdHMgdGhlIGJlc3QgY29tcGFjdGlvbiBzdHJhdGVneSBiYXNlZCBvbiB5b3VyIHRhYmxlIHNvcnQgb3JkZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC91c2VyZ3VpZGUvczMtdGFibGVzLW1haW50ZW5hbmNlLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhY3Rpb24/OiBDb21wYWN0aW9uUHJvcGVydHk7XG4gIC8qKlxuICAgKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBtZXRhZGF0YSBmb3IgYW4gSWNlYmVyZyB0YWJsZS5cbiAgICogQGRlZmF1bHQgdGFibGUgaXMgY3JlYXRlZCB3aXRob3V0IGFueSBtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgaWNlYmVyZ01ldGFkYXRhPzogSWNlYmVyZ01ldGFkYXRhUHJvcGVydHk7XG4gIC8qKlxuICAgKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzbmFwc2hvdCBtYW5hZ2VtZW50IHNldHRpbmdzIGZvciBhbiBJY2ViZXJnIHRhYmxlLlxuICAgKiBAZGVmYXVsdCBlbmFibGVkOiBNaW5pbXVtU25hcHNob3RzIGlzIDEgYnkgZGVmYXVsdCBhbmQgTWF4aW11bVNuYXBzaG90QWdlIGlzIDEyMCBob3VycyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc25hcHNob3RNYW5hZ2VtZW50PzogU25hcHNob3RNYW5hZ2VtZW50UHJvcGVydHk7XG4gIC8qKlxuICAgKiBDb250cm9scyB3aGF0IGhhcHBlbnMgdG8gdGhpcyB0YWJsZSBpdCBpdCBzdG9wZWQgYmVpbmcgbWFuYWdlZCBieSBjbG91ZGZvcm1hdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgUkVUQUlOXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbiAgLyoqXG4gICAqIElmIHRydWUsIGluZGljYXRlcyB0aGF0IHlvdSBkb24ndCB3YW50IHRvIHNwZWNpZnkgYSBzY2hlbWEgZm9yIHRoZSB0YWJsZS5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBtdXR1YWxseSBleGNsdXNpdmUgdG8gJ0ljZWJlcmdNZXRhZGF0YScuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3aXRob3V0TWV0YWRhdGE/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN1cHBvcnRlZCBvcGVuIHRhYmxlIGZvcm1hdHMuXG4gKi9cbmV4cG9ydCBlbnVtIE9wZW5UYWJsZUZvcm1hdCB7XG4gIC8qKlxuICAgKiBBcGFjaGUgSWNlYmVyZyB0YWJsZSBmb3JtYXQuXG4gICAqL1xuICBJQ0VCRVJHID0gJ0lDRUJFUkcnLFxufVxuXG4vKipcbiAqIFNldHRpbmdzIGdvdmVybmluZyB0aGUgQ29tcGFjdGlvbiBtYWludGVuYW5jZSBhY3Rpb24uXG4gKlxuICogQGRlZmF1bHQgLSBObyBjb21wYWN0aW9uIHNldHRpbmdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFjdGlvblByb3BlcnR5IHtcbiAgLyoqXG4gICAqIFN0YXR1cyBvZiB0aGUgY29tcGFjdGlvbiBtYWludGVuYW5jZSBhY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6IFN0YXR1cztcbiAgLyoqXG4gICAqIFRhcmdldCBmaWxlIHNpemUgaW4gbWVnYWJ5dGVzIGZvciBjb21wYWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0RmlsZVNpemVNYjogbnVtYmVyO1xufVxuXG4vKipcbiAqIFN0YXR1cyB2YWx1ZXMgZm9yIG1haW50ZW5hbmNlIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIG1haW50ZW5hbmNlIGFjdGlvbi5cbiAgICovXG4gIEVOQUJMRUQgPSAnZW5hYmxlZCcsXG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBtYWludGVuYW5jZSBhY3Rpb24uXG4gICAqL1xuICBESVNBQkxFRCA9ICdkaXNhYmxlZCcsXG59XG5cbi8qKlxuICogQ29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgbWV0YWRhdGEgZm9yIGFuIEljZWJlcmcgdGFibGUuXG4gKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtczN0YWJsZXMtdGFibGUtaWNlYmVyZ21ldGFkYXRhLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJY2ViZXJnTWV0YWRhdGFQcm9wZXJ0eSB7XG4gIC8qKlxuICAgKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzY2hlbWEgZm9yIGFuIEljZWJlcmcgdGFibGUuXG4gICAqXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zM3RhYmxlcy10YWJsZS1pY2ViZXJnbWV0YWRhdGEuaHRtbCNjZm4tczN0YWJsZXMtdGFibGUtaWNlYmVyZ21ldGFkYXRhLWljZWJlcmdzY2hlbWFcbiAgICovXG4gIHJlYWRvbmx5IGljZWJlcmdTY2hlbWE6IEljZWJlcmdTY2hlbWFQcm9wZXJ0eTtcbn1cblxuLyoqXG4gKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzY2hlbWEgZm9yIGFuIEljZWJlcmcgdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWNlYmVyZ1NjaGVtYVByb3BlcnR5IHtcbiAgLyoqXG4gICAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlIHNjaGVtYSBmb3IgYW4gSWNlYmVyZyB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYUZpZWxkTGlzdDogU2NoZW1hRmllbGRQcm9wZXJ0eVtdO1xufVxuXG4vKipcbiAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgYSBzY2hlbWEgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRmllbGRQcm9wZXJ0eSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB2YWx1ZSB0aGF0IHNwZWNpZmllcyB3aGV0aGVyIHZhbHVlcyBhcmUgcmVxdWlyZWQgZm9yIGVhY2ggcm93IGluIHRoaXMgZmllbGQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoaXMgaXMgYGZhbHNlYCBhbmQgbnVsbCB2YWx1ZXMgYXJlIGFsbG93ZWQgaW4gdGhlIGZpZWxkLiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIGZpZWxkIGRvZXMgbm90IGFsbG93IG51bGwgdmFsdWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZmllbGQgdHlwZS5cbiAgICpcbiAgICogUzMgVGFibGVzIHN1cHBvcnRzIGFsbCBBcGFjaGUgSWNlYmVyZyBwcmltaXRpdmUgdHlwZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIFtBcGFjaGUgSWNlYmVyZyBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaHR0cHM6Ly9pY2ViZXJnLmFwYWNoZS5vcmcvc3BlYy8jcHJpbWl0aXZlLXR5cGVzKS5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzbmFwc2hvdCBtYW5hZ2VtZW50IHNldHRpbmdzIGZvciBhbiBJY2ViZXJnIHRhYmxlLlxuICpcbiAqIEEgc25hcHNob3QgaXMgZXhwaXJlZCB3aGVuIGl0IGV4Y2VlZHMgTWluU25hcHNob3RzVG9LZWVwIGFuZCBNYXhTbmFwc2hvdEFnZUhvdXJzLlxuICpcbiAqIEBkZWZhdWx0IC0gTm8gc25hcHNob3QgbWFuYWdlbWVudCBzZXR0aW5nc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNuYXBzaG90TWFuYWdlbWVudFByb3BlcnR5IHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFnZSBvZiBhIHNuYXBzaG90IGJlZm9yZSBpdCBjYW4gYmUgZXhwaXJlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBtYXhpbXVtIGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4U25hcHNob3RBZ2VIb3Vycz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHNuYXBzaG90cyB0byBrZWVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gbnVtYmVyXG4gICAqL1xuICByZWFkb25seSBtaW5TbmFwc2hvdHNUb0tlZXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBTbmFwc2hvdE1hbmFnZW1lbnQgbWFpbnRlbmFuY2UgYWN0aW9uIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm90IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzPzogU3RhdHVzO1xufVxuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHRvIGEgdGFibGUgb3V0c2lkZSB0aGlzIHN0YWNrXG4gKlxuICogVGhlIHRhYmxlTmFtZSwgcmVnaW9uLCBhbmQgYWNjb3VudCBjYW4gYmUgcHJvdmlkZWQgZXhwbGljaXRseVxuICogb3Igd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSB0YWJsZUFyblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoaXMgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUncyBBUk4uXG4gICAqL1xuICByZWFkb25seSB0YWJsZUFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIFMzIFRhYmxlIHdpdGggaGVscGVycy5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFRhYmxlIGV4dGVuZHMgVGFibGVCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtczN0YWJsZXMtYWxwaGEuVGFibGUnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgVGFibGUgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCB0YWJsZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYCkuXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICogQHBhcmFtIGF0dHJzIEEgYFRhYmxlQXR0cmlidXRlc2Agb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHRhYmxlIG5hbWUgYW5kIEFSTi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVRhYmxlQXR0cmlidXRlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYXR0cnM6IFRhYmxlQXR0cmlidXRlcyxcbiAgKTogSVRhYmxlIHtcbiAgICBjb25zdCB0YWJsZUFybiA9IGF0dHJzLnRhYmxlQXJuO1xuICAgIFRhYmxlLnZhbGlkYXRlVGFibGVOYW1lKGF0dHJzLnRhYmxlTmFtZSk7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBUYWJsZUJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRhYmxlTmFtZSA9IGF0dHJzLnRhYmxlTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0YWJsZUFybiA9IHRhYmxlQXJuO1xuICAgICAgcHJvdGVjdGVkIGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBFeHBvcnRzIHRoaXMgIGZyb20gdGhlIHN0YWNrLlxuICAgICAgICovXG4gICAgICBwdWJsaWMgZXhwb3J0KCkge1xuICAgICAgICByZXR1cm4gYXR0cnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkLCB7XG4gICAgICBlbnZpcm9ubWVudEZyb21Bcm46IHRhYmxlQXJuLFxuICAgICAgcGh5c2ljYWxOYW1lOiB0YWJsZUFybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC91c2VyZ3VpZGUvczMtdGFibGVzLWJ1Y2tldHMtbmFtaW5nLmh0bWxcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBOYW1lIG9mIHRoZSB0YWJsZVxuICAgKiBAdGhyb3dzIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIGlmIGFueSBuYW1pbmcgZXJyb3JzIGFyZSBkZXRlY3RlZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZVRhYmxlTmFtZSh0YWJsZU5hbWU6IHN0cmluZykge1xuICAgIGlmICh0YWJsZU5hbWUgPT0gdW5kZWZpbmVkIHx8IFRva2VuLmlzVW5yZXNvbHZlZCh0YWJsZU5hbWUpKSB7XG4gICAgICAvLyB0aGUgbmFtZSBpcyBhIGxhdGUtYm91bmQgdmFsdWUsIG5vdCBhIGRlZmluZWQgc3RyaW5nLCBzbyBza2lwIHZhbGlkYXRpb25cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBMZW5ndGggdmFsaWRhdGlvblxuICAgIGlmICh0YWJsZU5hbWUubGVuZ3RoIDwgMSB8fCB0YWJsZU5hbWUubGVuZ3RoID4gMjU1KSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgJ1RhYmxlIG5hbWUgbXVzdCBiZSBhdCBsZWFzdCAxIGFuZCBubyBtb3JlIHRoYW4gMjU1IGNoYXJhY3RlcnMnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDaGFyYWN0ZXIgc2V0IHZhbGlkYXRpb25cbiAgICBjb25zdCBpbGxlZ2FsQ2hhcnNldFJlZ0V4ID0gL1teYS16MC05X10vO1xuICAgIGNvbnN0IGFsbG93ZWRFZGdlQ2hhcnNldFJlZ0V4ID0gL1thLXowLTldLztcblxuICAgIGNvbnN0IGlsbGVnYWxDaGFyTWF0Y2ggPSB0YWJsZU5hbWUubWF0Y2goaWxsZWdhbENoYXJzZXRSZWdFeCk7XG4gICAgaWYgKGlsbGVnYWxDaGFyTWF0Y2gpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAnVGFibGUgbmFtZSBtdXN0IG9ubHkgY29udGFpbiBsb3dlcmNhc2UgY2hhcmFjdGVycywgbnVtYmVycywgYW5kIHVuZGVyc2NvcmVzIChfKScgK1xuICAgICAgICAgIGAgKG9mZnNldDogJHtpbGxlZ2FsQ2hhck1hdGNoLmluZGV4fSlgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBFZGdlIGNoYXJhY3RlciB2YWxpZGF0aW9uXG4gICAgaWYgKCFhbGxvd2VkRWRnZUNoYXJzZXRSZWdFeC50ZXN0KHRhYmxlTmFtZS5jaGFyQXQoMCkpKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgJ1RhYmxlIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgbG93ZXJjYXNlIGxldHRlciBvciBudW1iZXIgKG9mZnNldDogMCknLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKCFhbGxvd2VkRWRnZUNoYXJzZXRSZWdFeC50ZXN0KHRhYmxlTmFtZS5jaGFyQXQodGFibGVOYW1lLmxlbmd0aCAtIDEpKSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGBUYWJsZSBuYW1lIG11c3QgZW5kIHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIG9yIG51bWJlciAob2Zmc2V0OiAke1xuICAgICAgICAgIHRhYmxlTmFtZS5sZW5ndGggLSAxXG4gICAgICAgIH0pYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIFMzIHRhYmxlIG5hbWUgKHZhbHVlOiAke3RhYmxlTmFtZX0pJHtFT0x9JHtlcnJvcnMuam9pbihFT0wpfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChhcm4pIG9mIHRoaXMgdGFibGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0YWJsZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5kZXJseWluZyBDZm5UYWJsZSBMMSByZXNvdXJjZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc291cmNlOiBDZm5UYWJsZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyB0YWJsZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIGNvbnRhaW5pbmcgdGhpcyB0YWJsZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWVzcGFjZTogSU5hbWVzcGFjZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVGFibGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge30pO1xuXG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBUYWJsZS52YWxpZGF0ZVRhYmxlTmFtZShwcm9wcy50YWJsZU5hbWUpO1xuXG4gICAgdGhpcy5fcmVzb3VyY2UgPSBuZXcgQ2ZuVGFibGUodGhpcywgaWQsIHtcbiAgICAgIHRhYmxlTmFtZTogcHJvcHMudGFibGVOYW1lLFxuICAgICAgb3BlblRhYmxlRm9ybWF0OiBwcm9wcy5vcGVuVGFibGVGb3JtYXQsXG4gICAgICB0YWJsZUJ1Y2tldEFybjogcHJvcHMubmFtZXNwYWNlLnRhYmxlQnVja2V0LnRhYmxlQnVja2V0QXJuLFxuICAgICAgbmFtZXNwYWNlOiBwcm9wcy5uYW1lc3BhY2UubmFtZXNwYWNlTmFtZSxcbiAgICAgIGNvbXBhY3Rpb246IHByb3BzLmNvbXBhY3Rpb24sXG4gICAgICBpY2ViZXJnTWV0YWRhdGE6IHByb3BzLmljZWJlcmdNZXRhZGF0YSxcbiAgICAgIHNuYXBzaG90TWFuYWdlbWVudDogcHJvcHMuc25hcHNob3RNYW5hZ2VtZW50LFxuICAgICAgd2l0aG91dE1ldGFkYXRhOiBwcm9wcy53aXRob3V0TWV0YWRhdGEgPyAnWWVzJyA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRoaXMubmFtZXNwYWNlID0gcHJvcHMubmFtZXNwYWNlO1xuICAgIHRoaXMudGFibGVOYW1lID0gcHJvcHMudGFibGVOYW1lO1xuICAgIHRoaXMudGFibGVBcm4gPSB0aGlzLl9yZXNvdXJjZS5hdHRyVGFibGVBcm47XG4gICAgdGhpcy5fcmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3kpO1xuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMubmFtZXNwYWNlKTtcbiAgfVxufVxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsMkNBTTBCO0FBRTFCLDJEQUFvRTtBQUNwRSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDJDQUEyQztBQUMzQyx1Q0FBdUM7QUFDdkMsMkJBQXlCO0FBbUZ6Qjs7R0FFRztBQUNILE1BQWUsU0FBVSxTQUFRLGVBQVE7SUFrQmhDLG1CQUFtQixDQUN4QixTQUE4QjtRQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksNkJBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO2dCQUMzRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGNBQWMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2FBQzNDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ2xDO0lBRU0sU0FBUyxDQUFDLFFBQXdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixRQUFRLEVBQ1IsS0FBSyxDQUFDLGlCQUFpQixFQUN2QixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7S0FDSDtJQUVNLFVBQVUsQ0FBQyxRQUF3QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsUUFBUSxFQUNSLEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0tBQ0g7SUFFTSxjQUFjLENBQUMsUUFBd0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLFFBQVEsRUFDUixLQUFLLENBQUMsdUJBQXVCLEVBQzdCLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztLQUNIO0lBRUQ7OztPQUdHO0lBQ0ssS0FBSyxDQUNYLE9BQXVCLEVBQ3ZCLFlBQXNCLEVBQ3RCLFdBQW1CLEVBQ25CLEdBQUcsaUJBQXlDO1FBQzVDLE1BQU0sU0FBUyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLENBQUM7UUFFdEYsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztZQUMvQyxPQUFPO1lBQ1AsT0FBTyxFQUFFLFlBQVk7WUFDckIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztLQUNkO0NBQ0Y7QUFrREQ7O0dBRUc7QUFDSCxJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDekI7O09BRUc7SUFDSCxzQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsZUFBZSwrQkFBZixlQUFlLFFBSzFCO0FBa0JEOztHQUVHO0FBQ0gsSUFBWSxNQVNYO0FBVEQsV0FBWSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0gsNkJBQW1CLENBQUE7SUFDbkI7O09BRUc7SUFDSCwrQkFBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVFcsTUFBTSxzQkFBTixNQUFNLFFBU2pCO0FBbUdEOztHQUVHO0FBRUksSUFBTSxLQUFLLGFBQVgsTUFBTSxLQUFNLFNBQVEsU0FBUztJQUlsQzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQy9CLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFzQjs7Ozs7Ozs7OztRQUV0QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLE9BQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekMsTUFBTSxNQUFPLFNBQVEsU0FBUztZQUE5Qjs7Z0JBQ2tCLGNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUM1QixhQUFRLEdBQUcsUUFBUSxDQUFDO2dCQUUxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7WUFROUMsQ0FBQztZQU5DOztlQUVHO1lBQ0ksTUFBTTtnQkFDWCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRjtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUMzQixrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLFlBQVksRUFBRSxRQUFRO1NBQ3ZCLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUMvQyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzVELDJFQUEyRTtZQUMzRSxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUU1QixvQkFBb0I7UUFDcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxJQUFJLENBQ1QsK0RBQStELENBQ2hFLENBQUM7UUFDSixDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sdUJBQXVCLEdBQUcsVUFBVSxDQUFDO1FBRTNDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsSUFBSSxDQUNULGlGQUFpRjtnQkFDL0UsYUFBYSxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsQ0FDekMsQ0FBQztRQUNKLENBQUM7UUFFRCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxNQUFNLENBQUMsSUFBSSxDQUNULHFFQUFxRSxDQUN0RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxNQUFNLENBQUMsSUFBSSxDQUNULGtFQUNFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FDckIsR0FBRyxDQUNKLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSw4QkFBdUIsQ0FDL0IsaUNBQWlDLFNBQVMsSUFBSSxRQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFHLENBQUMsRUFBRSxDQUN2RSxDQUFDO1FBQ0osQ0FBQztLQUNGO0lBOEJELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFIYixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7Ozs7OzsrQ0F0SGhDLEtBQUs7Ozs7UUEySGQsbUNBQW1DO1FBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE9BQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHVCQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN0QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLGNBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxjQUFjO1lBQzFELFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWE7WUFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1lBQzVDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDM0QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUN6Qzs7QUFoSlUsc0JBQUs7OztBQUNoQixzQ0FBc0M7QUFDZiwyQkFBcUIsR0FBVyxtQ0FBbUMsQUFBOUMsQ0FBK0M7Z0JBRmhGLEtBQUs7SUFEakIsb0NBQWtCO0dBQ04sS0FBSyxDQWlKakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXNvdXJjZSxcbiAgSVJlc291cmNlLFxuICBSZW1vdmFsUG9saWN5LFxuICBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcixcbiAgVG9rZW4sXG59IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgSU5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCB7IENmblRhYmxlLCBDZm5UYWJsZVBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zM3RhYmxlcyc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHBlcm1zIGZyb20gJy4vcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgRU9MIH0gZnJvbSAnb3MnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gUzMgVGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyB0YWJsZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyB0YWJsZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50SWQgY29udGFpbmluZyB0aGlzIHRhYmxlLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIGNvbnRhaW5pbmcgdGhpcyB0YWJsZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSByZXNvdXJjZSBwb2xpY3kgZm9yIGEgcHJpbmNpcGFsIChpLmUuXG4gICAqIGFjY291bnQvcm9sZS9zZXJ2aWNlKSB0byBwZXJmb3JtIGFjdGlvbnMgb24gdGhpcyB0YWJsZS5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwb2xpY3kgc3RhdGVtZW50IG1heSBvciBtYXkgbm90IGJlIGFkZGVkIHRvIHRoZSBwb2xpY3kuXG4gICAqIEZvciBleGFtcGxlLCB3aGVuIGFuIGBJVGFibGVgIGlzIGNyZWF0ZWQgZnJvbSBhbiBleGlzdGluZyB0YWJsZSxcbiAgICogaXQncyBub3QgcG9zc2libGUgdG8gdGVsbCB3aGV0aGVyIHRoZSB0YWJsZSBhbHJlYWR5IGhhcyBhIHBvbGljeVxuICAgKiBhdHRhY2hlZCwgbGV0IGFsb25lIHRvIHJlLXVzZSB0aGF0IHBvbGljeSB0byBhZGQgbW9yZSBzdGF0ZW1lbnRzIHRvIGl0LlxuICAgKiBTbyBpdCdzIHNhZmVzdCB0byBkbyBub3RoaW5nIGluIHRoZXNlIGNhc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gc3RhdGVtZW50IHRoZSBwb2xpY3kgc3RhdGVtZW50IHRvIGJlIGFkZGVkIHRvIHRoZSB0YWJsZSdzXG4gICAqIHBvbGljeS5cbiAgICogQHJldHVybnMgbWV0YWRhdGEgYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIG1ldGhvZC4gSWYgdGhlIHBvbGljeVxuICAgKiB3YXMgbm90IGFkZGVkLCB0aGUgdmFsdWUgb2YgYHN0YXRlbWVudEFkZGVkYCB3aWxsIGJlIGBmYWxzZWAuIFlvdVxuICAgKiBzaG91bGQgYWx3YXlzIGNoZWNrIHRoaXMgdmFsdWUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG9wZXJhdGlvbiB3YXNcbiAgICogYWN0dWFsbHkgY2FycmllZCBvdXQuIE90aGVyd2lzZSwgc3ludGhlc2lzIGFuZCBkZXBsb3kgd2lsbCB0ZXJtaW5hdGVcbiAgICogc2lsZW50bHksIHdoaWNoIG1heSBiZSBjb25mdXNpbmcuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0O1xuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIGZvciB0aGlzIHRhYmxlIHRvIGFuIElBTSBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIHRoZSBwYXJlbnQgVGFibGVCdWNrZXQgb2YgdGhpcyB0YWJsZSBoYXMgZW5jcnlwdGlvbixcbiAgICogeW91IHNob3VsZCBncmFudCBrbXM6RGVjcnlwdCBwZXJtaXNzaW9uIHRvIHVzZSB0aGlzIGtleSB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsIHRvIGFsbG93IHJlYWQgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIGdyYW50UmVhZChpZGVudGl0eTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IHdyaXRlIHBlcm1pc3Npb25zIGZvciB0aGlzIHRhYmxlIHRvIGFuIElBTSBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIHRoZSBwYXJlbnQgVGFibGVCdWNrZXQgb2YgdGhpcyB0YWJsZSBoYXMgZW5jcnlwdGlvbixcbiAgICogeW91IHNob3VsZCBncmFudCBrbXM6R2VuZXJhdGVEYXRhS2V5IGFuZCBrbXM6RGVjcnlwdCBwZXJtaXNzaW9uXG4gICAqIHRvIHVzZSB0aGlzIGtleSB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsIHRvIGFsbG93IHdyaXRlIHBlcm1pc3Npb25zIHRvXG4gICAqL1xuICBncmFudFdyaXRlKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnQgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgdGFibGUgdG8gYW4gSUFNIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgdGhlIHBhcmVudCBUYWJsZUJ1Y2tldCBvZiB0aGlzIHRhYmxlIGhhcyBlbmNyeXB0aW9uLFxuICAgKiB5b3Ugc2hvdWxkIGdyYW50IGttczpHZW5lcmF0ZURhdGFLZXkgYW5kIGttczpEZWNyeXB0IHBlcm1pc3Npb25cbiAgICogdG8gdXNlIHRoaXMga2V5IHRvIHRoZSBzYW1lIHByaW5jaXBhbC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWwgdG8gYWxsb3cgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIGdyYW50UmVhZFdyaXRlKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBUYWJsZSBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIFRhYmxlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVRhYmxlIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0YWJsZS5cbiAgICpcbiAgICogSWYgYGF1dG9DcmVhdGVQb2xpY3lgIGlzIHRydWUsIGEgYFRhYmxlUG9saWN5YCB3aWxsIGJlIGNyZWF0ZWQgdXBvbiB0aGVcbiAgICogZmlyc3QgY2FsbCB0byBhZGRUb1Jlc291cmNlUG9saWN5KHMpLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRhYmxlUG9saWN5PzogQ2ZuVGFibGVQb2xpY3k7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIHRhYmxlIHJlc291cmNlIHBvbGljeSBzaG91bGQgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb25cbiAgICogdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW47XG5cbiAgcHVibGljIGFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50LFxuICApOiBpYW0uQWRkVG9SZXNvdXJjZVBvbGljeVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLnRhYmxlUG9saWN5ICYmIHRoaXMuYXV0b0NyZWF0ZVBvbGljeSkge1xuICAgICAgdGhpcy50YWJsZVBvbGljeSA9IG5ldyBDZm5UYWJsZVBvbGljeSh0aGlzLCAnRGVmYXVsdFBvbGljeScsIHtcbiAgICAgICAgdGFibGVBcm46IHRoaXMudGFibGVBcm4sXG4gICAgICAgIHJlc291cmNlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHt9KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRhYmxlUG9saWN5KSB7XG4gICAgICB0aGlzLnRhYmxlUG9saWN5LnJlc291cmNlUG9saWN5LmFkZFN0YXRlbWVudHMoc3RhdGVtZW50KTtcbiAgICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnRhYmxlUG9saWN5IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc3RhdGVtZW50QWRkZWQ6IGZhbHNlIH07XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRSZWFkKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSkge1xuICAgIHJldHVybiB0aGlzLmdyYW50KFxuICAgICAgaWRlbnRpdHksXG4gICAgICBwZXJtcy5UQUJMRV9SRUFEX0FDQ0VTUyxcbiAgICAgIHRoaXMudGFibGVBcm4sXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudFdyaXRlKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSkge1xuICAgIHJldHVybiB0aGlzLmdyYW50KFxuICAgICAgaWRlbnRpdHksXG4gICAgICBwZXJtcy5UQUJMRV9XUklURV9BQ0NFU1MsXG4gICAgICB0aGlzLnRhYmxlQXJuLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHk6IGlhbS5JR3JhbnRhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnQoXG4gICAgICBpZGVudGl0eSxcbiAgICAgIHBlcm1zLlRBQkxFX1JFQURfV1JJVEVfQUNDRVNTLFxuICAgICAgdGhpcy50YWJsZUFybixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyB0aGUgZ2l2ZW4gczN0YWJsZXMgcGVybWlzc2lvbnMgdG8gdGhlIHByb3ZpZGVkIHByaW5jaXBhbFxuICAgKiBAcmV0dXJucyBHcmFudCBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgZ3JhbnQoXG4gICAgZ3JhbnRlZTogaWFtLklHcmFudGFibGUsXG4gICAgdGFibGVBY3Rpb25zOiBzdHJpbmdbXSxcbiAgICByZXNvdXJjZUFybjogc3RyaW5nLFxuICAgIC4uLm90aGVyUmVzb3VyY2VBcm5zOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdKSB7XG4gICAgY29uc3QgcmVzb3VyY2VzID0gW3Jlc291cmNlQXJuLCAuLi5vdGhlclJlc291cmNlQXJuc10uZmlsdGVyKGFybiA9PiBhcm4gIT0gdW5kZWZpbmVkKTtcblxuICAgIGNvbnN0IGdyYW50ID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsT3JSZXNvdXJjZSh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogdGFibGVBY3Rpb25zLFxuICAgICAgcmVzb3VyY2VBcm5zOiByZXNvdXJjZXMsXG4gICAgICByZXNvdXJjZTogdGhpcyxcbiAgICB9KTtcblxuICAgIHJldHVybiBncmFudDtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgbmV3IFMzIFRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGlzIHRhYmxlLCB1bmlxdWUgd2l0aGluIHRoZSBuYW1lc3BhY2VcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSB1bmRlciB3aGljaCB0aGlzIHRhYmxlIGlzIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogSU5hbWVzcGFjZTtcbiAgLyoqXG4gICAqIEZvcm1hdCBvZiB0aGlzIHRhYmxlLiBDdXJyZW50bHksIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyBPcGVuVGFibGVGb3JtYXQuSUNFQkVSRy5cbiAgICovXG4gIHJlYWRvbmx5IG9wZW5UYWJsZUZvcm1hdDogT3BlblRhYmxlRm9ybWF0O1xuICAvKipcbiAgICogU2V0dGluZ3MgZ292ZXJuaW5nIHRoZSBDb21wYWN0aW9uIG1haW50ZW5hbmNlIGFjdGlvbi5cbiAgICogQGRlZmF1bHQgQW1hem9uIFMzIHNlbGVjdHMgdGhlIGJlc3QgY29tcGFjdGlvbiBzdHJhdGVneSBiYXNlZCBvbiB5b3VyIHRhYmxlIHNvcnQgb3JkZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC91c2VyZ3VpZGUvczMtdGFibGVzLW1haW50ZW5hbmNlLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhY3Rpb24/OiBDb21wYWN0aW9uUHJvcGVydHk7XG4gIC8qKlxuICAgKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBtZXRhZGF0YSBmb3IgYW4gSWNlYmVyZyB0YWJsZS5cbiAgICogQGRlZmF1bHQgdGFibGUgaXMgY3JlYXRlZCB3aXRob3V0IGFueSBtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgaWNlYmVyZ01ldGFkYXRhPzogSWNlYmVyZ01ldGFkYXRhUHJvcGVydHk7XG4gIC8qKlxuICAgKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzbmFwc2hvdCBtYW5hZ2VtZW50IHNldHRpbmdzIGZvciBhbiBJY2ViZXJnIHRhYmxlLlxuICAgKiBAZGVmYXVsdCBlbmFibGVkOiBNaW5pbXVtU25hcHNob3RzIGlzIDEgYnkgZGVmYXVsdCBhbmQgTWF4aW11bVNuYXBzaG90QWdlIGlzIDEyMCBob3VycyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc25hcHNob3RNYW5hZ2VtZW50PzogU25hcHNob3RNYW5hZ2VtZW50UHJvcGVydHk7XG4gIC8qKlxuICAgKiBDb250cm9scyB3aGF0IGhhcHBlbnMgdG8gdGhpcyB0YWJsZSBpdCBpdCBzdG9wZWQgYmVpbmcgbWFuYWdlZCBieSBjbG91ZGZvcm1hdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgUkVUQUlOXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbiAgLyoqXG4gICAqIElmIHRydWUsIGluZGljYXRlcyB0aGF0IHlvdSBkb24ndCB3YW50IHRvIHNwZWNpZnkgYSBzY2hlbWEgZm9yIHRoZSB0YWJsZS5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBtdXR1YWxseSBleGNsdXNpdmUgdG8gJ0ljZWJlcmdNZXRhZGF0YScuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3aXRob3V0TWV0YWRhdGE/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN1cHBvcnRlZCBvcGVuIHRhYmxlIGZvcm1hdHMuXG4gKi9cbmV4cG9ydCBlbnVtIE9wZW5UYWJsZUZvcm1hdCB7XG4gIC8qKlxuICAgKiBBcGFjaGUgSWNlYmVyZyB0YWJsZSBmb3JtYXQuXG4gICAqL1xuICBJQ0VCRVJHID0gJ0lDRUJFUkcnLFxufVxuXG4vKipcbiAqIFNldHRpbmdzIGdvdmVybmluZyB0aGUgQ29tcGFjdGlvbiBtYWludGVuYW5jZSBhY3Rpb24uXG4gKlxuICogQGRlZmF1bHQgLSBObyBjb21wYWN0aW9uIHNldHRpbmdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFjdGlvblByb3BlcnR5IHtcbiAgLyoqXG4gICAqIFN0YXR1cyBvZiB0aGUgY29tcGFjdGlvbiBtYWludGVuYW5jZSBhY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6IFN0YXR1cztcbiAgLyoqXG4gICAqIFRhcmdldCBmaWxlIHNpemUgaW4gbWVnYWJ5dGVzIGZvciBjb21wYWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0RmlsZVNpemVNYjogbnVtYmVyO1xufVxuXG4vKipcbiAqIFN0YXR1cyB2YWx1ZXMgZm9yIG1haW50ZW5hbmNlIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIG1haW50ZW5hbmNlIGFjdGlvbi5cbiAgICovXG4gIEVOQUJMRUQgPSAnZW5hYmxlZCcsXG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBtYWludGVuYW5jZSBhY3Rpb24uXG4gICAqL1xuICBESVNBQkxFRCA9ICdkaXNhYmxlZCcsXG59XG5cbi8qKlxuICogQ29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgbWV0YWRhdGEgZm9yIGFuIEljZWJlcmcgdGFibGUuXG4gKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtczN0YWJsZXMtdGFibGUtaWNlYmVyZ21ldGFkYXRhLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJY2ViZXJnTWV0YWRhdGFQcm9wZXJ0eSB7XG4gIC8qKlxuICAgKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzY2hlbWEgZm9yIGFuIEljZWJlcmcgdGFibGUuXG4gICAqXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zM3RhYmxlcy10YWJsZS1pY2ViZXJnbWV0YWRhdGEuaHRtbCNjZm4tczN0YWJsZXMtdGFibGUtaWNlYmVyZ21ldGFkYXRhLWljZWJlcmdzY2hlbWFcbiAgICovXG4gIHJlYWRvbmx5IGljZWJlcmdTY2hlbWE6IEljZWJlcmdTY2hlbWFQcm9wZXJ0eTtcbn1cblxuLyoqXG4gKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzY2hlbWEgZm9yIGFuIEljZWJlcmcgdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWNlYmVyZ1NjaGVtYVByb3BlcnR5IHtcbiAgLyoqXG4gICAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlIHNjaGVtYSBmb3IgYW4gSWNlYmVyZyB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYUZpZWxkTGlzdDogU2NoZW1hRmllbGRQcm9wZXJ0eVtdO1xufVxuXG4vKipcbiAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgYSBzY2hlbWEgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRmllbGRQcm9wZXJ0eSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB2YWx1ZSB0aGF0IHNwZWNpZmllcyB3aGV0aGVyIHZhbHVlcyBhcmUgcmVxdWlyZWQgZm9yIGVhY2ggcm93IGluIHRoaXMgZmllbGQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoaXMgaXMgYGZhbHNlYCBhbmQgbnVsbCB2YWx1ZXMgYXJlIGFsbG93ZWQgaW4gdGhlIGZpZWxkLiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIGZpZWxkIGRvZXMgbm90IGFsbG93IG51bGwgdmFsdWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZmllbGQgdHlwZS5cbiAgICpcbiAgICogUzMgVGFibGVzIHN1cHBvcnRzIGFsbCBBcGFjaGUgSWNlYmVyZyBwcmltaXRpdmUgdHlwZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIFtBcGFjaGUgSWNlYmVyZyBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaHR0cHM6Ly9pY2ViZXJnLmFwYWNoZS5vcmcvc3BlYy8jcHJpbWl0aXZlLXR5cGVzKS5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBzbmFwc2hvdCBtYW5hZ2VtZW50IHNldHRpbmdzIGZvciBhbiBJY2ViZXJnIHRhYmxlLlxuICpcbiAqIEEgc25hcHNob3QgaXMgZXhwaXJlZCB3aGVuIGl0IGV4Y2VlZHMgTWluU25hcHNob3RzVG9LZWVwIGFuZCBNYXhTbmFwc2hvdEFnZUhvdXJzLlxuICpcbiAqIEBkZWZhdWx0IC0gTm8gc25hcHNob3QgbWFuYWdlbWVudCBzZXR0aW5nc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNuYXBzaG90TWFuYWdlbWVudFByb3BlcnR5IHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFnZSBvZiBhIHNuYXBzaG90IGJlZm9yZSBpdCBjYW4gYmUgZXhwaXJlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBtYXhpbXVtIGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4U25hcHNob3RBZ2VIb3Vycz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHNuYXBzaG90cyB0byBrZWVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gbnVtYmVyXG4gICAqL1xuICByZWFkb25seSBtaW5TbmFwc2hvdHNUb0tlZXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBTbmFwc2hvdE1hbmFnZW1lbnQgbWFpbnRlbmFuY2UgYWN0aW9uIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm90IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzPzogU3RhdHVzO1xufVxuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHRvIGEgdGFibGUgb3V0c2lkZSB0aGlzIHN0YWNrXG4gKlxuICogVGhlIHRhYmxlTmFtZSwgcmVnaW9uLCBhbmQgYWNjb3VudCBjYW4gYmUgcHJvdmlkZWQgZXhwbGljaXRseVxuICogb3Igd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSB0YWJsZUFyblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoaXMgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUncyBBUk4uXG4gICAqL1xuICByZWFkb25seSB0YWJsZUFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIFMzIFRhYmxlIHdpdGggaGVscGVycy5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFRhYmxlIGV4dGVuZHMgVGFibGVCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtczN0YWJsZXMtYWxwaGEuVGFibGUnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgVGFibGUgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCB0YWJsZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYCkuXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICogQHBhcmFtIGF0dHJzIEEgYFRhYmxlQXR0cmlidXRlc2Agb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHRhYmxlIG5hbWUgYW5kIEFSTi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVRhYmxlQXR0cmlidXRlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYXR0cnM6IFRhYmxlQXR0cmlidXRlcyxcbiAgKTogSVRhYmxlIHtcbiAgICBjb25zdCB0YWJsZUFybiA9IGF0dHJzLnRhYmxlQXJuO1xuICAgIFRhYmxlLnZhbGlkYXRlVGFibGVOYW1lKGF0dHJzLnRhYmxlTmFtZSk7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBUYWJsZUJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRhYmxlTmFtZSA9IGF0dHJzLnRhYmxlTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0YWJsZUFybiA9IHRhYmxlQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRhYmxlUG9saWN5PzogQ2ZuVGFibGVQb2xpY3k7XG4gICAgICBwcm90ZWN0ZWQgYXV0b0NyZWF0ZVBvbGljeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgICAvKipcbiAgICAgICAqIEV4cG9ydHMgdGhpcyAgZnJvbSB0aGUgc3RhY2suXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyBleHBvcnQoKSB7XG4gICAgICAgIHJldHVybiBhdHRycztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQsIHtcbiAgICAgIGVudmlyb25tZW50RnJvbUFybjogdGFibGVBcm4sXG4gICAgICBwaHlzaWNhbE5hbWU6IHRhYmxlQXJuLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L3VzZXJndWlkZS9zMy10YWJsZXMtYnVja2V0cy1uYW1pbmcuaHRtbFxuICAgKiBAcGFyYW0gdGFibGVOYW1lIE5hbWUgb2YgdGhlIHRhYmxlXG4gICAqIEB0aHJvd3MgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgaWYgYW55IG5hbWluZyBlcnJvcnMgYXJlIGRldGVjdGVkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlVGFibGVOYW1lKHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKHRhYmxlTmFtZSA9PSB1bmRlZmluZWQgfHwgVG9rZW4uaXNVbnJlc29sdmVkKHRhYmxlTmFtZSkpIHtcbiAgICAgIC8vIHRoZSBuYW1lIGlzIGEgbGF0ZS1ib3VuZCB2YWx1ZSwgbm90IGEgZGVmaW5lZCBzdHJpbmcsIHNvIHNraXAgdmFsaWRhdGlvblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIExlbmd0aCB2YWxpZGF0aW9uXG4gICAgaWYgKHRhYmxlTmFtZS5sZW5ndGggPCAxIHx8IHRhYmxlTmFtZS5sZW5ndGggPiAyNTUpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAnVGFibGUgbmFtZSBtdXN0IGJlIGF0IGxlYXN0IDEgYW5kIG5vIG1vcmUgdGhhbiAyNTUgY2hhcmFjdGVycycsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIENoYXJhY3RlciBzZXQgdmFsaWRhdGlvblxuICAgIGNvbnN0IGlsbGVnYWxDaGFyc2V0UmVnRXggPSAvW15hLXowLTlfXS87XG4gICAgY29uc3QgYWxsb3dlZEVkZ2VDaGFyc2V0UmVnRXggPSAvW2EtejAtOV0vO1xuXG4gICAgY29uc3QgaWxsZWdhbENoYXJNYXRjaCA9IHRhYmxlTmFtZS5tYXRjaChpbGxlZ2FsQ2hhcnNldFJlZ0V4KTtcbiAgICBpZiAoaWxsZWdhbENoYXJNYXRjaCkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICdUYWJsZSBuYW1lIG11c3Qgb25seSBjb250YWluIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLCBudW1iZXJzLCBhbmQgdW5kZXJzY29yZXMgKF8pJyArXG4gICAgICAgICAgYCAob2Zmc2V0OiAke2lsbGVnYWxDaGFyTWF0Y2guaW5kZXh9KWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEVkZ2UgY2hhcmFjdGVyIHZhbGlkYXRpb25cbiAgICBpZiAoIWFsbG93ZWRFZGdlQ2hhcnNldFJlZ0V4LnRlc3QodGFibGVOYW1lLmNoYXJBdCgwKSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAnVGFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIG9yIG51bWJlciAob2Zmc2V0OiAwKScsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWFsbG93ZWRFZGdlQ2hhcnNldFJlZ0V4LnRlc3QodGFibGVOYW1lLmNoYXJBdCh0YWJsZU5hbWUubGVuZ3RoIC0gMSkpKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYFRhYmxlIG5hbWUgbXVzdCBlbmQgd2l0aCBhIGxvd2VyY2FzZSBsZXR0ZXIgb3IgbnVtYmVyIChvZmZzZXQ6ICR7XG4gICAgICAgICAgdGFibGVOYW1lLmxlbmd0aCAtIDFcbiAgICAgICAgfSlgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgUzMgdGFibGUgbmFtZSAodmFsdWU6ICR7dGFibGVOYW1lfSkke0VPTH0ke2Vycm9ycy5qb2luKEVPTCl9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgQW1hem9uIFJlc291cmNlIE5hbWUgKGFybikgb2YgdGhpcyB0YWJsZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhYmxlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmRlcmx5aW5nIENmblRhYmxlIEwxIHJlc291cmNlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzb3VyY2U6IENmblRhYmxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIHRhYmxlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgY29udGFpbmluZyB0aGlzIHRhYmxlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlOiBJTmFtZXNwYWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgcG9saWN5IGZvciB0aGlzIHRhYmxlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhYmxlUG9saWN5PzogQ2ZuVGFibGVQb2xpY3k7XG5cbiAgcHJvdGVjdGVkIGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUYWJsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7fSk7XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIFRhYmxlLnZhbGlkYXRlVGFibGVOYW1lKHByb3BzLnRhYmxlTmFtZSk7XG5cbiAgICB0aGlzLl9yZXNvdXJjZSA9IG5ldyBDZm5UYWJsZSh0aGlzLCBpZCwge1xuICAgICAgdGFibGVOYW1lOiBwcm9wcy50YWJsZU5hbWUsXG4gICAgICBvcGVuVGFibGVGb3JtYXQ6IHByb3BzLm9wZW5UYWJsZUZvcm1hdCxcbiAgICAgIHRhYmxlQnVja2V0QXJuOiBwcm9wcy5uYW1lc3BhY2UudGFibGVCdWNrZXQudGFibGVCdWNrZXRBcm4sXG4gICAgICBuYW1lc3BhY2U6IHByb3BzLm5hbWVzcGFjZS5uYW1lc3BhY2VOYW1lLFxuICAgICAgY29tcGFjdGlvbjogcHJvcHMuY29tcGFjdGlvbixcbiAgICAgIGljZWJlcmdNZXRhZGF0YTogcHJvcHMuaWNlYmVyZ01ldGFkYXRhLFxuICAgICAgc25hcHNob3RNYW5hZ2VtZW50OiBwcm9wcy5zbmFwc2hvdE1hbmFnZW1lbnQsXG4gICAgICB3aXRob3V0TWV0YWRhdGE6IHByb3BzLndpdGhvdXRNZXRhZGF0YSA/ICdZZXMnIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lc3BhY2UgPSBwcm9wcy5uYW1lc3BhY2U7XG4gICAgdGhpcy50YWJsZU5hbWUgPSBwcm9wcy50YWJsZU5hbWU7XG4gICAgdGhpcy50YWJsZUFybiA9IHRoaXMuX3Jlc291cmNlLmF0dHJUYWJsZUFybjtcbiAgICB0aGlzLl9yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSk7XG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5uYW1lc3BhY2UpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/aws-s3tables-alpha",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.213.0-alpha.0",
|
|
5
5
|
"description": "CDK Constructs for S3 Tables",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -76,17 +76,17 @@
|
|
|
76
76
|
},
|
|
77
77
|
"license": "Apache-2.0",
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"aws-cdk-lib": "2.
|
|
80
|
-
"@aws-cdk/cdk-build-tools": "2.
|
|
81
|
-
"@aws-cdk/pkglint": "2.
|
|
79
|
+
"aws-cdk-lib": "2.213.0",
|
|
80
|
+
"@aws-cdk/cdk-build-tools": "2.213.0-alpha.0",
|
|
81
|
+
"@aws-cdk/pkglint": "2.213.0-alpha.0",
|
|
82
82
|
"@types/jest": "^29.5.14",
|
|
83
83
|
"constructs": "^10.0.0",
|
|
84
84
|
"jest": "^29.7.0",
|
|
85
|
-
"@aws-cdk/integ-tests-alpha": "2.
|
|
85
|
+
"@aws-cdk/integ-tests-alpha": "2.213.0-alpha.0"
|
|
86
86
|
},
|
|
87
87
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"aws-cdk-lib": "^2.
|
|
89
|
+
"aws-cdk-lib": "^2.213.0",
|
|
90
90
|
"constructs": "^10.0.0"
|
|
91
91
|
},
|
|
92
92
|
"separate-module": false,
|
|
@@ -12,8 +12,14 @@ class Fixture extends Stack {
|
|
|
12
12
|
});
|
|
13
13
|
const namespace = new Namespace(scope, 'ExampleNamespace', {
|
|
14
14
|
tableBucket: tableBucket,
|
|
15
|
-
namespaceName: '
|
|
15
|
+
namespaceName: 'example_namespace_1',
|
|
16
16
|
});
|
|
17
|
+
const table = new Table(scope, 'ExampleTable', {
|
|
18
|
+
tableName: 'example_table',
|
|
19
|
+
namespace,
|
|
20
|
+
openTableFormat: OpenTableFormat.ICEBERG,
|
|
21
|
+
});
|
|
22
|
+
|
|
17
23
|
const stack = this;
|
|
18
24
|
/// here
|
|
19
25
|
}
|