cloudmersive-dlp-api-client 2.2.0 → 2.2.1

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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -8
  3. data/docs/AudioTimestamp.md +12 -0
  4. data/docs/CustomPiiField.md +9 -0
  5. data/docs/DetectApi.md +114 -2
  6. data/docs/DlpAdvancedAudioDetectionRequest.md +48 -0
  7. data/docs/DlpAdvancedAudioDetectionResponse.md +48 -0
  8. data/docs/DlpAdvancedAudioRedactionRequest.md +54 -0
  9. data/docs/DlpAdvancedAudioRedactionResponse.md +51 -0
  10. data/docs/DlpAdvancedDetectionRequest.md +4 -0
  11. data/docs/DlpAdvancedDetectionResponse.md +3 -0
  12. data/docs/DlpAdvancedDocumentDetectionRequest.md +6 -2
  13. data/docs/DlpAdvancedDocumentRedactionRequest.md +7 -2
  14. data/docs/DlpAdvancedDocumentRedactionResponse.md +3 -0
  15. data/docs/DlpAdvancedRedactionRequest.md +6 -1
  16. data/docs/DlpAdvancedRedactionResponse.md +3 -0
  17. data/docs/DlpAudioDetectionRequest.md +32 -0
  18. data/docs/DlpAudioDetectionResponse.md +33 -0
  19. data/docs/DlpAudioRedactionRequest.md +35 -0
  20. data/docs/DlpAudioRedactionResponse.md +36 -0
  21. data/docs/DlpBatchJobResult.md +9 -0
  22. data/docs/DlpBatchJobStatusResult.md +15 -0
  23. data/docs/DlpDocumentDetectionRequest.md +2 -2
  24. data/docs/DlpDocumentRedactionRequest.md +2 -2
  25. data/docs/DlpRedactionRequest.md +1 -1
  26. data/docs/RedactApi.md +114 -2
  27. data/docs/RedactedAudioSegment.md +10 -0
  28. data/docs/TasksBatchJobApi.md +288 -0
  29. data/lib/cloudmersive-dlp-api-client/api/detect_api.rb +104 -4
  30. data/lib/cloudmersive-dlp-api-client/api/redact_api.rb +104 -4
  31. data/lib/cloudmersive-dlp-api-client/api/tasks_batch_job_api.rb +272 -0
  32. data/lib/cloudmersive-dlp-api-client/models/audio_timestamp.rb +226 -0
  33. data/lib/cloudmersive-dlp-api-client/models/custom_pii_field.rb +196 -0
  34. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_audio_detection_request.rb +601 -0
  35. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_audio_detection_response.rb +588 -0
  36. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_audio_redaction_request.rb +663 -0
  37. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_audio_redaction_response.rb +635 -0
  38. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_detection_request.rb +44 -4
  39. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_detection_response.rb +31 -1
  40. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_document_detection_request.rb +46 -6
  41. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_document_redaction_request.rb +58 -6
  42. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_document_redaction_response.rb +31 -1
  43. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_redaction_request.rb +57 -5
  44. data/lib/cloudmersive-dlp-api-client/models/dlp_advanced_redaction_response.rb +31 -1
  45. data/lib/cloudmersive-dlp-api-client/models/dlp_audio_detection_request.rb +441 -0
  46. data/lib/cloudmersive-dlp-api-client/models/dlp_audio_detection_response.rb +438 -0
  47. data/lib/cloudmersive-dlp-api-client/models/dlp_audio_redaction_request.rb +471 -0
  48. data/lib/cloudmersive-dlp-api-client/models/dlp_audio_redaction_response.rb +485 -0
  49. data/lib/cloudmersive-dlp-api-client/models/dlp_batch_job_result.rb +196 -0
  50. data/lib/cloudmersive-dlp-api-client/models/dlp_batch_job_status_result.rb +252 -0
  51. data/lib/cloudmersive-dlp-api-client/models/dlp_document_detection_request.rb +2 -2
  52. data/lib/cloudmersive-dlp-api-client/models/dlp_document_redaction_request.rb +2 -2
  53. data/lib/cloudmersive-dlp-api-client/models/dlp_redaction_request.rb +1 -1
  54. data/lib/cloudmersive-dlp-api-client/models/redacted_audio_segment.rb +206 -0
  55. data/lib/cloudmersive-dlp-api-client/version.rb +1 -1
  56. data/lib/cloudmersive-dlp-api-client.rb +14 -0
  57. data/spec/api/detect_api_spec.rb +26 -2
  58. data/spec/api/redact_api_spec.rb +26 -2
  59. data/spec/api/tasks_batch_job_api_spec.rb +95 -0
  60. data/spec/models/audio_timestamp_spec.rb +65 -0
  61. data/spec/models/custom_pii_field_spec.rb +47 -0
  62. data/spec/models/dlp_advanced_audio_detection_request_spec.rb +281 -0
  63. data/spec/models/dlp_advanced_audio_detection_response_spec.rb +281 -0
  64. data/spec/models/dlp_advanced_audio_redaction_request_spec.rb +317 -0
  65. data/spec/models/dlp_advanced_audio_redaction_response_spec.rb +299 -0
  66. data/spec/models/dlp_advanced_detection_request_spec.rb +24 -0
  67. data/spec/models/dlp_advanced_detection_response_spec.rb +18 -0
  68. data/spec/models/dlp_advanced_document_detection_request_spec.rb +24 -0
  69. data/spec/models/dlp_advanced_document_redaction_request_spec.rb +30 -0
  70. data/spec/models/dlp_advanced_document_redaction_response_spec.rb +18 -0
  71. data/spec/models/dlp_advanced_redaction_request_spec.rb +30 -0
  72. data/spec/models/dlp_advanced_redaction_response_spec.rb +18 -0
  73. data/spec/models/dlp_audio_detection_request_spec.rb +185 -0
  74. data/spec/models/dlp_audio_detection_response_spec.rb +191 -0
  75. data/spec/models/dlp_audio_redaction_request_spec.rb +203 -0
  76. data/spec/models/dlp_audio_redaction_response_spec.rb +209 -0
  77. data/spec/models/dlp_batch_job_result_spec.rb +47 -0
  78. data/spec/models/dlp_batch_job_status_result_spec.rb +83 -0
  79. data/spec/models/redacted_audio_segment_spec.rb +53 -0
  80. metadata +44 -2
