cloudmersive-dlp-api-client 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +124 -0
  4. data/Rakefile +8 -0
  5. data/cloudmersive-dlp-api-client.gemspec +45 -0
  6. data/docs/DetectApi.md +232 -0
  7. data/docs/DlpAdvancedDetectionRequest.md +43 -0
  8. data/docs/DlpAdvancedDetectionResponse.md +44 -0
  9. data/docs/DlpAdvancedDocumentDetectionRequest.md +46 -0
  10. data/docs/DlpAdvancedDocumentRedactionRequest.md +47 -0
  11. data/docs/DlpAdvancedDocumentRedactionResponse.md +46 -0
  12. data/docs/DlpAdvancedRedactionRequest.md +44 -0
  13. data/docs/DlpAdvancedRedactionResponse.md +44 -0
  14. data/docs/DlpDetectionRequest.md +31 -0
  15. data/docs/DlpDetectionResponse.md +31 -0
  16. data/docs/DlpDocumentDetectionRequest.md +33 -0
  17. data/docs/DlpDocumentRedactionRequest.md +34 -0
  18. data/docs/DlpDocumentRedactionResponse.md +33 -0
  19. data/docs/DlpRedactionRequest.md +32 -0
  20. data/docs/DlpRedactionResponse.md +32 -0
  21. data/docs/RedactApi.md +232 -0
  22. data/docs/RedactedPageInfo.md +8 -0
  23. data/git_push.sh +55 -0
  24. data/lib/cloudmersive-dlp-api-client/api/detect_api.rb +223 -0
  25. data/lib/cloudmersive-dlp-api-client/api/redact_api.rb +223 -0
  26. data/lib/cloudmersive-dlp-api-client/api_client.rb +391 -0
  27. data/lib/cloudmersive-dlp-api-client/api_error.rb +38 -0
  28. data/lib/cloudmersive-dlp-api-client/configuration.rb +209 -0
  29. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_detection_request.rb +536 -0
  30. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_detection_response.rb +546 -0
  31. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_document_detection_request.rb +581 -0
  32. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_document_redaction_request.rb +591 -0
  33. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_document_redaction_response.rb +583 -0
  34. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_redaction_request.rb +546 -0
  35. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_redaction_response.rb +546 -0
  36. data/lib/cloudmersive-dlp-api-client/models/dlp_detection_request.rb +416 -0
  37. data/lib/cloudmersive-dlp-api-client/models/dlp_detection_response.rb +416 -0
  38. data/lib/cloudmersive-dlp-api-client/models/dlp_document_detection_request.rb +451 -0
  39. data/lib/cloudmersive-dlp-api-client/models/dlp_document_redaction_request.rb +461 -0
  40. data/lib/cloudmersive-dlp-api-client/models/dlp_document_redaction_response.rb +453 -0
  41. data/lib/cloudmersive-dlp-api-client/models/dlp_redaction_request.rb +426 -0
  42. data/lib/cloudmersive-dlp-api-client/models/dlp_redaction_response.rb +426 -0
  43. data/lib/cloudmersive-dlp-api-client/models/redacted_page_info.rb +186 -0
  44. data/lib/cloudmersive-dlp-api-client/version.rb +15 -0
  45. data/lib/cloudmersive-dlp-api-client.rb +56 -0
  46. data/spec/api/detect_api_spec.rb +83 -0
  47. data/spec/api/redact_api_spec.rb +83 -0
  48. data/spec/api_client_spec.rb +243 -0
  49. data/spec/configuration_spec.rb +42 -0
  50. data/spec/models/dlp_advanced_detection_request_spec.rb +251 -0
  51. data/spec/models/dlp_advanced_detection_response_spec.rb +257 -0
  52. data/spec/models/dlp_advanced_document_detection_request_spec.rb +269 -0
  53. data/spec/models/dlp_advanced_document_redaction_request_spec.rb +275 -0
  54. data/spec/models/dlp_advanced_document_redaction_response_spec.rb +269 -0
  55. data/spec/models/dlp_advanced_redaction_request_spec.rb +257 -0
  56. data/spec/models/dlp_advanced_redaction_response_spec.rb +257 -0
  57. data/spec/models/dlp_detection_request_spec.rb +179 -0
  58. data/spec/models/dlp_detection_response_spec.rb +179 -0
  59. data/spec/models/dlp_document_detection_request_spec.rb +191 -0
  60. data/spec/models/dlp_document_redaction_request_spec.rb +197 -0
  61. data/spec/models/dlp_document_redaction_response_spec.rb +191 -0
  62. data/spec/models/dlp_redaction_request_spec.rb +185 -0
  63. data/spec/models/dlp_redaction_response_spec.rb +185 -0
  64. data/spec/models/redacted_page_info_spec.rb +41 -0
  65. data/spec/spec_helper.rb +111 -0
  66. metadata +290 -0
