Index: generated/googleapis_beta/lib/dlp/v2beta1.dart |
diff --git a/generated/googleapis_beta/lib/dlp/v2beta1.dart b/generated/googleapis_beta/lib/dlp/v2beta1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cb3426324623fa7ffd4631c8792800fa540b0d47 |
--- /dev/null |
+++ b/generated/googleapis_beta/lib/dlp/v2beta1.dart |
@@ -0,0 +1,1968 @@ |
+// This is a generated file (see the discoveryapis_generator project). |
+ |
+library googleapis_beta.dlp.v2beta1; |
+ |
+import 'dart:core' as core; |
+import 'dart:async' as async; |
+import 'dart:convert' as convert; |
+ |
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
+import 'package:http/http.dart' as http; |
+ |
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show |
+ ApiRequestError, DetailedApiRequestError; |
+ |
+const core.String USER_AGENT = 'dart-api-client dlp/v2beta1'; |
+ |
+/** |
+ * The Google Data Loss Prevention API provides methods for detection of |
+ * privacy-sensitive fragments in text, images, and Google Cloud Platform |
+ * storage repositories. |
+ */ |
+class DlpApi { |
+ /** View and manage your data across Google Cloud Platform services */ |
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"; |
+ |
+ |
+ final commons.ApiRequester _requester; |
+ |
+ ContentResourceApi get content => new ContentResourceApi(_requester); |
+ InspectResourceApi get inspect => new InspectResourceApi(_requester); |
+ RootCategoriesResourceApi get rootCategories => new RootCategoriesResourceApi(_requester); |
+ |
+ DlpApi(http.Client client, {core.String rootUrl: "https://dlp.googleapis.com/", core.String servicePath: ""}) : |
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
+} |
+ |
+ |
+class ContentResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ ContentResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Find potentially sensitive info in a list of strings. |
+ * This method has limits on input size, processing time, and output size. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [InspectContentResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<InspectContentResponse> inspect(InspectContentRequest request) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ |
+ _url = 'v2beta1/content:inspect'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new InspectContentResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Redact potentially sensitive info from a list of strings. |
+ * This method has limits on input size, processing time, and output size. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [RedactContentResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<RedactContentResponse> redact(RedactContentRequest request) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ |
+ _url = 'v2beta1/content:redact'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new RedactContentResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+class InspectResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ InspectOperationsResourceApi get operations => new InspectOperationsResourceApi(_requester); |
+ InspectResultsResourceApi get results => new InspectResultsResourceApi(_requester); |
+ |
+ InspectResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+} |
+ |
+ |
+class InspectOperationsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ InspectOperationsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Cancels an operation. Use the get method to check whether the cancellation |
+ * succeeded or whether the operation completed despite cancellation. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The name of the operation resource to be cancelled. |
+ * Value must have pattern "^inspect/operations/[^/]+$". |
+ * |
+ * Completes with a [Empty]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Empty> cancel(CancelOperationRequest request, core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name') + ':cancel'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Empty.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Schedule a job scanning content in a Google Cloud Platform data repository. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [Operation]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Operation> create(CreateInspectOperationRequest request) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ |
+ _url = 'v2beta1/inspect/operations'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Operation.fromJson(data)); |
+ } |
+ |
+ /** |
+ * This method is not supported and the server returns `UNIMPLEMENTED`. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The name of the operation resource to be deleted. |
+ * Value must have pattern "^inspect/operations/[^/]+$". |
+ * |
+ * Completes with a [Empty]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Empty> delete(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Empty.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Gets the latest state of a long-running operation. Clients can use this |
+ * method to poll the operation result at intervals as recommended by the API |
+ * service. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The name of the operation resource. |
+ * Value must have pattern "^inspect/operations/[^/]+$". |
+ * |
+ * Completes with a [Operation]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Operation> get(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Operation.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists operations that match the specified filter in the request. If the |
+ * server doesn't support this method, it returns `UNIMPLEMENTED`. |
+ * |
+ * NOTE: the `name` binding below allows API services to override the binding |
+ * to use different resource name schemes, such as `users / * /operations`. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The name of the operation collection. |
+ * Value must have pattern "^inspect/operations$". |
+ * |
+ * [pageSize] - The list page size. The max allowed value is 256 and default |
+ * is 100. |
+ * |
+ * [filter] - This parameter supports filtering by done, ie done=true or |
+ * done=false. |
+ * |
+ * [pageToken] - The list page token. |
+ * |
+ * Completes with a [ListOperationsResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListOperationsResponse> list(core.String name, {core.int pageSize, core.String filter, core.String pageToken}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ if (pageSize != null) { |
+ _queryParams["pageSize"] = ["${pageSize}"]; |
+ } |
+ if (filter != null) { |
+ _queryParams["filter"] = [filter]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListOperationsResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+class InspectResultsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ InspectResultsFindingsResourceApi get findings => new InspectResultsFindingsResourceApi(_requester); |
+ |
+ InspectResultsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+} |
+ |
+ |
+class InspectResultsFindingsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ InspectResultsFindingsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns list of results for given inspect operation result set id. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - Identifier of the results set returned as metadata of |
+ * the longrunning operation created by a call to CreateInspectOperation. |
+ * Should be in the format of `inspect/results/{id}. |
+ * Value must have pattern "^inspect/results/[^/]+$". |
+ * |
+ * [pageToken] - The value returned by the last `ListInspectFindingsResponse`; |
+ * indicates |
+ * that this is a continuation of a prior `ListInspectFindings` call, and that |
+ * the system should return the next page of data. |
+ * |
+ * [pageSize] - Maximum number of results to return. |
+ * If 0, the implementation will select a reasonable value. |
+ * |
+ * Completes with a [ListInspectFindingsResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListInspectFindingsResponse> list(core.String name, {core.String pageToken, core.int pageSize}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (pageSize != null) { |
+ _queryParams["pageSize"] = ["${pageSize}"]; |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name') + '/findings'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListInspectFindingsResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+class RootCategoriesResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ RootCategoriesInfoTypesResourceApi get infoTypes => new RootCategoriesInfoTypesResourceApi(_requester); |
+ |
+ RootCategoriesResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns the list of root categories of sensitive information. |
+ * |
+ * Request parameters: |
+ * |
+ * [languageCode] - Optional language code for localized friendly category |
+ * names. |
+ * If omitted or if localized strings are not available, |
+ * en-US strings will be returned. |
+ * |
+ * Completes with a [ListRootCategoriesResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListRootCategoriesResponse> list({core.String languageCode}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (languageCode != null) { |
+ _queryParams["languageCode"] = [languageCode]; |
+ } |
+ |
+ _url = 'v2beta1/rootCategories'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListRootCategoriesResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+class RootCategoriesInfoTypesResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ RootCategoriesInfoTypesResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns sensitive information types for given category. |
+ * |
+ * Request parameters: |
+ * |
+ * [category] - Category name as returned by ListRootCategories. |
+ * Value must have pattern "^[^/]+$". |
+ * |
+ * [languageCode] - Optional BCP-47 language code for localized info type |
+ * friendly |
+ * names. If omitted, or if localized strings are not available, |
+ * en-US strings will be returned. |
+ * |
+ * Completes with a [ListInfoTypesResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListInfoTypesResponse> list(core.String category, {core.String languageCode}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (category == null) { |
+ throw new core.ArgumentError("Parameter category is required."); |
+ } |
+ if (languageCode != null) { |
+ _queryParams["languageCode"] = [languageCode]; |
+ } |
+ |
+ _url = 'v2beta1/rootCategories/' + commons.Escaper.ecapeVariableReserved('$category') + '/infoTypes'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListInfoTypesResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** The request message for Operations.CancelOperation. */ |
+class CancelOperationRequest { |
+ |
+ CancelOperationRequest(); |
+ |
+ CancelOperationRequest.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ return _json; |
+ } |
+} |
+ |
+/** Info Type Category description. */ |
+class CategoryDescription { |
+ /** Human readable form of the category name. */ |
+ core.String displayName; |
+ /** Internal name of the category. */ |
+ core.String name; |
+ |
+ CategoryDescription(); |
+ |
+ CategoryDescription.fromJson(core.Map _json) { |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Record key for a finding in a Cloud Storage file. */ |
+class CloudStorageKey { |
+ /** Path to the file. */ |
+ core.String filePath; |
+ /** Byte offset of the referenced data in the file. */ |
+ core.String startOffset; |
+ |
+ CloudStorageKey(); |
+ |
+ CloudStorageKey.fromJson(core.Map _json) { |
+ if (_json.containsKey("filePath")) { |
+ filePath = _json["filePath"]; |
+ } |
+ if (_json.containsKey("startOffset")) { |
+ startOffset = _json["startOffset"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (filePath != null) { |
+ _json["filePath"] = filePath; |
+ } |
+ if (startOffset != null) { |
+ _json["startOffset"] = startOffset; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Options defining a file or a set of files (path ending with *) within |
+ * a Google Cloud Storage bucket. |
+ */ |
+class CloudStorageOptions { |
+ FileSet fileSet; |
+ |
+ CloudStorageOptions(); |
+ |
+ CloudStorageOptions.fromJson(core.Map _json) { |
+ if (_json.containsKey("fileSet")) { |
+ fileSet = new FileSet.fromJson(_json["fileSet"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (fileSet != null) { |
+ _json["fileSet"] = (fileSet).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Container structure for the content to inspect. */ |
+class ContentItem { |
+ /** Content data to inspect or redact. */ |
+ core.String data; |
+ core.List<core.int> get dataAsBytes { |
+ return convert.BASE64.decode(data); |
+ } |
+ |
+ void set dataAsBytes(core.List<core.int> _bytes) { |
+ data = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
+ } |
+ /** |
+ * Type of the content, as defined in Content-Type HTTP header. |
+ * Supported types are: all "text" types, octet streams, PNG images, |
+ * JPEG images. |
+ */ |
+ core.String type; |
+ /** String data to inspect or redact. */ |
+ core.String value; |
+ |
+ ContentItem(); |
+ |
+ ContentItem.fromJson(core.Map _json) { |
+ if (_json.containsKey("data")) { |
+ data = _json["data"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("value")) { |
+ value = _json["value"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (data != null) { |
+ _json["data"] = data; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (value != null) { |
+ _json["value"] = value; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Request for scheduling a scan of a data subset from a Google Platform data |
+ * repository. |
+ */ |
+class CreateInspectOperationRequest { |
+ /** Configuration for the inspector. */ |
+ InspectConfig inspectConfig; |
+ /** Specification of the data set to process. */ |
+ StorageConfig storageConfig; |
+ |
+ CreateInspectOperationRequest(); |
+ |
+ CreateInspectOperationRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("inspectConfig")) { |
+ inspectConfig = new InspectConfig.fromJson(_json["inspectConfig"]); |
+ } |
+ if (_json.containsKey("storageConfig")) { |
+ storageConfig = new StorageConfig.fromJson(_json["storageConfig"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (inspectConfig != null) { |
+ _json["inspectConfig"] = (inspectConfig).toJson(); |
+ } |
+ if (storageConfig != null) { |
+ _json["storageConfig"] = (storageConfig).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Record key for a finding in Cloud Datastore. */ |
+class DatastoreKey { |
+ /** Datastore entity key. */ |
+ Key entityKey; |
+ |
+ DatastoreKey(); |
+ |
+ DatastoreKey.fromJson(core.Map _json) { |
+ if (_json.containsKey("entityKey")) { |
+ entityKey = new Key.fromJson(_json["entityKey"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (entityKey != null) { |
+ _json["entityKey"] = (entityKey).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Options defining a data set within Google Cloud Datastore. */ |
+class DatastoreOptions { |
+ /** The kind to process. */ |
+ KindExpression kind; |
+ /** |
+ * A partition ID identifies a grouping of entities. The grouping is always |
+ * by project and namespace, however the namespace ID may be empty. |
+ */ |
+ PartitionId partitionId; |
+ /** |
+ * Properties to scan. If none are specified, all properties will be scanned |
+ * by default. |
+ */ |
+ core.List<Projection> projection; |
+ |
+ DatastoreOptions(); |
+ |
+ DatastoreOptions.fromJson(core.Map _json) { |
+ if (_json.containsKey("kind")) { |
+ kind = new KindExpression.fromJson(_json["kind"]); |
+ } |
+ if (_json.containsKey("partitionId")) { |
+ partitionId = new PartitionId.fromJson(_json["partitionId"]); |
+ } |
+ if (_json.containsKey("projection")) { |
+ projection = _json["projection"].map((value) => new Projection.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kind != null) { |
+ _json["kind"] = (kind).toJson(); |
+ } |
+ if (partitionId != null) { |
+ _json["partitionId"] = (partitionId).toJson(); |
+ } |
+ if (projection != null) { |
+ _json["projection"] = projection.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A generic empty message that you can re-use to avoid defining duplicated |
+ * empty messages in your APIs. A typical example is to use it as the request |
+ * or the response type of an API method. For instance: |
+ * |
+ * service Foo { |
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); |
+ * } |
+ * |
+ * The JSON representation for `Empty` is empty JSON object `{}`. |
+ */ |
+class Empty { |
+ |
+ Empty(); |
+ |
+ Empty.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ return _json; |
+ } |
+} |
+ |
+/** General identifier of a data field in a storage service. */ |
+class FieldId { |
+ /** Column name describing the field. */ |
+ core.String columnName; |
+ |
+ FieldId(); |
+ |
+ FieldId.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnName")) { |
+ columnName = _json["columnName"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnName != null) { |
+ _json["columnName"] = columnName; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Set of files to scan. */ |
+class FileSet { |
+ /** |
+ * The url, in the format gs://<bucket>/<path>. Trailing wildcard in the |
+ * path is allowed. |
+ */ |
+ core.String url; |
+ |
+ FileSet(); |
+ |
+ FileSet.fromJson(core.Map _json) { |
+ if (_json.containsKey("url")) { |
+ url = _json["url"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (url != null) { |
+ _json["url"] = url; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Container structure describing a single finding within a string or image. |
+ */ |
+class Finding { |
+ /** Timestamp when finding was detected. */ |
+ core.String createTime; |
+ /** The specific type of info the string might be. */ |
+ InfoType infoType; |
+ /** |
+ * Estimate of how likely it is that the info_type is correct. |
+ * Possible string values are: |
+ * - "LIKELIHOOD_UNSPECIFIED" : Default value; information with all |
+ * likelihoods will be included. |
+ * - "VERY_UNLIKELY" : Few matching elements. |
+ * - "UNLIKELY" |
+ * - "POSSIBLE" : Some matching elements. |
+ * - "LIKELY" |
+ * - "VERY_LIKELY" : Many matching elements. |
+ */ |
+ core.String likelihood; |
+ /** Location of the info found. */ |
+ Location location; |
+ /** The specific string that may be potentially sensitive info. */ |
+ core.String quote; |
+ |
+ Finding(); |
+ |
+ Finding.fromJson(core.Map _json) { |
+ if (_json.containsKey("createTime")) { |
+ createTime = _json["createTime"]; |
+ } |
+ if (_json.containsKey("infoType")) { |
+ infoType = new InfoType.fromJson(_json["infoType"]); |
+ } |
+ if (_json.containsKey("likelihood")) { |
+ likelihood = _json["likelihood"]; |
+ } |
+ if (_json.containsKey("location")) { |
+ location = new Location.fromJson(_json["location"]); |
+ } |
+ if (_json.containsKey("quote")) { |
+ quote = _json["quote"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (createTime != null) { |
+ _json["createTime"] = createTime; |
+ } |
+ if (infoType != null) { |
+ _json["infoType"] = (infoType).toJson(); |
+ } |
+ if (likelihood != null) { |
+ _json["likelihood"] = likelihood; |
+ } |
+ if (location != null) { |
+ _json["location"] = (location).toJson(); |
+ } |
+ if (quote != null) { |
+ _json["quote"] = quote; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Bounding box encompassing detected text within an image. */ |
+class ImageLocation { |
+ /** Height of the bounding box in pixels. */ |
+ core.int height; |
+ /** Left coordinate of the bounding box. (0,0) is upper left. */ |
+ core.int left; |
+ /** Top coordinate of the bounding box. (0,0) is upper left. */ |
+ core.int top; |
+ /** Width of the bounding box in pixels. */ |
+ core.int width; |
+ |
+ ImageLocation(); |
+ |
+ ImageLocation.fromJson(core.Map _json) { |
+ if (_json.containsKey("height")) { |
+ height = _json["height"]; |
+ } |
+ if (_json.containsKey("left")) { |
+ left = _json["left"]; |
+ } |
+ if (_json.containsKey("top")) { |
+ top = _json["top"]; |
+ } |
+ if (_json.containsKey("width")) { |
+ width = _json["width"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (height != null) { |
+ _json["height"] = height; |
+ } |
+ if (left != null) { |
+ _json["left"] = left; |
+ } |
+ if (top != null) { |
+ _json["top"] = top; |
+ } |
+ if (width != null) { |
+ _json["width"] = width; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Type of information detected by the API. */ |
+class InfoType { |
+ /** Name of the information type, provided by the API call ListInfoTypes. */ |
+ core.String name; |
+ |
+ InfoType(); |
+ |
+ InfoType.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Info type description. */ |
+class InfoTypeDescription { |
+ /** List of categories this info type belongs to. */ |
+ core.List<CategoryDescription> categories; |
+ /** Human readable form of the info type name. */ |
+ core.String displayName; |
+ /** Internal name of the info type. */ |
+ core.String name; |
+ |
+ InfoTypeDescription(); |
+ |
+ InfoTypeDescription.fromJson(core.Map _json) { |
+ if (_json.containsKey("categories")) { |
+ categories = _json["categories"].map((value) => new CategoryDescription.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (categories != null) { |
+ _json["categories"] = categories.map((value) => (value).toJson()).toList(); |
+ } |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Configuration description of the scanning process. |
+ * When used with redactContent only info_types and min_likelihood are currently |
+ * used. |
+ */ |
+class InspectConfig { |
+ /** When true, exclude type information of the findings. */ |
+ core.bool excludeTypes; |
+ /** |
+ * When true, a contextual quote from the data that triggered a finding will |
+ * be included in the response; see Finding.quote. |
+ */ |
+ core.bool includeQuote; |
+ /** |
+ * Restrict what info_types to look for. The values must correspond to |
+ * InfoType values returned by ListInfoTypes or found in documentation. |
+ * Empty info_types runs all enabled detectors. |
+ */ |
+ core.List<InfoType> infoTypes; |
+ /** Limit the number of findings per content item. */ |
+ core.int maxFindings; |
+ /** |
+ * Only return findings equal or above this threshold. |
+ * Possible string values are: |
+ * - "LIKELIHOOD_UNSPECIFIED" : Default value; information with all |
+ * likelihoods will be included. |
+ * - "VERY_UNLIKELY" : Few matching elements. |
+ * - "UNLIKELY" |
+ * - "POSSIBLE" : Some matching elements. |
+ * - "LIKELY" |
+ * - "VERY_LIKELY" : Many matching elements. |
+ */ |
+ core.String minLikelihood; |
+ |
+ InspectConfig(); |
+ |
+ InspectConfig.fromJson(core.Map _json) { |
+ if (_json.containsKey("excludeTypes")) { |
+ excludeTypes = _json["excludeTypes"]; |
+ } |
+ if (_json.containsKey("includeQuote")) { |
+ includeQuote = _json["includeQuote"]; |
+ } |
+ if (_json.containsKey("infoTypes")) { |
+ infoTypes = _json["infoTypes"].map((value) => new InfoType.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("maxFindings")) { |
+ maxFindings = _json["maxFindings"]; |
+ } |
+ if (_json.containsKey("minLikelihood")) { |
+ minLikelihood = _json["minLikelihood"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (excludeTypes != null) { |
+ _json["excludeTypes"] = excludeTypes; |
+ } |
+ if (includeQuote != null) { |
+ _json["includeQuote"] = includeQuote; |
+ } |
+ if (infoTypes != null) { |
+ _json["infoTypes"] = infoTypes.map((value) => (value).toJson()).toList(); |
+ } |
+ if (maxFindings != null) { |
+ _json["maxFindings"] = maxFindings; |
+ } |
+ if (minLikelihood != null) { |
+ _json["minLikelihood"] = minLikelihood; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Request to search for potentially sensitive info in a list of items. */ |
+class InspectContentRequest { |
+ /** Configuration for the inspector. */ |
+ InspectConfig inspectConfig; |
+ /** |
+ * The list of items to inspect. Items in a single request are |
+ * considered "related" unless inspect_config.independent_inputs is true. |
+ * Up to 100 are allowed per request. |
+ */ |
+ core.List<ContentItem> items; |
+ |
+ InspectContentRequest(); |
+ |
+ InspectContentRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("inspectConfig")) { |
+ inspectConfig = new InspectConfig.fromJson(_json["inspectConfig"]); |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new ContentItem.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (inspectConfig != null) { |
+ _json["inspectConfig"] = (inspectConfig).toJson(); |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Results of inspecting a list of items. */ |
+class InspectContentResponse { |
+ /** |
+ * Each content_item from the request will have a result in this list, in the |
+ * same order as the request. |
+ */ |
+ core.List<InspectResult> results; |
+ |
+ InspectContentResponse(); |
+ |
+ InspectContentResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("results")) { |
+ results = _json["results"].map((value) => new InspectResult.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (results != null) { |
+ _json["results"] = results.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** All the findings for a single scanned item. */ |
+class InspectResult { |
+ /** List of findings for an item. */ |
+ core.List<Finding> findings; |
+ /** |
+ * If true, then this item might have more findings than were returned, |
+ * and the findings returned are an arbitrary subset of all findings. |
+ * The findings list might be truncated because the input items were too |
+ * large, or because the server reached the maximum amount of resources |
+ * allowed for a single API call. For best results, divide the input into |
+ * smaller batches. |
+ */ |
+ core.bool findingsTruncated; |
+ |
+ InspectResult(); |
+ |
+ InspectResult.fromJson(core.Map _json) { |
+ if (_json.containsKey("findings")) { |
+ findings = _json["findings"].map((value) => new Finding.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("findingsTruncated")) { |
+ findingsTruncated = _json["findingsTruncated"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (findings != null) { |
+ _json["findings"] = findings.map((value) => (value).toJson()).toList(); |
+ } |
+ if (findingsTruncated != null) { |
+ _json["findingsTruncated"] = findingsTruncated; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A unique identifier for a Datastore entity. |
+ * If a key's partition ID or any of its path kinds or names are |
+ * reserved/read-only, the key is reserved/read-only. |
+ * A reserved/read-only key is forbidden in certain documented contexts. |
+ */ |
+class Key { |
+ /** |
+ * Entities are partitioned into subsets, currently identified by a project |
+ * ID and namespace ID. |
+ * Queries are scoped to a single partition. |
+ */ |
+ PartitionId partitionId; |
+ /** |
+ * The entity path. |
+ * An entity path consists of one or more elements composed of a kind and a |
+ * string or numerical identifier, which identify entities. The first |
+ * element identifies a _root entity_, the second element identifies |
+ * a _child_ of the root entity, the third element identifies a child of the |
+ * second entity, and so forth. The entities identified by all prefixes of |
+ * the path are called the element's _ancestors_. |
+ * |
+ * A path can never be empty, and a path can have at most 100 elements. |
+ */ |
+ core.List<PathElement> path; |
+ |
+ Key(); |
+ |
+ Key.fromJson(core.Map _json) { |
+ if (_json.containsKey("partitionId")) { |
+ partitionId = new PartitionId.fromJson(_json["partitionId"]); |
+ } |
+ if (_json.containsKey("path")) { |
+ path = _json["path"].map((value) => new PathElement.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (partitionId != null) { |
+ _json["partitionId"] = (partitionId).toJson(); |
+ } |
+ if (path != null) { |
+ _json["path"] = path.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** A representation of a Datastore kind. */ |
+class KindExpression { |
+ /** The name of the kind. */ |
+ core.String name; |
+ |
+ KindExpression(); |
+ |
+ KindExpression.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Response to the ListInfoTypes request. */ |
+class ListInfoTypesResponse { |
+ /** Set of sensitive info types belonging to a category. */ |
+ core.List<InfoTypeDescription> infoTypes; |
+ |
+ ListInfoTypesResponse(); |
+ |
+ ListInfoTypesResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("infoTypes")) { |
+ infoTypes = _json["infoTypes"].map((value) => new InfoTypeDescription.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (infoTypes != null) { |
+ _json["infoTypes"] = infoTypes.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Response to the ListInspectFindings request. */ |
+class ListInspectFindingsResponse { |
+ /** |
+ * If not empty, indicates that there may be more results that match the |
+ * request; this value should be passed in a new `ListInspectFindingsRequest`. |
+ */ |
+ core.String nextPageToken; |
+ /** The results. */ |
+ InspectResult result; |
+ |
+ ListInspectFindingsResponse(); |
+ |
+ ListInspectFindingsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("result")) { |
+ result = new InspectResult.fromJson(_json["result"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (result != null) { |
+ _json["result"] = (result).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The response message for Operations.ListOperations. */ |
+class ListOperationsResponse { |
+ /** The standard List next-page token. */ |
+ core.String nextPageToken; |
+ /** A list of operations that matches the specified filter in the request. */ |
+ core.List<Operation> operations; |
+ |
+ ListOperationsResponse(); |
+ |
+ ListOperationsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("operations")) { |
+ operations = _json["operations"].map((value) => new Operation.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (operations != null) { |
+ _json["operations"] = operations.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Response for ListRootCategories request. */ |
+class ListRootCategoriesResponse { |
+ /** List of all into type categories supported by the API. */ |
+ core.List<CategoryDescription> categories; |
+ |
+ ListRootCategoriesResponse(); |
+ |
+ ListRootCategoriesResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("categories")) { |
+ categories = _json["categories"].map((value) => new CategoryDescription.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (categories != null) { |
+ _json["categories"] = categories.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Specifies the location of a finding within its source item. */ |
+class Location { |
+ /** Zero-based byte offsets within a content item. */ |
+ Range byteRange; |
+ /** |
+ * Character offsets within a content item, included when content type |
+ * is a text. Default charset assumed to be UTF-8. |
+ */ |
+ Range codepointRange; |
+ /** Field id of the field containing the finding. */ |
+ FieldId fieldId; |
+ /** Location within an image's pixels. */ |
+ core.List<ImageLocation> imageBoxes; |
+ /** Key of the finding. */ |
+ RecordKey recordKey; |
+ |
+ Location(); |
+ |
+ Location.fromJson(core.Map _json) { |
+ if (_json.containsKey("byteRange")) { |
+ byteRange = new Range.fromJson(_json["byteRange"]); |
+ } |
+ if (_json.containsKey("codepointRange")) { |
+ codepointRange = new Range.fromJson(_json["codepointRange"]); |
+ } |
+ if (_json.containsKey("fieldId")) { |
+ fieldId = new FieldId.fromJson(_json["fieldId"]); |
+ } |
+ if (_json.containsKey("imageBoxes")) { |
+ imageBoxes = _json["imageBoxes"].map((value) => new ImageLocation.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("recordKey")) { |
+ recordKey = new RecordKey.fromJson(_json["recordKey"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (byteRange != null) { |
+ _json["byteRange"] = (byteRange).toJson(); |
+ } |
+ if (codepointRange != null) { |
+ _json["codepointRange"] = (codepointRange).toJson(); |
+ } |
+ if (fieldId != null) { |
+ _json["fieldId"] = (fieldId).toJson(); |
+ } |
+ if (imageBoxes != null) { |
+ _json["imageBoxes"] = imageBoxes.map((value) => (value).toJson()).toList(); |
+ } |
+ if (recordKey != null) { |
+ _json["recordKey"] = (recordKey).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * This resource represents a long-running operation that is the result of a |
+ * network API call. |
+ */ |
+class Operation { |
+ /** |
+ * If the value is `false`, it means the operation is still in progress. |
+ * If true, the operation is completed, and either `error` or `response` is |
+ * available. |
+ */ |
+ core.bool done; |
+ /** The error result of the operation in case of failure or cancellation. */ |
+ Status error; |
+ /** |
+ * This field will contain an `InspectOperationMetdata` object. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.Map<core.String, core.Object> metadata; |
+ /** |
+ * The server-assigned name, The `name` should have the format of |
+ * `inspect/operations/<identifier>`. |
+ */ |
+ core.String name; |
+ /** |
+ * This field will contain an `InspectOperationResult` object. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.Map<core.String, core.Object> response; |
+ |
+ Operation(); |
+ |
+ Operation.fromJson(core.Map _json) { |
+ if (_json.containsKey("done")) { |
+ done = _json["done"]; |
+ } |
+ if (_json.containsKey("error")) { |
+ error = new Status.fromJson(_json["error"]); |
+ } |
+ if (_json.containsKey("metadata")) { |
+ metadata = _json["metadata"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("response")) { |
+ response = _json["response"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (done != null) { |
+ _json["done"] = done; |
+ } |
+ if (error != null) { |
+ _json["error"] = (error).toJson(); |
+ } |
+ if (metadata != null) { |
+ _json["metadata"] = metadata; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (response != null) { |
+ _json["response"] = response; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Datastore partition ID. |
+ * A partition ID identifies a grouping of entities. The grouping is always |
+ * by project and namespace, however the namespace ID may be empty. |
+ * |
+ * A partition ID contains several dimensions: |
+ * project ID and namespace ID. |
+ */ |
+class PartitionId { |
+ /** |
+ * If not empty, the ID of the database to which the entities |
+ * belong. |
+ */ |
+ core.String databaseId; |
+ /** If not empty, the ID of the namespace to which the entities belong. */ |
+ core.String namespaceId; |
+ /** The ID of the project to which the entities belong. */ |
+ core.String projectId; |
+ |
+ PartitionId(); |
+ |
+ PartitionId.fromJson(core.Map _json) { |
+ if (_json.containsKey("databaseId")) { |
+ databaseId = _json["databaseId"]; |
+ } |
+ if (_json.containsKey("namespaceId")) { |
+ namespaceId = _json["namespaceId"]; |
+ } |
+ if (_json.containsKey("projectId")) { |
+ projectId = _json["projectId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (databaseId != null) { |
+ _json["databaseId"] = databaseId; |
+ } |
+ if (namespaceId != null) { |
+ _json["namespaceId"] = namespaceId; |
+ } |
+ if (projectId != null) { |
+ _json["projectId"] = projectId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A (kind, ID/name) pair used to construct a key path. |
+ * |
+ * If either name or ID is set, the element is complete. |
+ * If neither is set, the element is incomplete. |
+ */ |
+class PathElement { |
+ /** |
+ * The auto-allocated ID of the entity. |
+ * Never equal to zero. Values less than zero are discouraged and may not |
+ * be supported in the future. |
+ */ |
+ core.String id; |
+ /** |
+ * The kind of the entity. |
+ * A kind matching regex `__.*__` is reserved/read-only. |
+ * A kind must not contain more than 1500 bytes when UTF-8 encoded. |
+ * Cannot be `""`. |
+ */ |
+ core.String kind; |
+ /** |
+ * The name of the entity. |
+ * A name matching regex `__.*__` is reserved/read-only. |
+ * A name must not be more than 1500 bytes when UTF-8 encoded. |
+ * Cannot be `""`. |
+ */ |
+ core.String name; |
+ |
+ PathElement(); |
+ |
+ PathElement.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** A representation of a Datastore property in a projection. */ |
+class Projection { |
+ /** The property to project. */ |
+ PropertyReference property; |
+ |
+ Projection(); |
+ |
+ Projection.fromJson(core.Map _json) { |
+ if (_json.containsKey("property")) { |
+ property = new PropertyReference.fromJson(_json["property"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (property != null) { |
+ _json["property"] = (property).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** A reference to a property relative to the Datastore kind expressions. */ |
+class PropertyReference { |
+ /** |
+ * The name of the property. |
+ * If name includes "."s, it may be interpreted as a property name path. |
+ */ |
+ core.String name; |
+ |
+ PropertyReference(); |
+ |
+ PropertyReference.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Generic half-open interval [start, end) */ |
+class Range { |
+ /** Index of the last character of the range (exclusive). */ |
+ core.String end; |
+ /** Index of the first character of the range (inclusive). */ |
+ core.String start; |
+ |
+ Range(); |
+ |
+ Range.fromJson(core.Map _json) { |
+ if (_json.containsKey("end")) { |
+ end = _json["end"]; |
+ } |
+ if (_json.containsKey("start")) { |
+ start = _json["start"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (end != null) { |
+ _json["end"] = end; |
+ } |
+ if (start != null) { |
+ _json["start"] = start; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Message for a unique key indicating a record that contains a finding. */ |
+class RecordKey { |
+ CloudStorageKey cloudStorageKey; |
+ DatastoreKey datastoreKey; |
+ |
+ RecordKey(); |
+ |
+ RecordKey.fromJson(core.Map _json) { |
+ if (_json.containsKey("cloudStorageKey")) { |
+ cloudStorageKey = new CloudStorageKey.fromJson(_json["cloudStorageKey"]); |
+ } |
+ if (_json.containsKey("datastoreKey")) { |
+ datastoreKey = new DatastoreKey.fromJson(_json["datastoreKey"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (cloudStorageKey != null) { |
+ _json["cloudStorageKey"] = (cloudStorageKey).toJson(); |
+ } |
+ if (datastoreKey != null) { |
+ _json["datastoreKey"] = (datastoreKey).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Request to search for potentially sensitive info in a list of items |
+ * and replace it with a default or provided content. |
+ */ |
+class RedactContentRequest { |
+ /** Configuration for the inspector. */ |
+ InspectConfig inspectConfig; |
+ /** The list of items to inspect. Up to 100 are allowed per request. */ |
+ core.List<ContentItem> items; |
+ /** The strings to replace findings with. Must specify at least one. */ |
+ core.List<ReplaceConfig> replaceConfigs; |
+ |
+ RedactContentRequest(); |
+ |
+ RedactContentRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("inspectConfig")) { |
+ inspectConfig = new InspectConfig.fromJson(_json["inspectConfig"]); |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new ContentItem.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("replaceConfigs")) { |
+ replaceConfigs = _json["replaceConfigs"].map((value) => new ReplaceConfig.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (inspectConfig != null) { |
+ _json["inspectConfig"] = (inspectConfig).toJson(); |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (replaceConfigs != null) { |
+ _json["replaceConfigs"] = replaceConfigs.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Results of deidentifying a list of items. */ |
+class RedactContentResponse { |
+ /** The redacted content. */ |
+ core.List<ContentItem> items; |
+ |
+ RedactContentResponse(); |
+ |
+ RedactContentResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new ContentItem.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+class ReplaceConfig { |
+ /** |
+ * Type of information to replace. Only one ReplaceConfig per info_type |
+ * should be provided. If ReplaceConfig does not have an info_type, we'll |
+ * match it against all info_types that are found but not specified in |
+ * another ReplaceConfig. |
+ */ |
+ InfoType infoType; |
+ /** Content replacing sensitive information of given type. Max 256 chars. */ |
+ core.String replaceWith; |
+ |
+ ReplaceConfig(); |
+ |
+ ReplaceConfig.fromJson(core.Map _json) { |
+ if (_json.containsKey("infoType")) { |
+ infoType = new InfoType.fromJson(_json["infoType"]); |
+ } |
+ if (_json.containsKey("replaceWith")) { |
+ replaceWith = _json["replaceWith"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (infoType != null) { |
+ _json["infoType"] = (infoType).toJson(); |
+ } |
+ if (replaceWith != null) { |
+ _json["replaceWith"] = replaceWith; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * The `Status` type defines a logical error model that is suitable for |
+ * different |
+ * programming environments, including REST APIs and RPC APIs. It is used by |
+ * [gRPC](https://github.com/grpc). The error model is designed to be: |
+ * |
+ * - Simple to use and understand for most users |
+ * - Flexible enough to meet unexpected needs |
+ * |
+ * # Overview |
+ * |
+ * The `Status` message contains three pieces of data: error code, error |
+ * message, |
+ * and error details. The error code should be an enum value of |
+ * google.rpc.Code, but it may accept additional error codes if needed. The |
+ * error message should be a developer-facing English message that helps |
+ * developers *understand* and *resolve* the error. If a localized user-facing |
+ * error message is needed, put the localized message in the error details or |
+ * localize it in the client. The optional error details may contain arbitrary |
+ * information about the error. There is a predefined set of error detail types |
+ * in the package `google.rpc` which can be used for common error conditions. |
+ * |
+ * # Language mapping |
+ * |
+ * The `Status` message is the logical representation of the error model, but it |
+ * is not necessarily the actual wire format. When the `Status` message is |
+ * exposed in different client libraries and different wire protocols, it can be |
+ * mapped differently. For example, it will likely be mapped to some exceptions |
+ * in Java, but more likely mapped to some error codes in C. |
+ * |
+ * # Other uses |
+ * |
+ * The error model and the `Status` message can be used in a variety of |
+ * environments, either with or without APIs, to provide a |
+ * consistent developer experience across different environments. |
+ * |
+ * Example uses of this error model include: |
+ * |
+ * - Partial errors. If a service needs to return partial errors to the client, |
+ * it may embed the `Status` in the normal response to indicate the partial |
+ * errors. |
+ * |
+ * - Workflow errors. A typical workflow has multiple steps. Each step may |
+ * have a `Status` message for error reporting purpose. |
+ * |
+ * - Batch operations. If a client uses batch request and batch response, the |
+ * `Status` message should be used directly inside batch response, one for |
+ * each error sub-response. |
+ * |
+ * - Asynchronous operations. If an API call embeds asynchronous operation |
+ * results in its response, the status of those operations should be |
+ * represented directly using the `Status` message. |
+ * |
+ * - Logging. If some API errors are stored in logs, the message `Status` could |
+ * be used directly after any stripping needed for security/privacy reasons. |
+ */ |
+class Status { |
+ /** The status code, which should be an enum value of google.rpc.Code. */ |
+ core.int code; |
+ /** |
+ * A list of messages that carry the error details. There will be a |
+ * common set of message types for APIs to use. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.List<core.Map<core.String, core.Object>> details; |
+ /** |
+ * A developer-facing error message, which should be in English. Any |
+ * user-facing error message should be localized and sent in the |
+ * google.rpc.Status.details field, or localized by the client. |
+ */ |
+ core.String message; |
+ |
+ Status(); |
+ |
+ Status.fromJson(core.Map _json) { |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("details")) { |
+ details = _json["details"]; |
+ } |
+ if (_json.containsKey("message")) { |
+ message = _json["message"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (details != null) { |
+ _json["details"] = details; |
+ } |
+ if (message != null) { |
+ _json["message"] = message; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Shared message indicating Cloud storage type. */ |
+class StorageConfig { |
+ /** Google Cloud Storage options specification. */ |
+ CloudStorageOptions cloudStorageOptions; |
+ /** Google Cloud Datastore options specification. */ |
+ DatastoreOptions datastoreOptions; |
+ |
+ StorageConfig(); |
+ |
+ StorageConfig.fromJson(core.Map _json) { |
+ if (_json.containsKey("cloudStorageOptions")) { |
+ cloudStorageOptions = new CloudStorageOptions.fromJson(_json["cloudStorageOptions"]); |
+ } |
+ if (_json.containsKey("datastoreOptions")) { |
+ datastoreOptions = new DatastoreOptions.fromJson(_json["datastoreOptions"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (cloudStorageOptions != null) { |
+ _json["cloudStorageOptions"] = (cloudStorageOptions).toJson(); |
+ } |
+ if (datastoreOptions != null) { |
+ _json["datastoreOptions"] = (datastoreOptions).toJson(); |
+ } |
+ return _json; |
+ } |
+} |