@@ -0,0 +1,588 @@
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
+ # Response object for advanced DLP audio detection with 34 PII detection types, transcript, timestamps, and optional rationale.
17
+ class DlpAdvancedAudioDetectionResponse
18
+ # True if no disallowed PII or sensitive data types were detected; false if any disallowed type was found.
19
+ attr_accessor :clean_result
20
+
21
+ # Full transcript of the audio file.
22
+ attr_accessor :transcript
23
+
24
+ # Token-level timestamps from speech recognition.
25
+ attr_accessor :timestamps
26
+
27
+ # True if the audio transcript contains email addresses.
28
+ attr_accessor :contains_email_address
29
+
30
+ # True if the audio transcript contains phone numbers.
31
+ attr_accessor :contains_phone_number
32
+
33
+ # True if the audio transcript contains street addresses.
34
+ attr_accessor :contains_street_address
35
+
36
+ # True if the audio transcript contains standalone city names (e.g. \"San Francisco\") outside of a full street address.
37
+ attr_accessor :contains_city
38
+
39
+ # True if the audio transcript contains person names.
40
+ attr_accessor :contains_person_name
41
+
42
+ # True if the audio transcript contains birth dates.
43
+ attr_accessor :contains_birth_date
44
+
45
+ # True if the audio transcript contains passport numbers.
46
+ attr_accessor :contains_passport_number
47
+
48
+ # True if the audio transcript contains drivers license numbers.
49
+ attr_accessor :contains_drivers_license
50
+
51
+ # True if the audio transcript contains social security numbers.
52
+ attr_accessor :contains_social_security_number
53
+
54
+ # True if the audio transcript contains taxpayer IDs.
55
+ attr_accessor :contains_taxpayer_id
56
+
57
+ # True if the audio transcript contains credit card numbers.
58
+ attr_accessor :contains_credit_card_number
59
+
60
+ # True if the audio transcript contains credit card expiration dates.
61
+ attr_accessor :contains_credit_card_expiration_date
62
+
63
+ # True if the audio transcript contains credit card verification codes.
64
+ attr_accessor :contains_credit_card_verification_code
65
+
66
+ # True if the audio transcript contains bank account numbers.
67
+ attr_accessor :contains_bank_account_number
68
+
69
+ # True if the audio transcript contains IBANs.
70
+ attr_accessor :contains_iban
71
+
72
+ # True if the audio transcript contains health insurance numbers.
73
+ attr_accessor :contains_health_insurance_number
74
+
75
+ # True if the audio transcript contains bearer tokens.
76
+ attr_accessor :contains_bearer_token
77
+
78
+ # True if the audio transcript contains HTTP cookies.
79
+ attr_accessor :contains_http_cookie
80
+
81
+ # True if the audio transcript contains private keys.
82
+ attr_accessor :contains_private_keys
83
+
84
+ # True if the audio transcript contains credentials (usernames/passwords).
85
+ attr_accessor :contains_credentials
86
+
87
+ # True if the audio transcript contains deep web URLs (.onion).
88
+ attr_accessor :contains_deep_web_urls
89
+
90
+ # True if the audio transcript contains source code.
91
+ attr_accessor :contains_source_code
92
+
93
+ # True if the audio transcript contains IP addresses.
94
+ attr_accessor :contains_ip_address
95
+
96
+ # True if the audio transcript contains MAC addresses.
97
+ attr_accessor :contains_mac_address
98
+
99
+ # True if the audio transcript contains health insurance member IDs.
100
+ attr_accessor :contains_health_insurance_member_id
101
+
102
+ # True if the audio transcript contains medical record numbers.
103
+ attr_accessor :contains_medical_record_number
104
+
105
+ # True if the audio transcript contains billing account numbers (provider/customer billing account IDs, distinct from bank account numbers).
106
+ attr_accessor :contains_billing_account_number
107
+
108
+ # True if the audio transcript contains references to injuries or diseases.
109
+ attr_accessor :contains_health_injury_or_disease
110
+
111
+ # True if the audio transcript contains references to types of medical treatment.
112
+ attr_accessor :contains_health_type_of_treatment
113
+
114
+ # True if the audio transcript contains dates and times of medical treatment.
115
+ attr_accessor :contains_health_date_and_time_of_treatment
116
+
117
+ # True if the audio transcript contains health plan beneficiary numbers.
118
+ attr_accessor :contains_health_plan_beneficiary_number
119
+
120
+ # True if the audio transcript contains payments made for medical treatment.
121
+ attr_accessor :contains_health_payments_made_for_treatment
122
+
123
+ # True if the audio transcript contains vehicle identifiers (e.g. license plates, VINs).
124
+ attr_accessor :contains_vehicle_id
125
+
126
+ # True if the audio transcript contains device identifiers (e.g. serial numbers, IMEIs, MAC-level device IDs).
127
+ attr_accessor :contains_device_id
128
+
129
+ # True if the audio transcript contains names of relatives.
130
+ attr_accessor :contains_names_of_relatives
131
+
132
+ # True if the audio transcript contains health universal record locators (URLs).
133
+ attr_accessor :contains_health_universal_record_locator
134
+
135
+ # True if the audio transcript contains biometric data references (e.g. fingerprints, retinal scans, voiceprints).
136
+ attr_accessor :contains_biometrics
137
+
138
+ # Rationale for why the conclusion was formed. Only populated when ProvideAnalysisRationale is set to true in the request.
139
+ attr_accessor :analysis_rationale
140
+
141
+ # Attribute mapping from ruby-style variable name to JSON key.
142
+ def self.attribute_map
143
+ {
144
+ :'clean_result' => :'CleanResult',
145
+ :'transcript' => :'Transcript',
146
+ :'timestamps' => :'Timestamps',
147
+ :'contains_email_address' => :'ContainsEmailAddress',
148
+ :'contains_phone_number' => :'ContainsPhoneNumber',
149
+ :'contains_street_address' => :'ContainsStreetAddress',
150
+ :'contains_city' => :'ContainsCity',
151
+ :'contains_person_name' => :'ContainsPersonName',
152
+ :'contains_birth_date' => :'ContainsBirthDate',
153
+ :'contains_passport_number' => :'ContainsPassportNumber',
154
+ :'contains_drivers_license' => :'ContainsDriversLicense',
155
+ :'contains_social_security_number' => :'ContainsSocialSecurityNumber',
156
+ :'contains_taxpayer_id' => :'ContainsTaxpayerID',
157
+ :'contains_credit_card_number' => :'ContainsCreditCardNumber',
158
+ :'contains_credit_card_expiration_date' => :'ContainsCreditCardExpirationDate',
159
+ :'contains_credit_card_verification_code' => :'ContainsCreditCardVerificationCode',
160
+ :'contains_bank_account_number' => :'ContainsBankAccountNumber',
161
+ :'contains_iban' => :'ContainsIBAN',
162
+ :'contains_health_insurance_number' => :'ContainsHealthInsuranceNumber',
163
+ :'contains_bearer_token' => :'ContainsBearerToken',
164
+ :'contains_http_cookie' => :'ContainsHttpCookie',
165
+ :'contains_private_keys' => :'ContainsPrivateKeys',
166
+ :'contains_credentials' => :'ContainsCredentials',
167
+ :'contains_deep_web_urls' => :'ContainsDeepWebUrls',
168
+ :'contains_source_code' => :'ContainsSourceCode',
169
+ :'contains_ip_address' => :'ContainsIpAddress',
170
+ :'contains_mac_address' => :'ContainsMacAddress',
171
+ :'contains_health_insurance_member_id' => :'ContainsHealthInsuranceMemberID',
172
+ :'contains_medical_record_number' => :'ContainsMedicalRecordNumber',
173
+ :'contains_billing_account_number' => :'ContainsBillingAccountNumber',
174
+ :'contains_health_injury_or_disease' => :'ContainsHealthInjuryOrDisease',
175
+ :'contains_health_type_of_treatment' => :'ContainsHealthTypeOfTreatment',
176
+ :'contains_health_date_and_time_of_treatment' => :'ContainsHealthDateAndTimeOfTreatment',
177
+ :'contains_health_plan_beneficiary_number' => :'ContainsHealthPlanBeneficiaryNumber',
178
+ :'contains_health_payments_made_for_treatment' => :'ContainsHealthPaymentsMadeForTreatment',
179
+ :'contains_vehicle_id' => :'ContainsVehicleID',
180
+ :'contains_device_id' => :'ContainsDeviceID',
181
+ :'contains_names_of_relatives' => :'ContainsNamesOfRelatives',
182
+ :'contains_health_universal_record_locator' => :'ContainsHealthUniversalRecordLocator',
183
+ :'contains_biometrics' => :'ContainsBiometrics',
184
+ :'analysis_rationale' => :'AnalysisRationale'
185
+ }
186
+ end
187
+
188
+ # Attribute type mapping.
189
+ def self.swagger_types
190
+ {
191
+ :'clean_result' => :'BOOLEAN',
192
+ :'transcript' => :'String',
193
+ :'timestamps' => :'Array<AudioTimestamp>',
194
+ :'contains_email_address' => :'BOOLEAN',
195
+ :'contains_phone_number' => :'BOOLEAN',
196
+ :'contains_street_address' => :'BOOLEAN',
197
+ :'contains_city' => :'BOOLEAN',
198
+ :'contains_person_name' => :'BOOLEAN',
199
+ :'contains_birth_date' => :'BOOLEAN',
200
+ :'contains_passport_number' => :'BOOLEAN',
201
+ :'contains_drivers_license' => :'BOOLEAN',
202
+ :'contains_social_security_number' => :'BOOLEAN',
203
+ :'contains_taxpayer_id' => :'BOOLEAN',
204
+ :'contains_credit_card_number' => :'BOOLEAN',
205
+ :'contains_credit_card_expiration_date' => :'BOOLEAN',
206
+ :'contains_credit_card_verification_code' => :'BOOLEAN',
207
+ :'contains_bank_account_number' => :'BOOLEAN',
208
+ :'contains_iban' => :'BOOLEAN',
209
+ :'contains_health_insurance_number' => :'BOOLEAN',
210
+ :'contains_bearer_token' => :'BOOLEAN',
211
+ :'contains_http_cookie' => :'BOOLEAN',
212
+ :'contains_private_keys' => :'BOOLEAN',
213
+ :'contains_credentials' => :'BOOLEAN',
214
+ :'contains_deep_web_urls' => :'BOOLEAN',
215
+ :'contains_source_code' => :'BOOLEAN',
216
+ :'contains_ip_address' => :'BOOLEAN',
217
+ :'contains_mac_address' => :'BOOLEAN',
218
+ :'contains_health_insurance_member_id' => :'BOOLEAN',
219
+ :'contains_medical_record_number' => :'BOOLEAN',
220
+ :'contains_billing_account_number' => :'BOOLEAN',
221
+ :'contains_health_injury_or_disease' => :'BOOLEAN',
222
+ :'contains_health_type_of_treatment' => :'BOOLEAN',
223
+ :'contains_health_date_and_time_of_treatment' => :'BOOLEAN',
224
+ :'contains_health_plan_beneficiary_number' => :'BOOLEAN',
225
+ :'contains_health_payments_made_for_treatment' => :'BOOLEAN',
226
+ :'contains_vehicle_id' => :'BOOLEAN',
227
+ :'contains_device_id' => :'BOOLEAN',
228
+ :'contains_names_of_relatives' => :'BOOLEAN',
229
+ :'contains_health_universal_record_locator' => :'BOOLEAN',
230
+ :'contains_biometrics' => :'BOOLEAN',
231
+ :'analysis_rationale' => :'String'
232
+ }
233
+ end
234
+
235
+ # Initializes the object
236
+ # @param [Hash] attributes Model attributes in the form of hash
237
+ def initialize(attributes = {})
238
+ return unless attributes.is_a?(Hash)
239
+
240
+ # convert string to symbol for hash key
241
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
242
+
243
+ if attributes.has_key?(:'CleanResult')
244
+ self.clean_result = attributes[:'CleanResult']
245
+ end
246
+
247
+ if attributes.has_key?(:'Transcript')
248
+ self.transcript = attributes[:'Transcript']
249
+ end
250
+
251
+ if attributes.has_key?(:'Timestamps')
252
+ if (value = attributes[:'Timestamps']).is_a?(Array)
253
+ self.timestamps = value
254
+ end
255
+ end
256
+
257
+ if attributes.has_key?(:'ContainsEmailAddress')
258
+ self.contains_email_address = attributes[:'ContainsEmailAddress']
259
+ end
260
+
261
+ if attributes.has_key?(:'ContainsPhoneNumber')
262
+ self.contains_phone_number = attributes[:'ContainsPhoneNumber']
263
+ end
264
+
265
+ if attributes.has_key?(:'ContainsStreetAddress')
266
+ self.contains_street_address = attributes[:'ContainsStreetAddress']
267
+ end
268
+
269
+ if attributes.has_key?(:'ContainsCity')
270
+ self.contains_city = attributes[:'ContainsCity']
271
+ end
272
+
273
+ if attributes.has_key?(:'ContainsPersonName')
274
+ self.contains_person_name = attributes[:'ContainsPersonName']
275
+ end
276
+
277
+ if attributes.has_key?(:'ContainsBirthDate')
278
+ self.contains_birth_date = attributes[:'ContainsBirthDate']
279
+ end
280
+
281
+ if attributes.has_key?(:'ContainsPassportNumber')
282
+ self.contains_passport_number = attributes[:'ContainsPassportNumber']
283
+ end
284
+
285
+ if attributes.has_key?(:'ContainsDriversLicense')
286
+ self.contains_drivers_license = attributes[:'ContainsDriversLicense']
287
+ end
288
+
289
+ if attributes.has_key?(:'ContainsSocialSecurityNumber')
290
+ self.contains_social_security_number = attributes[:'ContainsSocialSecurityNumber']
291
+ end
292
+
293
+ if attributes.has_key?(:'ContainsTaxpayerID')
294
+ self.contains_taxpayer_id = attributes[:'ContainsTaxpayerID']
295
+ end
296
+
297
+ if attributes.has_key?(:'ContainsCreditCardNumber')
298
+ self.contains_credit_card_number = attributes[:'ContainsCreditCardNumber']
299
+ end
300
+
301
+ if attributes.has_key?(:'ContainsCreditCardExpirationDate')
302
+ self.contains_credit_card_expiration_date = attributes[:'ContainsCreditCardExpirationDate']
303
+ end
304
+
305
+ if attributes.has_key?(:'ContainsCreditCardVerificationCode')
306
+ self.contains_credit_card_verification_code = attributes[:'ContainsCreditCardVerificationCode']
307
+ end
308
+
309
+ if attributes.has_key?(:'ContainsBankAccountNumber')
310
+ self.contains_bank_account_number = attributes[:'ContainsBankAccountNumber']
311
+ end
312
+
313
+ if attributes.has_key?(:'ContainsIBAN')
314
+ self.contains_iban = attributes[:'ContainsIBAN']
315
+ end
316
+
317
+ if attributes.has_key?(:'ContainsHealthInsuranceNumber')
318
+ self.contains_health_insurance_number = attributes[:'ContainsHealthInsuranceNumber']
319
+ end
320
+
321
+ if attributes.has_key?(:'ContainsBearerToken')
322
+ self.contains_bearer_token = attributes[:'ContainsBearerToken']
323
+ end
324
+
325
+ if attributes.has_key?(:'ContainsHttpCookie')
326
+ self.contains_http_cookie = attributes[:'ContainsHttpCookie']
327
+ end
328
+
329
+ if attributes.has_key?(:'ContainsPrivateKeys')
330
+ self.contains_private_keys = attributes[:'ContainsPrivateKeys']
331
+ end
332
+
333
+ if attributes.has_key?(:'ContainsCredentials')
334
+ self.contains_credentials = attributes[:'ContainsCredentials']
335
+ end
336
+
337
+ if attributes.has_key?(:'ContainsDeepWebUrls')
338
+ self.contains_deep_web_urls = attributes[:'ContainsDeepWebUrls']
339
+ end
340
+
341
+ if attributes.has_key?(:'ContainsSourceCode')
342
+ self.contains_source_code = attributes[:'ContainsSourceCode']
343
+ end
344
+
345
+ if attributes.has_key?(:'ContainsIpAddress')
346
+ self.contains_ip_address = attributes[:'ContainsIpAddress']
347
+ end
348
+
349
+ if attributes.has_key?(:'ContainsMacAddress')
350
+ self.contains_mac_address = attributes[:'ContainsMacAddress']
351
+ end
352
+
353
+ if attributes.has_key?(:'ContainsHealthInsuranceMemberID')
354
+ self.contains_health_insurance_member_id = attributes[:'ContainsHealthInsuranceMemberID']
355
+ end
356
+
357
+ if attributes.has_key?(:'ContainsMedicalRecordNumber')
358
+ self.contains_medical_record_number = attributes[:'ContainsMedicalRecordNumber']
359
+ end
360
+
361
+ if attributes.has_key?(:'ContainsBillingAccountNumber')
362
+ self.contains_billing_account_number = attributes[:'ContainsBillingAccountNumber']
363
+ end
364
+
365
+ if attributes.has_key?(:'ContainsHealthInjuryOrDisease')
366
+ self.contains_health_injury_or_disease = attributes[:'ContainsHealthInjuryOrDisease']
367
+ end
368
+
369
+ if attributes.has_key?(:'ContainsHealthTypeOfTreatment')
370
+ self.contains_health_type_of_treatment = attributes[:'ContainsHealthTypeOfTreatment']
371
+ end
372
+
373
+ if attributes.has_key?(:'ContainsHealthDateAndTimeOfTreatment')
374
+ self.contains_health_date_and_time_of_treatment = attributes[:'ContainsHealthDateAndTimeOfTreatment']
375
+ end
376
+
377
+ if attributes.has_key?(:'ContainsHealthPlanBeneficiaryNumber')
378
+ self.contains_health_plan_beneficiary_number = attributes[:'ContainsHealthPlanBeneficiaryNumber']
379
+ end
380
+
381
+ if attributes.has_key?(:'ContainsHealthPaymentsMadeForTreatment')
382
+ self.contains_health_payments_made_for_treatment = attributes[:'ContainsHealthPaymentsMadeForTreatment']
383
+ end
384
+
385
+ if attributes.has_key?(:'ContainsVehicleID')
386
+ self.contains_vehicle_id = attributes[:'ContainsVehicleID']
387
+ end
388
+
389
+ if attributes.has_key?(:'ContainsDeviceID')
390
+ self.contains_device_id = attributes[:'ContainsDeviceID']
391
+ end
392
+
393
+ if attributes.has_key?(:'ContainsNamesOfRelatives')
394
+ self.contains_names_of_relatives = attributes[:'ContainsNamesOfRelatives']
395
+ end
396
+
397
+ if attributes.has_key?(:'ContainsHealthUniversalRecordLocator')
398
+ self.contains_health_universal_record_locator = attributes[:'ContainsHealthUniversalRecordLocator']
399
+ end
400
+
401
+ if attributes.has_key?(:'ContainsBiometrics')
402
+ self.contains_biometrics = attributes[:'ContainsBiometrics']
403
+ end
404
+
405
+ if attributes.has_key?(:'AnalysisRationale')
406
+ self.analysis_rationale = attributes[:'AnalysisRationale']
407
+ end
408
+ end
409
+
410
+ # Show invalid properties with the reasons. Usually used together with valid?
411
+ # @return Array for valid properties with the reasons
412
+ def list_invalid_properties
413
+ invalid_properties = Array.new
414
+ invalid_properties
415
+ end
416
+
417
+ # Check to see if the all the properties in the model are valid
418
+ # @return true if the model is valid
419
+ def valid?
420
+ true
421
+ end
422
+
423
+ # Checks equality by comparing each attribute.
424
+ # @param [Object] Object to be compared
425
+ def ==(o)
426
+ return true if self.equal?(o)
427
+ self.class == o.class &&
428
+ clean_result == o.clean_result &&
429
+ transcript == o.transcript &&
430
+ timestamps == o.timestamps &&
431
+ contains_email_address == o.contains_email_address &&
432
+ contains_phone_number == o.contains_phone_number &&
433
+ contains_street_address == o.contains_street_address &&
434
+ contains_city == o.contains_city &&
435
+ contains_person_name == o.contains_person_name &&
436
+ contains_birth_date == o.contains_birth_date &&
437
+ contains_passport_number == o.contains_passport_number &&
438
+ contains_drivers_license == o.contains_drivers_license &&
439
+ contains_social_security_number == o.contains_social_security_number &&
440
+ contains_taxpayer_id == o.contains_taxpayer_id &&
441
+ contains_credit_card_number == o.contains_credit_card_number &&
442
+ contains_credit_card_expiration_date == o.contains_credit_card_expiration_date &&
443
+ contains_credit_card_verification_code == o.contains_credit_card_verification_code &&
444
+ contains_bank_account_number == o.contains_bank_account_number &&
445
+ contains_iban == o.contains_iban &&
446
+ contains_health_insurance_number == o.contains_health_insurance_number &&
447
+ contains_bearer_token == o.contains_bearer_token &&
448
+ contains_http_cookie == o.contains_http_cookie &&
449
+ contains_private_keys == o.contains_private_keys &&
450
+ contains_credentials == o.contains_credentials &&
451
+ contains_deep_web_urls == o.contains_deep_web_urls &&
452
+ contains_source_code == o.contains_source_code &&
453
+ contains_ip_address == o.contains_ip_address &&
454
+ contains_mac_address == o.contains_mac_address &&
455
+ contains_health_insurance_member_id == o.contains_health_insurance_member_id &&
456
+ contains_medical_record_number == o.contains_medical_record_number &&
457
+ contains_billing_account_number == o.contains_billing_account_number &&
458
+ contains_health_injury_or_disease == o.contains_health_injury_or_disease &&
459
+ contains_health_type_of_treatment == o.contains_health_type_of_treatment &&
460
+ contains_health_date_and_time_of_treatment == o.contains_health_date_and_time_of_treatment &&
461
+ contains_health_plan_beneficiary_number == o.contains_health_plan_beneficiary_number &&
462
+ contains_health_payments_made_for_treatment == o.contains_health_payments_made_for_treatment &&
463
+ contains_vehicle_id == o.contains_vehicle_id &&
464
+ contains_device_id == o.contains_device_id &&
465
+ contains_names_of_relatives == o.contains_names_of_relatives &&
466
+ contains_health_universal_record_locator == o.contains_health_universal_record_locator &&
467
+ contains_biometrics == o.contains_biometrics &&
468
+ analysis_rationale == o.analysis_rationale
469
+ end
470
+
471
+ # @see the `==` method
472
+ # @param [Object] Object to be compared
473
+ def eql?(o)
474
+ self == o
475
+ end
476
+
477
+ # Calculates hash code according to all attributes.
478
+ # @return [Fixnum] Hash code
479
+ def hash
480
+ [clean_result, transcript, timestamps, contains_email_address, contains_phone_number, contains_street_address, contains_city, contains_person_name, contains_birth_date, contains_passport_number, contains_drivers_license, contains_social_security_number, contains_taxpayer_id, contains_credit_card_number, contains_credit_card_expiration_date, contains_credit_card_verification_code, contains_bank_account_number, contains_iban, contains_health_insurance_number, contains_bearer_token, contains_http_cookie, contains_private_keys, contains_credentials, contains_deep_web_urls, contains_source_code, contains_ip_address, contains_mac_address, contains_health_insurance_member_id, contains_medical_record_number, contains_billing_account_number, contains_health_injury_or_disease, contains_health_type_of_treatment, contains_health_date_and_time_of_treatment, contains_health_plan_beneficiary_number, contains_health_payments_made_for_treatment, contains_vehicle_id, contains_device_id, contains_names_of_relatives, contains_health_universal_record_locator, contains_biometrics, analysis_rationale].hash
481
+ end
482
+
483
+ # Builds the object from hash
484
+ # @param [Hash] attributes Model attributes in the form of hash
485
+ # @return [Object] Returns the model itself
486
+ def build_from_hash(attributes)
487
+ return nil unless attributes.is_a?(Hash)
488
+ self.class.swagger_types.each_pair do |key, type|
489
+ if type =~ /\AArray<(.*)>/i
490
+ # check to ensure the input is an array given that the attribute
491
+ # is documented as an array but the input is not
492
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
493
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
494
+ end
495
+ elsif !attributes[self.class.attribute_map[key]].nil?
496
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
497
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
498
+ end
499
+
500
+ self
501
+ end
502
+
503
+ # Deserializes the data based on type
504
+ # @param string type Data type
505
+ # @param string value Value to be deserialized
506
+ # @return [Object] Deserialized data
507
+ def _deserialize(type, value)
508
+ case type.to_sym
509
+ when :DateTime
510
+ DateTime.parse(value)
511
+ when :Date
512
+ Date.parse(value)
513
+ when :String
514
+ value.to_s
515
+ when :Integer
516
+ value.to_i
517
+ when :Float
518
+ value.to_f
519
+ when :BOOLEAN
520
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
521
+ true
522
+ else
523
+ false
524
+ end
525
+ when :Object
526
+ # generic object (usually a Hash), return directly
527
+ value
528
+ when /\AArray<(?<inner_type>.+)>\z/
529
+ inner_type = Regexp.last_match[:inner_type]
530
+ value.map { |v| _deserialize(inner_type, v) }
531
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
532
+ k_type = Regexp.last_match[:k_type]
533
+ v_type = Regexp.last_match[:v_type]
534
+ {}.tap do |hash|
535
+ value.each do |k, v|
536
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
537
+ end
538
+ end
539
+ else # model
540
+ temp_model = CloudmersiveDlpApiClient.const_get(type).new
541
+ temp_model.build_from_hash(value)
542
+ end
543
+ end
544
+
545
+ # Returns the string representation of the object
546
+ # @return [String] String presentation of the object
547
+ def to_s
548
+ to_hash.to_s
549
+ end
550
+
551
+ # to_body is an alias to to_hash (backward compatibility)
552
+ # @return [Hash] Returns the object in the form of hash
553
+ def to_body
554
+ to_hash
555
+ end
556
+
557
+ # Returns the object in the form of hash
558
+ # @return [Hash] Returns the object in the form of hash
559
+ def to_hash
560
+ hash = {}
561
+ self.class.attribute_map.each_pair do |attr, param|
562
+ value = self.send(attr)
563
+ next if value.nil?
564
+ hash[param] = _to_hash(value)
565
+ end
566
+ hash
567
+ end
568
+
569
+ # Outputs non-array value in the form of hash
570
+ # For object, use to_hash. Otherwise, just return the value
571
+ # @param [Object] value Any valid value
572
+ # @return [Hash] Returns the value in the form of hash
573
+ def _to_hash(value)
574
+ if value.is_a?(Array)
575
+ value.compact.map { |v| _to_hash(v) }
576
+ elsif value.is_a?(Hash)
577
+ {}.tap do |hash|
578
+ value.each { |k, v| hash[k] = _to_hash(v) }
579
+ end
580
+ elsif value.respond_to? :to_hash
581
+ value.to_hash
582
+ else
583
+ value
584
+ end
585
+ end
586
+
587
+ end
588
+ end