Skip to content

Commit

Permalink
docs: use repo-meta to generate README (#130)
Browse files Browse the repository at this point in the history
  • Loading branch information
JustinBeckwith authored and bcoe committed May 13, 2019
1 parent 18e9d9d commit 7ab65b4
Show file tree
Hide file tree
Showing 3 changed files with 152 additions and 96 deletions.
60 changes: 60 additions & 0 deletions asset/snippets/exportAssets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/**
* Copyright 2018, 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: Export Assets
// description: Export asserts to specified dump file path.
// usage: node exportAssets.js <gs://my-bucket/my-assets.txt>

async function main(dumpFilePath) {
// [START asset_quickstart_export_assets]
const {AssetServiceClient} = require('@google-cloud/asset');
const client = new AssetServiceClient();

async function exportAssets() {
const projectId = await client.getProjectId();
const projectResource = client.projectPath(projectId);

// TODO(developer): choose the dump file path
// const dumpFilePath = 'Dump file path, e.g.: gs://<my_bucket>/<my_asset_file>'

const request = {
parent: projectResource,
outputConfig: {
gcsDestination: {
uri: dumpFilePath,
},
},
};

// Handle the operation using the promise pattern.
const [operation] = await client.exportAssets(request);

// Operation#promise starts polling for the completion of the operation.
const [result] = await operation.promise();

// Do things with with the response.
console.log(result);
}
exportAssets();
// [END asset_quickstart_export_assets]
}

main(...process.argv.slice(2)).catch(err => {
console.error(err.message);
process.exitCode = 1;
});
59 changes: 59 additions & 0 deletions asset/snippets/getBatchAssetHistory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/**
* Copyright 2018, 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: Get Batch Asset History
// description: Batch get history of assets.
// usage: node getBatchAssetHistory "//storage.googleapis.com/<BUCKET_NAME>"

async function main(assetNames) {
// [START asset_quickstart_batch_get_assets_history]
const util = require('util');
const {AssetServiceClient} = require('@google-cloud/asset');

const client = new AssetServiceClient();

async function batchGetAssetsHistory() {
const projectId = await client.getProjectId();
const projectResource = client.projectPath(projectId);
// TODO(developer): Choose asset names, such as //storage.googleapis.com/[YOUR_BUCKET_NAME].
// const assetNames = ['ASSET_NAME1', 'ASSET_NAME2', ...];

const request = {
parent: projectResource,
assetNames: assetNames.split(','),
contentType: 'RESOURCE',
readTimeWindow: {
startTime: {
seconds: Math.floor(new Date().getTime() / 1000),
},
},
};

// Handle the operation using the promise pattern.
const result = await client.batchGetAssetsHistory(request);
// Do things with with the response.
console.log(util.inspect(result, {depth: null}));
// [END asset_quickstart_batch_get_assets_history]
}
batchGetAssetsHistory();
}

main(...process.argv.slice(2)).catch(err => {
console.error(err.message);
process.exitCode = 1;
});
129 changes: 33 additions & 96 deletions asset/snippets/quickstart.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,105 +15,42 @@

'use strict';

async function exportAssets(dumpFilePath) {
// [START asset_quickstart_export_assets]
const {AssetServiceClient} = require('@google-cloud/asset');
const client = new AssetServiceClient({
// optional auth parameters.
});

// Your Google Cloud Platform project ID
const projectId = await client.getProjectId();
const projectResource = client.projectPath(projectId);

// var dumpFilePath = 'Dump file path, e.g.: gs://<my_bucket>/<my_asset_file>'
const outputConfig = {
gcsDestination: {
uri: dumpFilePath,
},
};
const request = {
parent: projectResource,
outputConfig: outputConfig,
};

// Handle the operation using the promise pattern.
const [operation] = await client.exportAssets(request);
// Operation#promise starts polling for the completion of the operation.
const [result] = await operation.promise();
// Do things with with the response.
console.log(result);
// [END asset_quickstart_export_assets]
}
// sample-metadata:
// title: Asset History Quickstart
// description: Batch get history of assets.
// usage: node getBatchAssetHistory "//storage.googleapis.com/<BUCKET_NAME>"

async function batchGetAssetsHistory(assetNames) {
// [START asset_quickstart_batch_get_assets_history]
async function main(assetNames) {
// [START asset_quickstart]
const util = require('util');
const {AssetServiceClient} = require('@google-cloud/asset');
const client = new AssetServiceClient({
// optional auth parameters.
});

// Your Google Cloud Platform project ID
const projectId = await client.getProjectId();
const projectResource = client.projectPath(projectId);
// Your asset names, such as //storage.googleapis.com/[YOUR_BUCKET_NAME].
// var assetNames = ['ASSET_NAME1', 'ASSET_NAME2', ...];

const contentType = 'RESOURCE';
const readTimeWindow = {
startTime: {
seconds: Math.floor(new Date().getTime() / 1000),
},
};

const request = {
parent: projectResource,
assetNames: assetNames,
contentType: contentType,
readTimeWindow: readTimeWindow,
};

// Handle the operation using the promise pattern.
const result = await client.batchGetAssetsHistory(request);
// Do things with with the response.
console.log(util.inspect(result, {depth: null}));
// [END asset_quickstart_batch_get_assets_history]
const client = new AssetServiceClient();

async function quickstart() {
const projectId = await client.getProjectId();
const projectResource = client.projectPath(projectId);
// TODO(developer): Choose asset names, such as //storage.googleapis.com/[YOUR_BUCKET_NAME].
// const assetNames = ['ASSET_NAME1', 'ASSET_NAME2', ...];

const request = {
parent: projectResource,
assetNames: assetNames.split(','),
contentType: 'RESOURCE',
readTimeWindow: {
startTime: {
seconds: Math.floor(new Date().getTime() / 1000),
},
},
};

// Handle the operation using the promise pattern.
const result = await client.batchGetAssetsHistory(request);
// Do things with with the response.
console.log(util.inspect(result, {depth: null}));
// [END asset_quickstart]
}
quickstart();
}

const cli = require('yargs')
.demand(1)
.command(
'export-assets <dumpFilePath>',
'Export asserts to specified dump file path.',
{},
opts => exportAssets(opts.dumpFilePath)
)
.command(
'batch-get-history <assetNames>',
'Batch get history of assets.',
{},
opts => {
const assetNameList = opts.assetNames.split(',');
batchGetAssetsHistory(assetNameList);
}
)
.example(
'node $0 export-assets gs://my-bucket/my-assets.txt',
'Export assets to gs://my-bucket/my-assets.txt.'
)
.example(
'node $0 batch-get-history "//storage.googleapis.com/<BUCKET_NAME>,"',
'Batch get history of assets //storage.googleapis.com/<BUCKET_NAME> etc.'
)
.wrap(10)
.recommendCommands()
.epilogue(
'https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview'
)
.help()
.strict();

if (module === require.main) {
cli.parse(process.argv.slice(2));
}
main(...process.argv.slice(2));

0 comments on commit 7ab65b4

Please sign in to comment.