{'_baseUrl': 'https://dlp.googleapis.com/',
 '_developerKey': None,
 '_dynamic_attrs': ['new_batch_http_request',
  'content',
  'inspect',
  'rootCategories'],
 '_http': <httplib2.Http at 0x7fb538069278>,
 '_model': <googleapiclient.model.JsonModel at 0x7fb538026080>,
 '_requestBuilder': googleapiclient.http.HttpRequest,
 '_resourceDesc': {'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': 'The Google Data Loss Prevention API provides methods for detection of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.',
  'discoveryVersion': 'v1',
  'documentationLink': 'https://cloud.google.com/dlp/docs/',
  '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': {'inspect': {'description': 'Find 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': {'$.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'},
       'body': {'$ref': 'InspectContentRequest',
        'description': 'The request body.',
        'required': True,
        'type': 'object'},
       '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': {'location': 'query', 'type': 'string'},
       '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'},
       'strict': {'location': 'query', 'type': 'string'},
       'trace': {'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'},
       'userip': {'location': 'query', 'type': 'string'}},
      'path': 'v2beta1/content:inspect',
      'request': {'$ref': 'InspectContentRequest'},
      'response': {'$ref': 'InspectContentResponse'},
      'scopes': ['https://www.googleapis.com/auth/cloud-platform']},
     'redact': {'description': 'Redact 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': {'$.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'},
       'body': {'$ref': 'RedactContentRequest',
        'description': 'The request body.',
        'required': True,
        'type': 'object'},
       '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': {'location': 'query', 'type': 'string'},
       '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'},
       'strict': {'location': 'query', 'type': 'string'},
       'trace': {'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'},
       'userip': {'location': 'query', 'type': 'string'}},
      'path': 'v2beta1/content:redact',
      'request': {'$ref': 'RedactContentRequest'},
      'response': {'$ref': 'RedactContentResponse'},
      'scopes': ['https://www.googleapis.com/auth/cloud-platform']}}},
   'inspect': {'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.',
        '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': 'CancelOperationRequest'},
        'response': {'$ref': 'Empty'},
        'scopes': ['https://www.googleapis.com/auth/cloud-platform']},
       'create': {'description': 'Schedule a job scanning content in a Google Cloud Platform data repository.',
        'flatPath': 'v2beta1/inspect/operations',
        'httpMethod': 'POST',
        'id': 'dlp.inspect.operations.create',
        'parameterOrder': [],
        'parameters': {},
        'path': 'v2beta1/inspect/operations',
        'request': {'$ref': 'CreateInspectOperationRequest'},
        'response': {'$ref': 'Operation'},
        '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': 'Empty'},
        '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': 'Operation'},
        'scopes': ['https://www.googleapis.com/auth/cloud-platform']},
       'list': {'description': "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding below allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`.",
        'flatPath': 'v2beta1/inspect/operations',
        'httpMethod': 'GET',
        'id': 'dlp.inspect.operations.list',
        'parameterOrder': ['name'],
        'parameters': {'filter': {'description': 'This parameter supports filtering by done, ie done=true or done=false.',
          'location': 'query',
          'type': 'string'},
         'name': {'description': 'The name of the operation collection.',
          'location': 'path',
          'pattern': '^inspect/operations$',
          'required': True,
          'type': 'string'},
         'pageSize': {'description': 'The list page size. The max allowed value is 256 and default is 100.',
          'format': 'int32',
          'location': 'query',
          'type': 'integer'},
         'pageToken': {'description': 'The list page token.',
          'location': 'query',
          'type': 'string'}},
        'path': 'v2beta1/{+name}',
        'response': {'$ref': 'ListOperationsResponse'},
        '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': {'name': {'description': 'Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to CreateInspectOperation.\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 will select 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': 'ListInspectFindingsResponse'},
          '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': {'$.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'},
       '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'},
       'oauth_token': {'description': 'OAuth 2.0 token for the current user.',
        'location': 'query',
        'type': 'string'},
       'pp': {'location': 'query', 'type': 'string'},
       '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'},
       'strict': {'location': 'query', 'type': 'string'},
       'trace': {'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'},
       'userip': {'location': 'query', 'type': 'string'}},
      'path': 'v2beta1/rootCategories',
      'response': {'$ref': 'ListRootCategoriesResponse'},
      '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': 'ListInfoTypesResponse'},
        'scopes': ['https://www.googleapis.com/auth/cloud-platform']}}}}}},
  'revision': '20170314',
  'rootUrl': 'https://dlp.googleapis.com/',
  'schemas': {'CancelOperationRequest': {'description': 'The request message for Operations.CancelOperation.',
    'id': 'CancelOperationRequest',
    'properties': {},
    'type': 'object'},
   'CategoryDescription': {'description': 'Info Type Category description.',
    'id': 'CategoryDescription',
    'properties': {'displayName': {'description': 'Human readable form of the category name.',
      'type': 'string'},
     'name': {'description': 'Internal name of the category.',
      'type': 'string'}},
    'type': 'object'},
   'CloudStorageKey': {'description': 'Record key for a finding in a Cloud Storage file.',
    'id': 'CloudStorageKey',
    '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'},
   'CloudStorageOptions': {'description': 'Options defining a file or a set of files (path ending with *) within\na Google Cloud Storage bucket.',
    'id': 'CloudStorageOptions',
    'properties': {'fileSet': {'$ref': 'FileSet'}},
    'type': 'object'},
   'ContentItem': {'description': 'Container structure for the content to inspect.',
    'id': 'ContentItem',
    'properties': {'data': {'description': 'Content data to inspect or redact.',
      'format': 'byte',
      'type': 'string'},
     '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'},
   'CreateInspectOperationRequest': {'description': 'Request for scheduling a scan of a data subset from a Google Platform data\nrepository.',
    'id': 'CreateInspectOperationRequest',
    'properties': {'inspectConfig': {'$ref': 'InspectConfig',
      'description': 'Configuration for the inspector.'},
     'storageConfig': {'$ref': 'StorageConfig',
      'description': 'Specification of the data set to process.'}},
    'type': 'object'},
   'DatastoreKey': {'description': 'Record key for a finding in Cloud Datastore.',
    'id': 'DatastoreKey',
    'properties': {'entityKey': {'$ref': 'Key',
      'description': 'Datastore entity key.'}},
    'type': 'object'},
   'DatastoreOptions': {'description': 'Options defining a data set within Google Cloud Datastore.',
    'id': 'DatastoreOptions',
    'properties': {'kind': {'$ref': 'KindExpression',
      'description': 'The kind to process.'},
     'partitionId': {'$ref': '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.'},
     'projection': {'description': 'Properties to scan. If none are specified, all properties will be scanned\nby default.',
      'items': {'$ref': 'Projection'},
      'type': 'array'}},
    'type': 'object'},
   'Empty': {'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': 'Empty',
    'properties': {},
    'type': 'object'},
   'FieldId': {'description': 'General identifier of a data field in a storage service.',
    'id': 'FieldId',
    'properties': {'columnName': {'description': 'Column name describing the field.',
      'type': 'string'}},
    'type': 'object'},
   'FileSet': {'description': 'Set of files to scan.',
    'id': 'FileSet',
    'properties': {'url': {'description': 'The url, in the format gs://<bucket>/<path>. Trailing wildcard in the\npath is allowed.',
      'type': 'string'}},
    'type': 'object'},
   'Finding': {'description': 'Container structure describing a single finding within a string or image.',
    'id': 'Finding',
    'properties': {'createTime': {'description': 'Timestamp when finding was detected.',
      'format': 'google-datetime',
      'type': 'string'},
     'infoType': {'$ref': 'InfoType',
      'description': 'The specific type of info the string might be.'},
     '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 will be included.',
       'Few matching elements.',
       '',
       'Some matching elements.',
       '',
       'Many matching elements.'],
      'type': 'string'},
     'location': {'$ref': 'Location',
      'description': 'Location of the info found.'},
     'quote': {'description': 'The specific string that may be potentially sensitive info.',
      'type': 'string'}},
    'type': 'object'},
   'ImageLocation': {'description': 'Bounding box encompassing detected text within an image.',
    'id': 'ImageLocation',
    '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'},
   'InfoType': {'description': 'Type of information detected by the API.',
    'id': 'InfoType',
    'properties': {'name': {'description': 'Name of the information type, provided by the API call ListInfoTypes.',
      'type': 'string'}},
    'type': 'object'},
   'InfoTypeDescription': {'description': 'Info type description.',
    'id': 'InfoTypeDescription',
    'properties': {'categories': {'description': 'List of categories this info type belongs to.',
      'items': {'$ref': 'CategoryDescription'},
      'type': 'array'},
     'displayName': {'description': 'Human readable form of the info type name.',
      'type': 'string'},
     'name': {'description': 'Internal name of the info type.',
      'type': 'string'}},
    'type': 'object'},
   'InspectConfig': {'description': 'Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.',
    'id': 'InspectConfig',
    'properties': {'excludeTypes': {'description': 'When true, exclude type information of the findings.',
      'type': 'boolean'},
     'includeQuote': {'description': 'When true, a contextual quote from the data that triggered a finding will\nbe included in the response; see Finding.quote.',
      'type': 'boolean'},
     'infoTypes': {'description': 'Restrict 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': 'InfoType'},
      'type': 'array'},
     'maxFindings': {'description': 'Limit the number of findings per content item.',
      'format': 'int32',
      'type': 'integer'},
     'minLikelihood': {'description': 'Only return findings equal or above this threshold.',
      'enum': ['LIKELIHOOD_UNSPECIFIED',
       'VERY_UNLIKELY',
       'UNLIKELY',
       'POSSIBLE',
       'LIKELY',
       'VERY_LIKELY'],
      'enumDescriptions': ['Default value; information with all likelihoods will be included.',
       'Few matching elements.',
       '',
       'Some matching elements.',
       '',
       'Many matching elements.'],
      'type': 'string'}},
    'type': 'object'},
   'InspectContentRequest': {'description': 'Request to search for potentially sensitive info in a list of items.',
    'id': 'InspectContentRequest',
    'properties': {'inspectConfig': {'$ref': 'InspectConfig',
      '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': 'ContentItem'},
      'type': 'array'}},
    'type': 'object'},
   'InspectContentResponse': {'description': 'Results of inspecting a list of items.',
    'id': 'InspectContentResponse',
    'properties': {'results': {'description': 'Each content_item from the request will have a result in this list, in the\nsame order as the request.',
      'items': {'$ref': 'InspectResult'},
      'type': 'array'}},
    'type': 'object'},
   'InspectResult': {'description': 'All the findings for a single scanned item.',
    'id': 'InspectResult',
    'properties': {'findings': {'description': 'List of findings for an item.',
      'items': {'$ref': 'Finding'},
      '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'},
   'Key': {'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': 'Key',
    'properties': {'partitionId': {'$ref': 'PartitionId',
      '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': 'PathElement'},
      'type': 'array'}},
    'type': 'object'},
   'KindExpression': {'description': 'A representation of a Datastore kind.',
    'id': 'KindExpression',
    'properties': {'name': {'description': 'The name of the kind.',
      'type': 'string'}},
    'type': 'object'},
   'ListInfoTypesResponse': {'description': 'Response to the ListInfoTypes request.',
    'id': 'ListInfoTypesResponse',
    'properties': {'infoTypes': {'description': 'Set of sensitive info types belonging to a category.',
      'items': {'$ref': 'InfoTypeDescription'},
      'type': 'array'}},
    'type': 'object'},
   'ListInspectFindingsResponse': {'description': 'Response to the ListInspectFindings request.',
    'id': 'ListInspectFindingsResponse',
    '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': 'InspectResult', 'description': 'The results.'}},
    'type': 'object'},
   'ListOperationsResponse': {'description': 'The response message for Operations.ListOperations.',
    'id': 'ListOperationsResponse',
    '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': 'Operation'},
      'type': 'array'}},
    'type': 'object'},
   'ListRootCategoriesResponse': {'description': 'Response for ListRootCategories request.',
    'id': 'ListRootCategoriesResponse',
    'properties': {'categories': {'description': 'List of all into type categories supported by the API.',
      'items': {'$ref': 'CategoryDescription'},
      'type': 'array'}},
    'type': 'object'},
   'Location': {'description': 'Specifies the location of a finding within its source item.',
    'id': 'Location',
    'properties': {'byteRange': {'$ref': 'Range',
      'description': 'Zero-based byte offsets within a content item.'},
     'codepointRange': {'$ref': 'Range',
      'description': 'Character offsets within a content item, included when content type\nis a text. Default charset assumed to be UTF-8.'},
     'fieldId': {'$ref': 'FieldId',
      'description': 'Field id of the field containing the finding.'},
     'imageBoxes': {'description': "Location within an image's pixels.",
      'items': {'$ref': 'ImageLocation'},
      'type': 'array'},
     'recordKey': {'$ref': 'RecordKey', 'description': 'Key of the finding.'}},
    'type': 'object'},
   'Operation': {'description': 'This resource represents a long-running operation that is the result of a\nnetwork API call.',
    'id': 'Operation',
    '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': 'Status',
      '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 `InspectOperationMetdata` object.',
      'type': 'object'},
     'name': {'description': 'The server-assigned name, The `name` should have the format of `inspect/operations/<identifier>`.',
      '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.',
      'type': 'object'}},
    'type': 'object'},
   'PartitionId': {'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': 'PartitionId',
    'properties': {'databaseId': {'description': 'If not empty, the ID of the database to which the entities\nbelong.',
      'type': 'string'},
     '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'},
   'PathElement': {'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': 'PathElement',
    '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'},
   'Projection': {'description': 'A representation of a Datastore property in a projection.',
    'id': 'Projection',
    'properties': {'property': {'$ref': 'PropertyReference',
      'description': 'The property to project.'}},
    'type': 'object'},
   'PropertyReference': {'description': 'A reference to a property relative to the Datastore kind expressions.',
    'id': 'PropertyReference',
    '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'},
   'Range': {'description': 'Generic half-open interval [start, end)',
    'id': 'Range',
    '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'},
   'RecordKey': {'description': 'Message for a unique key indicating a record that contains a finding.',
    'id': 'RecordKey',
    'properties': {'cloudStorageKey': {'$ref': 'CloudStorageKey'},
     'datastoreKey': {'$ref': 'DatastoreKey'}},
    'type': 'object'},
   'RedactContentRequest': {'description': 'Request to search for potentially sensitive info in a list of items\nand replace it with a default or provided content.',
    'id': 'RedactContentRequest',
    'properties': {'inspectConfig': {'$ref': 'InspectConfig',
      'description': 'Configuration for the inspector.'},
     'items': {'description': 'The list of items to inspect. Up to 100 are allowed per request.',
      'items': {'$ref': 'ContentItem'},
      'type': 'array'},
     'replaceConfigs': {'description': 'The strings to replace findings with. Must specify at least one.',
      'items': {'$ref': 'ReplaceConfig'},
      'type': 'array'}},
    'type': 'object'},
   'RedactContentResponse': {'description': 'Results of deidentifying a list of items.',
    'id': 'RedactContentResponse',
    'properties': {'items': {'description': 'The redacted content.',
      'items': {'$ref': 'ContentItem'},
      'type': 'array'}},
    'type': 'object'},
   'ReplaceConfig': {'id': 'ReplaceConfig',
    'properties': {'infoType': {'$ref': 'InfoType',
      'description': "Type of information to replace. Only one ReplaceConfig per info_type\nshould be provided. If ReplaceConfig does not have an info_type, we'll\nmatch 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'},
   'Status': {'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` which 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 purpose.\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': 'Status',
    '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 will be a\ncommon set of message 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'},
   'StorageConfig': {'description': 'Shared message indicating Cloud storage type.',
    'id': 'StorageConfig',
    'properties': {'cloudStorageOptions': {'$ref': 'CloudStorageOptions',
      'description': 'Google Cloud Storage options specification.'},
     'datastoreOptions': {'$ref': 'DatastoreOptions',
      'description': 'Google Cloud Datastore options specification.'}},
    'type': 'object'}},
  'servicePath': '',
  'title': 'DLP API',
  'version': 'v2beta1',
  'version_module': 'True'},
 '_rootDesc': {'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': 'The Google Data Loss Prevention API provides methods for detection of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.',
  'discoveryVersion': 'v1',
  'documentationLink': 'https://cloud.google.com/dlp/docs/',
  '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': {'inspect': {'description': 'Find 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': {'$.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'},
       'body': {'$ref': 'InspectContentRequest',
        'description': 'The request body.',
        'required': True,
        'type': 'object'},
       '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': {'location': 'query', 'type': 'string'},
       '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'},
       'strict': {'location': 'query', 'type': 'string'},
       'trace': {'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'},
       'userip': {'location': 'query', 'type': 'string'}},
      'path': 'v2beta1/content:inspect',
      'request': {'$ref': 'InspectContentRequest'},
      'response': {'$ref': 'InspectContentResponse'},
      'scopes': ['https://www.googleapis.com/auth/cloud-platform']},
     'redact': {'description': 'Redact 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': {'$.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'},
       'body': {'$ref': 'RedactContentRequest',
        'description': 'The request body.',
        'required': True,
        'type': 'object'},
       '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': {'location': 'query', 'type': 'string'},
       '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'},
       'strict': {'location': 'query', 'type': 'string'},
       'trace': {'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'},
       'userip': {'location': 'query', 'type': 'string'}},
      'path': 'v2beta1/content:redact',
      'request': {'$ref': 'RedactContentRequest'},
      'response': {'$ref': 'RedactContentResponse'},
      'scopes': ['https://www.googleapis.com/auth/cloud-platform']}}},
   'inspect': {'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.',
        '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': 'CancelOperationRequest'},
        'response': {'$ref': 'Empty'},
        'scopes': ['https://www.googleapis.com/auth/cloud-platform']},
       'create': {'description': 'Schedule a job scanning content in a Google Cloud Platform data repository.',
        'flatPath': 'v2beta1/inspect/operations',
        'httpMethod': 'POST',
        'id': 'dlp.inspect.operations.create',
        'parameterOrder': [],
        'parameters': {},
        'path': 'v2beta1/inspect/operations',
        'request': {'$ref': 'CreateInspectOperationRequest'},
        'response': {'$ref': 'Operation'},
        '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': 'Empty'},
        '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': 'Operation'},
        'scopes': ['https://www.googleapis.com/auth/cloud-platform']},
       'list': {'description': "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding below allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`.",
        'flatPath': 'v2beta1/inspect/operations',
        'httpMethod': 'GET',
        'id': 'dlp.inspect.operations.list',
        'parameterOrder': ['name'],
        'parameters': {'filter': {'description': 'This parameter supports filtering by done, ie done=true or done=false.',
          'location': 'query',
          'type': 'string'},
         'name': {'description': 'The name of the operation collection.',
          'location': 'path',
          'pattern': '^inspect/operations$',
          'required': True,
          'type': 'string'},
         'pageSize': {'description': 'The list page size. The max allowed value is 256 and default is 100.',
          'format': 'int32',
          'location': 'query',
          'type': 'integer'},
         'pageToken': {'description': 'The list page token.',
          'location': 'query',
          'type': 'string'}},
        'path': 'v2beta1/{+name}',
        'response': {'$ref': 'ListOperationsResponse'},
        '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': {'name': {'description': 'Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to CreateInspectOperation.\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 will select 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': 'ListInspectFindingsResponse'},
          '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': {'$.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'},
       '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'},
       'oauth_token': {'description': 'OAuth 2.0 token for the current user.',
        'location': 'query',
        'type': 'string'},
       'pp': {'location': 'query', 'type': 'string'},
       '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'},
       'strict': {'location': 'query', 'type': 'string'},
       'trace': {'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'},
       'userip': {'location': 'query', 'type': 'string'}},
      'path': 'v2beta1/rootCategories',
      'response': {'$ref': 'ListRootCategoriesResponse'},
      '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': 'ListInfoTypesResponse'},
        'scopes': ['https://www.googleapis.com/auth/cloud-platform']}}}}}},
  'revision': '20170314',
  'rootUrl': 'https://dlp.googleapis.com/',
  'schemas': {'CancelOperationRequest': {'description': 'The request message for Operations.CancelOperation.',
    'id': 'CancelOperationRequest',
    'properties': {},
    'type': 'object'},
   'CategoryDescription': {'description': 'Info Type Category description.',
    'id': 'CategoryDescription',
    'properties': {'displayName': {'description': 'Human readable form of the category name.',
      'type': 'string'},
     'name': {'description': 'Internal name of the category.',
      'type': 'string'}},
    'type': 'object'},
   'CloudStorageKey': {'description': 'Record key for a finding in a Cloud Storage file.',
    'id': 'CloudStorageKey',
    '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'},
   'CloudStorageOptions': {'description': 'Options defining a file or a set of files (path ending with *) within\na Google Cloud Storage bucket.',
    'id': 'CloudStorageOptions',
    'properties': {'fileSet': {'$ref': 'FileSet'}},
    'type': 'object'},
   'ContentItem': {'description': 'Container structure for the content to inspect.',
    'id': 'ContentItem',
    'properties': {'data': {'description': 'Content data to inspect or redact.',
      'format': 'byte',
      'type': 'string'},
     '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'},
   'CreateInspectOperationRequest': {'description': 'Request for scheduling a scan of a data subset from a Google Platform data\nrepository.',
    'id': 'CreateInspectOperationRequest',
    'properties': {'inspectConfig': {'$ref': 'InspectConfig',
      'description': 'Configuration for the inspector.'},
     'storageConfig': {'$ref': 'StorageConfig',
      'description': 'Specification of the data set to process.'}},
    'type': 'object'},
   'DatastoreKey': {'description': 'Record key for a finding in Cloud Datastore.',
    'id': 'DatastoreKey',
    'properties': {'entityKey': {'$ref': 'Key',
      'description': 'Datastore entity key.'}},
    'type': 'object'},
   'DatastoreOptions': {'description': 'Options defining a data set within Google Cloud Datastore.',
    'id': 'DatastoreOptions',
    'properties': {'kind': {'$ref': 'KindExpression',
      'description': 'The kind to process.'},
     'partitionId': {'$ref': '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.'},
     'projection': {'description': 'Properties to scan. If none are specified, all properties will be scanned\nby default.',
      'items': {'$ref': 'Projection'},
      'type': 'array'}},
    'type': 'object'},
   'Empty': {'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': 'Empty',
    'properties': {},
    'type': 'object'},
   'FieldId': {'description': 'General identifier of a data field in a storage service.',
    'id': 'FieldId',
    'properties': {'columnName': {'description': 'Column name describing the field.',
      'type': 'string'}},
    'type': 'object'},
   'FileSet': {'description': 'Set of files to scan.',
    'id': 'FileSet',
    'properties': {'url': {'description': 'The url, in the format gs://<bucket>/<path>. Trailing wildcard in the\npath is allowed.',
      'type': 'string'}},
    'type': 'object'},
   'Finding': {'description': 'Container structure describing a single finding within a string or image.',
    'id': 'Finding',
    'properties': {'createTime': {'description': 'Timestamp when finding was detected.',
      'format': 'google-datetime',
      'type': 'string'},
     'infoType': {'$ref': 'InfoType',
      'description': 'The specific type of info the string might be.'},
     '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 will be included.',
       'Few matching elements.',
       '',
       'Some matching elements.',
       '',
       'Many matching elements.'],
      'type': 'string'},
     'location': {'$ref': 'Location',
      'description': 'Location of the info found.'},
     'quote': {'description': 'The specific string that may be potentially sensitive info.',
      'type': 'string'}},
    'type': 'object'},
   'ImageLocation': {'description': 'Bounding box encompassing detected text within an image.',
    'id': 'ImageLocation',
    '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'},
   'InfoType': {'description': 'Type of information detected by the API.',
    'id': 'InfoType',
    'properties': {'name': {'description': 'Name of the information type, provided by the API call ListInfoTypes.',
      'type': 'string'}},
    'type': 'object'},
   'InfoTypeDescription': {'description': 'Info type description.',
    'id': 'InfoTypeDescription',
    'properties': {'categories': {'description': 'List of categories this info type belongs to.',
      'items': {'$ref': 'CategoryDescription'},
      'type': 'array'},
     'displayName': {'description': 'Human readable form of the info type name.',
      'type': 'string'},
     'name': {'description': 'Internal name of the info type.',
      'type': 'string'}},
    'type': 'object'},
   'InspectConfig': {'description': 'Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.',
    'id': 'InspectConfig',
    'properties': {'excludeTypes': {'description': 'When true, exclude type information of the findings.',
      'type': 'boolean'},
     'includeQuote': {'description': 'When true, a contextual quote from the data that triggered a finding will\nbe included in the response; see Finding.quote.',
      'type': 'boolean'},
     'infoTypes': {'description': 'Restrict 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': 'InfoType'},
      'type': 'array'},
     'maxFindings': {'description': 'Limit the number of findings per content item.',
      'format': 'int32',
      'type': 'integer'},
     'minLikelihood': {'description': 'Only return findings equal or above this threshold.',
      'enum': ['LIKELIHOOD_UNSPECIFIED',
       'VERY_UNLIKELY',
       'UNLIKELY',
       'POSSIBLE',
       'LIKELY',
       'VERY_LIKELY'],
      'enumDescriptions': ['Default value; information with all likelihoods will be included.',
       'Few matching elements.',
       '',
       'Some matching elements.',
       '',
       'Many matching elements.'],
      'type': 'string'}},
    'type': 'object'},
   'InspectContentRequest': {'description': 'Request to search for potentially sensitive info in a list of items.',
    'id': 'InspectContentRequest',
    'properties': {'inspectConfig': {'$ref': 'InspectConfig',
      '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': 'ContentItem'},
      'type': 'array'}},
    'type': 'object'},
   'InspectContentResponse': {'description': 'Results of inspecting a list of items.',
    'id': 'InspectContentResponse',
    'properties': {'results': {'description': 'Each content_item from the request will have a result in this list, in the\nsame order as the request.',
      'items': {'$ref': 'InspectResult'},
      'type': 'array'}},
    'type': 'object'},
   'InspectResult': {'description': 'All the findings for a single scanned item.',
    'id': 'InspectResult',
    'properties': {'findings': {'description': 'List of findings for an item.',
      'items': {'$ref': 'Finding'},
      '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'},
   'Key': {'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': 'Key',
    'properties': {'partitionId': {'$ref': 'PartitionId',
      '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': 'PathElement'},
      'type': 'array'}},
    'type': 'object'},
   'KindExpression': {'description': 'A representation of a Datastore kind.',
    'id': 'KindExpression',
    'properties': {'name': {'description': 'The name of the kind.',
      'type': 'string'}},
    'type': 'object'},
   'ListInfoTypesResponse': {'description': 'Response to the ListInfoTypes request.',
    'id': 'ListInfoTypesResponse',
    'properties': {'infoTypes': {'description': 'Set of sensitive info types belonging to a category.',
      'items': {'$ref': 'InfoTypeDescription'},
      'type': 'array'}},
    'type': 'object'},
   'ListInspectFindingsResponse': {'description': 'Response to the ListInspectFindings request.',
    'id': 'ListInspectFindingsResponse',
    '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': 'InspectResult', 'description': 'The results.'}},
    'type': 'object'},
   'ListOperationsResponse': {'description': 'The response message for Operations.ListOperations.',
    'id': 'ListOperationsResponse',
    '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': 'Operation'},
      'type': 'array'}},
    'type': 'object'},
   'ListRootCategoriesResponse': {'description': 'Response for ListRootCategories request.',
    'id': 'ListRootCategoriesResponse',
    'properties': {'categories': {'description': 'List of all into type categories supported by the API.',
      'items': {'$ref': 'CategoryDescription'},
      'type': 'array'}},
    'type': 'object'},
   'Location': {'description': 'Specifies the location of a finding within its source item.',
    'id': 'Location',
    'properties': {'byteRange': {'$ref': 'Range',
      'description': 'Zero-based byte offsets within a content item.'},
     'codepointRange': {'$ref': 'Range',
      'description': 'Character offsets within a content item, included when content type\nis a text. Default charset assumed to be UTF-8.'},
     'fieldId': {'$ref': 'FieldId',
      'description': 'Field id of the field containing the finding.'},
     'imageBoxes': {'description': "Location within an image's pixels.",
      'items': {'$ref': 'ImageLocation'},
      'type': 'array'},
     'recordKey': {'$ref': 'RecordKey', 'description': 'Key of the finding.'}},
    'type': 'object'},
   'Operation': {'description': 'This resource represents a long-running operation that is the result of a\nnetwork API call.',
    'id': 'Operation',
    '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': 'Status',
      '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 `InspectOperationMetdata` object.',
      'type': 'object'},
     'name': {'description': 'The server-assigned name, The `name` should have the format of `inspect/operations/<identifier>`.',
      '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.',
      'type': 'object'}},
    'type': 'object'},
   'PartitionId': {'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': 'PartitionId',
    'properties': {'databaseId': {'description': 'If not empty, the ID of the database to which the entities\nbelong.',
      'type': 'string'},
     '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'},
   'PathElement': {'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': 'PathElement',
    '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'},
   'Projection': {'description': 'A representation of a Datastore property in a projection.',
    'id': 'Projection',
    'properties': {'property': {'$ref': 'PropertyReference',
      'description': 'The property to project.'}},
    'type': 'object'},
   'PropertyReference': {'description': 'A reference to a property relative to the Datastore kind expressions.',
    'id': 'PropertyReference',
    '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'},
   'Range': {'description': 'Generic half-open interval [start, end)',
    'id': 'Range',
    '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'},
   'RecordKey': {'description': 'Message for a unique key indicating a record that contains a finding.',
    'id': 'RecordKey',
    'properties': {'cloudStorageKey': {'$ref': 'CloudStorageKey'},
     'datastoreKey': {'$ref': 'DatastoreKey'}},
    'type': 'object'},
   'RedactContentRequest': {'description': 'Request to search for potentially sensitive info in a list of items\nand replace it with a default or provided content.',
    'id': 'RedactContentRequest',
    'properties': {'inspectConfig': {'$ref': 'InspectConfig',
      'description': 'Configuration for the inspector.'},
     'items': {'description': 'The list of items to inspect. Up to 100 are allowed per request.',
      'items': {'$ref': 'ContentItem'},
      'type': 'array'},
     'replaceConfigs': {'description': 'The strings to replace findings with. Must specify at least one.',
      'items': {'$ref': 'ReplaceConfig'},
      'type': 'array'}},
    'type': 'object'},
   'RedactContentResponse': {'description': 'Results of deidentifying a list of items.',
    'id': 'RedactContentResponse',
    'properties': {'items': {'description': 'The redacted content.',
      'items': {'$ref': 'ContentItem'},
      'type': 'array'}},
    'type': 'object'},
   'ReplaceConfig': {'id': 'ReplaceConfig',
    'properties': {'infoType': {'$ref': 'InfoType',
      'description': "Type of information to replace. Only one ReplaceConfig per info_type\nshould be provided. If ReplaceConfig does not have an info_type, we'll\nmatch 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'},
   'Status': {'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` which 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 purpose.\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': 'Status',
    '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 will be a\ncommon set of message 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'},
   'StorageConfig': {'description': 'Shared message indicating Cloud storage type.',
    'id': 'StorageConfig',
    'properties': {'cloudStorageOptions': {'$ref': 'CloudStorageOptions',
      'description': 'Google Cloud Storage options specification.'},
     'datastoreOptions': {'$ref': 'DatastoreOptions',
      'description': 'Google Cloud Datastore options specification.'}},
    'type': 'object'}},
  'servicePath': '',
  'title': 'DLP API',
  'version': 'v2beta1',
  'version_module': 'True'},
 '_schema': <googleapiclient.schema.Schemas at 0x7fb538026048>,
 'content': <bound method Resource._add_nested_resources.<locals>.createResourceMethod.<locals>.methodResource of <googleapiclient.discovery.Resource object at 0x7fb5380260b8>>,
 'inspect': <bound method Resource._add_nested_resources.<locals>.createResourceMethod.<locals>.methodResource of <googleapiclient.discovery.Resource object at 0x7fb5380260b8>>,
 'new_batch_http_request': <function googleapiclient.discovery.Resource._add_basic_methods.<locals>.new_batch_http_request>,
 'rootCategories': <bound method Resource._add_nested_resources.<locals>.createResourceMethod.<locals>.methodResource of <googleapiclient.discovery.Resource object at 0x7fb5380260b8>>}