@@ -0,0 +1,416 @@
1
+ =begin
2
+ #dlpapi
3
+
4
+ #Easily and directly scan and detect sensitive data (PII) in input text.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudmersiveDlpApiClient
16
+ # Request object for DLP text detection with 23 PII detection types.
17
+ class DlpDetectionRequest
18
+ # Text to scan for PII and sensitive data.
19
+ attr_accessor :input_text
20
+
21
+ # Set to true to allow email addresses in the input text and not flag them as PII.
22
+ attr_accessor :allow_email_address
23
+
24
+ # Set to true to allow phone numbers in the input text and not flag them as PII.
25
+ attr_accessor :allow_phone_number
26
+
27
+ # Set to true to allow street addresses in the input text and not flag them as PII.
28
+ attr_accessor :allow_street_address
29
+
30
+ # Set to true to allow person names in the input text and not flag them as PII.
31
+ attr_accessor :allow_person_name
32
+
33
+ # Set to true to allow birth dates in the input text and not flag them as PII.
34
+ attr_accessor :allow_birth_date
35
+
36
+ # Set to true to allow passport numbers in the input text and not flag them as PII.
37
+ attr_accessor :allow_passport_number
38
+
39
+ # Set to true to allow drivers license numbers in the input text and not flag them as PII.
40
+ attr_accessor :allow_drivers_license
41
+
42
+ # Set to true to allow social security numbers in the input text and not flag them as PII.
43
+ attr_accessor :allow_social_security_number
44
+
45
+ # Set to true to allow taxpayer IDs in the input text and not flag them as PII.
46
+ attr_accessor :allow_taxpayer_id
47
+
48
+ # Set to true to allow credit card numbers in the input text and not flag them as PII.
49
+ attr_accessor :allow_credit_card_number
50
+
51
+ # Set to true to allow credit card expiration dates in the input text and not flag them as PII.
52
+ attr_accessor :allow_credit_card_expiration_date
53
+
54
+ # Set to true to allow credit card verification codes in the input text and not flag them as PII.
55
+ attr_accessor :allow_credit_card_verification_code
56
+
57
+ # Set to true to allow bank account numbers in the input text and not flag them as PII.
58
+ attr_accessor :allow_bank_account_number
59
+
60
+ # Set to true to allow IBANs in the input text and not flag them as PII.
61
+ attr_accessor :allow_iban
62
+
63
+ # Set to true to allow health insurance numbers in the input text and not flag them as PII.
64
+ attr_accessor :allow_health_insurance_number
65
+
66
+ # Set to true to allow bearer tokens in the input text and not flag them as PII.
67
+ attr_accessor :allow_bearer_token
68
+
69
+ # Set to true to allow HTTP cookies in the input text and not flag them as PII.
70
+ attr_accessor :allow_http_cookie
71
+
72
+ # Set to true to allow private keys in the input text and not flag them as PII.
73
+ attr_accessor :allow_private_keys
74
+
75
+ # Set to true to allow credentials (usernames/passwords) in the input text and not flag them as PII.
76
+ attr_accessor :allow_credentials
77
+
78
+ # Set to true to allow deep web URLs (.onion) in the input text and not flag them as PII.
79
+ attr_accessor :allow_deep_web_urls
80
+
81
+ # Set to true to allow source code in the input text and not flag it as sensitive data.
82
+ attr_accessor :allow_source_code
83
+
84
+ # Set to true to allow IP addresses in the input text and not flag them as PII.
85
+ attr_accessor :allow_ip_address
86
+
87
+ # Set to true to allow MAC addresses in the input text and not flag them as PII.
88
+ attr_accessor :allow_mac_address
89
+
90
+ # Attribute mapping from ruby-style variable name to JSON key.
91
+ def self.attribute_map
92
+ {
93
+ :'input_text' => :'InputText',
94
+ :'allow_email_address' => :'AllowEmailAddress',
95
+ :'allow_phone_number' => :'AllowPhoneNumber',
96
+ :'allow_street_address' => :'AllowStreetAddress',
97
+ :'allow_person_name' => :'AllowPersonName',
98
+ :'allow_birth_date' => :'AllowBirthDate',
99
+ :'allow_passport_number' => :'AllowPassportNumber',
100
+ :'allow_drivers_license' => :'AllowDriversLicense',
101
+ :'allow_social_security_number' => :'AllowSocialSecurityNumber',
102
+ :'allow_taxpayer_id' => :'AllowTaxpayerID',
103
+ :'allow_credit_card_number' => :'AllowCreditCardNumber',
104
+ :'allow_credit_card_expiration_date' => :'AllowCreditCardExpirationDate',
105
+ :'allow_credit_card_verification_code' => :'AllowCreditCardVerificationCode',
106
+ :'allow_bank_account_number' => :'AllowBankAccountNumber',
107
+ :'allow_iban' => :'AllowIBAN',
108
+ :'allow_health_insurance_number' => :'AllowHealthInsuranceNumber',
109
+ :'allow_bearer_token' => :'AllowBearerToken',
110
+ :'allow_http_cookie' => :'AllowHttpCookie',
111
+ :'allow_private_keys' => :'AllowPrivateKeys',
112
+ :'allow_credentials' => :'AllowCredentials',
113
+ :'allow_deep_web_urls' => :'AllowDeepWebUrls',
114
+ :'allow_source_code' => :'AllowSourceCode',
115
+ :'allow_ip_address' => :'AllowIpAddress',
116
+ :'allow_mac_address' => :'AllowMacAddress'
117
+ }
118
+ end
119
+
120
+ # Attribute type mapping.
121
+ def self.swagger_types
122
+ {
123
+ :'input_text' => :'String',
124
+ :'allow_email_address' => :'BOOLEAN',
125
+ :'allow_phone_number' => :'BOOLEAN',
126
+ :'allow_street_address' => :'BOOLEAN',
127
+ :'allow_person_name' => :'BOOLEAN',
128
+ :'allow_birth_date' => :'BOOLEAN',
129
+ :'allow_passport_number' => :'BOOLEAN',
130
+ :'allow_drivers_license' => :'BOOLEAN',
131
+ :'allow_social_security_number' => :'BOOLEAN',
132
+ :'allow_taxpayer_id' => :'BOOLEAN',
133
+ :'allow_credit_card_number' => :'BOOLEAN',
134
+ :'allow_credit_card_expiration_date' => :'BOOLEAN',
135
+ :'allow_credit_card_verification_code' => :'BOOLEAN',
136
+ :'allow_bank_account_number' => :'BOOLEAN',
137
+ :'allow_iban' => :'BOOLEAN',
138
+ :'allow_health_insurance_number' => :'BOOLEAN',
139
+ :'allow_bearer_token' => :'BOOLEAN',
140
+ :'allow_http_cookie' => :'BOOLEAN',
141
+ :'allow_private_keys' => :'BOOLEAN',
142
+ :'allow_credentials' => :'BOOLEAN',
143
+ :'allow_deep_web_urls' => :'BOOLEAN',
144
+ :'allow_source_code' => :'BOOLEAN',
145
+ :'allow_ip_address' => :'BOOLEAN',
146
+ :'allow_mac_address' => :'BOOLEAN'
147
+ }
148
+ end
149
+
150
+ # Initializes the object
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ def initialize(attributes = {})
153
+ return unless attributes.is_a?(Hash)
154
+
155
+ # convert string to symbol for hash key
156
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
157
+
158
+ if attributes.has_key?(:'InputText')
159
+ self.input_text = attributes[:'InputText']
160
+ end
161
+
162
+ if attributes.has_key?(:'AllowEmailAddress')
163
+ self.allow_email_address = attributes[:'AllowEmailAddress']
164
+ end
165
+
166
+ if attributes.has_key?(:'AllowPhoneNumber')
167
+ self.allow_phone_number = attributes[:'AllowPhoneNumber']
168
+ end
169
+
170
+ if attributes.has_key?(:'AllowStreetAddress')
171
+ self.allow_street_address = attributes[:'AllowStreetAddress']
172
+ end
173
+
174
+ if attributes.has_key?(:'AllowPersonName')
175
+ self.allow_person_name = attributes[:'AllowPersonName']
176
+ end
177
+
178
+ if attributes.has_key?(:'AllowBirthDate')
179
+ self.allow_birth_date = attributes[:'AllowBirthDate']
180
+ end
181
+
182
+ if attributes.has_key?(:'AllowPassportNumber')
183
+ self.allow_passport_number = attributes[:'AllowPassportNumber']
184
+ end
185
+
186
+ if attributes.has_key?(:'AllowDriversLicense')
187
+ self.allow_drivers_license = attributes[:'AllowDriversLicense']
188
+ end
189
+
190
+ if attributes.has_key?(:'AllowSocialSecurityNumber')
191
+ self.allow_social_security_number = attributes[:'AllowSocialSecurityNumber']
192
+ end
193
+
194
+ if attributes.has_key?(:'AllowTaxpayerID')
195
+ self.allow_taxpayer_id = attributes[:'AllowTaxpayerID']
196
+ end
197
+
198
+ if attributes.has_key?(:'AllowCreditCardNumber')
199
+ self.allow_credit_card_number = attributes[:'AllowCreditCardNumber']
200
+ end
201
+
202
+ if attributes.has_key?(:'AllowCreditCardExpirationDate')
203
+ self.allow_credit_card_expiration_date = attributes[:'AllowCreditCardExpirationDate']
204
+ end
205
+
206
+ if attributes.has_key?(:'AllowCreditCardVerificationCode')
207
+ self.allow_credit_card_verification_code = attributes[:'AllowCreditCardVerificationCode']
208
+ end
209
+
210
+ if attributes.has_key?(:'AllowBankAccountNumber')
211
+ self.allow_bank_account_number = attributes[:'AllowBankAccountNumber']
212
+ end
213
+
214
+ if attributes.has_key?(:'AllowIBAN')
215
+ self.allow_iban = attributes[:'AllowIBAN']
216
+ end
217
+
218
+ if attributes.has_key?(:'AllowHealthInsuranceNumber')
219
+ self.allow_health_insurance_number = attributes[:'AllowHealthInsuranceNumber']
220
+ end
221
+
222
+ if attributes.has_key?(:'AllowBearerToken')
223
+ self.allow_bearer_token = attributes[:'AllowBearerToken']
224
+ end
225
+
226
+ if attributes.has_key?(:'AllowHttpCookie')
227
+ self.allow_http_cookie = attributes[:'AllowHttpCookie']
228
+ end
229
+
230
+ if attributes.has_key?(:'AllowPrivateKeys')
231
+ self.allow_private_keys = attributes[:'AllowPrivateKeys']
232
+ end
233
+
234
+ if attributes.has_key?(:'AllowCredentials')
235
+ self.allow_credentials = attributes[:'AllowCredentials']
236
+ end
237
+
238
+ if attributes.has_key?(:'AllowDeepWebUrls')
239
+ self.allow_deep_web_urls = attributes[:'AllowDeepWebUrls']
240
+ end
241
+
242
+ if attributes.has_key?(:'AllowSourceCode')
243
+ self.allow_source_code = attributes[:'AllowSourceCode']
244
+ end
245
+
246
+ if attributes.has_key?(:'AllowIpAddress')
247
+ self.allow_ip_address = attributes[:'AllowIpAddress']
248
+ end
249
+
250
+ if attributes.has_key?(:'AllowMacAddress')
251
+ self.allow_mac_address = attributes[:'AllowMacAddress']
252
+ end
253
+ end
254
+
255
+ # Show invalid properties with the reasons. Usually used together with valid?
256
+ # @return Array for valid properties with the reasons
257
+ def list_invalid_properties
258
+ invalid_properties = Array.new
259
+ invalid_properties
260
+ end
261
+
262
+ # Check to see if the all the properties in the model are valid
263
+ # @return true if the model is valid
264
+ def valid?
265
+ true
266
+ end
267
+
268
+ # Checks equality by comparing each attribute.
269
+ # @param [Object] Object to be compared
270
+ def ==(o)
271
+ return true if self.equal?(o)
272
+ self.class == o.class &&
273
+ input_text == o.input_text &&
274
+ allow_email_address == o.allow_email_address &&
275
+ allow_phone_number == o.allow_phone_number &&
276
+ allow_street_address == o.allow_street_address &&
277
+ allow_person_name == o.allow_person_name &&
278
+ allow_birth_date == o.allow_birth_date &&
279
+ allow_passport_number == o.allow_passport_number &&
280
+ allow_drivers_license == o.allow_drivers_license &&
281
+ allow_social_security_number == o.allow_social_security_number &&
282
+ allow_taxpayer_id == o.allow_taxpayer_id &&
283
+ allow_credit_card_number == o.allow_credit_card_number &&
284
+ allow_credit_card_expiration_date == o.allow_credit_card_expiration_date &&
285
+ allow_credit_card_verification_code == o.allow_credit_card_verification_code &&
286
+ allow_bank_account_number == o.allow_bank_account_number &&
287
+ allow_iban == o.allow_iban &&
288
+ allow_health_insurance_number == o.allow_health_insurance_number &&
289
+ allow_bearer_token == o.allow_bearer_token &&
290
+ allow_http_cookie == o.allow_http_cookie &&
291
+ allow_private_keys == o.allow_private_keys &&
292
+ allow_credentials == o.allow_credentials &&
293
+ allow_deep_web_urls == o.allow_deep_web_urls &&
294
+ allow_source_code == o.allow_source_code &&
295
+ allow_ip_address == o.allow_ip_address &&
296
+ allow_mac_address == o.allow_mac_address
297
+ end
298
+
299
+ # @see the `==` method
300
+ # @param [Object] Object to be compared
301
+ def eql?(o)
302
+ self == o
303
+ end
304
+
305
+ # Calculates hash code according to all attributes.
306
+ # @return [Fixnum] Hash code
307
+ def hash
308
+ [input_text, allow_email_address, allow_phone_number, allow_street_address, allow_person_name, allow_birth_date, allow_passport_number, allow_drivers_license, allow_social_security_number, allow_taxpayer_id, allow_credit_card_number, allow_credit_card_expiration_date, allow_credit_card_verification_code, allow_bank_account_number, allow_iban, allow_health_insurance_number, allow_bearer_token, allow_http_cookie, allow_private_keys, allow_credentials, allow_deep_web_urls, allow_source_code, allow_ip_address, allow_mac_address].hash
309
+ end
310
+
311
+ # Builds the object from hash
312
+ # @param [Hash] attributes Model attributes in the form of hash
313
+ # @return [Object] Returns the model itself
314
+ def build_from_hash(attributes)
315
+ return nil unless attributes.is_a?(Hash)
316
+ self.class.swagger_types.each_pair do |key, type|
317
+ if type =~ /\AArray<(.*)>/i
318
+ # check to ensure the input is an array given that the attribute
319
+ # is documented as an array but the input is not
320
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
321
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
322
+ end
323
+ elsif !attributes[self.class.attribute_map[key]].nil?
324
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
325
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
326
+ end
327
+
328
+ self
329
+ end
330
+
331
+ # Deserializes the data based on type
332
+ # @param string type Data type
333
+ # @param string value Value to be deserialized
334
+ # @return [Object] Deserialized data
335
+ def _deserialize(type, value)
336
+ case type.to_sym
337
+ when :DateTime
338
+ DateTime.parse(value)
339
+ when :Date
340
+ Date.parse(value)
341
+ when :String
342
+ value.to_s
343
+ when :Integer
344
+ value.to_i
345
+ when :Float
346
+ value.to_f
347
+ when :BOOLEAN
348
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
349
+ true
350
+ else
351
+ false
352
+ end
353
+ when :Object
354
+ # generic object (usually a Hash), return directly
355
+ value
356
+ when /\AArray<(?<inner_type>.+)>\z/
357
+ inner_type = Regexp.last_match[:inner_type]
358
+ value.map { |v| _deserialize(inner_type, v) }
359
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
360
+ k_type = Regexp.last_match[:k_type]
361
+ v_type = Regexp.last_match[:v_type]
362
+ {}.tap do |hash|
363
+ value.each do |k, v|
364
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
365
+ end
366
+ end
367
+ else # model
368
+ temp_model = CloudmersiveDlpApiClient.const_get(type).new
369
+ temp_model.build_from_hash(value)
370
+ end
371
+ end
372
+
373
+ # Returns the string representation of the object
374
+ # @return [String] String presentation of the object
375
+ def to_s
376
+ to_hash.to_s
377
+ end
378
+
379
+ # to_body is an alias to to_hash (backward compatibility)
380
+ # @return [Hash] Returns the object in the form of hash
381
+ def to_body
382
+ to_hash
383
+ end
384
+
385
+ # Returns the object in the form of hash
386
+ # @return [Hash] Returns the object in the form of hash
387
+ def to_hash
388
+ hash = {}
389
+ self.class.attribute_map.each_pair do |attr, param|
390
+ value = self.send(attr)
391
+ next if value.nil?
392
+ hash[param] = _to_hash(value)
393
+ end
394
+ hash
395
+ end
396
+
397
+ # Outputs non-array value in the form of hash
398
+ # For object, use to_hash. Otherwise, just return the value
399
+ # @param [Object] value Any valid value
400
+ # @return [Hash] Returns the value in the form of hash
401
+ def _to_hash(value)
402
+ if value.is_a?(Array)
403
+ value.compact.map { |v| _to_hash(v) }
404
+ elsif value.is_a?(Hash)
405
+ {}.tap do |hash|
406
+ value.each { |k, v| hash[k] = _to_hash(v) }
407
+ end
408
+ elsif value.respond_to? :to_hash
409
+ value.to_hash
410
+ else
411
+ value
412
+ end
413
+ end
414
+
415
+ end
416
+ end