"description":"Restricts findings to items that match. Supports info_type and likelihood.\nExamples:\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"
},
"name":{
"location":"path",
"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}`.",
"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.",
"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.",
"description":"Cancels an operation. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation."
"description":"Optional language code for localized friendly category names.\nIf omitted or if localized strings are not available,\nen-US strings will be returned.",
"type":"string"
}
},
"scopes":[
"https://www.googleapis.com/auth/cloud-platform"
],
"flatPath":"v2beta1/rootCategories",
"id":"dlp.rootCategories.list",
"path":"v2beta1/rootCategories",
"description":"Returns the list of root categories of sensitive information."
"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.",
"type":"string"
},
"category":{
"location":"path",
"description":"Category name as returned by ListRootCategories.",
"description":"Returns sensitive information types for given category."
}
}
}
}
},
"riskAnalysis":{
"resources":{
"operations":{
"methods":{
"cancel":{
"description":"Cancels an operation. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.",
"request":{
"$ref":"GoogleLongrunningCancelOperationRequest"
},
"response":{
"$ref":"GoogleProtobufEmpty"
},
"parameterOrder":[
"name"
],
"httpMethod":"POST",
"scopes":[
"https://www.googleapis.com/auth/cloud-platform"
],
"parameters":{
"name":{
"description":"The name of the operation resource to be cancelled.",
"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.",
"response":{
"$ref":"GoogleLongrunningOperation"
},
"parameterOrder":[
"name"
],
"httpMethod":"GET",
"parameters":{
"name":{
"description":"The name of the operation resource.",
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location":"query"
},
"access_token":{
"description":"OAuth access token.",
"type":"string",
"location":"query"
},
"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.",
"type":"string",
"location":"query"
},
"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.",
"type":"string",
"location":"query"
},
"pp":{
"location":"query",
"description":"Pretty-print response.",
"type":"boolean",
"default":"true"
},
"oauth_token":{
"location":"query",
"description":"OAuth 2.0 token for the current user.",
"type":"string"
},
"bearer_token":{
"description":"OAuth bearer token.",
"type":"string",
"location":"query"
},
"upload_protocol":{
"location":"query",
"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type":"string"
},
"prettyPrint":{
"location":"query",
"description":"Returns response with indentations and line breaks.",
"type":"boolean",
"default":"true"
}
},
"version":"v2beta1",
"baseUrl":"https://dlp.googleapis.com/",
"kind":"discovery#restDescription",
"description":"The Google Data Loss Prevention API provides methods for detection of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.",
"description":"Index of the first character of the range (inclusive).",
"format":"int64",
"type":"string"
},
"end":{
"type":"string",
"description":"Index of the last character of the range (exclusive).",
"format":"int64"
}
},
"id":"GooglePrivacyDlpV2beta1Range"
},
"GoogleTypeTimeOfDay":{
"id":"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`.",
"type":"object",
"properties":{
"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"
},
"minutes":{
"description":"Minutes of hour of day. Must be from 0 to 59.",
"format":"int32",
"type":"integer"
},
"hours":{
"type":"integer",
"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"
},
"nanos":{
"description":"Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.",
"format":"int32",
"type":"integer"
}
}
},
"GooglePrivacyDlpV2beta1InspectResult":{
"description":"All the findings for a single scanned item.",
"type":"object",
"properties":{
"findingsTruncated":{
"type":"boolean",
"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."
},
"findings":{
"description":"List of findings for an item.",
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1Finding"
}
}
},
"id":"GooglePrivacyDlpV2beta1InspectResult"
},
"GooglePrivacyDlpV2beta1ImageLocation":{
"description":"Bounding box encompassing detected text within an image.",
"type":"object",
"properties":{
"height":{
"description":"Height of the bounding box in pixels.",
"format":"int32",
"type":"integer"
},
"top":{
"description":"Top coordinate of the bounding box. (0,0) is upper left.",
"format":"int32",
"type":"integer"
},
"left":{
"type":"integer",
"description":"Left coordinate of the bounding box. (0,0) is upper left.",
"format":"int32"
},
"width":{
"description":"Width of the bounding box in pixels.",
"description":"Container structure for the content to inspect.",
"type":"object",
"properties":{
"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"
},
"table":{
"$ref":"GooglePrivacyDlpV2beta1Table",
"description":"Structured content for inspection."
},
"data":{
"description":"Content data to inspect or redact.",
"format":"byte",
"type":"string"
}
},
"id":"GooglePrivacyDlpV2beta1ContentItem"
},
"GooglePrivacyDlpV2beta1OperationConfig":{
"type":"object",
"properties":{
"maxItemFindings":{
"description":"Max number of findings per file, Datastore entity, or database row.",
"format":"int64",
"type":"string"
}
},
"id":"GooglePrivacyDlpV2beta1OperationConfig",
"description":"Additional configuration for inspect long running operations."
},
"GooglePrivacyDlpV2beta1BigQueryOptions":{
"description":"Options defining BigQuery table and row identifiers.",
"description":"References to fields uniquely identifying rows within the table.\nNested fields in the format, like `person.birthdate.year`, are allowed.",
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1FieldId"
}
}
},
"id":"GooglePrivacyDlpV2beta1BigQueryOptions"
},
"GooglePrivacyDlpV2beta1ReplaceConfig":{
"type":"object",
"properties":{
"infoType":{
"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.",
"$ref":"GooglePrivacyDlpV2beta1InfoType"
},
"replaceWith":{
"description":"Content replacing sensitive information of given type. Max 256 chars.",
"type":"string"
}
},
"id":"GooglePrivacyDlpV2beta1ReplaceConfig"
},
"GooglePrivacyDlpV2beta1Color":{
"type":"object",
"properties":{
"red":{
"type":"number",
"description":"The amount of red in the color as a value in the interval [0, 1].",
"format":"float"
},
"green":{
"description":"The amount of green in the color as a value in the interval [0, 1].",
"format":"float",
"type":"number"
},
"blue":{
"type":"number",
"description":"The amount of blue in the color as a value in the interval [0, 1].",
"format":"float"
}
},
"id":"GooglePrivacyDlpV2beta1Color",
"description":"Represents a color in the RGB color space."
},
"GooglePrivacyDlpV2beta1Table":{
"description":"Structured content to inspect. Up to 50,000 `Value`s per request allowed.",
"type":"object",
"properties":{
"headers":{
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1FieldId"
}
},
"rows":{
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1Row"
}
}
},
"id":"GooglePrivacyDlpV2beta1Table"
},
"GooglePrivacyDlpV2beta1InfoTypeLimit":{
"id":"GooglePrivacyDlpV2beta1InfoTypeLimit",
"description":"Max findings configuration per info type, per content item or long running\noperation.",
"type":"object",
"properties":{
"infoType":{
"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.",
"$ref":"GooglePrivacyDlpV2beta1InfoType"
},
"maxFindings":{
"type":"integer",
"description":"Max findings limit for the given infoType.",
"format":"int32"
}
}
},
"GooglePrivacyDlpV2beta1ListInfoTypesResponse":{
"description":"Response to the ListInfoTypes request.",
"type":"object",
"properties":{
"infoTypes":{
"description":"Set of sensitive info types belonging to a category.",
"description":"Set of primitive values supported by the system.",
"type":"object"
},
"GooglePrivacyDlpV2beta1CloudStorageKey":{
"description":"Record key for a finding in a Cloud Storage file.",
"type":"object",
"properties":{
"startOffset":{
"description":"Byte offset of the referenced data in the file.",
"format":"int64",
"type":"string"
},
"filePath":{
"description":"Path to the file.",
"type":"string"
}
},
"id":"GooglePrivacyDlpV2beta1CloudStorageKey"
},
"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.",
"type":"object",
"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.",
"description":"Results of inspecting a list of items.",
"type":"object",
"properties":{
"results":{
"description":"Each content_item from the request has a result in this list, in the\nsame order as the request.",
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1InspectResult"
}
}
}
},
"GooglePrivacyDlpV2beta1RedactContentRequest":{
"description":"Request to search for potentially sensitive info in a list of items\nand replace it with a default or provided content.",
"type":"object",
"properties":{
"replaceConfigs":{
"description":"The strings to replace findings text findings with. Must specify at least\none of these or one ImageRedactionConfig if redacting images.",
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1ReplaceConfig"
}
},
"imageRedactionConfigs":{
"description":"The configuration for specifying what content to redact from images.",
"description":"Options defining a data set within Google Cloud Datastore.",
"type":"object",
"properties":{
"kind":{
"description":"The kind to process.",
"$ref":"GooglePrivacyDlpV2beta1KindExpression"
},
"projection":{
"description":"Properties to scan. If none are specified, all properties will be scanned\nby default.",
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1Projection"
}
},
"partitionId":{
"description":"A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.",
"description":"Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.",
"type":"object",
"properties":{
"excludeTypes":{
"type":"boolean",
"description":"When true, excludes type information of the findings."
},
"minLikelihood":{
"description":"Only returns findings equal or above this threshold.",
"type":"string",
"enumDescriptions":[
"Default value; information with all likelihoods is included.",
"Few matching elements.",
"",
"Some matching elements.",
"",
"Many matching elements."
],
"enum":[
"LIKELIHOOD_UNSPECIFIED",
"VERY_UNLIKELY",
"UNLIKELY",
"POSSIBLE",
"LIKELY",
"VERY_LIKELY"
]
},
"maxFindings":{
"type":"integer",
"description":"Limits the number of findings per content item or long running operation.",
"format":"int32"
},
"infoTypeLimits":{
"description":"Configuration of findings limit given for specified info types.",
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1InfoTypeLimit"
}
},
"infoTypes":{
"type":"array",
"items":{
"$ref":"GooglePrivacyDlpV2beta1InfoType"
},
"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."
},
"includeQuote":{
"type":"boolean",
"description":"When true, a contextual quote from the data that triggered a finding is\nincluded in the response; see Finding.quote."
"description":"Request for scheduling a scan of a data subset from a Google Platform data\nrepository.",
"type":"object",
"properties":{
"inspectConfig":{
"description":"Configuration for the inspector.",
"$ref":"GooglePrivacyDlpV2beta1InspectConfig"
},
"storageConfig":{
"$ref":"GooglePrivacyDlpV2beta1StorageConfig",
"description":"Specification of the data set to process."
},
"outputConfig":{
"description":"Optional location to store findings. The 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.\nThe CSV file(s) contain the\nfollowing columns regardless of storage type scanned:\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- file_path\n- start_offset\n\nFor Cloud Datastore the next columns are:\n- project_id\n- namespace_id\n- path\n- column_name\n- offset\n\nFor BigQuery the next columns are:\n- row_number\n- project_id\n- dataset_id\n- table_id",
"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.",
"type":"object",
"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.",
"description":"Request to search for potentially sensitive info in a list of items.",
"type":"object",
"properties":{
"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.",
"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`.",
"description":"Month of year. Must be from 1 to 12.",
"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"
},
"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.",
"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."
"description":"Cloud repository for storing output.",
"type":"object",
"properties":{
"table":{
"description":"Store findings in a new table in the dataset.",
"$ref":"GooglePrivacyDlpV2beta1BigQueryTable"
},
"storagePath":{
"description":"The path to a Google Cloud Storage location to store output.",
"$ref":"GooglePrivacyDlpV2beta1CloudStoragePath"
}
},
"id":"GooglePrivacyDlpV2beta1OutputStorageConfig"
},
"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.",
"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.",
"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.",
"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.",
"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"
},
"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 `\"\"`.",
"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.",
"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`.",
"description":"Response to the ListInspectFindings request.",
"type":"object",
"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`.",
"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 `{}`.",
"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}`."