From 8c8311e9612a99dedd13fee851df56a67c6dd2bf Mon Sep 17 00:00:00 2001 From: Joanna Grycz Date: Thu, 17 Oct 2024 07:45:49 +0200 Subject: [PATCH] feat: tpu_queued_resources_get --- tpu/queuedResource/getQueuedResource.js | 56 +++++++++++++++++++++++++ tpu/test/queuedResource.test.js | 14 +++++++ 2 files changed, 70 insertions(+) create mode 100644 tpu/queuedResource/getQueuedResource.js diff --git a/tpu/queuedResource/getQueuedResource.js b/tpu/queuedResource/getQueuedResource.js new file mode 100644 index 00000000000..7a84ed467e8 --- /dev/null +++ b/tpu/queuedResource/getQueuedResource.js @@ -0,0 +1,56 @@ +/* + * Copyright 2024 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict'; + +async function main(queuedResourceName, zone) { + // [START tpu_queued_resources_get] + // Import the TPU library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiate a tpuClient + const tpuClient = new TpuClient(); + + /** + * TODO(developer): Update/uncomment these variables before running the sample. + */ + // Project ID or project number of the Google Cloud project, where you want to retrive node. + const projectId = await tpuClient.getProjectId(); + + // The name of queued resource. + // queuedResourceName = 'queued-resource-1'; + + // The zone of your queued resource. + // zone = 'europe-west4-a'; + + async function callGetQueuedResource() { + const request = { + name: `projects/${projectId}/locations/${zone}/queuedResources/${queuedResourceName}`, + }; + + const [response] = await tpuClient.getQueuedResource(request); + + console.log(JSON.stringify(response)); + console.log(`Queued resource ${queuedResourceName} retrived.`); + } + await callGetQueuedResource(); + // [END tpu_queued_resources_get] +} + +main(...process.argv.slice(2)).catch(err => { + console.error(err); + process.exitCode = 1; +}); diff --git a/tpu/test/queuedResource.test.js b/tpu/test/queuedResource.test.js index 3e1649be0a5..5aa3171a049 100644 --- a/tpu/test/queuedResource.test.js +++ b/tpu/test/queuedResource.test.js @@ -39,9 +39,23 @@ describe('TPU queued resource', async () => { cwd, } ); + assert(response.includes(`Queued resource ${queuedResourceName} created.`)); }); + it('should return requested queued resource', () => { + const response = execSync( + `node ./queuedResource/getQueuedResource.js ${queuedResourceName} ${zone}`, + { + cwd, + } + ); + + assert( + response.includes(`Queued resource ${queuedResourceName} retrived.`) + ); + }); + it('should force queued resource deletion', () => { const response = execSync( `node ./queuedResource/forceDeleteQueuedResource.js ${queuedResourceName} ${zone}`,