Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DLP quickstart + fix incorrect comments #442

Merged
merged 3 commits into from
Aug 4, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions dlp/inspect.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ function inspectString (string, minLikelihood, maxFindings, infoTypes, includeQu
// const string = 'My name is Gary and my email is gary@example.com';

// The minimum likelihood required before returning a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report (0 = server maximum)
// const maxFindings = 0;

// The infoTypes of information to match
// const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME'];
// const infoTypes = [{ name: 'US_MALE_NAME', name: 'US_FEMALE_NAME' }];

// Whether to include the matching string
// const includeQuote = true;
Expand Down Expand Up @@ -91,13 +91,13 @@ function inspectFile (filepath, minLikelihood, maxFindings, infoTypes, includeQu
// const fileName = 'path/to/image.png';

// The minimum likelihood required before returning a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report (0 = server maximum)
// const maxFindings = 0;

// The infoTypes of information to match
// const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME'];
// const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }];

// Whether to include the matching string
// const includeQuote = true;
Expand Down Expand Up @@ -158,13 +158,13 @@ function promiseInspectGCSFile (bucketName, fileName, minLikelihood, maxFindings
// const fileName = 'my-image.png';

// The minimum likelihood required before returning a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report (0 = server maximum)
// const maxFindings = 0;

// The infoTypes of information to match
// const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME'];
// const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }];

// Get reference to the file to be inspected
const storageItems = {
Expand Down Expand Up @@ -232,13 +232,13 @@ function eventInspectGCSFile (bucketName, fileName, minLikelihood, maxFindings,
// const fileName = 'my-image.png';

// The minimum likelihood required before returning a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report (0 = server maximum)
// const maxFindings = 0;

// The infoTypes of information to match
// const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME'];
// const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }];

// Get reference to the file to be inspected
const storageItems = {
Expand Down Expand Up @@ -320,13 +320,13 @@ function inspectDatastore (projectId, namespaceId, kind, minLikelihood, maxFindi
// const kind = 'Person';

// The minimum likelihood required before returning a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report (0 = server maximum)
// const maxFindings = 0;

// The infoTypes of information to match
// const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME'];
// const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }];

// Get reference to the file to be inspected
const storageItems = {
Expand Down
77 changes: 77 additions & 0 deletions dlp/quickstart.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/**
* 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';

// [START quickstart]
// Imports the Google Cloud Data Loss Prevention library
const DLP = require('@google-cloud/dlp');

// Instantiates a client
const dlp = DLP();

// The string to inspect
const string = 'Robert Frost';

// The minimum likelihood required before returning a match
const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report (0 = server maximum)
const maxFindings = 0;

// The infoTypes of information to match
const infoTypes = [
{ name: 'US_MALE_NAME' },
{ name: 'US_FEMALE_NAME' }
];

// Whether to include the matching string
const includeQuote = true;

// Construct items to inspect
const items = [{ type: 'text/plain', value: string }];

// Construct request
const request = {
inspectConfig: {
infoTypes: infoTypes,
minLikelihood: minLikelihood,
maxFindings: maxFindings,
includeQuote: includeQuote
},
items: items
};

// Run request
dlp.inspectContent(request)
.then((response) => {
const findings = response[0].results[0].findings;
if (findings.length > 0) {
console.log(`Findings:`);
findings.forEach((finding) => {
if (includeQuote) {
console.log(`\tQuote: ${finding.quote}`);
}
console.log(`\tInfo type: ${finding.infoType.name}`);
console.log(`\tLikelihood: ${finding.likelihood}`);
});
} else {
console.log(`No findings.`);
}
})
.catch((err) => {
console.error(`Error in inspectString: ${err.message || err}`);
});
// [END quickstart]
8 changes: 4 additions & 4 deletions dlp/redact.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ function redactString (string, replaceString, minLikelihood, infoTypes) {
// const replaceString = 'REDACTED';

// The minimum likelihood required before redacting a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The infoTypes of information to redact
// const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME'];
// const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }];

const items = [{ type: 'text/plain', value: string }];

Expand Down Expand Up @@ -80,10 +80,10 @@ function redactImage (filepath, minLikelihood, infoTypes, outputPath) {
// const fileName = 'path/to/image.png';

// The minimum likelihood required before redacting a match
// const minLikelihood = LIKELIHOOD_UNSPECIFIED;
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The infoTypes of information to redact
// const infoTypes = ['EMAIL_ADDRESS', 'PHONE_NUMBER'];
// const infoTypes = [{ name: 'EMAIL_ADDRESS' }, { name: 'PHONE_NUMBER' }];

// The local path to save the resulting image to.
// const outputPath = 'result.png';
Expand Down
30 changes: 30 additions & 0 deletions dlp/system-test/quickstart.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/**
* 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';

const path = require('path');
const test = require('ava');
const tools = require('@google-cloud/nodejs-repo-tools');

const cmd = 'node quickstart';
const cwd = path.join(__dirname, `..`);

test.before(tools.checkCredentials);

test(`should run`, async (t) => {
const output = await tools.runAsync(cmd, cwd);
t.regex(output, /Info type: US_MALE_NAME/);
});