Skip to content
This repository has been archived by the owner on Jul 13, 2023. It is now read-only.

Commit

Permalink
feat(samples): add sample code for ListAssets v1p5beta1 (#355)
Browse files Browse the repository at this point in the history
  • Loading branch information
Larittic-GG authored Jul 8, 2020
1 parent 3ff2b6f commit 1f4cef8
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
58 changes: 58 additions & 0 deletions samples/listAssets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Copyright 2020 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
//
// http://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';

// sample-metadata:
// title: List Assets
// description: List assets under the current project.
// usage: node listAssets <ASSET_TYPES>
// example: node listAssets "storage.googleapis.com/Bucket,bigquery.googleapis.com/Table"

async function main(assetTypes) {
// [START asset_quickstart_list_assets]
const util = require('util');
const {v1p5beta1} = require('@google-cloud/asset');
const client = new v1p5beta1.AssetServiceClient();

const projectId = await client.getProjectId();
const projectResource = `projects/${projectId}`;
// TODO(developer): Choose types of assets to list, such as 'storage.googleapis.com/Bucket':
// const assetTypes = 'storage.googleapis.com/Bucket,bigquery.googleapis.com/Table';
// Or simply use empty string to list all types of assets:
// const assetTypes = '';
const assetTypesList = assetTypes ? assetTypes.split(',') : [];

async function listAssets() {
const request = {
parent: projectResource,
assetTypes: assetTypesList,
contentType: 'RESOURCE',
// (Optional) Add readTime parameter to list assets at the given time instead of current time:
// readTime: { seconds: 1593988758 },
};

// Call cloud.assets.v1p5beta1.ListAssets API.
const result = await client.listAssets(request);
// Handle the response.
console.log(util.inspect(result, {depth: null}));
}
listAssets();
// [END asset_quickstart_list_assets]
}

main(...process.argv.slice(2)).catch(err => {
console.error(err.message);
process.exitCode = 1;
});
6 changes: 6 additions & 0 deletions samples/test/sample.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,10 @@ describe('quickstart sample tests', () => {
const stdout = execSync(`node searchAllIamPolicies '' ${query}`);
assert.include(stdout, 'roles/owner');
});

it('should list assets successfully', async () => {
const assetType = 'storage.googleapis.com/Bucket';
const stdout = execSync(`node listAssets ${assetType}`);
assert.include(stdout, assetType);
});
});

0 comments on commit 1f4cef8

Please sign in to comment.