From 8b4532048fc8137539489adb38eee101ff867039 Mon Sep 17 00:00:00 2001 From: Marco Franceschi Date: Tue, 6 Jun 2023 15:30:50 -0400 Subject: [PATCH] feat: Exposed containersIds for cosmosdb account --- src/services/cosmosDb/format.ts | 38 +++++++++++++++++++++------------ src/types/generated.ts | 1 + 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/services/cosmosDb/format.ts b/src/services/cosmosDb/format.ts index 5e139b8a..a62c93d0 100644 --- a/src/services/cosmosDb/format.ts +++ b/src/services/cosmosDb/format.ts @@ -31,9 +31,11 @@ const formatRestoreParameters = ( const { restoreTimestampInUtc, databasesToRestore, ...rest } = restoreParameters return { restoreTimestampInUtc: restoreTimestampInUtc?.toISOString(), - databasesToRestore: databasesToRestore?.map(db => ({ id: generateUniqueId({ - ...db - }), ...db })) || [], + databasesToRestore: databasesToRestore?.map(db => ({ + id: generateUniqueId({ + ...db + }), ...db + })) || [], ...rest, } } @@ -94,6 +96,20 @@ export default ({ tables = [], } = service + let containersIds: string[] = [] + const sqlDatabases = databases?.map(({ id: databaseId, options, data, ...rest }) => { + const containers = new Set(data.map(d => d.id)) + containersIds = Array.from(containers) + return ({ + id: databaseId, + ...rest, + options: { + throughput: options?.throughput, + maxThroughput: options?.autoscaleSettings?.maxThroughput, + }, + }) + }) || [] + return { id, name, @@ -133,10 +149,10 @@ export default ({ failoverPolicies?.map(fp => ({ id: fp.id, ...fp })) || [], virtualNetworkRules: virtualNetworkRules?.map(vn => ({ id: vn.id, ...vn })) || [], - privateEndpointConnections: privateEndpointConnections?.map(({ id: endpointId, privateEndpoint, ...pe}) => ({ - id: endpointId, + privateEndpointConnections: privateEndpointConnections?.map(({ id: endpointId, privateEndpoint, ...pe }) => ({ + id: endpointId, privateEndpointId: privateEndpoint?.id, - ...pe + ...pe })) || [], enableMultipleWriteLocations, enableCassandraConnector, @@ -160,14 +176,8 @@ export default ({ disableLocalAuth, capacityTotalThroughputLimit: capacity?.totalThroughputLimit, tags: formatTagsFromMap(Tags), - databases: databases?.map(({ id: databaseId, options, ...rest }) => ({ - id: databaseId, - ...rest, - options: { - throughput: options?.throughput, - maxThroughput: options?.autoscaleSettings?.maxThroughput, - }, - })) || [], + databases: sqlDatabases, azureTables: tables?.map(at => ({ id: at.id, ...at })) || [], + containersIds } } diff --git a/src/types/generated.ts b/src/types/generated.ts index 84f4520f..1588c2b9 100644 --- a/src/types/generated.ts +++ b/src/types/generated.ts @@ -2497,6 +2497,7 @@ export type AzureCosmosDb = AzureResource & { capacityTotalThroughputLimit?: Maybe; connectorOffer?: Maybe; consistencyPolicy?: Maybe; + containersIds?: Maybe>>; cors?: Maybe>>; createMode?: Maybe; createdAt?: Maybe;