@aws-cdk/aws-s3tables-alpha 2.243.0-alpha.0 → 2.245.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 +1120 -249
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +77 -1
- package/README.md +102 -0
- package/lib/namespace.js +3 -3
- package/lib/table-bucket-policy.js +1 -1
- package/lib/table-bucket.d.ts +28 -2
- package/lib/table-bucket.js +27 -7
- package/lib/table-policy.js +1 -1
- package/lib/table.d.ts +228 -2
- package/lib/table.js +186 -5
- package/lib/util.js +3 -3
- package/package.json +6 -6
- package/rosetta/default.ts-fixture +2 -2
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -14,6 +14,8 @@ function _aws_cdk_aws_s3tables_alpha_UnreferencedFileRemoval(p) {
|
|
|
14
14
|
}
|
|
15
15
|
function _aws_cdk_aws_s3tables_alpha_UnreferencedFileRemovalStatus(p) {
|
|
16
16
|
}
|
|
17
|
+
function _aws_cdk_aws_s3tables_alpha_RequestMetricsStatus(p) {
|
|
18
|
+
}
|
|
17
19
|
function _aws_cdk_aws_s3tables_alpha_TableBucketEncryption(p) {
|
|
18
20
|
}
|
|
19
21
|
function _aws_cdk_aws_s3tables_alpha_TableBucketProps(p) {
|
|
@@ -23,6 +25,8 @@ function _aws_cdk_aws_s3tables_alpha_TableBucketProps(p) {
|
|
|
23
25
|
try {
|
|
24
26
|
if (!visitedObjects.has(p.encryption))
|
|
25
27
|
_aws_cdk_aws_s3tables_alpha_TableBucketEncryption(p.encryption);
|
|
28
|
+
if (!visitedObjects.has(p.requestMetricsStatus))
|
|
29
|
+
_aws_cdk_aws_s3tables_alpha_RequestMetricsStatus(p.requestMetricsStatus);
|
|
26
30
|
if (!visitedObjects.has(p.unreferencedFileRemoval))
|
|
27
31
|
_aws_cdk_aws_s3tables_alpha_UnreferencedFileRemoval(p.unreferencedFileRemoval);
|
|
28
32
|
}
|
|
@@ -114,6 +118,70 @@ function _aws_cdk_aws_s3tables_alpha_CompactionProperty(p) {
|
|
|
114
118
|
}
|
|
115
119
|
function _aws_cdk_aws_s3tables_alpha_Status(p) {
|
|
116
120
|
}
|
|
121
|
+
function _aws_cdk_aws_s3tables_alpha_IcebergTransform(p) {
|
|
122
|
+
}
|
|
123
|
+
function _aws_cdk_aws_s3tables_alpha_SortDirection(p) {
|
|
124
|
+
}
|
|
125
|
+
function _aws_cdk_aws_s3tables_alpha_NullOrder(p) {
|
|
126
|
+
}
|
|
127
|
+
function _aws_cdk_aws_s3tables_alpha_IcebergPartitionField(p) {
|
|
128
|
+
if (p == null)
|
|
129
|
+
return;
|
|
130
|
+
visitedObjects.add(p);
|
|
131
|
+
try {
|
|
132
|
+
if (!visitedObjects.has(p.transform))
|
|
133
|
+
_aws_cdk_aws_s3tables_alpha_IcebergTransform(p.transform);
|
|
134
|
+
}
|
|
135
|
+
finally {
|
|
136
|
+
visitedObjects.delete(p);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function _aws_cdk_aws_s3tables_alpha_IcebergPartitionSpec(p) {
|
|
140
|
+
if (p == null)
|
|
141
|
+
return;
|
|
142
|
+
visitedObjects.add(p);
|
|
143
|
+
try {
|
|
144
|
+
if (p.fields != null)
|
|
145
|
+
for (const o of p.fields)
|
|
146
|
+
if (!visitedObjects.has(o))
|
|
147
|
+
_aws_cdk_aws_s3tables_alpha_IcebergPartitionField(o);
|
|
148
|
+
}
|
|
149
|
+
finally {
|
|
150
|
+
visitedObjects.delete(p);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function _aws_cdk_aws_s3tables_alpha_IcebergSortField(p) {
|
|
154
|
+
if (p == null)
|
|
155
|
+
return;
|
|
156
|
+
visitedObjects.add(p);
|
|
157
|
+
try {
|
|
158
|
+
if (!visitedObjects.has(p.direction))
|
|
159
|
+
_aws_cdk_aws_s3tables_alpha_SortDirection(p.direction);
|
|
160
|
+
if (!visitedObjects.has(p.nullOrder))
|
|
161
|
+
_aws_cdk_aws_s3tables_alpha_NullOrder(p.nullOrder);
|
|
162
|
+
if (!visitedObjects.has(p.transform))
|
|
163
|
+
_aws_cdk_aws_s3tables_alpha_IcebergTransform(p.transform);
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
visitedObjects.delete(p);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function _aws_cdk_aws_s3tables_alpha_IcebergSortOrder(p) {
|
|
170
|
+
if (p == null)
|
|
171
|
+
return;
|
|
172
|
+
visitedObjects.add(p);
|
|
173
|
+
try {
|
|
174
|
+
if (p.fields != null)
|
|
175
|
+
for (const o of p.fields)
|
|
176
|
+
if (!visitedObjects.has(o))
|
|
177
|
+
_aws_cdk_aws_s3tables_alpha_IcebergSortField(o);
|
|
178
|
+
}
|
|
179
|
+
finally {
|
|
180
|
+
visitedObjects.delete(p);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function _aws_cdk_aws_s3tables_alpha_TablePropertyEntry(p) {
|
|
184
|
+
}
|
|
117
185
|
function _aws_cdk_aws_s3tables_alpha_IcebergMetadataProperty(p) {
|
|
118
186
|
if (p == null)
|
|
119
187
|
return;
|
|
@@ -121,6 +189,14 @@ function _aws_cdk_aws_s3tables_alpha_IcebergMetadataProperty(p) {
|
|
|
121
189
|
try {
|
|
122
190
|
if (!visitedObjects.has(p.icebergSchema))
|
|
123
191
|
_aws_cdk_aws_s3tables_alpha_IcebergSchemaProperty(p.icebergSchema);
|
|
192
|
+
if (!visitedObjects.has(p.icebergPartitionSpec))
|
|
193
|
+
_aws_cdk_aws_s3tables_alpha_IcebergPartitionSpec(p.icebergPartitionSpec);
|
|
194
|
+
if (!visitedObjects.has(p.icebergSortOrder))
|
|
195
|
+
_aws_cdk_aws_s3tables_alpha_IcebergSortOrder(p.icebergSortOrder);
|
|
196
|
+
if (p.tableProperties != null)
|
|
197
|
+
for (const o of p.tableProperties)
|
|
198
|
+
if (!visitedObjects.has(o))
|
|
199
|
+
_aws_cdk_aws_s3tables_alpha_TablePropertyEntry(o);
|
|
124
200
|
}
|
|
125
201
|
finally {
|
|
126
202
|
visitedObjects.delete(p);
|
|
@@ -208,4 +284,4 @@ class DeprecationError extends Error {
|
|
|
208
284
|
});
|
|
209
285
|
}
|
|
210
286
|
}
|
|
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 };
|
|
287
|
+
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_RequestMetricsStatus, _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_IcebergTransform, _aws_cdk_aws_s3tables_alpha_SortDirection, _aws_cdk_aws_s3tables_alpha_NullOrder, _aws_cdk_aws_s3tables_alpha_IcebergPartitionField, _aws_cdk_aws_s3tables_alpha_IcebergPartitionSpec, _aws_cdk_aws_s3tables_alpha_IcebergSortField, _aws_cdk_aws_s3tables_alpha_IcebergSortOrder, _aws_cdk_aws_s3tables_alpha_TablePropertyEntry, _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
|
@@ -94,6 +94,82 @@ const sampleTableWithSchema = new Table(scope, 'ExampleSchemaTable', {
|
|
|
94
94
|
|
|
95
95
|
Learn more about table buckets maintenance operations and default behavior from the [S3 Tables User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html)
|
|
96
96
|
|
|
97
|
+
### Advanced Iceberg Table Configuration
|
|
98
|
+
|
|
99
|
+
You can configure partition specifications, sort orders, and table properties for optimized query performance.
|
|
100
|
+
|
|
101
|
+
The simplest way to add partitioning to your table:
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
// Build a table with partition spec (minimal configuration)
|
|
105
|
+
const partitionedTable = new Table(scope, 'PartitionedTable', {
|
|
106
|
+
tableName: 'partitioned_table',
|
|
107
|
+
namespace: namespace,
|
|
108
|
+
openTableFormat: OpenTableFormat.ICEBERG,
|
|
109
|
+
icebergMetadata: {
|
|
110
|
+
icebergSchema: {
|
|
111
|
+
schemaFieldList: [
|
|
112
|
+
{ name: 'event_date', type: 'date', required: true },
|
|
113
|
+
{ name: 'event_name', type: 'string' },
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
icebergPartitionSpec: {
|
|
117
|
+
fields: [
|
|
118
|
+
{
|
|
119
|
+
sourceId: 1,
|
|
120
|
+
transform: IcebergTransform.IDENTITY,
|
|
121
|
+
name: 'date_partition',
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
For full control, you can also configure sort orders and table properties:
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
// Build a table with partition spec, sort order, and table properties
|
|
133
|
+
const advancedTable = new Table(scope, 'AdvancedTable', {
|
|
134
|
+
tableName: 'advanced_table',
|
|
135
|
+
namespace: namespace,
|
|
136
|
+
openTableFormat: OpenTableFormat.ICEBERG,
|
|
137
|
+
icebergMetadata: {
|
|
138
|
+
icebergSchema: {
|
|
139
|
+
schemaFieldList: [
|
|
140
|
+
{ id: 1, name: 'event_date', type: 'date', required: true },
|
|
141
|
+
{ id: 2, name: 'user_id', type: 'string', required: true },
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
icebergPartitionSpec: {
|
|
145
|
+
specId: 0,
|
|
146
|
+
fields: [
|
|
147
|
+
{
|
|
148
|
+
sourceId: 1,
|
|
149
|
+
transform: IcebergTransform.IDENTITY,
|
|
150
|
+
name: 'date_partition',
|
|
151
|
+
fieldId: 1000,
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
icebergSortOrder: {
|
|
156
|
+
orderId: 1,
|
|
157
|
+
fields: [
|
|
158
|
+
{
|
|
159
|
+
sourceId: 1,
|
|
160
|
+
transform: IcebergTransform.IDENTITY,
|
|
161
|
+
direction: SortDirection.ASC,
|
|
162
|
+
nullOrder: NullOrder.NULLS_LAST,
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
tableProperties: [
|
|
167
|
+
{ key: 'write.format.default', value: 'parquet' },
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
```
|
|
172
|
+
|
|
97
173
|
### Controlling Table Bucket Permissions
|
|
98
174
|
|
|
99
175
|
```ts
|
|
@@ -159,6 +235,20 @@ const encryptedBucketAuto = new TableBucket(scope, 'EncryptedTableBucketAuto', {
|
|
|
159
235
|
});
|
|
160
236
|
```
|
|
161
237
|
|
|
238
|
+
### Enabling CloudWatch Request Metrics
|
|
239
|
+
|
|
240
|
+
You can enable CloudWatch request metrics for your table bucket. Request metrics provide insight into Amazon S3 Tables requests, helping you monitor and optimize your table bucket usage.
|
|
241
|
+
|
|
242
|
+
For more information about S3 Tables CloudWatch metrics, see the [S3 Tables CloudWatch Metrics documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-cloudwatch-metrics.html).
|
|
243
|
+
|
|
244
|
+
```ts
|
|
245
|
+
// Enable CloudWatch request metrics for the table bucket
|
|
246
|
+
const tableBucketWithMetrics = new TableBucket(scope, 'TableBucketWithMetrics', {
|
|
247
|
+
tableBucketName: 'metrics-enabled-bucket',
|
|
248
|
+
requestMetricsStatus: RequestMetricsStatus.ENABLED,
|
|
249
|
+
});
|
|
250
|
+
```
|
|
251
|
+
|
|
162
252
|
### Controlling Table Permissions
|
|
163
253
|
|
|
164
254
|
```ts
|
|
@@ -187,6 +277,18 @@ const permissions = new iam.PolicyStatement({
|
|
|
187
277
|
table.addToResourcePolicy(permissions);
|
|
188
278
|
```
|
|
189
279
|
|
|
280
|
+
### Tagging
|
|
281
|
+
|
|
282
|
+
Both `TableBucket` and `Table` support tagging through CDK's standard tagging mechanism:
|
|
283
|
+
|
|
284
|
+
```ts
|
|
285
|
+
Tags.of(tableBucket).add('Environment', 'Production');
|
|
286
|
+
Tags.of(table).add('Team', 'DataEngineering');
|
|
287
|
+
|
|
288
|
+
// Stack-level tags propagate to all resources
|
|
289
|
+
Tags.of(stack).add('Project', 'DataLake');
|
|
290
|
+
```
|
|
291
|
+
|
|
190
292
|
## Coming Soon
|
|
191
293
|
|
|
192
294
|
L2 Construct support for:
|
package/lib/namespace.js
CHANGED
|
@@ -61,7 +61,7 @@ let Namespace = (() => {
|
|
|
61
61
|
Namespace = _classThis = _classDescriptor.value;
|
|
62
62
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
63
63
|
}
|
|
64
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-s3tables-alpha.Namespace", version: "2.
|
|
64
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-s3tables-alpha.Namespace", version: "2.245.0-alpha.0" };
|
|
65
65
|
/** Uniquely identifies this class. */
|
|
66
66
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.Namespace';
|
|
67
67
|
/**
|
|
@@ -117,7 +117,7 @@ let Namespace = (() => {
|
|
|
117
117
|
errors.push('Namespace name must not start with reserved prefix \'aws\'');
|
|
118
118
|
}
|
|
119
119
|
if (errors.length > 0) {
|
|
120
|
-
throw new core_1.UnscopedValidationError(`Invalid S3 Tables namespace name (value: ${namespaceName})${os_1.EOL}${errors.join(os_1.EOL)}`);
|
|
120
|
+
throw new core_1.UnscopedValidationError('InvalidNamespaceName', `Invalid S3 Tables namespace name (value: ${namespaceName})${os_1.EOL}${errors.join(os_1.EOL)}`);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
@@ -163,4 +163,4 @@ let Namespace = (() => {
|
|
|
163
163
|
return Namespace = _classThis;
|
|
164
164
|
})();
|
|
165
165
|
exports.Namespace = Namespace;
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmFtZXNwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJCQUF5QjtBQUN6QiwyREFBd0Q7QUFFeEQsMkNBQTRFO0FBQzVFLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUF1RDFFOzs7O0dBSUc7SUFFVSxTQUFTOzRCQURyQixvQ0FBa0I7Ozs7c0JBQ1ksZUFBUTt5QkFBaEIsU0FBUSxXQUFROzs7O1lBQXZDLDZLQTJHQzs7Ozs7UUExR0Msc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx1Q0FBdUMsQ0FBQztRQUUvRjs7V0FFRztRQUNJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7Ozs7Ozs7OztZQUM1RixNQUFNLE1BQU8sU0FBUSxlQUFRO2dCQUNYLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNwQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUNqRDtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBQ0Q7Ozs7V0FJRztRQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFxQjtZQUN2RCxJQUFJLGFBQWEsSUFBSSxTQUFTLElBQUksWUFBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNwRSwyRUFBMkU7Z0JBQzNFLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1lBRTVCLG9CQUFvQjtZQUNwQixJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQzNELE1BQU0sQ0FBQyxJQUFJLENBQ1QsbUVBQW1FLENBQ3BFLENBQUM7WUFDSixDQUFDO1lBRUQsMkJBQTJCO1lBQzNCLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1lBQ3pDLE1BQU0sdUJBQXVCLEdBQUcsVUFBVSxDQUFDO1lBRTNDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxDQUFDLElBQUksQ0FDVCxxRkFBcUY7b0JBQ25GLGFBQWEsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQ3pDLENBQUM7WUFDSixDQUFDO1lBRUQsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNELE1BQU0sQ0FBQyxJQUFJLENBQ1QseUVBQXlFLENBQzFFLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFDRSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDN0UsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUNULHNFQUNFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FDekIsR0FBRyxDQUNKLENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNERBQTRELENBQUMsQ0FBQztZQUM1RSxDQUFDO1lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksOEJBQXVCLENBQy9CLDRDQUE0QyxhQUFhLElBQUksUUFBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBRyxDQUFDLEVBQUUsQ0FDdEYsQ0FBQztZQUNKLENBQUM7U0FDRjtRQUVEOztXQUVHO1FBQ2MsU0FBUyxDQUFlO1FBRXpDOztXQUVHO1FBQ2EsYUFBYSxDQUFTO1FBRXRDOztXQUVHO1FBQ2EsV0FBVyxDQUFlO1FBRTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUI7WUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7O21EQTFGUixTQUFTOzs7O1lBMkZsQixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUVyRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSwyQkFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7Z0JBQzFDLFNBQVMsRUFBRSxLQUFLLENBQUMsYUFBYTtnQkFDOUIsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYzthQUNoRCxDQUFDLENBQUM7WUFFSCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsQ0FBQztTQUNGOztZQTFHVSx1REFBUzs7Ozs7QUFBVCw4QkFBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVPTCB9IGZyb20gJ29zJztcbmltcG9ydCB7IENmbk5hbWVzcGFjZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zM3RhYmxlcyc7XG5pbXBvcnQgdHlwZSB7IElSZXNvdXJjZSwgUmVtb3ZhbFBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFRva2VuLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSVRhYmxlQnVja2V0IH0gZnJvbSAnLi90YWJsZS1idWNrZXQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gUzMgVGFibGVzIE5hbWVzcGFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFtZXNwYWNlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgbmFtZXNwYWNlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRhYmxlIGJ1Y2tldCB3aGljaCB0aGlzIG5hbWVzcGFjZSBiZWxvbmdzIHRvXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlQnVja2V0OiBJVGFibGVCdWNrZXQ7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgY29uc3RydWN0aW5nIGEgTmFtZXNwYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZXNwYWNlUHJvcHMge1xuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGUgbmFtZXNwYWNlXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2VOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdGFibGUgYnVja2V0IHRoaXMgbmFtZXNwYWNlIGJlbG9uZ3MgdG8uXG4gICAqL1xuICByZWFkb25seSB0YWJsZUJ1Y2tldDogSVRhYmxlQnVja2V0O1xuICAvKipcbiAgICogUG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIHBvbGljeSBpcyByZW1vdmVkIGZyb20gdGhpcyBzdGFjay5cbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgbmFtZXNwYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZXNwYWNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbmFtZXNwYWNlXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJsZSBidWNrZXQgdGhpcyBuYW1lc3BhY2UgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVCdWNrZXQ6IElUYWJsZUJ1Y2tldDtcbn1cblxuLyoqXG4gKiBBbiBTMyBUYWJsZXMgTmFtZXNwYWNlIHdpdGggaGVscGVycy5cbiAqXG4gKiBBIG5hbWVzcGFjZSBpcyBhIGxvZ2ljYWwgY29udGFpbmVyIGZvciB0YWJsZXMgd2l0aGluIGEgdGFibGUgYnVja2V0LlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJTmFtZXNwYWNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtczN0YWJsZXMtYWxwaGEuTmFtZXNwYWNlJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIG5hbWVzcGFjZSBmcm9tIGl0cyBhdHRyaWJ1dGVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21OYW1lc3BhY2VBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBOYW1lc3BhY2VBdHRyaWJ1dGVzKTogSU5hbWVzcGFjZSB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJTmFtZXNwYWNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBuYW1lc3BhY2VOYW1lID0gYXR0cnMubmFtZXNwYWNlTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0YWJsZUJ1Y2tldCA9IGF0dHJzLnRhYmxlQnVja2V0O1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cbiAgLyoqXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L3VzZXJndWlkZS9zMy10YWJsZXMtYnVja2V0cy1uYW1pbmcuaHRtbFxuICAgKiBAcGFyYW0gbmFtZXNwYWNlTmFtZSBOYW1lIG9mIHRoZSBuYW1lc3BhY2VcbiAgICogQHRocm93cyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciBpZiBhbnkgbmFtaW5nIGVycm9ycyBhcmUgZGV0ZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdmFsaWRhdGVOYW1lc3BhY2VOYW1lKG5hbWVzcGFjZU5hbWU6IHN0cmluZykge1xuICAgIGlmIChuYW1lc3BhY2VOYW1lID09IHVuZGVmaW5lZCB8fCBUb2tlbi5pc1VucmVzb2x2ZWQobmFtZXNwYWNlTmFtZSkpIHtcbiAgICAgIC8vIHRoZSBuYW1lIGlzIGEgbGF0ZS1ib3VuZCB2YWx1ZSwgbm90IGEgZGVmaW5lZCBzdHJpbmcsIHNvIHNraXAgdmFsaWRhdGlvblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIExlbmd0aCB2YWxpZGF0aW9uXG4gICAgaWYgKG5hbWVzcGFjZU5hbWUubGVuZ3RoIDwgMSB8fCBuYW1lc3BhY2VOYW1lLmxlbmd0aCA+IDI1NSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICdOYW1lc3BhY2UgbmFtZSBtdXN0IGJlIGF0IGxlYXN0IDEgYW5kIG5vIG1vcmUgdGhhbiAyNTUgY2hhcmFjdGVycycsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIENoYXJhY3RlciBzZXQgdmFsaWRhdGlvblxuICAgIGNvbnN0IGlsbGVnYWxDaGFyc2V0UmVnRXggPSAvW15hLXowLTlfXS87XG4gICAgY29uc3QgYWxsb3dlZEVkZ2VDaGFyc2V0UmVnRXggPSAvW2EtejAtOV0vO1xuXG4gICAgY29uc3QgaWxsZWdhbENoYXJNYXRjaCA9IG5hbWVzcGFjZU5hbWUubWF0Y2goaWxsZWdhbENoYXJzZXRSZWdFeCk7XG4gICAgaWYgKGlsbGVnYWxDaGFyTWF0Y2gpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAnTmFtZXNwYWNlIG5hbWUgbXVzdCBvbmx5IGNvbnRhaW4gbG93ZXJjYXNlIGNoYXJhY3RlcnMsIG51bWJlcnMsIGFuZCB1bmRlcnNjb3JlcyAoXyknICtcbiAgICAgICAgICBgIChvZmZzZXQ6ICR7aWxsZWdhbENoYXJNYXRjaC5pbmRleH0pYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRWRnZSBjaGFyYWN0ZXIgdmFsaWRhdGlvblxuICAgIGlmICghYWxsb3dlZEVkZ2VDaGFyc2V0UmVnRXgudGVzdChuYW1lc3BhY2VOYW1lLmNoYXJBdCgwKSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAnTmFtZXNwYWNlIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgbG93ZXJjYXNlIGxldHRlciBvciBudW1iZXIgKG9mZnNldDogMCknLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIWFsbG93ZWRFZGdlQ2hhcnNldFJlZ0V4LnRlc3QobmFtZXNwYWNlTmFtZS5jaGFyQXQobmFtZXNwYWNlTmFtZS5sZW5ndGggLSAxKSlcbiAgICApIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgTmFtZXNwYWNlIG5hbWUgbXVzdCBlbmQgd2l0aCBhIGxvd2VyY2FzZSBsZXR0ZXIgb3IgbnVtYmVyIChvZmZzZXQ6ICR7XG4gICAgICAgICAgbmFtZXNwYWNlTmFtZS5sZW5ndGggLSAxXG4gICAgICAgIH0pYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG5hbWVzcGFjZU5hbWUuc3RhcnRzV2l0aCgnYXdzJykpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdOYW1lc3BhY2UgbmFtZSBtdXN0IG5vdCBzdGFydCB3aXRoIHJlc2VydmVkIHByZWZpeCBcXCdhd3NcXCcnKTtcbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgUzMgVGFibGVzIG5hbWVzcGFjZSBuYW1lICh2YWx1ZTogJHtuYW1lc3BhY2VOYW1lfSkke0VPTH0ke2Vycm9ycy5qb2luKEVPTCl9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGUgdW5kZXJseWluZyBuYW1lc3BhY2UgcmVzb3VyY2UuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNvdXJjZTogQ2ZuTmFtZXNwYWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIG5hbWVzcGFjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWVzcGFjZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRhYmxlIGJ1Y2tldCB3aGljaCB0aGlzIG5hbWVzcGFjZSBiZWxvbmdzIHRvXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFibGVCdWNrZXQ6IElUYWJsZUJ1Y2tldDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmFtZXNwYWNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgTmFtZXNwYWNlLnZhbGlkYXRlTmFtZXNwYWNlTmFtZShwcm9wcy5uYW1lc3BhY2VOYW1lKTtcblxuICAgIHRoaXMudGFibGVCdWNrZXQgPSBwcm9wcy50YWJsZUJ1Y2tldDtcbiAgICB0aGlzLm5hbWVzcGFjZU5hbWUgPSBwcm9wcy5uYW1lc3BhY2VOYW1lO1xuICAgIHRoaXMuX3Jlc291cmNlID0gbmV3IENmbk5hbWVzcGFjZSh0aGlzLCBpZCwge1xuICAgICAgbmFtZXNwYWNlOiBwcm9wcy5uYW1lc3BhY2VOYW1lLFxuICAgICAgdGFibGVCdWNrZXRBcm46IHRoaXMudGFibGVCdWNrZXQudGFibGVCdWNrZXRBcm4sXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucmVtb3ZhbFBvbGljeSkge1xuICAgICAgdGhpcy5fcmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3kpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmFtZXNwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJCQUF5QjtBQUN6QiwyREFBd0Q7QUFFeEQsMkNBQTRFO0FBQzVFLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUF1RDFFOzs7O0dBSUc7SUFFVSxTQUFTOzRCQURyQixvQ0FBa0I7Ozs7c0JBQ1ksZUFBUTt5QkFBaEIsU0FBUSxXQUFROzs7O1lBQXZDLDZLQTRHQzs7Ozs7UUEzR0Msc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx1Q0FBdUMsQ0FBQztRQUUvRjs7V0FFRztRQUNJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7Ozs7Ozs7OztZQUM1RixNQUFNLE1BQU8sU0FBUSxlQUFRO2dCQUNYLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNwQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUNqRDtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBQ0Q7Ozs7V0FJRztRQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFxQjtZQUN2RCxJQUFJLGFBQWEsSUFBSSxTQUFTLElBQUksWUFBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNwRSwyRUFBMkU7Z0JBQzNFLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1lBRTVCLG9CQUFvQjtZQUNwQixJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQzNELE1BQU0sQ0FBQyxJQUFJLENBQ1QsbUVBQW1FLENBQ3BFLENBQUM7WUFDSixDQUFDO1lBRUQsMkJBQTJCO1lBQzNCLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1lBQ3pDLE1BQU0sdUJBQXVCLEdBQUcsVUFBVSxDQUFDO1lBRTNDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxDQUFDLElBQUksQ0FDVCxxRkFBcUY7b0JBQ25GLGFBQWEsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQ3pDLENBQUM7WUFDSixDQUFDO1lBRUQsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNELE1BQU0sQ0FBQyxJQUFJLENBQ1QseUVBQXlFLENBQzFFLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFDRSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDN0UsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUNULHNFQUNFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FDekIsR0FBRyxDQUNKLENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNERBQTRELENBQUMsQ0FBQztZQUM1RSxDQUFDO1lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksOEJBQXVCLENBQy9CLHNCQUFzQixFQUN0Qiw0Q0FBNEMsYUFBYSxJQUFJLFFBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQUcsQ0FBQyxFQUFFLENBQ3RGLENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFFRDs7V0FFRztRQUNjLFNBQVMsQ0FBZTtRQUV6Qzs7V0FFRztRQUNhLGFBQWEsQ0FBUztRQUV0Qzs7V0FFRztRQUNhLFdBQVcsQ0FBZTtRQUUxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1lBQzdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzttREEzRlIsU0FBUzs7OztZQTRGbEIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMkJBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUMxQyxTQUFTLEVBQUUsS0FBSyxDQUFDLGFBQWE7Z0JBQzlCLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWM7YUFDaEQsQ0FBQyxDQUFDO1lBRUgsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pELENBQUM7U0FDRjs7WUEzR1UsdURBQVM7Ozs7O0FBQVQsOEJBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFT0wgfSBmcm9tICdvcyc7XG5pbXBvcnQgeyBDZm5OYW1lc3BhY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczN0YWJsZXMnO1xuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UsIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IFJlc291cmNlLCBUb2tlbiwgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElUYWJsZUJ1Y2tldCB9IGZyb20gJy4vdGFibGUtYnVja2V0JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIFMzIFRhYmxlcyBOYW1lc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5hbWVzcGFjZSBleHRlbmRzIElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIG5hbWVzcGFjZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJsZSBidWNrZXQgd2hpY2ggdGhpcyBuYW1lc3BhY2UgYmVsb25ncyB0b1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YWJsZUJ1Y2tldDogSVRhYmxlQnVja2V0O1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIGNvbnN0cnVjdGluZyBhIE5hbWVzcGFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVzcGFjZVByb3BzIHtcbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIG5hbWVzcGFjZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHRhYmxlIGJ1Y2tldCB0aGlzIG5hbWVzcGFjZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVCdWNrZXQ6IElUYWJsZUJ1Y2tldDtcbiAgLyoqXG4gICAqIFBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBwb2xpY3kgaXMgcmVtb3ZlZCBmcm9tIHRoaXMgc3RhY2suXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgaW1wb3J0aW5nIGFuIGV4aXN0aW5nIG5hbWVzcGFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVzcGFjZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG5hbWVzcGFjZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUgYnVja2V0IHRoaXMgbmFtZXNwYWNlIGJlbG9uZ3MgdG9cbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlQnVja2V0OiBJVGFibGVCdWNrZXQ7XG59XG5cbi8qKlxuICogQW4gUzMgVGFibGVzIE5hbWVzcGFjZSB3aXRoIGhlbHBlcnMuXG4gKlxuICogQSBuYW1lc3BhY2UgaXMgYSBsb2dpY2FsIGNvbnRhaW5lciBmb3IgdGFibGVzIHdpdGhpbiBhIHRhYmxlIGJ1Y2tldC5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIE5hbWVzcGFjZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSU5hbWVzcGFjZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLXMzdGFibGVzLWFscGhhLk5hbWVzcGFjZSc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBuYW1lc3BhY2UgZnJvbSBpdHMgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTmFtZXNwYWNlQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogTmFtZXNwYWNlQXR0cmlidXRlcyk6IElOYW1lc3BhY2Uge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSU5hbWVzcGFjZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlTmFtZSA9IGF0dHJzLm5hbWVzcGFjZU5hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFibGVCdWNrZXQgPSBhdHRycy50YWJsZUJ1Y2tldDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG4gIC8qKlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC91c2VyZ3VpZGUvczMtdGFibGVzLWJ1Y2tldHMtbmFtaW5nLmh0bWxcbiAgICogQHBhcmFtIG5hbWVzcGFjZU5hbWUgTmFtZSBvZiB0aGUgbmFtZXNwYWNlXG4gICAqIEB0aHJvd3MgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgaWYgYW55IG5hbWluZyBlcnJvcnMgYXJlIGRldGVjdGVkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlTmFtZXNwYWNlTmFtZShuYW1lc3BhY2VOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAobmFtZXNwYWNlTmFtZSA9PSB1bmRlZmluZWQgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG5hbWVzcGFjZU5hbWUpKSB7XG4gICAgICAvLyB0aGUgbmFtZSBpcyBhIGxhdGUtYm91bmQgdmFsdWUsIG5vdCBhIGRlZmluZWQgc3RyaW5nLCBzbyBza2lwIHZhbGlkYXRpb25cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBMZW5ndGggdmFsaWRhdGlvblxuICAgIGlmIChuYW1lc3BhY2VOYW1lLmxlbmd0aCA8IDEgfHwgbmFtZXNwYWNlTmFtZS5sZW5ndGggPiAyNTUpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAnTmFtZXNwYWNlIG5hbWUgbXVzdCBiZSBhdCBsZWFzdCAxIGFuZCBubyBtb3JlIHRoYW4gMjU1IGNoYXJhY3RlcnMnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDaGFyYWN0ZXIgc2V0IHZhbGlkYXRpb25cbiAgICBjb25zdCBpbGxlZ2FsQ2hhcnNldFJlZ0V4ID0gL1teYS16MC05X10vO1xuICAgIGNvbnN0IGFsbG93ZWRFZGdlQ2hhcnNldFJlZ0V4ID0gL1thLXowLTldLztcblxuICAgIGNvbnN0IGlsbGVnYWxDaGFyTWF0Y2ggPSBuYW1lc3BhY2VOYW1lLm1hdGNoKGlsbGVnYWxDaGFyc2V0UmVnRXgpO1xuICAgIGlmIChpbGxlZ2FsQ2hhck1hdGNoKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgJ05hbWVzcGFjZSBuYW1lIG11c3Qgb25seSBjb250YWluIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLCBudW1iZXJzLCBhbmQgdW5kZXJzY29yZXMgKF8pJyArXG4gICAgICAgICAgYCAob2Zmc2V0OiAke2lsbGVnYWxDaGFyTWF0Y2guaW5kZXh9KWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEVkZ2UgY2hhcmFjdGVyIHZhbGlkYXRpb25cbiAgICBpZiAoIWFsbG93ZWRFZGdlQ2hhcnNldFJlZ0V4LnRlc3QobmFtZXNwYWNlTmFtZS5jaGFyQXQoMCkpKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgJ05hbWVzcGFjZSBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhIGxvd2VyY2FzZSBsZXR0ZXIgb3IgbnVtYmVyIChvZmZzZXQ6IDApJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFhbGxvd2VkRWRnZUNoYXJzZXRSZWdFeC50ZXN0KG5hbWVzcGFjZU5hbWUuY2hhckF0KG5hbWVzcGFjZU5hbWUubGVuZ3RoIC0gMSkpXG4gICAgKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYE5hbWVzcGFjZSBuYW1lIG11c3QgZW5kIHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIG9yIG51bWJlciAob2Zmc2V0OiAke1xuICAgICAgICAgIG5hbWVzcGFjZU5hbWUubGVuZ3RoIC0gMVxuICAgICAgICB9KWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChuYW1lc3BhY2VOYW1lLnN0YXJ0c1dpdGgoJ2F3cycpKSB7XG4gICAgICBlcnJvcnMucHVzaCgnTmFtZXNwYWNlIG5hbWUgbXVzdCBub3Qgc3RhcnQgd2l0aCByZXNlcnZlZCBwcmVmaXggXFwnYXdzXFwnJyk7XG4gICAgfVxuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICdJbnZhbGlkTmFtZXNwYWNlTmFtZScsXG4gICAgICAgIGBJbnZhbGlkIFMzIFRhYmxlcyBuYW1lc3BhY2UgbmFtZSAodmFsdWU6ICR7bmFtZXNwYWNlTmFtZX0pJHtFT0x9JHtlcnJvcnMuam9pbihFT0wpfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgVGhlIHVuZGVybHlpbmcgbmFtZXNwYWNlIHJlc291cmNlLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzb3VyY2U6IENmbk5hbWVzcGFjZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBuYW1lc3BhY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lc3BhY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJsZSBidWNrZXQgd2hpY2ggdGhpcyBuYW1lc3BhY2UgYmVsb25ncyB0b1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhYmxlQnVja2V0OiBJVGFibGVCdWNrZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5hbWVzcGFjZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIE5hbWVzcGFjZS52YWxpZGF0ZU5hbWVzcGFjZU5hbWUocHJvcHMubmFtZXNwYWNlTmFtZSk7XG5cbiAgICB0aGlzLnRhYmxlQnVja2V0ID0gcHJvcHMudGFibGVCdWNrZXQ7XG4gICAgdGhpcy5uYW1lc3BhY2VOYW1lID0gcHJvcHMubmFtZXNwYWNlTmFtZTtcbiAgICB0aGlzLl9yZXNvdXJjZSA9IG5ldyBDZm5OYW1lc3BhY2UodGhpcywgaWQsIHtcbiAgICAgIG5hbWVzcGFjZTogcHJvcHMubmFtZXNwYWNlTmFtZSxcbiAgICAgIHRhYmxlQnVja2V0QXJuOiB0aGlzLnRhYmxlQnVja2V0LnRhYmxlQnVja2V0QXJuLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLnJlbW92YWxQb2xpY3kpIHtcbiAgICAgIHRoaXMuX3Jlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -62,7 +62,7 @@ let TableBucketPolicy = (() => {
|
|
|
62
62
|
TableBucketPolicy = _classThis = _classDescriptor.value;
|
|
63
63
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
64
64
|
}
|
|
65
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-s3tables-alpha.TableBucketPolicy", version: "2.
|
|
65
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-s3tables-alpha.TableBucketPolicy", version: "2.245.0-alpha.0" };
|
|
66
66
|
/** Uniquely identifies this class. */
|
|
67
67
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-s3tables-alpha.TableBucketPolicy';
|
|
68
68
|
/**
|
package/lib/table-bucket.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
2
2
|
import * as kms from 'aws-cdk-lib/aws-kms';
|
|
3
|
-
import type { IResource, RemovalPolicy } from 'aws-cdk-lib/core';
|
|
3
|
+
import type { IResource, ITaggableV2, RemovalPolicy, TagManager } from 'aws-cdk-lib/core';
|
|
4
4
|
import { Resource } from 'aws-cdk-lib/core';
|
|
5
5
|
import type { Construct } from 'constructs';
|
|
6
6
|
import { TableBucketPolicy } from './table-bucket-policy';
|
|
@@ -125,6 +125,19 @@ export declare enum UnreferencedFileRemovalStatus {
|
|
|
125
125
|
*/
|
|
126
126
|
DISABLED = "Disabled"
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Controls whether CloudWatch request metrics are enabled or disabled for the table bucket.
|
|
130
|
+
*/
|
|
131
|
+
export declare enum RequestMetricsStatus {
|
|
132
|
+
/**
|
|
133
|
+
* Enable CloudWatch request metrics for the table bucket.
|
|
134
|
+
*/
|
|
135
|
+
ENABLED = "Enabled",
|
|
136
|
+
/**
|
|
137
|
+
* Disable CloudWatch request metrics for the table bucket.
|
|
138
|
+
*/
|
|
139
|
+
DISABLED = "Disabled"
|
|
140
|
+
}
|
|
128
141
|
/**
|
|
129
142
|
* Controls Server Side Encryption (SSE) for this TableBucket.
|
|
130
143
|
*/
|
|
@@ -248,6 +261,15 @@ export interface TableBucketProps {
|
|
|
248
261
|
* @default RETAIN
|
|
249
262
|
*/
|
|
250
263
|
readonly removalPolicy?: RemovalPolicy;
|
|
264
|
+
/**
|
|
265
|
+
* CloudWatch request metrics configuration for the table bucket.
|
|
266
|
+
*
|
|
267
|
+
* When enabled, S3 Tables publishes CloudWatch request metrics for the table bucket.
|
|
268
|
+
* Request metrics provide insight into Amazon S3 Tables requests.
|
|
269
|
+
*
|
|
270
|
+
* @default - Request metrics are disabled
|
|
271
|
+
*/
|
|
272
|
+
readonly requestMetricsStatus?: RequestMetricsStatus;
|
|
251
273
|
}
|
|
252
274
|
/**
|
|
253
275
|
* A reference to a table bucket outside this stack
|
|
@@ -299,7 +321,7 @@ export interface TableBucketAttributes {
|
|
|
299
321
|
* },
|
|
300
322
|
* });
|
|
301
323
|
*/
|
|
302
|
-
export declare class TableBucket extends TableBucketBase {
|
|
324
|
+
export declare class TableBucket extends TableBucketBase implements ITaggableV2 {
|
|
303
325
|
/** Uniquely identifies this class. */
|
|
304
326
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
305
327
|
/**
|
|
@@ -334,6 +356,10 @@ export declare class TableBucket extends TableBucketBase {
|
|
|
334
356
|
* @internal
|
|
335
357
|
*/
|
|
336
358
|
private readonly resource;
|
|
359
|
+
/**
|
|
360
|
+
* The tag manager for this resource.
|
|
361
|
+
*/
|
|
362
|
+
readonly cdkTagManager: TagManager;
|
|
337
363
|
/**
|
|
338
364
|
* The resource policy for this tableBucket.
|
|
339
365
|
*/
|