forked from GoogleCloudPlatform/nodejs-docs-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmetadata.js
More file actions
104 lines (92 loc) · 2.85 KB
/
Copy pathmetadata.js
File metadata and controls
104 lines (92 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/**
* Copyright 2017, Google, Inc.
* 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';
function listInfoTypes (category, languageCode) {
// [START list_info_types]
// Imports the Google Cloud Data Loss Prevention library
const DLP = require('@google-cloud/dlp');
// Instantiates a client
const dlp = DLP();
// The category of info types to list.
// const category = 'CATEGORY_TO_LIST';
// The BCP-47 language code to use, e.g. 'en-US'
// const languageCode = 'en-US';
dlp.listInfoTypes({
category: category,
languageCode: languageCode
})
.then((body) => {
const infoTypes = body[0].infoTypes;
console.log(`Info types for category ${category}:`);
infoTypes.forEach((infoType) => {
console.log(`\t${infoType.name} (${infoType.displayName})`);
});
})
.catch((err) => {
console.log(`Error in listInfoTypes: ${err.message || err}`);
});
// [END list_info_types]
}
function listRootCategories (languageCode) {
// [START list_categories]
// Imports the Google Cloud Data Loss Prevention library
const DLP = require('@google-cloud/dlp');
// Instantiates a client
const dlp = DLP();
// The BCP-47 language code to use, e.g. 'en-US'
// const languageCode = 'en-US';
dlp.listRootCategories({
languageCode: languageCode
})
.then((body) => {
const categories = body[0].categories;
console.log(`Categories:`);
categories.forEach((category) => {
console.log(`\t${category.name}: ${category.displayName}`);
});
})
.catch((err) => {
console.log(`Error in listRootCategories: ${err.message || err}`);
});
// [END list_categories]
}
const cli = require(`yargs`)
.demand(1)
.command(
`infoTypes <category>`,
`List types of sensitive information within a category.`,
{},
(opts) => listInfoTypes(opts.category, opts.languageCode)
)
.command(
`categories`,
`List root categories of sensitive information.`,
{},
(opts) => listRootCategories(opts.languageCode)
)
.option('l', {
alias: 'languageCode',
default: 'en-US',
type: 'string',
global: true
})
.example(`node $0 infoTypes GOVERNMENT`)
.example(`node $0 categories`)
.wrap(120)
.recommendCommands()
.epilogue(`For more information, see https://cloud.google.com/dlp/docs`);
if (module === require.main) {
cli.help().strict().argv; // eslint-disable-line
}