blob: 991ba3d6581e7f2ce383e176fdb776a4379c2ddf [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
}
}
}
},
"basePath": "",
"baseUrl": "https://dlp.googleapis.com/",
"batchPath": "batch",
"canonicalName": "DLP",
"description": "Provides methods for detection, risk analysis, and de-identification of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/dlp/docs/",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "dlp:v2beta1",
"kind": "discovery#restDescription",
"name": "dlp",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"bearer_token": {
"description": "OAuth bearer token.",
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"pp": {
"default": "true",
"description": "Pretty-print response.",
"location": "query",
"type": "boolean"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"content": {
"methods": {
"deidentify": {
"description": "De-identifies potentially sensitive info from a list of strings.\nThis method has limits on input size and output size.",
"flatPath": "v2beta1/content:deidentify",
"httpMethod": "POST",
"id": "dlp.content.deidentify",
"parameterOrder": [],
"parameters": {},
"path": "v2beta1/content:deidentify",
"request": {
"$ref": "GooglePrivacyDlpV2beta1DeidentifyContentRequest"
},
"response": {
"$ref": "GooglePrivacyDlpV2beta1DeidentifyContentResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"inspect": {
"description": "Finds potentially sensitive info in a list of strings.\nThis method has limits on input size, processing time, and output size.",
"flatPath": "v2beta1/content:inspect",
"httpMethod": "POST",
"id": "dlp.content.inspect",
"parameterOrder": [],
"parameters": {},
"path": "v2beta1/content:inspect",
"request": {
"$ref": "GooglePrivacyDlpV2beta1InspectContentRequest"
},
"response": {
"$ref": "GooglePrivacyDlpV2beta1InspectContentResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"redact": {
"description": "Redacts potentially sensitive info from a list of strings.\nThis method has limits on input size, processing time, and output size.",
"flatPath": "v2beta1/content:redact",
"httpMethod": "POST",
"id": "dlp.content.redact",
"parameterOrder": [],
"parameters": {},
"path": "v2beta1/content:redact",
"request": {
"$ref": "GooglePrivacyDlpV2beta1RedactContentRequest"
},
"response": {
"$ref": "GooglePrivacyDlpV2beta1RedactContentResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"dataSource": {
"methods": {
"analyze": {
"description": "Schedules a job to compute risk analysis metrics over content in a Google\nCloud Platform repository.",
"flatPath": "v2beta1/dataSource:analyze",
"httpMethod": "POST",
"id": "dlp.dataSource.analyze",
"parameterOrder": [],
"parameters": {},
"path": "v2beta1/dataSource:analyze",
"request": {
"$ref": "GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest"
},
"response": {
"$ref": "GoogleLongrunningOperation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"inspect": {
"resources": {
"operations": {
"methods": {
"cancel": {
"description": "Cancels an operation. Use the `inspect.operations.get` to check whether the cancellation succeeded or the operation completed despite cancellation.",
"flatPath": "v2beta1/inspect/operations/{operationsId}:cancel",
"httpMethod": "POST",
"id": "dlp.inspect.operations.cancel",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^inspect/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2beta1/{+name}:cancel",
"request": {
"$ref": "GoogleLongrunningCancelOperationRequest"
},
"response": {
"$ref": "GoogleProtobufEmpty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"create": {
"description": "Schedules a job scanning content in a Google Cloud Platform data\nrepository.",
"flatPath": "v2beta1/inspect/operations",
"httpMethod": "POST",
"id": "dlp.inspect.operations.create",
"parameterOrder": [],
"parameters": {},
"path": "v2beta1/inspect/operations",
"request": {
"$ref": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest"
},
"response": {
"$ref": "GoogleLongrunningOperation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "This method is not supported and the server returns `UNIMPLEMENTED`.",
"flatPath": "v2beta1/inspect/operations/{operationsId}",
"httpMethod": "DELETE",
"id": "dlp.inspect.operations.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^inspect/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2beta1/{+name}",
"response": {
"$ref": "GoogleProtobufEmpty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
"flatPath": "v2beta1/inspect/operations/{operationsId}",
"httpMethod": "GET",
"id": "dlp.inspect.operations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^inspect/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2beta1/{+name}",
"response": {
"$ref": "GoogleLongrunningOperation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Fetches the list of long running operations.",
"flatPath": "v2beta1/inspect/operations",
"httpMethod": "GET",
"id": "dlp.inspect.operations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "Filters by `done`. That is, `done=true` or `done=false`.",
"location": "query",
"type": "string"
},
"name": {
"description": "The name of the operation's parent resource.",
"location": "path",
"pattern": "^inspect/operations$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The list page size. The maximum allowed value is 256 and the default is 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
}
},
"path": "v2beta1/{+name}",
"response": {
"$ref": "GoogleLongrunningListOperationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"results": {
"resources": {
"findings": {
"methods": {
"list": {
"description": "Returns list of results for given inspect operation result set id.",
"flatPath": "v2beta1/inspect/results/{resultsId}/findings",
"httpMethod": "GET",
"id": "dlp.inspect.results.findings.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "Restricts findings to items that match. Supports info_type and likelihood.\n\nExamples:\n\n- info_type=EMAIL_ADDRESS\n- info_type=PHONE_NUMBER,EMAIL_ADDRESS\n- likelihood=VERY_LIKELY\n- likelihood=VERY_LIKELY,LIKELY\n- info_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY",
"location": "query",
"type": "string"
},
"name": {
"description": "Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to InspectDataSource.\nShould be in the format of `inspect/results/{id}`.",
"location": "path",
"pattern": "^inspect/results/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "Maximum number of results to return.\nIf 0, the implementation selects a reasonable value.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The value returned by the last `ListInspectFindingsResponse`; indicates\nthat this is a continuation of a prior `ListInspectFindings` call, and that\nthe system should return the next page of data.",
"location": "query",
"type": "string"
}
},
"path": "v2beta1/{+name}/findings",
"response": {
"$ref": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
}
},
"riskAnalysis": {
"resources": {
"operations": {
"methods": {
"cancel": {
"description": "Cancels an operation. Use the `inspect.operations.get` to check whether the cancellation succeeded or the operation completed despite cancellation.",
"flatPath": "v2beta1/riskAnalysis/operations/{operationsId}:cancel",
"httpMethod": "POST",
"id": "dlp.riskAnalysis.operations.cancel",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^riskAnalysis/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2beta1/{+name}:cancel",
"request": {
"$ref": "GoogleLongrunningCancelOperationRequest"
},
"response": {
"$ref": "GoogleProtobufEmpty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "This method is not supported and the server returns `UNIMPLEMENTED`.",
"flatPath": "v2beta1/riskAnalysis/operations/{operationsId}",
"httpMethod": "DELETE",
"id": "dlp.riskAnalysis.operations.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^riskAnalysis/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2beta1/{+name}",
"response": {
"$ref": "GoogleProtobufEmpty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
"flatPath": "v2beta1/riskAnalysis/operations/{operationsId}",
"httpMethod": "GET",
"id": "dlp.riskAnalysis.operations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^riskAnalysis/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2beta1/{+name}",
"response": {
"$ref": "GoogleLongrunningOperation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Fetches the list of long running operations.",
"flatPath": "v2beta1/riskAnalysis/operations",
"httpMethod": "GET",
"id": "dlp.riskAnalysis.operations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "Filters by `done`. That is, `done=true` or `done=false`.",
"location": "query",
"type": "string"
},
"name": {
"description": "The name of the operation's parent resource.",
"location": "path",
"pattern": "^riskAnalysis/operations$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The list page size. The maximum allowed value is 256 and the default is 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
}
},
"path": "v2beta1/{+name}",
"response": {
"$ref": "GoogleLongrunningListOperationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
},
"rootCategories": {
"methods": {
"list": {
"description": "Returns the list of root categories of sensitive information.",
"flatPath": "v2beta1/rootCategories",
"httpMethod": "GET",
"id": "dlp.rootCategories.list",
"parameterOrder": [],
"parameters": {
"languageCode": {
"description": "Optional language code for localized friendly category names.\nIf omitted or if localized strings are not available,\nen-US strings will be returned.",
"location": "query",
"type": "string"
}
},
"path": "v2beta1/rootCategories",
"response": {
"$ref": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"infoTypes": {
"methods": {
"list": {
"description": "Returns sensitive information types for given category.",
"flatPath": "v2beta1/rootCategories/{rootCategoriesId}/infoTypes",
"httpMethod": "GET",
"id": "dlp.rootCategories.infoTypes.list",
"parameterOrder": [
"category"
],
"parameters": {
"category": {
"description": "Category name as returned by ListRootCategories.",
"location": "path",
"pattern": "^[^/]+$",
"required": true,
"type": "string"
},
"languageCode": {
"description": "Optional BCP-47 language code for localized info type friendly\nnames. If omitted, or if localized strings are not available,\nen-US strings will be returned.",
"location": "query",
"type": "string"
}
},
"path": "v2beta1/rootCategories/{+category}/infoTypes",
"response": {
"$ref": "GooglePrivacyDlpV2beta1ListInfoTypesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
},
"revision": "20180404",
"rootUrl": "https://dlp.googleapis.com/",
"schemas": {
"GoogleLongrunningCancelOperationRequest": {
"description": "The request message for Operations.CancelOperation.",
"id": "GoogleLongrunningCancelOperationRequest",
"properties": {},
"type": "object"
},
"GoogleLongrunningListOperationsResponse": {
"description": "The response message for Operations.ListOperations.",
"id": "GoogleLongrunningListOperationsResponse",
"properties": {
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
},
"operations": {
"description": "A list of operations that matches the specified filter in the request.",
"items": {
"$ref": "GoogleLongrunningOperation"
},
"type": "array"
}
},
"type": "object"
},
"GoogleLongrunningOperation": {
"description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
"id": "GoogleLongrunningOperation",
"properties": {
"done": {
"description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
"type": "boolean"
},
"error": {
"$ref": "GoogleRpcStatus",
"description": "The error result of the operation in case of failure or cancellation."
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "This field will contain an InspectOperationMetadata object for `inspect.operations.create` or a RiskAnalysisOperationMetadata object for `dataSource.analyze`. This will always be returned with the Operation.",
"type": "object"
},
"name": {
"description": "The server-assigned name. The `name` should have the format of `inspect/operations/\u003cidentifier\u003e`.",
"type": "string"
},
"response": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "This field will contain an InspectOperationResult object for `inspect.operations.create` or a RiskAnalysisOperationResult object for `dataSource.analyze`.",
"type": "object"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest": {
"description": "Request for creating a risk analysis operation.",
"id": "GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest",
"properties": {
"privacyMetric": {
"$ref": "GooglePrivacyDlpV2beta1PrivacyMetric",
"description": "Privacy metric to compute."
},
"sourceTable": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryTable",
"description": "Input dataset to compute metrics over."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1AuxiliaryTable": {
"description": "An auxiliary table contains statistical information on the relative\nfrequency of different quasi-identifiers values. It has one or several\nquasi-identifiers columns, and one column that indicates the relative\nfrequency of each quasi-identifier tuple.\nIf a tuple is present in the data but not in the auxiliary table, the\ncorresponding relative frequency is assumed to be zero (and thus, the\ntuple is highly reidentifiable).",
"id": "GooglePrivacyDlpV2beta1AuxiliaryTable",
"properties": {
"quasiIds": {
"description": "Quasi-identifier columns. [required]",
"items": {
"$ref": "GooglePrivacyDlpV2beta1QuasiIdField"
},
"type": "array"
},
"relativeFrequency": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "The relative frequency column must contain a floating-point number\nbetween 0 and 1 (inclusive). Null values are assumed to be zero.\n[required]"
},
"table": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryTable",
"description": "Auxiliary table location. [required]"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1BigQueryKey": {
"description": "LINT.IfChange\nRow key for identifying a record in BigQuery table.",
"id": "GooglePrivacyDlpV2beta1BigQueryKey",
"properties": {
"rowNumber": {
"description": "Absolute number of the row from the beginning of the table at the time\nof scanning.",
"format": "int64",
"type": "string"
},
"tableReference": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryTable",
"description": "Complete BigQuery table reference."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1BigQueryOptions": {
"description": "Options defining BigQuery table and row identifiers.",
"id": "GooglePrivacyDlpV2beta1BigQueryOptions",
"properties": {
"identifyingFields": {
"description": "References to fields uniquely identifying rows within the table.\nNested fields in the format, like `person.birthdate.year`, are allowed.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldId"
},
"type": "array"
},
"tableReference": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryTable",
"description": "Complete BigQuery table reference."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1BigQueryTable": {
"description": "Message defining the location of a BigQuery table. A table is uniquely\nidentified by its project_id, dataset_id, and table_name. Within a query\na table is often referenced with a string in the format of:\n`\u003cproject_id\u003e:\u003cdataset_id\u003e.\u003ctable_id\u003e` or\n`\u003cproject_id\u003e.\u003cdataset_id\u003e.\u003ctable_id\u003e`.",
"id": "GooglePrivacyDlpV2beta1BigQueryTable",
"properties": {
"datasetId": {
"description": "Dataset ID of the table.",
"type": "string"
},
"projectId": {
"description": "The Google Cloud Platform project ID of the project containing the table.\nIf omitted, project ID is inferred from the API call.",
"type": "string"
},
"tableId": {
"description": "Name of the table.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Bucket": {
"description": "Buckets represented as ranges, along with replacement values. Ranges must\nbe non-overlapping.",
"id": "GooglePrivacyDlpV2beta1Bucket",
"properties": {
"max": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Upper bound of the range, exclusive; type must match min."
},
"min": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Lower bound of the range, inclusive. Type should be the same as max if\nused."
},
"replacementValue": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Replacement value for this bucket. If not provided\nthe default behavior will be to hyphenate the min-max range."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1BucketingConfig": {
"description": "Generalization function that buckets values based on ranges. The ranges and\nreplacement values are dynamically provided by the user for custom behavior,\nsuch as 1-30 -\u003e LOW 31-65 -\u003e MEDIUM 66-100 -\u003e HIGH\nThis can be used on\ndata of type: number, long, string, timestamp.\nIf the bound `Value` type differs from the type of data being transformed, we\nwill first attempt converting the type of the data to be transformed to match\nthe type of the bound before comparing.",
"id": "GooglePrivacyDlpV2beta1BucketingConfig",
"properties": {
"buckets": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1Bucket"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CategoricalStatsConfig": {
"description": "Compute numerical stats over an individual column, including\nnumber of distinct values and value count distribution.",
"id": "GooglePrivacyDlpV2beta1CategoricalStatsConfig",
"properties": {
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Field to compute categorical stats on. All column types are\nsupported except for arrays and structs. However, it may be more\ninformative to use NumericalStats when the field type is supported,\ndepending on the data."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket": {
"description": "Histogram bucket of value frequencies in the column.",
"id": "GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket",
"properties": {
"bucketSize": {
"description": "Total number of records in this bucket.",
"format": "int64",
"type": "string"
},
"bucketValues": {
"description": "Sample of value frequencies in this bucket. The total number of\nvalues returned per bucket is capped at 20.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ValueFrequency"
},
"type": "array"
},
"valueFrequencyLowerBound": {
"description": "Lower bound on the value frequency of the values in this bucket.",
"format": "int64",
"type": "string"
},
"valueFrequencyUpperBound": {
"description": "Upper bound on the value frequency of the values in this bucket.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CategoricalStatsResult": {
"description": "Result of the categorical stats computation.",
"id": "GooglePrivacyDlpV2beta1CategoricalStatsResult",
"properties": {
"valueFrequencyHistogramBuckets": {
"description": "Histogram of value frequencies in the column.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CategoryDescription": {
"description": "Info Type Category description.",
"id": "GooglePrivacyDlpV2beta1CategoryDescription",
"properties": {
"displayName": {
"description": "Human readable form of the category name.",
"type": "string"
},
"name": {
"description": "Internal name of the category.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CharacterMaskConfig": {
"description": "Partially mask a string by replacing a given number of characters with a\nfixed character. Masking can start from the beginning or end of the string.\nThis can be used on data of any type (numbers, longs, and so on) and when\nde-identifying structured data we'll attempt to preserve the original data's\ntype. (This allows you to take a long like 123 and modify it to a string like\n**3.",
"id": "GooglePrivacyDlpV2beta1CharacterMaskConfig",
"properties": {
"charactersToIgnore": {
"description": "When masking a string, items in this list will be skipped when replacing.\nFor example, if your string is 555-555-5555 and you ask us to skip `-` and\nmask 5 chars with * we would produce ***-*55-5555.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1CharsToIgnore"
},
"type": "array"
},
"maskingCharacter": {
"description": "Character to mask the sensitive values\u0026mdash;for example, \"*\" for an\nalphabetic string such as name, or \"0\" for a numeric string such as ZIP\ncode or credit card number. String must have length 1. If not supplied, we\nwill default to \"*\" for strings, 0 for digits.",
"type": "string"
},
"numberToMask": {
"description": "Number of characters to mask. If not set, all matching chars will be\nmasked. Skipped characters do not count towards this tally.",
"format": "int32",
"type": "integer"
},
"reverseOrder": {
"description": "Mask characters in reverse order. For example, if `masking_character` is\n'0', number_to_mask is 14, and `reverse_order` is false, then\n1234-5678-9012-3456 -\u003e 00000000000000-3456\nIf `masking_character` is '*', `number_to_mask` is 3, and `reverse_order`\nis true, then 12345 -\u003e 12***",
"type": "boolean"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CharsToIgnore": {
"description": "Characters to skip when doing deidentification of a value. These will be left\nalone and skipped.",
"id": "GooglePrivacyDlpV2beta1CharsToIgnore",
"properties": {
"charactersToSkip": {
"type": "string"
},
"commonCharactersToIgnore": {
"enum": [
"CHARACTER_GROUP_UNSPECIFIED",
"NUMERIC",
"ALPHA_UPPER_CASE",
"ALPHA_LOWER_CASE",
"PUNCTUATION",
"WHITESPACE"
],
"enumDescriptions": [
"",
"0-9",
"A-Z",
"a-z",
"US Punctuation, one of !\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`{|}~",
"Whitespace character, one of [ \\t\\n\\x0B\\f\\r]"
],
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CloudStorageKey": {
"description": "Record key for a finding in a Cloud Storage file.",
"id": "GooglePrivacyDlpV2beta1CloudStorageKey",
"properties": {
"filePath": {
"description": "Path to the file.",
"type": "string"
},
"startOffset": {
"description": "Byte offset of the referenced data in the file.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CloudStorageOptions": {
"description": "Options defining a file or a set of files (path ending with *) within\na Google Cloud Storage bucket.",
"id": "GooglePrivacyDlpV2beta1CloudStorageOptions",
"properties": {
"fileSet": {
"$ref": "GooglePrivacyDlpV2beta1FileSet"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CloudStoragePath": {
"description": "A location in Cloud Storage.",
"id": "GooglePrivacyDlpV2beta1CloudStoragePath",
"properties": {
"path": {
"description": "The url, in the format of `gs://bucket/\u003cpath\u003e`.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Color": {
"description": "Represents a color in the RGB color space.",
"id": "GooglePrivacyDlpV2beta1Color",
"properties": {
"blue": {
"description": "The amount of blue in the color as a value in the interval [0, 1].",
"format": "float",
"type": "number"
},
"green": {
"description": "The amount of green in the color as a value in the interval [0, 1].",
"format": "float",
"type": "number"
},
"red": {
"description": "The amount of red in the color as a value in the interval [0, 1].",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Condition": {
"description": "The field type of `value` and `field` do not need to match to be\nconsidered equal, but not all comparisons are possible.\n\nA `value` of type:\n\n- `string` can be compared against all other types\n- `boolean` can only be compared against other booleans\n- `integer` can be compared against doubles or a string if the string value\ncan be parsed as an integer.\n- `double` can be compared against integers or a string if the string can\nbe parsed as a double.\n- `Timestamp` can be compared against strings in RFC 3339 date string\nformat.\n- `TimeOfDay` can be compared against timestamps and strings in the format\nof 'HH:mm:ss'.\n\nIf we fail to compare do to type mismatch, a warning will be given and\nthe condition will evaluate to false.",
"id": "GooglePrivacyDlpV2beta1Condition",
"properties": {
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Field within the record this condition is evaluated against. [required]"
},
"operator": {
"description": "Operator used to compare the field or info type to the value. [required]",
"enum": [
"RELATIONAL_OPERATOR_UNSPECIFIED",
"EQUAL_TO",
"NOT_EQUAL_TO",
"GREATER_THAN",
"LESS_THAN",
"GREATER_THAN_OR_EQUALS",
"LESS_THAN_OR_EQUALS",
"EXISTS"
],
"enumDescriptions": [
"",
"Equal.",
"Not equal to.",
"Greater than.",
"Less than.",
"Greater than or equals.",
"Less than or equals.",
"Exists"
],
"type": "string"
},
"value": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Value to compare against. [Required, except for `EXISTS` tests.]"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Conditions": {
"id": "GooglePrivacyDlpV2beta1Conditions",
"properties": {
"conditions": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1Condition"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ContentItem": {
"description": "Container structure for the content to inspect.",
"id": "GooglePrivacyDlpV2beta1ContentItem",
"properties": {
"data": {
"description": "Content data to inspect or redact.",
"format": "byte",
"type": "string"
},
"table": {
"$ref": "GooglePrivacyDlpV2beta1Table",
"description": "Structured content for inspection."
},
"type": {
"description": "Type of the content, as defined in Content-Type HTTP header.\nSupported types are: all \"text\" types, octet streams, PNG images,\nJPEG images.",
"type": "string"
},
"value": {
"description": "String data to inspect or redact.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CreateInspectOperationRequest": {
"description": "Request for scheduling a scan of a data subset from a Google Platform data\nrepository.",
"id": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest",
"properties": {
"inspectConfig": {
"$ref": "GooglePrivacyDlpV2beta1InspectConfig",
"description": "Configuration for the inspector."
},
"operationConfig": {
"$ref": "GooglePrivacyDlpV2beta1OperationConfig",
"description": "Additional configuration settings for long running operations."
},
"outputConfig": {
"$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig",
"description": "Optional location to store findings."
},
"storageConfig": {
"$ref": "GooglePrivacyDlpV2beta1StorageConfig",
"description": "Specification of the data set to process."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CryptoHashConfig": {
"description": "Pseudonymization method that generates surrogates via cryptographic hashing.\nUses SHA-256.\nOutputs a 32 byte digest as an uppercase hex string\n(for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE).\nCurrently, only string and integer values can be hashed.",
"id": "GooglePrivacyDlpV2beta1CryptoHashConfig",
"properties": {
"cryptoKey": {
"$ref": "GooglePrivacyDlpV2beta1CryptoKey",
"description": "The key used by the hash function."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CryptoKey": {
"description": "This is a data encryption key (DEK) (as opposed to\na key encryption key (KEK) stored by KMS).\nWhen using KMS to wrap/unwrap DEKs, be sure to set an appropriate\nIAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot\nunwrap the data crypto key.",
"id": "GooglePrivacyDlpV2beta1CryptoKey",
"properties": {
"kmsWrapped": {
"$ref": "GooglePrivacyDlpV2beta1KmsWrappedCryptoKey"
},
"transient": {
"$ref": "GooglePrivacyDlpV2beta1TransientCryptoKey"
},
"unwrapped": {
"$ref": "GooglePrivacyDlpV2beta1UnwrappedCryptoKey"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig": {
"description": "Replaces an identifier with a surrogate using FPE with the FFX\nmode of operation.\nThe identifier must be representable by the US-ASCII character set.\nFor a given crypto key and context, the same identifier will be\nreplaced with the same surrogate.\nIdentifiers must be at least two characters long.\nIn the case that the identifier is the empty string, it will be skipped.",
"id": "GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig",
"properties": {
"commonAlphabet": {
"enum": [
"FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED",
"NUMERIC",
"HEXADECIMAL",
"UPPER_CASE_ALPHA_NUMERIC",
"ALPHA_NUMERIC"
],
"enumDescriptions": [
"",
"[0-9] (radix of 10)",
"[0-9A-F] (radix of 16)",
"[0-9A-Z] (radix of 36)",
"[0-9A-Za-z] (radix of 62)"
],
"type": "string"
},
"context": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "A context may be used for higher security since the same\nidentifier in two different contexts likely will be given a distinct\nsurrogate. The principle is that the likeliness is inversely related\nto the ratio of the number of distinct identifiers per context over the\nnumber of possible surrogates: As long as this ratio is small, the\nlikehood is large.\n\nIf the context is not set, a default tweak will be used.\nIf the context is set but:\n\n1. there is no record present when transforming a given value or\n1. the field is not present when transforming a given value,\n\na default tweak will be used.\n\nNote that case (1) is expected when an `InfoTypeTransformation` is\napplied to both structured and non-structured `ContentItem`s.\nCurrently, the referenced field may be of value type integer or string.\n\nThe tweak is constructed as a sequence of bytes in big endian byte order\nsuch that:\n\n- a 64 bit integer is encoded followed by a single byte of value 1\n- a string is encoded in UTF-8 format followed by a single byte of value 2\n\nThis is also known as the 'tweak', as in tweakable encryption."
},
"cryptoKey": {
"$ref": "GooglePrivacyDlpV2beta1CryptoKey",
"description": "The key used by the encryption algorithm. [required]"
},
"customAlphabet": {
"description": "This is supported by mapping these to the alphanumeric characters\nthat the FFX mode natively supports. This happens before/after\nencryption/decryption.\nEach character listed must appear only once.\nNumber of characters must be in the range [2, 62].\nThis must be encoded as ASCII.\nThe order of characters does not matter.",
"type": "string"
},
"radix": {
"description": "The native way to select the alphabet. Must be in the range [2, 62].",
"format": "int32",
"type": "integer"
},
"surrogateInfoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "The custom info type to annotate the surrogate with.\nThis annotation will be applied to the surrogate by prefixing it with\nthe name of the custom info type followed by the number of\ncharacters comprising the surrogate. The following scheme defines the\nformat: info_type_name(surrogate_character_count):surrogate\n\nFor example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and\nthe surrogate is 'abc', the full replacement value\nwill be: 'MY_TOKEN_INFO_TYPE(3):abc'\n\nThis annotation identifies the surrogate when inspecting content using the\ncustom info type\n[`SurrogateType`](/dlp/docs/reference/rest/v2beta1/InspectConfig#surrogatetype).\nThis facilitates reversal of the surrogate when it occurs in free text.\n\nIn order for inspection to work properly, the name of this info type must\nnot occur naturally anywhere in your data; otherwise, inspection may\nfind a surrogate that does not correspond to an actual identifier.\nTherefore, choose your custom info type name carefully after considering\nwhat your data looks like. One way to select a name that has a high chance\nof yielding reliable detection is to include one or more unicode characters\nthat are highly improbable to exist in your data.\nFor example, assuming your data is entered from a regular ASCII keyboard,\nthe symbol with the hex code point 29DD might be used like so:\n⧝MY_TOKEN_TYPE"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1CustomInfoType": {
"description": "Custom information type provided by the user. Used to find domain-specific\nsensitive information configurable to the data in question.",
"id": "GooglePrivacyDlpV2beta1CustomInfoType",
"properties": {
"dictionary": {
"$ref": "GooglePrivacyDlpV2beta1Dictionary",
"description": "Dictionary-based custom info type."
},
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "Info type configuration. All custom info types must have configurations\nthat do not conflict with built-in info types or other custom info types."
},
"surrogateType": {
"$ref": "GooglePrivacyDlpV2beta1SurrogateType",
"description": "Surrogate info type."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1DatastoreKey": {
"description": "Record key for a finding in Cloud Datastore.",
"id": "GooglePrivacyDlpV2beta1DatastoreKey",
"properties": {
"entityKey": {
"$ref": "GooglePrivacyDlpV2beta1Key",
"description": "Datastore entity key."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1DatastoreOptions": {
"description": "Options defining a data set within Google Cloud Datastore.",
"id": "GooglePrivacyDlpV2beta1DatastoreOptions",
"properties": {
"kind": {
"$ref": "GooglePrivacyDlpV2beta1KindExpression",
"description": "The kind to process."
},
"partitionId": {
"$ref": "GooglePrivacyDlpV2beta1PartitionId",
"description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty."
},
"projection": {
"description": "Properties to scan. If none are specified, all properties will be scanned\nby default.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1Projection"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1DeidentificationSummary": {
"description": "High level summary of deidentification.",
"id": "GooglePrivacyDlpV2beta1DeidentificationSummary",
"properties": {
"transformationSummaries": {
"description": "Transformations applied to the dataset.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1TransformationSummary"
},
"type": "array"
},
"transformedBytes": {
"description": "Total size in bytes that were transformed in some way.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1DeidentifyConfig": {
"description": "The configuration that controls how the data will change.",
"id": "GooglePrivacyDlpV2beta1DeidentifyConfig",
"properties": {
"infoTypeTransformations": {
"$ref": "GooglePrivacyDlpV2beta1InfoTypeTransformations",
"description": "Treat the dataset as free-form text and apply the same free text\ntransformation everywhere."
},
"recordTransformations": {
"$ref": "GooglePrivacyDlpV2beta1RecordTransformations",
"description": "Treat the dataset as structured. Transformations can be applied to\nspecific locations within structured datasets, such as transforming\na column within a table."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1DeidentifyContentRequest": {
"description": "Request to de-identify a list of items.",
"id": "GooglePrivacyDlpV2beta1DeidentifyContentRequest",
"properties": {
"deidentifyConfig": {
"$ref": "GooglePrivacyDlpV2beta1DeidentifyConfig",
"description": "Configuration for the de-identification of the list of content items."
},
"inspectConfig": {
"$ref": "GooglePrivacyDlpV2beta1InspectConfig",
"description": "Configuration for the inspector."
},
"items": {
"description": "The list of items to inspect. Up to 100 are allowed per request.\nAll items will be treated as text/*.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ContentItem"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1DeidentifyContentResponse": {
"description": "Results of de-identifying a list of items.",
"id": "GooglePrivacyDlpV2beta1DeidentifyContentResponse",
"properties": {
"items": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1ContentItem"
},
"type": "array"
},
"summaries": {
"description": "A review of the transformations that took place for each item.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1DeidentificationSummary"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Dictionary": {
"description": "Custom information type based on a dictionary of words or phrases. This can\nbe used to match sensitive information specific to the data, such as a list\nof employee IDs or job titles.\n\nDictionary words are case-insensitive and all characters other than letters\nand digits in the unicode [Basic Multilingual\nPlane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)\nwill be replaced with whitespace when scanning for matches, so the\ndictionary phrase \"Sam Johnson\" will match all three phrases \"sam johnson\",\n\"Sam, Johnson\", and \"Sam (Johnson)\". Additionally, the characters\nsurrounding any match must be of a different type than the adjacent\ncharacters within the word, so letters must be next to non-letters and\ndigits next to non-digits. For example, the dictionary word \"jen\" will\nmatch the first three letters of the text \"jen123\" but will return no\nmatches for \"jennifer\".\n\nDictionary words containing a large number of characters that are not\nletters or digits may result in unexpected findings because such characters\nare treated as whitespace.",
"id": "GooglePrivacyDlpV2beta1Dictionary",
"properties": {
"wordList": {
"$ref": "GooglePrivacyDlpV2beta1WordList",
"description": "List of words or phrases to search for."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1EntityId": {
"description": "An entity in a dataset is a field or set of fields that correspond to a\nsingle person. For example, in medical records the `EntityId` might be\na patient identifier, or for financial records it might be an account\nidentifier. This message is used when generalizations or analysis must be\nconsistent across multiple rows pertaining to the same entity.",
"id": "GooglePrivacyDlpV2beta1EntityId",
"properties": {
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Composite key indicating which field contains the entity identifier."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Expressions": {
"description": "A collection of expressions",
"id": "GooglePrivacyDlpV2beta1Expressions",
"properties": {
"conditions": {
"$ref": "GooglePrivacyDlpV2beta1Conditions"
},
"logicalOperator": {
"description": "The operator to apply to the result of conditions. Default and currently\nonly supported value is `AND`.",
"enum": [
"LOGICAL_OPERATOR_UNSPECIFIED",
"AND"
],
"enumDescriptions": [
"",
""
],
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1FieldId": {
"description": "General identifier of a data field in a storage service.",
"id": "GooglePrivacyDlpV2beta1FieldId",
"properties": {
"columnName": {
"description": "Name describing the field.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1FieldTransformation": {
"description": "The transformation to apply to the field.",
"id": "GooglePrivacyDlpV2beta1FieldTransformation",
"properties": {
"condition": {
"$ref": "GooglePrivacyDlpV2beta1RecordCondition",
"description": "Only apply the transformation if the condition evaluates to true for the\ngiven `RecordCondition`. The conditions are allowed to reference fields\nthat are not used in the actual transformation. [optional]\n\nExample Use Cases:\n\n- Apply a different bucket transformation to an age column if the zip code\ncolumn for the same record is within a specific range.\n- Redact a field if the date of birth field is greater than 85."
},
"fields": {
"description": "Input field(s) to apply the transformation to. [required]",
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldId"
},
"type": "array"
},
"infoTypeTransformations": {
"$ref": "GooglePrivacyDlpV2beta1InfoTypeTransformations",
"description": "Treat the contents of the field as free text, and selectively\ntransform content that matches an `InfoType`."
},
"primitiveTransformation": {
"$ref": "GooglePrivacyDlpV2beta1PrimitiveTransformation",
"description": "Apply the transformation to the entire field."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1FileSet": {
"description": "Set of files to scan.",
"id": "GooglePrivacyDlpV2beta1FileSet",
"properties": {
"url": {
"description": "The url, in the format `gs://\u003cbucket\u003e/\u003cpath\u003e`. Trailing wildcard in the\npath is allowed.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Finding": {
"description": "Represents a piece of potentially sensitive content.",
"id": "GooglePrivacyDlpV2beta1Finding",
"properties": {
"createTime": {
"description": "Timestamp when finding was detected.",
"format": "google-datetime",
"type": "string"
},
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "The type of content that might have been found.\nProvided if requested by the `InspectConfig`."
},
"likelihood": {
"description": "Estimate of how likely it is that the `info_type` is correct.",
"enum": [
"LIKELIHOOD_UNSPECIFIED",
"VERY_UNLIKELY",
"UNLIKELY",
"POSSIBLE",
"LIKELY",
"VERY_LIKELY"
],
"enumDescriptions": [
"Default value; information with all likelihoods is included.",
"Few matching elements.",
"",
"Some matching elements.",
"",
"Many matching elements."
],
"type": "string"
},
"location": {
"$ref": "GooglePrivacyDlpV2beta1Location",
"description": "Where the content was found."
},
"quote": {
"description": "The content that was found. Even if the content is not textual, it\nmay be converted to a textual representation here.\nProvided if requested by the `InspectConfig` and the finding is\nless than or equal to 4096 bytes long. If the finding exceeds 4096 bytes\nin length, the quote may be omitted.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1FixedSizeBucketingConfig": {
"description": "Buckets values based on fixed size ranges. The\nBucketing transformation can provide all of this functionality,\nbut requires more configuration. This message is provided as a convenience to\nthe user for simple bucketing strategies.\nThe resulting value will be a hyphenated string of\nlower_bound-upper_bound.\nThis can be used on data of type: double, long.\nIf the bound Value type differs from the type of data\nbeing transformed, we will first attempt converting the type of the data to\nbe transformed to match the type of the bound before comparing.",
"id": "GooglePrivacyDlpV2beta1FixedSizeBucketingConfig",
"properties": {
"bucketSize": {
"description": "Size of each bucket (except for minimum and maximum buckets). So if\n`lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the\nfollowing buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,\n60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. [Required].",
"format": "double",
"type": "number"
},
"lowerBound": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Lower bound value of buckets. All values less than `lower_bound` are\ngrouped together into a single bucket; for example if `lower_bound` = 10,\nthen all values less than 10 are replaced with the value “-10”. [Required]."
},
"upperBound": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Upper bound value of buckets. All values greater than upper_bound are\ngrouped together into a single bucket; for example if `upper_bound` = 89,\nthen all values greater than 89 are replaced with the value “89+”.\n[Required]."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ImageLocation": {
"description": "Bounding box encompassing detected text within an image.",
"id": "GooglePrivacyDlpV2beta1ImageLocation",
"properties": {
"height": {
"description": "Height of the bounding box in pixels.",
"format": "int32",
"type": "integer"
},
"left": {
"description": "Left coordinate of the bounding box. (0,0) is upper left.",
"format": "int32",
"type": "integer"
},
"top": {
"description": "Top coordinate of the bounding box. (0,0) is upper left.",
"format": "int32",
"type": "integer"
},
"width": {
"description": "Width of the bounding box in pixels.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ImageRedactionConfig": {
"description": "Configuration for determining how redaction of images should occur.",
"id": "GooglePrivacyDlpV2beta1ImageRedactionConfig",
"properties": {
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "Only one per info_type should be provided per request. If not\nspecified, and redact_all_text is false, the DLP API will redact all\ntext that it matches against all info_types that are found, but not\nspecified in another ImageRedactionConfig."
},
"redactAllText": {
"description": "If true, all text found in the image, regardless whether it matches an\ninfo_type, is redacted.",
"type": "boolean"
},
"redactionColor": {
"$ref": "GooglePrivacyDlpV2beta1Color",
"description": "The color to use when redacting content from an image. If not specified,\nthe default is black."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InfoType": {
"description": "Type of information detected by the API.",
"id": "GooglePrivacyDlpV2beta1InfoType",
"properties": {
"name": {
"description": "Name of the information type.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InfoTypeDescription": {
"description": "Description of the information type (infoType).",
"id": "GooglePrivacyDlpV2beta1InfoTypeDescription",
"properties": {
"categories": {
"description": "List of categories this infoType belongs to.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1CategoryDescription"
},
"type": "array"
},
"displayName": {
"description": "Human readable form of the infoType name.",
"type": "string"
},
"name": {
"description": "Internal name of the infoType.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InfoTypeLimit": {
"description": "Max findings configuration per info type, per content item or long running\noperation.",
"id": "GooglePrivacyDlpV2beta1InfoTypeLimit",
"properties": {
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "Type of information the findings limit applies to. Only one limit per\ninfo_type should be provided. If InfoTypeLimit does not have an\ninfo_type, the DLP API applies the limit against all info_types that are\nfound but not specified in another InfoTypeLimit."
},
"maxFindings": {
"description": "Max findings limit for the given infoType.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InfoTypeStatistics": {
"description": "Statistics regarding a specific InfoType.",
"id": "GooglePrivacyDlpV2beta1InfoTypeStatistics",
"properties": {
"count": {
"description": "Number of findings for this info type.",
"format": "int64",
"type": "string"
},
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "The type of finding this stat is for."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InfoTypeTransformation": {
"description": "A transformation to apply to text that is identified as a specific\ninfo_type.",
"id": "GooglePrivacyDlpV2beta1InfoTypeTransformation",
"properties": {
"infoTypes": {
"description": "Info types to apply the transformation to. Empty list will match all\navailable info types for this transformation.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1InfoType"
},
"type": "array"
},
"primitiveTransformation": {
"$ref": "GooglePrivacyDlpV2beta1PrimitiveTransformation",
"description": "Primitive transformation to apply to the info type. [required]"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InfoTypeTransformations": {
"description": "A type of transformation that will scan unstructured text and\napply various `PrimitiveTransformation`s to each finding, where the\ntransformation is applied to only values that were identified as a specific\ninfo_type.",
"id": "GooglePrivacyDlpV2beta1InfoTypeTransformations",
"properties": {
"transformations": {
"description": "Transformation for each info type. Cannot specify more than one\nfor a given info type. [required]",
"items": {
"$ref": "GooglePrivacyDlpV2beta1InfoTypeTransformation"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InspectConfig": {
"description": "Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.",
"id": "GooglePrivacyDlpV2beta1InspectConfig",
"properties": {
"customInfoTypes": {
"description": "Custom info types provided by the user.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1CustomInfoType"
},
"type": "array"
},
"excludeTypes": {
"description": "When true, excludes type information of the findings.",
"type": "boolean"
},
"includeQuote": {
"description": "When true, a contextual quote from the data that triggered a finding is\nincluded in the response; see Finding.quote.",
"type": "boolean"
},
"infoTypeLimits": {
"description": "Configuration of findings limit given for specified info types.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1InfoTypeLimit"
},
"type": "array"
},
"infoTypes": {
"description": "Restricts what info_types to look for. The values must correspond to\nInfoType values returned by ListInfoTypes or found in documentation.\nEmpty info_types runs all enabled detectors.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1InfoType"
},
"type": "array"
},
"maxFindings": {
"description": "Limits the number of findings per content item or long running operation.",
"format": "int32",
"type": "integer"
},
"minLikelihood": {
"description": "Only returns findings equal or above this threshold.",
"enum": [
"LIKELIHOOD_UNSPECIFIED",
"VERY_UNLIKELY",
"UNLIKELY",
"POSSIBLE",
"LIKELY",
"VERY_LIKELY"
],
"enumDescriptions": [
"Default value; information with all likelihoods is included.",
"Few matching elements.",
"",
"Some matching elements.",
"",
"Many matching elements."
],
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InspectContentRequest": {
"description": "Request to search for potentially sensitive info in a list of items.",
"id": "GooglePrivacyDlpV2beta1InspectContentRequest",
"properties": {
"inspectConfig": {
"$ref": "GooglePrivacyDlpV2beta1InspectConfig",
"description": "Configuration for the inspector."
},
"items": {
"description": "The list of items to inspect. Items in a single request are\nconsidered \"related\" unless inspect_config.independent_inputs is true.\nUp to 100 are allowed per request.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ContentItem"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InspectContentResponse": {
"description": "Results of inspecting a list of items.",
"id": "GooglePrivacyDlpV2beta1InspectContentResponse",
"properties": {
"results": {
"description": "Each content_item from the request has a result in this list, in the\nsame order as the request.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1InspectResult"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InspectOperationMetadata": {
"description": "Metadata returned within GetOperation for an inspect request.",
"id": "GooglePrivacyDlpV2beta1InspectOperationMetadata",
"properties": {
"createTime": {
"description": "The time which this request was started.",
"format": "google-datetime",
"type": "string"
},
"infoTypeStats": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1InfoTypeStatistics"
},
"type": "array"
},
"processedBytes": {
"description": "Total size in bytes that were processed.",
"format": "int64",
"type": "string"
},
"requestInspectConfig": {
"$ref": "GooglePrivacyDlpV2beta1InspectConfig",
"description": "The inspect config used to create the Operation."
},
"requestOutputConfig": {
"$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig",
"description": "Optional location to store findings."
},
"requestStorageConfig": {
"$ref": "GooglePrivacyDlpV2beta1StorageConfig",
"description": "The storage config used to create the Operation."
},
"totalEstimatedBytes": {
"description": "Estimate of the number of bytes to process.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InspectOperationResult": {
"description": "The operational data.",
"id": "GooglePrivacyDlpV2beta1InspectOperationResult",
"properties": {
"name": {
"description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `inspect/results/{id}`.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1InspectResult": {
"description": "All the findings for a single scanned item.",
"id": "GooglePrivacyDlpV2beta1InspectResult",
"properties": {
"findings": {
"description": "List of findings for an item.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1Finding"
},
"type": "array"
},
"findingsTruncated": {
"description": "If true, then this item might have more findings than were returned,\nand the findings returned are an arbitrary subset of all findings.\nThe findings list might be truncated because the input items were too\nlarge, or because the server reached the maximum amount of resources\nallowed for a single API call. For best results, divide the input into\nsmaller batches.",
"type": "boolean"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KAnonymityConfig": {
"description": "k-anonymity metric, used for analysis of reidentification risk.",
"id": "GooglePrivacyDlpV2beta1KAnonymityConfig",
"properties": {
"entityId": {
"$ref": "GooglePrivacyDlpV2beta1EntityId",
"description": "Optional message indicating that each distinct entity_id should not\ncontribute to the k-anonymity count more than once per equivalence class.\nIf an entity_id appears on several rows with different quasi-identifier\ntuples, it will contribute to each count exactly once.\n\nThis can lead to unexpected results. Consider a table where ID 1 is\nassociated to quasi-identifier \"foo\", ID 2 to \"bar\", and ID 3 to *both*\nquasi-identifiers \"foo\" and \"bar\" (on separate rows), and where this ID\nis used as entity_id. Then, the anonymity value associated to ID 3 will\nbe 2, even if it is the only ID to be associated to both values \"foo\" and\n\"bar\"."
},
"quasiIds": {
"description": "Set of fields to compute k-anonymity over. When multiple fields are\nspecified, they are considered a single composite key. Structs and\nrepeated data types are not supported; however, nested fields are\nsupported so long as they are not structs themselves or nested within\na repeated field.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldId"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass": {
"description": "The set of columns' values that share the same k-anonymity value.",
"id": "GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass",
"properties": {
"equivalenceClassSize": {
"description": "Size of the equivalence class, for example number of rows with the\nabove set of values.",
"format": "int64",
"type": "string"
},
"quasiIdsValues": {
"description": "Set of values defining the equivalence class. One value per\nquasi-identifier column in the original KAnonymity metric message.\nThe order is always the same as the original request.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1Value"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KAnonymityHistogramBucket": {
"description": "Histogram bucket of equivalence class sizes in the table.",
"id": "GooglePrivacyDlpV2beta1KAnonymityHistogramBucket",
"properties": {
"bucketSize": {
"description": "Total number of records in this bucket.",
"format": "int64",
"type": "string"
},
"bucketValues": {
"description": "Sample of equivalence classes in this bucket. The total number of\nclasses returned per bucket is capped at 20.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass"
},
"type": "array"
},
"equivalenceClassSizeLowerBound": {
"description": "Lower bound on the size of the equivalence classes in this bucket.",
"format": "int64",
"type": "string"
},
"equivalenceClassSizeUpperBound": {
"description": "Upper bound on the size of the equivalence classes in this bucket.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KAnonymityResult": {
"description": "Result of the k-anonymity computation.",
"id": "GooglePrivacyDlpV2beta1KAnonymityResult",
"properties": {
"equivalenceClassHistogramBuckets": {
"description": "Histogram of k-anonymity equivalence classes.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1KAnonymityHistogramBucket"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KMapEstimationConfig": {
"description": "Reidentifiability metric. This corresponds to a risk model similar to what\nis called \"journalist risk\" in the literature, except the attack dataset is\nstatistically modeled instead of being perfectly known. This can be done\nusing publicly available data (like the US Census), or using a custom\nstatistical model (indicated as one or several BigQuery tables), or by\nextrapolating from the distribution of values in the input dataset.",
"id": "GooglePrivacyDlpV2beta1KMapEstimationConfig",
"properties": {
"auxiliaryTables": {
"description": "Several auxiliary tables can be used in the analysis. Each custom_tag\nused to tag a quasi-identifiers column must appear in exactly one column\nof one auxiliary table.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1AuxiliaryTable"
},
"type": "array"
},
"quasiIds": {
"description": "Fields considered to be quasi-identifiers. No two columns can have the\nsame tag. [required]",
"items": {
"$ref": "GooglePrivacyDlpV2beta1TaggedField"
},
"type": "array"
},
"regionCode": {
"description": "ISO 3166-1 alpha-2 region code to use in the statistical modeling.\nRequired if no column is tagged with a region-specific InfoType (like\nUS_ZIP_5) or a region code.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KMapEstimationHistogramBucket": {
"description": "A KMapEstimationHistogramBucket message with the following values:\n min_anonymity: 3\n max_anonymity: 5\n frequency: 42\nmeans that there are 42 records whose quasi-identifier values correspond\nto 3, 4 or 5 people in the overlying population. An important particular\ncase is when min_anonymity = max_anonymity = 1: the frequency field then\ncorresponds to the number of uniquely identifiable records.",
"id": "GooglePrivacyDlpV2beta1KMapEstimationHistogramBucket",
"properties": {
"bucketSize": {
"description": "Number of records within these anonymity bounds.",
"format": "int64",
"type": "string"
},
"bucketValues": {
"description": "Sample of quasi-identifier tuple values in this bucket. The total\nnumber of classes returned per bucket is capped at 20.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1KMapEstimationQuasiIdValues"
},
"type": "array"
},
"maxAnonymity": {
"description": "Always greater than or equal to min_anonymity.",
"format": "int64",
"type": "string"
},
"minAnonymity": {
"description": "Always positive.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KMapEstimationQuasiIdValues": {
"description": "A tuple of values for the quasi-identifier columns.",
"id": "GooglePrivacyDlpV2beta1KMapEstimationQuasiIdValues",
"properties": {
"estimatedAnonymity": {
"description": "The estimated anonymity for these quasi-identifier values.",
"format": "int64",
"type": "string"
},
"quasiIdsValues": {
"description": "The quasi-identifier values.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1Value"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KMapEstimationResult": {
"description": "Result of the reidentifiability analysis. Note that these results are an\nestimation, not exact values.",
"id": "GooglePrivacyDlpV2beta1KMapEstimationResult",
"properties": {
"kMapEstimationHistogram": {
"description": "The intervals [min_anonymity, max_anonymity] do not overlap. If a value\ndoesn't correspond to any such interval, the associated frequency is\nzero. For example, the following records:\n {min_anonymity: 1, max_anonymity: 1, frequency: 17}\n {min_anonymity: 2, max_anonymity: 3, frequency: 42}\n {min_anonymity: 5, max_anonymity: 10, frequency: 99}\nmean that there are no record with an estimated anonymity of 4, 5, or\nlarger than 10.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1KMapEstimationHistogramBucket"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Key": {
"description": "A unique identifier for a Datastore entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.",
"id": "GooglePrivacyDlpV2beta1Key",
"properties": {
"partitionId": {
"$ref": "GooglePrivacyDlpV2beta1PartitionId",
"description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition."
},
"path": {
"description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the second element identifies\na _child_ of the root entity, the third element identifies a child of the\nsecond entity, and so forth. The entities identified by all prefixes of\nthe path are called the element's _ancestors_.\n\nA path can never be empty, and a path can have at most 100 elements.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1PathElement"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KindExpression": {
"description": "A representation of a Datastore kind.",
"id": "GooglePrivacyDlpV2beta1KindExpression",
"properties": {
"name": {
"description": "The name of the kind.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1KmsWrappedCryptoKey": {
"description": "Include to use an existing data crypto key wrapped by KMS.\nAuthorization requires the following IAM permissions when sending a request\nto perform a crypto transformation using a kms-wrapped crypto key:\ndlp.kms.encrypt",
"id": "GooglePrivacyDlpV2beta1KmsWrappedCryptoKey",
"properties": {
"cryptoKeyName": {
"description": "The resource name of the KMS CryptoKey to use for unwrapping. [required]",
"type": "string"
},
"wrappedKey": {
"description": "The wrapped data crypto key. [required]",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1LDiversityConfig": {
"description": "l-diversity metric, used for analysis of reidentification risk.",
"id": "GooglePrivacyDlpV2beta1LDiversityConfig",
"properties": {
"quasiIds": {
"description": "Set of quasi-identifiers indicating how equivalence classes are\ndefined for the l-diversity computation. When multiple fields are\nspecified, they are considered a single composite key.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldId"
},
"type": "array"
},
"sensitiveAttribute": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Sensitive field for computing the l-value."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1LDiversityEquivalenceClass": {
"description": "The set of columns' values that share the same l-diversity value.",
"id": "GooglePrivacyDlpV2beta1LDiversityEquivalenceClass",
"properties": {
"equivalenceClassSize": {
"description": "Size of the k-anonymity equivalence class.",
"format": "int64",
"type": "string"
},
"numDistinctSensitiveValues": {
"description": "Number of distinct sensitive values in this equivalence class.",
"format": "int64",
"type": "string"
},
"quasiIdsValues": {
"description": "Quasi-identifier values defining the k-anonymity equivalence\nclass. The order is always the same as the original request.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1Value"
},
"type": "array"
},
"topSensitiveValues": {
"description": "Estimated frequencies of top sensitive values.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ValueFrequency"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1LDiversityHistogramBucket": {
"description": "Histogram bucket of sensitive value frequencies in the table.",
"id": "GooglePrivacyDlpV2beta1LDiversityHistogramBucket",
"properties": {
"bucketSize": {
"description": "Total number of records in this bucket.",
"format": "int64",
"type": "string"
},
"bucketValues": {
"description": "Sample of equivalence classes in this bucket. The total number of\nclasses returned per bucket is capped at 20.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1LDiversityEquivalenceClass"
},
"type": "array"
},
"sensitiveValueFrequencyLowerBound": {
"description": "Lower bound on the sensitive value frequencies of the equivalence\nclasses in this bucket.",
"format": "int64",
"type": "string"
},
"sensitiveValueFrequencyUpperBound": {
"description": "Upper bound on the sensitive value frequencies of the equivalence\nclasses in this bucket.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1LDiversityResult": {
"description": "Result of the l-diversity computation.",
"id": "GooglePrivacyDlpV2beta1LDiversityResult",
"properties": {
"sensitiveValueFrequencyHistogramBuckets": {
"description": "Histogram of l-diversity equivalence class sensitive value frequencies.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1LDiversityHistogramBucket"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ListInfoTypesResponse": {
"description": "Response to the ListInfoTypes request.",
"id": "GooglePrivacyDlpV2beta1ListInfoTypesResponse",
"properties": {
"infoTypes": {
"description": "Set of sensitive info types belonging to a category.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1InfoTypeDescription"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ListInspectFindingsResponse": {
"description": "Response to the ListInspectFindings request.",
"id": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse",
"properties": {
"nextPageToken": {
"description": "If not empty, indicates that there may be more results that match the\nrequest; this value should be passed in a new `ListInspectFindingsRequest`.",
"type": "string"
},
"result": {
"$ref": "GooglePrivacyDlpV2beta1InspectResult",
"description": "The results."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ListRootCategoriesResponse": {
"description": "Response for ListRootCategories request.",
"id": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse",
"properties": {
"categories": {
"description": "List of all into type categories supported by the API.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1CategoryDescription"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Location": {
"description": "Specifies the location of the finding.",
"id": "GooglePrivacyDlpV2beta1Location",
"properties": {
"byteRange": {
"$ref": "GooglePrivacyDlpV2beta1Range",
"description": "Zero-based byte offsets delimiting the finding.\nThese are relative to the finding's containing element.\nNote that when the content is not textual, this references\nthe UTF-8 encoded textual representation of the content.\nOmitted if content is an image."
},
"codepointRange": {
"$ref": "GooglePrivacyDlpV2beta1Range",
"description": "Unicode character offsets delimiting the finding.\nThese are relative to the finding's containing element.\nProvided when the content is text."
},
"fieldId": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "The pointer to the property or cell that contained the finding.\nProvided when the finding's containing element is a cell in a table\nor a property of storage object."
},
"imageBoxes": {
"description": "The area within the image that contained the finding.\nProvided when the content is an image.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ImageLocation"
},
"type": "array"
},
"recordKey": {
"$ref": "GooglePrivacyDlpV2beta1RecordKey",
"description": "The pointer to the record in storage that contained the field the\nfinding was found in.\nProvided when the finding's containing element is a property\nof a storage object."
},
"tableLocation": {
"$ref": "GooglePrivacyDlpV2beta1TableLocation",
"description": "The pointer to the row of the table that contained the finding.\nProvided when the finding's containing element is a cell of a table."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1NumericalStatsConfig": {
"description": "Compute numerical stats over an individual column, including\nmin, max, and quantiles.",
"id": "GooglePrivacyDlpV2beta1NumericalStatsConfig",
"properties": {
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Field to compute numerical stats on. Supported types are\ninteger, float, date, datetime, timestamp, time."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1NumericalStatsResult": {
"description": "Result of the numerical stats computation.",
"id": "GooglePrivacyDlpV2beta1NumericalStatsResult",
"properties": {
"maxValue": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Maximum value appearing in the column."
},
"minValue": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Minimum value appearing in the column."
},
"quantileValues": {
"description": "List of 99 values that partition the set of field values into 100 equal\nsized buckets.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1Value"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1OperationConfig": {
"description": "Additional configuration for inspect long running operations.",
"id": "GooglePrivacyDlpV2beta1OperationConfig",
"properties": {
"maxItemFindings": {
"description": "Max number of findings per file, Datastore entity, or database row.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1OutputStorageConfig": {
"description": "Cloud repository for storing output.",
"id": "GooglePrivacyDlpV2beta1OutputStorageConfig",
"properties": {
"storagePath": {
"$ref": "GooglePrivacyDlpV2beta1CloudStoragePath",
"description": "The path to a Google Cloud Storage location to store output.\nThe bucket must already exist and\nthe Google APIs service account for DLP must have write permission to\nwrite to the given bucket.\nResults are split over multiple csv files with each file name matching\nthe pattern \"[operation_id]_[count].csv\", for example\n`3094877188788974909_1.csv`. The `operation_id` matches the\nidentifier for the Operation, and the `count` is a counter used for\ntracking the number of files written.\n\nThe CSV file(s) contain the following columns regardless of storage type\nscanned:\n- id\n- info_type\n- likelihood\n- byte size of finding\n- quote\n- timestamp\n\nFor Cloud Storage the next columns are:\n\n- file_path\n- start_offset\n\nFor Cloud Datastore the next columns are:\n\n- project_id\n- namespace_id\n- path\n- column_name\n- offset\n\nFor BigQuery the next columns are:\n\n- row_number\n- project_id\n- dataset_id\n- table_id"
},
"table": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryTable",
"description": "Store findings in a new table in the dataset."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1PartitionId": {
"description": "Datastore partition ID.\nA partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.",
"id": "GooglePrivacyDlpV2beta1PartitionId",
"properties": {
"namespaceId": {
"description": "If not empty, the ID of the namespace to which the entities belong.",
"type": "string"
},
"projectId": {
"description": "The ID of the project to which the entities belong.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1PathElement": {
"description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.",
"id": "GooglePrivacyDlpV2beta1PathElement",
"properties": {
"id": {
"description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.",
"format": "int64",
"type": "string"
},
"kind": {
"description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
"type": "string"
},
"name": {
"description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1PrimitiveTransformation": {
"description": "A rule for transforming a value.",
"id": "GooglePrivacyDlpV2beta1PrimitiveTransformation",
"properties": {
"bucketingConfig": {
"$ref": "GooglePrivacyDlpV2beta1BucketingConfig"
},
"characterMaskConfig": {
"$ref": "GooglePrivacyDlpV2beta1CharacterMaskConfig"
},
"cryptoHashConfig": {
"$ref": "GooglePrivacyDlpV2beta1CryptoHashConfig"
},
"cryptoReplaceFfxFpeConfig": {
"$ref": "GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig"
},
"fixedSizeBucketingConfig": {
"$ref": "GooglePrivacyDlpV2beta1FixedSizeBucketingConfig"
},
"redactConfig": {
"$ref": "GooglePrivacyDlpV2beta1RedactConfig"
},
"replaceConfig": {
"$ref": "GooglePrivacyDlpV2beta1ReplaceValueConfig"
},
"replaceWithInfoTypeConfig": {
"$ref": "GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig"
},
"timePartConfig": {
"$ref": "GooglePrivacyDlpV2beta1TimePartConfig"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1PrivacyMetric": {
"description": "Privacy metric to compute for reidentification risk analysis.",
"id": "GooglePrivacyDlpV2beta1PrivacyMetric",
"properties": {
"categoricalStatsConfig": {
"$ref": "GooglePrivacyDlpV2beta1CategoricalStatsConfig"
},
"kAnonymityConfig": {
"$ref": "GooglePrivacyDlpV2beta1KAnonymityConfig"
},
"kMapEstimationConfig": {
"$ref": "GooglePrivacyDlpV2beta1KMapEstimationConfig"
},
"lDiversityConfig": {
"$ref": "GooglePrivacyDlpV2beta1LDiversityConfig"
},
"numericalStatsConfig": {
"$ref": "GooglePrivacyDlpV2beta1NumericalStatsConfig"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Projection": {
"description": "A representation of a Datastore property in a projection.",
"id": "GooglePrivacyDlpV2beta1Projection",
"properties": {
"property": {
"$ref": "GooglePrivacyDlpV2beta1PropertyReference",
"description": "The property to project."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1PropertyReference": {
"description": "A reference to a property relative to the Datastore kind expressions.",
"id": "GooglePrivacyDlpV2beta1PropertyReference",
"properties": {
"name": {
"description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1QuasiIdField": {
"description": "A quasi-identifier column has a custom_tag, used to know which column\nin the data corresponds to which column in the statistical model.",
"id": "GooglePrivacyDlpV2beta1QuasiIdField",
"properties": {
"customTag": {
"type": "string"
},
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Range": {
"description": "Generic half-open interval [start, end)",
"id": "GooglePrivacyDlpV2beta1Range",
"properties": {
"end": {
"description": "Index of the last character of the range (exclusive).",
"format": "int64",
"type": "string"
},
"start": {
"description": "Index of the first character of the range (inclusive).",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RecordCondition": {
"description": "A condition for determining whether a transformation should be applied to\na field.",
"id": "GooglePrivacyDlpV2beta1RecordCondition",
"properties": {
"expressions": {
"$ref": "GooglePrivacyDlpV2beta1Expressions"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RecordKey": {
"description": "Message for a unique key indicating a record that contains a finding.",
"id": "GooglePrivacyDlpV2beta1RecordKey",
"properties": {
"bigQueryKey": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryKey"
},
"cloudStorageKey": {
"$ref": "GooglePrivacyDlpV2beta1CloudStorageKey"
},
"datastoreKey": {
"$ref": "GooglePrivacyDlpV2beta1DatastoreKey"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RecordSuppression": {
"description": "Configuration to suppress records whose suppression conditions evaluate to\ntrue.",
"id": "GooglePrivacyDlpV2beta1RecordSuppression",
"properties": {
"condition": {
"$ref": "GooglePrivacyDlpV2beta1RecordCondition"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RecordTransformations": {
"description": "A type of transformation that is applied over structured data such as a\ntable.",
"id": "GooglePrivacyDlpV2beta1RecordTransformations",
"properties": {
"fieldTransformations": {
"description": "Transform the record by applying various field transformations.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldTransformation"
},
"type": "array"
},
"recordSuppressions": {
"description": "Configuration defining which records get suppressed entirely. Records that\nmatch any suppression rule are omitted from the output [optional].",
"items": {
"$ref": "GooglePrivacyDlpV2beta1RecordSuppression"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RedactConfig": {
"description": "Redact a given value. For example, if used with an `InfoTypeTransformation`\ntransforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the\noutput would be 'My phone number is '.",
"id": "GooglePrivacyDlpV2beta1RedactConfig",
"properties": {},
"type": "object"
},
"GooglePrivacyDlpV2beta1RedactContentRequest": {
"description": "Request to search for potentially sensitive info in a list of items\nand replace it with a default or provided content.",
"id": "GooglePrivacyDlpV2beta1RedactContentRequest",
"properties": {
"imageRedactionConfigs": {
"description": "The configuration for specifying what content to redact from images.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ImageRedactionConfig"
},
"type": "array"
},
"inspectConfig": {
"$ref": "GooglePrivacyDlpV2beta1InspectConfig",
"description": "Configuration for the inspector."
},
"items": {
"description": "The list of items to inspect. Up to 100 are allowed per request.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ContentItem"
},
"type": "array"
},
"replaceConfigs": {
"description": "The strings to replace findings text findings with. Must specify at least\none of these or one ImageRedactionConfig if redacting images.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ReplaceConfig"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RedactContentResponse": {
"description": "Results of redacting a list of items.",
"id": "GooglePrivacyDlpV2beta1RedactContentResponse",
"properties": {
"items": {
"description": "The redacted content.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1ContentItem"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ReplaceConfig": {
"id": "GooglePrivacyDlpV2beta1ReplaceConfig",
"properties": {
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "Type of information to replace. Only one ReplaceConfig per info_type\nshould be provided. If ReplaceConfig does not have an info_type, the DLP\nAPI matches it against all info_types that are found but not specified in\nanother ReplaceConfig."
},
"replaceWith": {
"description": "Content replacing sensitive information of given type. Max 256 chars.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ReplaceValueConfig": {
"description": "Replace each input value with a given `Value`.",
"id": "GooglePrivacyDlpV2beta1ReplaceValueConfig",
"properties": {
"newValue": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "Value to replace it with."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig": {
"description": "Replace each matching finding with the name of the info_type.",
"id": "GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig",
"properties": {},
"type": "object"
},
"GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata": {
"description": "Metadata returned within the\n[`riskAnalysis.operations.get`](/dlp/docs/reference/rest/v2beta1/riskAnalysis.operations/get)\nfor risk analysis.",
"id": "GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata",
"properties": {
"createTime": {
"description": "The time which this request was started.",
"format": "google-datetime",
"type": "string"
},
"requestedPrivacyMetric": {
"$ref": "GooglePrivacyDlpV2beta1PrivacyMetric",
"description": "Privacy metric to compute."
},
"requestedSourceTable": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryTable",
"description": "Input dataset to compute metrics over."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1RiskAnalysisOperationResult": {
"description": "Result of a risk analysis\n[`Operation`](/dlp/docs/reference/rest/v2beta1/inspect.operations)\nrequest.",
"id": "GooglePrivacyDlpV2beta1RiskAnalysisOperationResult",
"properties": {
"categoricalStatsResult": {
"$ref": "GooglePrivacyDlpV2beta1CategoricalStatsResult"
},
"kAnonymityResult": {
"$ref": "GooglePrivacyDlpV2beta1KAnonymityResult"
},
"kMapEstimationResult": {
"$ref": "GooglePrivacyDlpV2beta1KMapEstimationResult"
},
"lDiversityResult": {
"$ref": "GooglePrivacyDlpV2beta1LDiversityResult"
},
"numericalStatsResult": {
"$ref": "GooglePrivacyDlpV2beta1NumericalStatsResult"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Row": {
"id": "GooglePrivacyDlpV2beta1Row",
"properties": {
"values": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1Value"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1StorageConfig": {
"description": "Shared message indicating Cloud storage type.",
"id": "GooglePrivacyDlpV2beta1StorageConfig",
"properties": {
"bigQueryOptions": {
"$ref": "GooglePrivacyDlpV2beta1BigQueryOptions",
"description": "BigQuery options specification."
},
"cloudStorageOptions": {
"$ref": "GooglePrivacyDlpV2beta1CloudStorageOptions",
"description": "Google Cloud Storage options specification."
},
"datastoreOptions": {
"$ref": "GooglePrivacyDlpV2beta1DatastoreOptions",
"description": "Google Cloud Datastore options specification."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1SummaryResult": {
"description": "A collection that informs the user the number of times a particular\n`TransformationResultCode` and error details occurred.",
"id": "GooglePrivacyDlpV2beta1SummaryResult",
"properties": {
"code": {
"enum": [
"TRANSFORMATION_RESULT_CODE_UNSPECIFIED",
"SUCCESS",
"ERROR"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string"
},
"count": {
"format": "int64",
"type": "string"
},
"details": {
"description": "A place for warnings or errors to show up if a transformation didn't\nwork as expected.",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1SurrogateType": {
"description": "Message for detecting output from deidentification transformations\nsuch as\n[`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2beta1/content/deidentify#CryptoReplaceFfxFpeConfig).\nThese types of transformations are\nthose that perform pseudonymization, thereby producing a \"surrogate\" as\noutput. This should be used in conjunction with a field on the\ntransformation such as `surrogate_info_type`. This custom info type does\nnot support the use of `detection_rules`.",
"id": "GooglePrivacyDlpV2beta1SurrogateType",
"properties": {},
"type": "object"
},
"GooglePrivacyDlpV2beta1Table": {
"description": "Structured content to inspect. Up to 50,000 `Value`s per request allowed.",
"id": "GooglePrivacyDlpV2beta1Table",
"properties": {
"headers": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldId"
},
"type": "array"
},
"rows": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1Row"
},
"type": "array"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1TableLocation": {
"description": "Location of a finding within a table.",
"id": "GooglePrivacyDlpV2beta1TableLocation",
"properties": {
"rowIndex": {
"description": "The zero-based index of the row where the finding is located.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1TaggedField": {
"description": "A column with a semantic tag attached.",
"id": "GooglePrivacyDlpV2beta1TaggedField",
"properties": {
"customTag": {
"description": "A column can be tagged with a custom tag. In this case, the user must\nindicate an auxiliary table that contains statistical information on\nthe possible values of this column (below).",
"type": "string"
},
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Identifies the column. [required]"
},
"inferred": {
"$ref": "GoogleProtobufEmpty",
"description": "If no semantic tag is indicated, we infer the statistical model from\nthe distribution of values in the input data"
},
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "A column can be tagged with a InfoType to use the relevant public\ndataset as a statistical model of population, if available. We\ncurrently support US ZIP codes, region codes, ages and genders."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1TimePartConfig": {
"description": "For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a\nportion of the value.",
"id": "GooglePrivacyDlpV2beta1TimePartConfig",
"properties": {
"partToExtract": {
"enum": [
"TIME_PART_UNSPECIFIED",
"YEAR",
"MONTH",
"DAY_OF_MONTH",
"DAY_OF_WEEK",
"WEEK_OF_YEAR",
"HOUR_OF_DAY"
],
"enumDescriptions": [
"",
"[000-9999]",
"[1-12]",
"[1-31]",
"[1-7]",
"[1-52]",
"[0-24]"
],
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1TransformationSummary": {
"description": "Summary of a single tranformation.\nOnly one of 'transformation', 'field_transformation', or 'record_suppress'\nwill be set.",
"id": "GooglePrivacyDlpV2beta1TransformationSummary",
"properties": {
"field": {
"$ref": "GooglePrivacyDlpV2beta1FieldId",
"description": "Set if the transformation was limited to a specific FieldId."
},
"fieldTransformations": {
"description": "The field transformation that was applied.\nIf multiple field transformations are requested for a single field,\nthis list will contain all of them; otherwise, only one is supplied.",
"items": {
"$ref": "GooglePrivacyDlpV2beta1FieldTransformation"
},
"type": "array"
},
"infoType": {
"$ref": "GooglePrivacyDlpV2beta1InfoType",
"description": "Set if the transformation was limited to a specific info_type."
},
"recordSuppress": {
"$ref": "GooglePrivacyDlpV2beta1RecordSuppression",
"description": "The specific suppression option these stats apply to."
},
"results": {
"items": {
"$ref": "GooglePrivacyDlpV2beta1SummaryResult"
},
"type": "array"
},
"transformation": {
"$ref": "GooglePrivacyDlpV2beta1PrimitiveTransformation",
"description": "The specific transformation these stats apply to."
},
"transformedBytes": {
"description": "Total size in bytes that were transformed in some way.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1TransientCryptoKey": {
"description": "Use this to have a random data crypto key generated.\nIt will be discarded after the operation/request finishes.",
"id": "GooglePrivacyDlpV2beta1TransientCryptoKey",
"properties": {
"name": {
"description": "Name of the key. [required]\nThis is an arbitrary string used to differentiate different keys.\nA unique key is generated per name: two separate `TransientCryptoKey`\nprotos share the same generated key if their names are the same.\nWhen the data crypto key is generated, this name is not used in any way\n(repeating the api call will result in a different key being generated).",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1UnwrappedCryptoKey": {
"description": "Using raw keys is prone to security risks due to accidentally\nleaking the key. Choose another type of key if possible.",
"id": "GooglePrivacyDlpV2beta1UnwrappedCryptoKey",
"properties": {
"key": {
"description": "The AES 128/192/256 bit key. [required]",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1Value": {
"description": "Set of primitive values supported by the system.\nNote that for the purposes of inspection or transformation, the number\nof bytes considered to comprise a 'Value' is based on its representation\nas a UTF-8 encoded string. For example, if 'integer_value' is set to\n123456789, the number of bytes would be counted as 9, even though an\nint64 only holds up to 8 bytes of data.",
"id": "GooglePrivacyDlpV2beta1Value",
"properties": {
"booleanValue": {
"type": "boolean"
},
"dateValue": {
"$ref": "GoogleTypeDate"
},
"floatValue": {
"format": "double",
"type": "number"
},
"integerValue": {
"format": "int64",
"type": "string"
},
"stringValue": {
"type": "string"
},
"timeValue": {
"$ref": "GoogleTypeTimeOfDay"
},
"timestampValue": {
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1ValueFrequency": {
"description": "A value of a field, including its frequency.",
"id": "GooglePrivacyDlpV2beta1ValueFrequency",
"properties": {
"count": {
"description": "How many times the value is contained in the field.",
"format": "int64",
"type": "string"
},
"value": {
"$ref": "GooglePrivacyDlpV2beta1Value",
"description": "A value contained in the field in question."
}
},
"type": "object"
},
"GooglePrivacyDlpV2beta1WordList": {
"description": "Message defining a list of words or phrases to search for in the data.",
"id": "GooglePrivacyDlpV2beta1WordList",
"properties": {
"words": {
"description": "Words or phrases defining the dictionary. The dictionary must contain\nat least one phrase and every phrase must contain at least 2 characters\nthat are letters or digits. [required]",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"GoogleProtobufEmpty": {
"description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"id": "GoogleProtobufEmpty",
"properties": {},
"type": "object"
},
"GoogleRpcStatus": {
"description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.",
"id": "GoogleRpcStatus",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
},
"details": {
"description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"type": "object"
},
"GoogleTypeDate": {
"description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.",
"id": "GoogleTypeDate",
"properties": {
"day": {
"description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.",
"format": "int32",
"type": "integer"
},
"month": {
"description": "Month of year. Must be from 1 to 12, or 0 if specifying a date without a\nmonth.",
"format": "int32",
"type": "integer"
},
"year": {
"description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"GoogleTypeTimeOfDay": {
"description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.",
"id": "GoogleTypeTimeOfDay",
"properties": {
"hours": {
"description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.",
"format": "int32",
"type": "integer"
},
"minutes": {
"description": "Minutes of hour of day. Must be from 0 to 59.",
"format": "int32",
"type": "integer"
},
"nanos": {
"description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.",
"format": "int32",
"type": "integer"
},
"seconds": {
"description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Cloud Data Loss Prevention (DLP) API",
"version": "v2beta1",
"version_module": true
}