From 043bea9131dbe934b693e153c3ccfb7ef1253ec2 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 10:36:22 -0400 Subject: [PATCH 01/11] ignore warnings comment --- samples/api-reference-doc-snippets/app-profile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/samples/api-reference-doc-snippets/app-profile.js b/samples/api-reference-doc-snippets/app-profile.js index ba129a18b..907899531 100644 --- a/samples/api-reference-doc-snippets/app-profile.js +++ b/samples/api-reference-doc-snippets/app-profile.js @@ -50,6 +50,7 @@ const snippets = { const request = { name: `projects/${projectId}/instances/${instanceId}/appProfiles/${appProfileId}`, + // ignoreWarnings: true, // uncomment this line to ignore warnings }; instanceAdminClient From 4dccb4431d2d048c7a81d360f4386d91dab95809 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 11:03:11 -0400 Subject: [PATCH 02/11] fix the create backup sample --- samples/api-reference-doc-snippets/backups.create.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/samples/api-reference-doc-snippets/backups.create.js b/samples/api-reference-doc-snippets/backups.create.js index de21133dc..9cc1dd5fe 100644 --- a/samples/api-reference-doc-snippets/backups.create.js +++ b/samples/api-reference-doc-snippets/backups.create.js @@ -32,12 +32,19 @@ async function main( // const backupId = 'YOUR_BACKUP_ID'; const projectId = await tableAdminClient.getProjectId(); + const seconds = Math.floor( + new Date(Date.now() + 7 * 60 * 60 * 1000).getTime() / 1000, + // 7 hours from now + ); const request = { parent: `projects/${projectId}/instances/${instanceId}/clusters/${clusterId}`, backupId: backupId, backup: { sourceTable: `projects/${projectId}/instances/${instanceId}/tables/${tableId}`, - expireTime: new Date(Date.now() + 7 * 60 * 60 * 1000), // 7 hours from now + expireTime: { + seconds, + nanos: 0, + }, }, }; From 3cf183ce43d375687e7dedca19a110e4b0281a43 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 11:15:59 -0400 Subject: [PATCH 03/11] expire time for update backup should be changed --- samples/api-reference-doc-snippets/backups.update.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/samples/api-reference-doc-snippets/backups.update.js b/samples/api-reference-doc-snippets/backups.update.js index bc0ee80ad..617062a2c 100644 --- a/samples/api-reference-doc-snippets/backups.update.js +++ b/samples/api-reference-doc-snippets/backups.update.js @@ -30,10 +30,17 @@ async function main( // const backupId = 'YOUR_BACKUP_ID'; const projectId = await tableAdminClient.getProjectId(); + const seconds = Math.floor( + new Date(Date.now() + 7 * 60 * 60 * 1000).getTime() / 1000, + // 7 hours from now + ); const request = { backup: { name: `projects/${projectId}/instances/${instanceId}/clusters/${clusterId}/backups/${backupId}`, - expireTime: new Date(Date.now() + 24 * 60 * 60 * 1000), // 24 hours + expireTime: { + seconds, + nanos: 0, + }, }, updateMask: { paths: ['expire_time'], From f5a963aff4c6fad73b33211c54b007dce4880b85 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 11:52:01 -0400 Subject: [PATCH 04/11] GCRuleMaker should be imported separately --- samples/api-reference-doc-snippets/family.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/api-reference-doc-snippets/family.js b/samples/api-reference-doc-snippets/family.js index 91f5a652a..e405fc2cc 100644 --- a/samples/api-reference-doc-snippets/family.js +++ b/samples/api-reference-doc-snippets/family.js @@ -112,8 +112,8 @@ const snippets = { }, setMetadata: async (instanceId, tableId, familyId) => { // [START bigtable_api_set_family_meta] - const {BigtableTableAdminClient, GCRuleMaker} = - require('@google-cloud/bigtable').v2; + const {GCRuleMaker} = require('@google-cloud/bigtable'); + const {BigtableTableAdminClient} = require('@google-cloud/bigtable').v2; const adminClient = new BigtableTableAdminClient(); const projectId = await adminClient.getProjectId(); From fd3a8865129e11b2fb760ebd96241836d37c18f4 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 13:32:34 -0400 Subject: [PATCH 05/11] fix: Export GCRuleMaker properly --- src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index fddb52150..8b217c9cb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -39,6 +39,7 @@ import { import {google} from '../protos/protos'; import {ServiceError} from 'google-gax'; import * as v2 from './v2'; +import {GCRuleMaker} from './gc-rule-maker'; import {PassThrough, Duplex} from 'stream'; import grpcGcpModule = require('grpc-gcp'); import {ClusterUtils} from './utils/cluster'; @@ -1138,6 +1139,7 @@ module.exports = Bigtable; module.exports.v2 = v2; module.exports.Bigtable = Bigtable; module.exports.SqlTypes = SqlTypes; +module.exports.GCRuleMaker = GCRuleMaker; export {v2}; export {protos}; @@ -1363,5 +1365,5 @@ export { WaitForReplicationCallback, WaitForReplicationResponse, } from './table'; -export {GCRuleMaker} from './gc-rule-maker'; +export {GCRuleMaker}; export {SqlTypes}; From d05c38e88315181a95826fcbc3335d4a735f0a5c Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 14:31:02 -0400 Subject: [PATCH 06/11] consistency sample needs corrections --- samples/api-reference-doc-snippets/table.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/api-reference-doc-snippets/table.js b/samples/api-reference-doc-snippets/table.js index 10e70161f..823c05e1d 100644 --- a/samples/api-reference-doc-snippets/table.js +++ b/samples/api-reference-doc-snippets/table.js @@ -468,11 +468,11 @@ const snippets = { let isConsistent = false; while (!isConsistent) { // 2. Check for consistency - const [consistent] = adminClient.checkConsistency({ + const consistent = await adminClient.checkConsistency({ name: `projects/${projectId}/instances/${instanceId}/tables/${tableId}`, consistencyToken: token, }); - isConsistent = consistent; + isConsistent = consistent[0].consistent; if (isConsistent) { console.log('Data is consistent!'); From 8270d56602ddaadca3eefd924edb49be0de0d387 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 14:54:19 -0400 Subject: [PATCH 07/11] operation and cluster actually appear in a diffe order --- samples/instances.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/instances.js b/samples/instances.js index 5d317eb1a..b25dfb892 100644 --- a/samples/instances.js +++ b/samples/instances.js @@ -203,7 +203,7 @@ async function addCluster(instanceID, clusterID) { }, }; - const [cluster, operation] = + const [operation, cluster] = await instanceAdminClient.createCluster(clusterOptions); await operation.promise(); console.log(`Cluster created: ${cluster.name}`); From 6676336c02a65895a494cf67445fcddae574c9ab Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 15:06:20 -0400 Subject: [PATCH 08/11] Update development instance sample --- samples/instances.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/samples/instances.js b/samples/instances.js index b25dfb892..66697a9d9 100644 --- a/samples/instances.js +++ b/samples/instances.js @@ -136,14 +136,13 @@ async function createDevInstance(instanceID, clusterID) { labels: {'dev-label': 'dev-label'}, type: 'DEVELOPMENT', }, - clusters: [ - { - id: clusterID, + clusters: { + [clusterID]: { location: `projects/${projectId}/locations/us-central1-f`, - serveNodes: 1, + // serveNodes: 1 // This cannot be specified for development instances defaultStorageType: 'HDD', }, - ], + }, }; // Create development instance with given options From d82ab6a08fc3e2526c392da7c5711f88812c915e Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 15:08:08 -0400 Subject: [PATCH 09/11] operation is actually first --- samples/instances.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/instances.js b/samples/instances.js index 66697a9d9..7b502ec2a 100644 --- a/samples/instances.js +++ b/samples/instances.js @@ -146,7 +146,7 @@ async function createDevInstance(instanceID, clusterID) { }; // Create development instance with given options - const [instance, operation] = + const [operation, instance] = await instanceAdminClient.createInstance(options); await operation.promise(); console.log(`Created development instance: ${instance.name}`); From 7b0d3bb4efb0d755c519d8900570543b0957332b Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 15:09:34 -0400 Subject: [PATCH 10/11] Reverse order in instance creation --- samples/instances.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/instances.js b/samples/instances.js index 7b502ec2a..2a8b3ab37 100644 --- a/samples/instances.js +++ b/samples/instances.js @@ -60,7 +60,7 @@ async function runInstanceOperations(instanceID, clusterID) { }; // Create production instance with given options - const [prodInstance, operation] = + const [operation, prodInstance] = await instanceAdminClient.createInstance(instanceOptions); await operation.promise(); console.log(`Created Instance: ${prodInstance.name}`); From f450e2b8ce73e148067e46ee7b496562fd167844 Mon Sep 17 00:00:00 2001 From: Daniel Bruce Date: Fri, 19 Sep 2025 15:18:03 -0400 Subject: [PATCH 11/11] put operation and instance data in right order --- samples/api-reference-doc-snippets/instance.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/samples/api-reference-doc-snippets/instance.js b/samples/api-reference-doc-snippets/instance.js index e4cc187f1..1752b9e6c 100644 --- a/samples/api-reference-doc-snippets/instance.js +++ b/samples/api-reference-doc-snippets/instance.js @@ -37,8 +37,10 @@ const snippets = { }; // creates a new Instance - const [newInstance, operation] = + const [operation, newInstance] = await instanceAdminClient.createInstance(options); + await operation.promise(); + console.log(`Created Instance: ${newInstance.name}`); // let operations = result[1]; // let apiResponse = result[2]; // [END bigtable_api_create_instance]