@cloud-copilot/iam-collect 0.1.43 → 0.1.45
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/README.md +1 -0
- package/dist/cjs/config/config.d.ts +21 -0
- package/dist/cjs/config/config.d.ts.map +1 -1
- package/dist/cjs/config/config.js +40 -0
- package/dist/cjs/config/config.js.map +1 -1
- package/dist/cjs/config/defaultConfig.d.ts.map +1 -1
- package/dist/cjs/config/defaultConfig.js +14 -0
- package/dist/cjs/config/defaultConfig.js.map +1 -1
- package/dist/cjs/download/download.d.ts.map +1 -1
- package/dist/cjs/download/download.js +8 -3
- package/dist/cjs/download/download.js.map +1 -1
- package/dist/cjs/services.d.ts +1 -1
- package/dist/cjs/services.d.ts.map +1 -1
- package/dist/cjs/services.js +1 -0
- package/dist/cjs/services.js.map +1 -1
- package/dist/cjs/syncs/lambda/lambda.d.ts.map +1 -1
- package/dist/cjs/syncs/lambda/lambda.js +2 -4
- package/dist/cjs/syncs/lambda/lambda.js.map +1 -1
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.d.ts +3 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.js +48 -0
- package/dist/cjs/syncs/s3/multiRegionAccessPoints.js.map +1 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.d.ts +2 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.d.ts.map +1 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.js +46 -0
- package/dist/cjs/syncs/s3tables/s3TablesSync.js.map +1 -0
- package/dist/cjs/syncs/syncMap.d.ts.map +1 -1
- package/dist/cjs/syncs/syncMap.js +16 -3
- package/dist/cjs/syncs/syncMap.js.map +1 -1
- package/dist/cjs/syncs/typedSync.d.ts +19 -7
- package/dist/cjs/syncs/typedSync.d.ts.map +1 -1
- package/dist/cjs/syncs/typedSync.js +12 -0
- package/dist/cjs/syncs/typedSync.js.map +1 -1
- package/dist/esm/config/config.d.ts +21 -0
- package/dist/esm/config/config.d.ts.map +1 -1
- package/dist/esm/config/config.js +39 -0
- package/dist/esm/config/config.js.map +1 -1
- package/dist/esm/config/defaultConfig.d.ts.map +1 -1
- package/dist/esm/config/defaultConfig.js +14 -0
- package/dist/esm/config/defaultConfig.js.map +1 -1
- package/dist/esm/download/download.d.ts.map +1 -1
- package/dist/esm/download/download.js +9 -4
- package/dist/esm/download/download.js.map +1 -1
- package/dist/esm/services.d.ts +1 -1
- package/dist/esm/services.d.ts.map +1 -1
- package/dist/esm/services.js +1 -0
- package/dist/esm/services.js.map +1 -1
- package/dist/esm/syncs/lambda/lambda.d.ts.map +1 -1
- package/dist/esm/syncs/lambda/lambda.js +2 -4
- package/dist/esm/syncs/lambda/lambda.js.map +1 -1
- package/dist/esm/syncs/s3/multiRegionAccessPoints.d.ts +3 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.d.ts.map +1 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.js +45 -0
- package/dist/esm/syncs/s3/multiRegionAccessPoints.js.map +1 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.d.ts +2 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.d.ts.map +1 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.js +43 -0
- package/dist/esm/syncs/s3tables/s3TablesSync.js.map +1 -0
- package/dist/esm/syncs/syncMap.d.ts.map +1 -1
- package/dist/esm/syncs/syncMap.js +16 -3
- package/dist/esm/syncs/syncMap.js.map +1 -1
- package/dist/esm/syncs/typedSync.d.ts +19 -7
- package/dist/esm/syncs/typedSync.d.ts.map +1 -1
- package/dist/esm/syncs/typedSync.js +12 -0
- package/dist/esm/syncs/typedSync.js.map +1 -1
- package/package.json +2 -1
|
@@ -105,6 +105,18 @@ async function paginateResourceConfig(resourceTypeSync, credentials, region, end
|
|
|
105
105
|
}
|
|
106
106
|
return resources;
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Create a typed sync operation for a given AWS service and resource type.
|
|
110
|
+
*
|
|
111
|
+
* Because of obscure typescript issues, the order of the keys in `resourceTypeSync` is important.
|
|
112
|
+
* This order is known to work:
|
|
113
|
+
* client, command, key, paginationConfig, arn, extraFields, tags, resourceTypeParts, results
|
|
114
|
+
*
|
|
115
|
+
* @param awsService the AWS service to sync
|
|
116
|
+
* @param name the name of the sync operation
|
|
117
|
+
* @param resourceTypeSync the resource type sync configuration
|
|
118
|
+
* @returns The sync operation
|
|
119
|
+
*/
|
|
108
120
|
function createTypedSyncOperation(awsService, name, resourceTypeSync) {
|
|
109
121
|
return {
|
|
110
122
|
awsService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":";;AA2CA,4CAuCC;
|
|
1
|
+
{"version":3,"file":"typedSync.js","sourceRoot":"","sources":["../../../src/syncs/typedSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,14 @@ interface BaseConfig {
|
|
|
48
48
|
interface ServiceConfig extends BaseConfig {
|
|
49
49
|
endpoint?: string;
|
|
50
50
|
regionConfigs?: Record<string, Omit<ServiceConfig, 'regionConfigs'>>;
|
|
51
|
+
syncConfigs?: Record<string, SyncConfig>;
|
|
52
|
+
}
|
|
53
|
+
interface SyncConfig {
|
|
54
|
+
regions?: {
|
|
55
|
+
included?: string[];
|
|
56
|
+
excluded?: string[];
|
|
57
|
+
};
|
|
58
|
+
auth?: AuthConfig;
|
|
51
59
|
}
|
|
52
60
|
interface AccountConfig extends BaseConfig {
|
|
53
61
|
serviceConfigs?: Record<string, ServiceConfig>;
|
|
@@ -88,5 +96,18 @@ export declare function accountServiceRegionConfig(service: string, accountId: s
|
|
|
88
96
|
*/
|
|
89
97
|
export declare function getAccountAuthConfig(accountId: string, configs: TopLevelConfig[]): AuthConfig | undefined;
|
|
90
98
|
export declare function getStorageConfig(configs: TopLevelConfig[]): StorageConfig | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Check if a specific sync is enabled for given region. This checks the specific sync config within the service.
|
|
101
|
+
*
|
|
102
|
+
* This should only be used after the sync has been validated to be enabled for the account and service.
|
|
103
|
+
*
|
|
104
|
+
* @param accountId the account id to check
|
|
105
|
+
* @param service the service to check
|
|
106
|
+
* @param syncName the specific name of the sync to check
|
|
107
|
+
* @param configs the configs to check
|
|
108
|
+
* @param region the region being tested
|
|
109
|
+
* @returns true if the sync is enabled for the region, false otherwise
|
|
110
|
+
*/
|
|
111
|
+
export declare function syncEnabledForRegion(accountId: string, service: string, syncName: string, configs: TopLevelConfig[], region: string): boolean;
|
|
91
112
|
export {};
|
|
92
113
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,WAAW,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,eAAe,CAAA;AAErE,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,UAAU,aAAc,SAAQ,UAAU;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -164,4 +164,43 @@ export function getStorageConfig(configs) {
|
|
|
164
164
|
// Return undefined if no storage config is found
|
|
165
165
|
return undefined;
|
|
166
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Check if a specific sync is enabled for given region. This checks the specific sync config within the service.
|
|
169
|
+
*
|
|
170
|
+
* This should only be used after the sync has been validated to be enabled for the account and service.
|
|
171
|
+
*
|
|
172
|
+
* @param accountId the account id to check
|
|
173
|
+
* @param service the service to check
|
|
174
|
+
* @param syncName the specific name of the sync to check
|
|
175
|
+
* @param configs the configs to check
|
|
176
|
+
* @param region the region being tested
|
|
177
|
+
* @returns true if the sync is enabled for the region, false otherwise
|
|
178
|
+
*/
|
|
179
|
+
export function syncEnabledForRegion(accountId, service, syncName, configs, region) {
|
|
180
|
+
// go through the configs in reverse order,
|
|
181
|
+
// If any have the sync enabled return true,
|
|
182
|
+
// If any have the sync disabled return false
|
|
183
|
+
// If none are found, return true
|
|
184
|
+
for (const config of [...configs].reverse()) {
|
|
185
|
+
const accountServiceConfig = config.accounts?.[accountId]?.serviceConfigs?.[service]?.syncConfigs?.[syncName];
|
|
186
|
+
if (accountServiceConfig) {
|
|
187
|
+
if (accountServiceConfig.regions?.excluded?.includes(region)) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
if (accountServiceConfig.regions?.included) {
|
|
191
|
+
return accountServiceConfig.regions.included.includes(region);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const serviceConfig = config.serviceConfigs?.[service]?.syncConfigs?.[syncName];
|
|
195
|
+
if (serviceConfig) {
|
|
196
|
+
if (serviceConfig.regions?.excluded?.includes(region)) {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
if (serviceConfig.regions?.included) {
|
|
200
|
+
return serviceConfig.regions.included.includes(region);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
167
206
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;
|
|
1
|
+
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AA4GD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
|
|
@@ -30,6 +30,20 @@ const defaultConfig = `
|
|
|
30
30
|
"path": "./iam-data"
|
|
31
31
|
},
|
|
32
32
|
|
|
33
|
+
"serviceConfigs": {
|
|
34
|
+
"s3": {
|
|
35
|
+
"syncConfigs": {
|
|
36
|
+
"multiRegionAccessPoints": {
|
|
37
|
+
"regions": {
|
|
38
|
+
// Multi-Region Access Points are only available in us-west-2 in the aws partition
|
|
39
|
+
// If using a different partition, you can specify the region for that partition here
|
|
40
|
+
"included": ["us-west-2"]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
|
|
33
47
|
/*
|
|
34
48
|
You can also use S3 storage instead of the default file storage.
|
|
35
49
|
"storage": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGrB,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAS5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyHf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getCredentials } from '../aws/auth.js';
|
|
2
2
|
import { getNewInitialCredentials } from '../aws/coreAuth.js';
|
|
3
|
-
import { accountServiceRegionConfig, getAccountAuthConfig, getDefaultAuthConfig, getStorageConfig, regionsForService, servicesForAccount } from '../config/config.js';
|
|
3
|
+
import { accountServiceRegionConfig, getAccountAuthConfig, getDefaultAuthConfig, getStorageConfig, regionsForService, servicesForAccount, syncEnabledForRegion } from '../config/config.js';
|
|
4
4
|
import { createStorageClient } from '../persistence/util.js';
|
|
5
5
|
import { getEnabledRegions } from '../regions.js';
|
|
6
6
|
import { allServices } from '../services.js';
|
|
@@ -55,19 +55,24 @@ export async function downloadData(configs, accountIds, regions, services, concu
|
|
|
55
55
|
const globalCredentials = await getCredentials(accountId, globalConfig.auth);
|
|
56
56
|
log.debug(logDetails, 'Executing global sync');
|
|
57
57
|
await globalSync.execute(accountId, globalRegion, globalCredentials, storage, globalConfig.endpoint, syncOptions);
|
|
58
|
-
log.
|
|
58
|
+
log.trace(logDetails, 'Finished global sync');
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
+
const regionalSyncs = getRegionalSyncsForService(service);
|
|
62
63
|
//Regional syncs for the service
|
|
63
64
|
for (const region of serviceRegions) {
|
|
64
65
|
log.debug({ service, accountId, region }, 'Queuing regional syncs');
|
|
65
|
-
const regionalSyncs = getRegionalSyncsForService(service);
|
|
66
66
|
if (regionalSyncs.length === 0) {
|
|
67
67
|
continue;
|
|
68
68
|
}
|
|
69
69
|
const asrConfig = accountServiceRegionConfig(service, accountId, region, configs);
|
|
70
70
|
for (const sync of regionalSyncs) {
|
|
71
|
+
const includeSync = syncEnabledForRegion(accountId, service, sync.name, configs, region);
|
|
72
|
+
if (!includeSync) {
|
|
73
|
+
log.debug({ service, accountId, region, syncName: sync.name }, 'Skipping regional sync');
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
71
76
|
jobs.push({
|
|
72
77
|
properties: { service, accountId, region, sync: sync.name },
|
|
73
78
|
execute: async (context) => {
|
|
@@ -75,7 +80,7 @@ export async function downloadData(configs, accountIds, regions, services, concu
|
|
|
75
80
|
workerId: context.workerId,
|
|
76
81
|
...context.properties
|
|
77
82
|
};
|
|
78
|
-
log.
|
|
83
|
+
log.debug(logDetails, 'Executing regional sync');
|
|
79
84
|
const regionalCredentials = await getCredentials(accountId, asrConfig.auth);
|
|
80
85
|
await sync.execute(accountId, region, regionalCredentials, storage, asrConfig.endpoint, syncOptions);
|
|
81
86
|
log.trace(logDetails, 'Finished regional sync');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAO,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,UAAoB,EACpB,OAAiB,EACjB,QAAkB,EAClB,WAA+B;IAE/B,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QAClD,WAAW,GAAG,kBAAkB,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,kBAAkB,GAAG,MAAM,wBAAwB,CAAC,iBAAiB,EAAE;YAC3E,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAA;QACF,UAAU,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,IAAI,GAAU,EAAE,CAAA;IAEtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;QACxD,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;QAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,WAAkC,CAAA;QAC/C,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,CAAA;QAEtB,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACxE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YACrD,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAE9E,8BAA8B;YAC9B,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YACrD,MAAM,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;YAC1C,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;YAE1F,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;oBACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;wBACzB,MAAM,UAAU,GAAG;4BACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,GAAG,OAAO,CAAC,UAAU;yBACtB,CAAA;wBACD,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;wBAC5E,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAA;wBAC9C,MAAM,UAAU,CAAC,OAAO,CACtB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,YAAY,CAAC,QAAQ,EACrB,WAAW,CACZ,CAAA;wBACD,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAA;oBAC/C,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;YACzD,gCAAgC;YAChC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAA;gBACnE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAQ;gBACV,CAAC;gBACD,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBAEjF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;oBACxF,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,wBAAwB,CAAC,CAAA;wBACxF,SAAQ;oBACV,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC;wBACR,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;4BACzB,MAAM,UAAU,GAAG;gCACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gCAC1B,GAAG,OAAO,CAAC,UAAU;6BACtB,CAAA;4BACD,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAA;4BAChD,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;4BAE3E,MAAM,IAAI,CAAC,OAAO,CAChB,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,SAAS,CAAC,QAAQ,EAClB,WAAW,CACZ,CAAA;4BACD,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAA;wBACjD,CAAC;qBACF,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;IACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAChE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AACvD,CAAC"}
|
package/dist/esm/services.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* All Valid AWS Services
|
|
3
3
|
*/
|
|
4
|
-
export declare const allServices: readonly ["apigateway", "dynamodb", "ec2", "ecr", "glacier", "iam", "kms", "lambda", "organizations", "s3", "secretsmanager", "sns", "sqs", "sso"];
|
|
4
|
+
export declare const allServices: readonly ["apigateway", "dynamodb", "ec2", "ecr", "glacier", "iam", "kms", "lambda", "organizations", "s3", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
|
|
5
5
|
/**
|
|
6
6
|
* Type representing a valid AWS service. A union of all strings in `allServices`.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,gKAgBd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
package/dist/esm/services.js
CHANGED
package/dist/esm/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA"}
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,2BA6CtB,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GetPolicyCommand, LambdaClient, ListFunctionsCommand, ListTagsCommand } from '@aws-sdk/client-lambda';
|
|
2
2
|
import { runAndCatch404 } from '../../utils/client-tools.js';
|
|
3
|
+
import { parseIfPresent } from '../../utils/json.js';
|
|
3
4
|
import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
|
|
4
5
|
export const LambdaSync = createTypedSyncOperation('lambda', 'lambdaFunctions', createResourceSyncType({
|
|
5
6
|
client: LambdaClient,
|
|
@@ -25,10 +26,7 @@ export const LambdaSync = createTypedSyncOperation('lambda', 'lambdaFunctions',
|
|
|
25
26
|
policy: async (client, resource) => {
|
|
26
27
|
return runAndCatch404(async () => {
|
|
27
28
|
const policyResult = await client.send(new GetPolicyCommand({ FunctionName: resource.FunctionName }));
|
|
28
|
-
|
|
29
|
-
return JSON.parse(policyResult.Policy);
|
|
30
|
-
}
|
|
31
|
-
return undefined;
|
|
29
|
+
return parseIfPresent(policyResult.Policy);
|
|
32
30
|
});
|
|
33
31
|
}
|
|
34
32
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAChD,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,CAAC;IACrB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,oBAAoB;IAC7B,GAAG,EAAE,WAAW;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,YAAY;KACxB;IACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC/B,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CACxD,CAAA;gBACD,OAAO,SAAS,CAAC,IAAI,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACjC,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CACpC,IAAI,gBAAgB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAC9D,CAAA;gBACD,
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/syncs/lambda/lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAChD,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,CAAC;IACrB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,oBAAoB;IAC7B,GAAG,EAAE,WAAW;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,YAAY;KACxB;IACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC/B,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CACxD,CAAA;gBACD,OAAO,SAAS,CAAC,IAAI,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACjC,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CACpC,IAAI,gBAAgB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAC9D,CAAA;gBACD,OAAO,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;IACrC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAY;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,YAAY;SACxB;QACD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;KAChC,CAAC;CACH,CAAC,CACH,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiRegionAccessPoints.d.ts","sourceRoot":"","sources":["../../../../src/syncs/s3/multiRegionAccessPoints.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC,eAAO,MAAM,6BAA6B,EAAE,IA8C3C,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { GetMultiRegionAccessPointPolicyCommand, ListMultiRegionAccessPointsCommand, S3ControlClient } from '@aws-sdk/client-s3-control';
|
|
2
|
+
import { runAndCatch404 } from '../../utils/client-tools.js';
|
|
3
|
+
import { parseIfPresent } from '../../utils/json.js';
|
|
4
|
+
import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
|
|
5
|
+
export const S3MultiRegionAccessPointsSync = createTypedSyncOperation('s3', 'multiRegionAccessPoints', createResourceSyncType({
|
|
6
|
+
client: S3ControlClient,
|
|
7
|
+
command: ListMultiRegionAccessPointsCommand,
|
|
8
|
+
key: 'AccessPoints',
|
|
9
|
+
arguments: (accountId, region) => ({
|
|
10
|
+
AccountId: accountId
|
|
11
|
+
}),
|
|
12
|
+
paginationConfig: {
|
|
13
|
+
inputKey: 'NextToken',
|
|
14
|
+
outputKey: 'NextToken'
|
|
15
|
+
},
|
|
16
|
+
arn: (accessPoint, region, account, partition) => `arn:${partition}:s3::${account}:accesspoint/${accessPoint.Alias}`,
|
|
17
|
+
resourceTypeParts: (account, region) => ({
|
|
18
|
+
service: 's3',
|
|
19
|
+
resourceType: 'accesspoint',
|
|
20
|
+
account
|
|
21
|
+
}),
|
|
22
|
+
extraFields: {
|
|
23
|
+
policy: async (client, accessPoint, accountId) => {
|
|
24
|
+
const policy = runAndCatch404(async () => {
|
|
25
|
+
const result = await client.send(new GetMultiRegionAccessPointPolicyCommand({
|
|
26
|
+
Name: accessPoint.Name,
|
|
27
|
+
AccountId: accountId
|
|
28
|
+
}));
|
|
29
|
+
return parseIfPresent(result.Policy?.Established?.Policy);
|
|
30
|
+
});
|
|
31
|
+
return policy;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
tags: () => undefined, // Multi region access points do not have tags
|
|
35
|
+
results: (accessPoint) => ({
|
|
36
|
+
metadata: {
|
|
37
|
+
name: accessPoint.Name,
|
|
38
|
+
alias: accessPoint.Alias,
|
|
39
|
+
regions: accessPoint.Regions
|
|
40
|
+
},
|
|
41
|
+
bpa: accessPoint.PublicAccessBlock,
|
|
42
|
+
policy: accessPoint.extraFields.policy
|
|
43
|
+
})
|
|
44
|
+
}));
|
|
45
|
+
//# sourceMappingURL=multiRegionAccessPoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiRegionAccessPoints.js","sourceRoot":"","sources":["../../../../src/syncs/s3/multiRegionAccessPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,EACtC,kCAAkC,EAClC,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,6BAA6B,GAAS,wBAAwB,CACzE,IAAI,EACJ,yBAAyB,EACzB,sBAAsB,CAAC;IACrB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,kCAAkC;IAC3C,GAAG,EAAE,cAAc;IACnB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,SAAS,EAAE,SAAS;KACrB,CAAC;IACF,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,GAAG,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAC/C,OAAO,SAAS,QAAQ,OAAO,gBAAgB,WAAW,CAAC,KAAK,EAAE;IACpE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,aAAa;QAC3B,OAAO;KACR,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE;gBACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,IAAI,sCAAsC,CAAC;oBACzC,IAAI,EAAE,WAAW,CAAC,IAAK;oBACvB,SAAS,EAAE,SAAS;iBACrB,CAAC,CACH,CAAA;gBACD,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YAC3D,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACf,CAAC;KACF;IACD,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,8CAA8C;IACrE,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzB,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW,CAAC,IAAK;YACvB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B;QACD,GAAG,EAAE,WAAW,CAAC,iBAAiB;QAClC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM;KACvC,CAAC;CACH,CAAC,CACH,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3TablesSync.d.ts","sourceRoot":"","sources":["../../../../src/syncs/s3tables/s3TablesSync.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,2BA6C9B,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { GetTableBucketEncryptionCommand, GetTableBucketPolicyCommand, ListTableBucketsCommand, S3TablesClient } from '@aws-sdk/client-s3tables';
|
|
2
|
+
import { runAndCatch404 } from '../../utils/client-tools.js';
|
|
3
|
+
import { parseIfPresent } from '../../utils/json.js';
|
|
4
|
+
import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
|
|
5
|
+
export const S3TableBucketsSync = createTypedSyncOperation('s3tables', 'tableBuckets', createResourceSyncType({
|
|
6
|
+
client: S3TablesClient,
|
|
7
|
+
command: ListTableBucketsCommand,
|
|
8
|
+
key: 'tableBuckets',
|
|
9
|
+
paginationConfig: {
|
|
10
|
+
inputKey: 'continuationToken',
|
|
11
|
+
outputKey: 'continuationToken'
|
|
12
|
+
},
|
|
13
|
+
arn: (bucket) => bucket.arn,
|
|
14
|
+
extraFields: {
|
|
15
|
+
policy: async (client, bucket) => {
|
|
16
|
+
return runAndCatch404(async () => {
|
|
17
|
+
const policy = await client.send(new GetTableBucketPolicyCommand({ tableBucketARN: bucket.arn }));
|
|
18
|
+
return parseIfPresent(policy.resourcePolicy);
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
encryption: async (client, bucket) => {
|
|
22
|
+
const encryption = await client.send(new GetTableBucketEncryptionCommand({ tableBucketARN: bucket.arn }));
|
|
23
|
+
return encryption.encryptionConfiguration;
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
tags: (bucket) => undefined,
|
|
27
|
+
resourceTypeParts: (account, region) => ({
|
|
28
|
+
service: 's3tables',
|
|
29
|
+
resourceType: 'bucket',
|
|
30
|
+
account,
|
|
31
|
+
region
|
|
32
|
+
}),
|
|
33
|
+
results: (bucket) => ({
|
|
34
|
+
metadata: {
|
|
35
|
+
name: bucket.name,
|
|
36
|
+
id: bucket.tableBucketId,
|
|
37
|
+
encryptionAlgorithm: bucket.extraFields.encryption?.sseAlgorithm,
|
|
38
|
+
key: bucket.extraFields.encryption?.kmsKeyArn
|
|
39
|
+
},
|
|
40
|
+
policy: bucket.extraFields.policy
|
|
41
|
+
})
|
|
42
|
+
}));
|
|
43
|
+
//# sourceMappingURL=s3TablesSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3TablesSync.js","sourceRoot":"","sources":["../../../../src/syncs/s3tables/s3TablesSync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,cAAc,EACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CACxD,UAAU,EACV,cAAc,EACd,sBAAsB,CAAC;IACrB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,uBAAuB;IAChC,GAAG,EAAE,cAAc;IACnB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,mBAAmB;KAC/B;IACD,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAI;IAC5B,WAAW,EAAE;QACX,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC/B,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,IAAI,2BAA2B,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAChE,CAAA;gBACD,OAAO,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;YAC9C,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAClC,IAAI,+BAA+B,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CACpE,CAAA;YACD,OAAO,UAAU,CAAC,uBAAuB,CAAA;QAC3C,CAAC;KACF;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS;IAC3B,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,QAAQ;QACtB,OAAO;QACP,MAAM;KACP,CAAC;IACF,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,EAAE,EAAE,MAAM,CAAC,aAAa;YACxB,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY;YAChE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS;SAC9C;QACD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;KAClC,CAAC;CACH,CAAC,CACH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAqB3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA2ChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
|
|
@@ -11,7 +11,9 @@ import { OrganizationSync } from './organizations/organizations.js';
|
|
|
11
11
|
import { S3AccessPointsSync } from './s3/accessPoints.js';
|
|
12
12
|
import { AccountS3BpaSync } from './s3/accountBpa.js';
|
|
13
13
|
import { S3GeneralPurposeBucketSync } from './s3/buckets.js';
|
|
14
|
+
import { S3MultiRegionAccessPointsSync } from './s3/multiRegionAccessPoints.js';
|
|
14
15
|
import { GlacierVaultsSync } from './s3/vaults.js';
|
|
16
|
+
import { S3TableBucketsSync } from './s3tables/s3TablesSync.js';
|
|
15
17
|
import { SecretSync } from './secretsmanager/secrets.js';
|
|
16
18
|
import { SnsTopicsSync } from './sns/topics.js';
|
|
17
19
|
import { SqsQueueSync } from './sqs/queues.js';
|
|
@@ -30,6 +32,8 @@ const allSyncs = [
|
|
|
30
32
|
RestApisSync,
|
|
31
33
|
S3AccessPointsSync,
|
|
32
34
|
S3GeneralPurposeBucketSync,
|
|
35
|
+
S3MultiRegionAccessPointsSync,
|
|
36
|
+
S3TableBucketsSync,
|
|
33
37
|
SecretSync,
|
|
34
38
|
SnsTopicsSync,
|
|
35
39
|
SqsQueueSync,
|
|
@@ -38,7 +42,7 @@ const allSyncs = [
|
|
|
38
42
|
];
|
|
39
43
|
const syncMap = new Map();
|
|
40
44
|
for (const sync of allSyncs) {
|
|
41
|
-
const service = sync.awsService;
|
|
45
|
+
const service = lowerCaseService(sync.awsService);
|
|
42
46
|
if (!syncMap.has(service)) {
|
|
43
47
|
syncMap.set(service, {
|
|
44
48
|
regional: [],
|
|
@@ -60,7 +64,7 @@ for (const sync of allSyncs) {
|
|
|
60
64
|
* @returns An array of syncs that are global for the specified service.
|
|
61
65
|
*/
|
|
62
66
|
export function getGlobalSyncsForService(service) {
|
|
63
|
-
const syncs = syncMap.get(service);
|
|
67
|
+
const syncs = syncMap.get(lowerCaseService(service));
|
|
64
68
|
if (!syncs) {
|
|
65
69
|
return [];
|
|
66
70
|
}
|
|
@@ -73,10 +77,19 @@ export function getGlobalSyncsForService(service) {
|
|
|
73
77
|
* @returns An array of syncs that are regional for the specified service.
|
|
74
78
|
*/
|
|
75
79
|
export function getRegionalSyncsForService(service) {
|
|
76
|
-
const syncs = syncMap.get(service);
|
|
80
|
+
const syncs = syncMap.get(lowerCaseService(service));
|
|
77
81
|
if (!syncs) {
|
|
78
82
|
return [];
|
|
79
83
|
}
|
|
80
84
|
return syncs.regional;
|
|
81
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Convert a service name to lowercase.
|
|
88
|
+
*
|
|
89
|
+
* @param service The service name to convert
|
|
90
|
+
* @returns The lowercase service name
|
|
91
|
+
*/
|
|
92
|
+
function lowerCaseService(service) {
|
|
93
|
+
return service.toLowerCase();
|
|
94
|
+
}
|
|
82
95
|
//# sourceMappingURL=syncMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,MAAM,QAAQ,GAAG;IACf,gBAAgB;IAChB,wBAAwB;IACxB,iBAAiB;IACjB,GAAG,QAAQ;IACX,oBAAoB;IACpB,GAAG,qBAAqB;IACxB,iBAAiB;IACjB,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,YAAY;IACZ,kBAAkB;IAClB,0BAA0B;IAC1B,UAAU;IACV,aAAa;IACb,YAAY;IACZ,WAAW;IACX,gBAAgB;CACjB,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,11 +32,11 @@ type ResourceElementType<C extends CommandConstructors, K extends keyof ExtractO
|
|
|
32
32
|
} : ArrayElementType<ExtractOutputType<C>[K]>;
|
|
33
33
|
type PromiseType<T extends Promise<any>> = T extends Promise<infer U> ? U : never;
|
|
34
34
|
export type ExtraFieldsDefinition<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>> = Record<string, (client: InstanceType<C>, resource: ResourceElementType<Cmd, K>, accountId: string, region: string, partition: string) => Promise<any>>;
|
|
35
|
-
type ExtraFieldsReturnType<T extends ExtraFieldsDefinition<any,
|
|
35
|
+
type ExtraFieldsReturnType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, T extends ExtraFieldsDefinition<any, Cmd, K>> = {
|
|
36
36
|
[K in keyof T]: PromiseType<ReturnType<T[K]>>;
|
|
37
37
|
};
|
|
38
|
-
export type ExtendedResourceElementType<Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<any, Cmd, K>> = ResourceElementType<Cmd, K> & {
|
|
39
|
-
extraFields: ExtraFieldsReturnType<ExtraFieldsFunc>;
|
|
38
|
+
export type ExtendedResourceElementType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<any, Cmd, K>> = ResourceElementType<Cmd, K> & {
|
|
39
|
+
extraFields: ExtraFieldsReturnType<C, Cmd, K, ExtraFieldsFunc>;
|
|
40
40
|
};
|
|
41
41
|
export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFields extends ExtraFieldsDefinition<C, Cmd, K> = Record<string, () => Promise<any>>> = {
|
|
42
42
|
/**
|
|
@@ -80,7 +80,7 @@ export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandCon
|
|
|
80
80
|
* @param resource The resource to get the tags for
|
|
81
81
|
* @returns The tags for the resource, or undefined if there are no tags
|
|
82
82
|
*/
|
|
83
|
-
tags: (resource: ExtendedResourceElementType<Cmd, K, ExtraFields>) => Tags | undefined;
|
|
83
|
+
tags: (resource: ExtendedResourceElementType<C, Cmd, K, ExtraFields>) => Tags | undefined;
|
|
84
84
|
/**
|
|
85
85
|
* Create the ARN for a resource
|
|
86
86
|
*
|
|
@@ -102,7 +102,7 @@ export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandCon
|
|
|
102
102
|
*
|
|
103
103
|
* @param resource The resource to get the custom fields for, includes extraFields from the `extraFields` function
|
|
104
104
|
*/
|
|
105
|
-
results: (resource: ExtendedResourceElementType<Cmd, K, ExtraFields>) => Record<string, any>;
|
|
105
|
+
results: (resource: ExtendedResourceElementType<C, Cmd, K, ExtraFields>) => Record<string, any>;
|
|
106
106
|
};
|
|
107
107
|
/**
|
|
108
108
|
* Creates a resource sync type and returns it. This provides cleaner syntax than
|
|
@@ -111,7 +111,7 @@ export type ResourceSyncType<C extends ClientConstructor, Cmd extends CommandCon
|
|
|
111
111
|
* @param config Configuration for the resource sync type
|
|
112
112
|
* @returns The ResourceSyncType instance passed in.
|
|
113
113
|
*/
|
|
114
|
-
export declare function createResourceSyncType<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(config: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>;
|
|
114
|
+
export declare function createResourceSyncType<const C extends ClientConstructor, const Cmd extends CommandConstructors, const K extends keyof ExtractOutputType<Cmd>, const ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(config: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>;
|
|
115
115
|
/**
|
|
116
116
|
* Paginates a ResourceSyncType and returns the resources.
|
|
117
117
|
*
|
|
@@ -120,7 +120,19 @@ export declare function createResourceSyncType<C extends ClientConstructor, Cmd
|
|
|
120
120
|
* @param region The region to get the resources for.
|
|
121
121
|
* @returns Returns all the resources for the given type in the given region with extraFields populated.
|
|
122
122
|
*/
|
|
123
|
-
export declare function paginateResourceConfig<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>, credentials: AwsCredentialIdentityWithMetaData, region: string, endpoint: string | undefined): Promise<ExtendedResourceElementType<Cmd, K, ExtraFieldsFunc>[]>;
|
|
123
|
+
export declare function paginateResourceConfig<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>, credentials: AwsCredentialIdentityWithMetaData, region: string, endpoint: string | undefined): Promise<ExtendedResourceElementType<C, Cmd, K, ExtraFieldsFunc>[]>;
|
|
124
|
+
/**
|
|
125
|
+
* Create a typed sync operation for a given AWS service and resource type.
|
|
126
|
+
*
|
|
127
|
+
* Because of obscure typescript issues, the order of the keys in `resourceTypeSync` is important.
|
|
128
|
+
* This order is known to work:
|
|
129
|
+
* client, command, key, paginationConfig, arn, extraFields, tags, resourceTypeParts, results
|
|
130
|
+
*
|
|
131
|
+
* @param awsService the AWS service to sync
|
|
132
|
+
* @param name the name of the sync operation
|
|
133
|
+
* @param resourceTypeSync the resource type sync configuration
|
|
134
|
+
* @returns The sync operation
|
|
135
|
+
*/
|
|
124
136
|
export declare function createTypedSyncOperation<C extends ClientConstructor, Cmd extends CommandConstructors, K extends keyof ExtractOutputType<Cmd>, ExtraFieldsFunc extends ExtraFieldsDefinition<C, Cmd, K>>(awsService: AwsService, name: string, resourceTypeSync: ResourceSyncType<C, Cmd, K, ExtraFieldsFunc>): Sync;
|
|
125
137
|
export {};
|
|
126
138
|
//# sourceMappingURL=typedSync.d.ts.map
|