oci 2.16.0 → 2.17.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 (570) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -2
  3. data/lib/oci/ai_vision/ai_service_vision_client.rb +1677 -0
  4. data/lib/oci/ai_vision/ai_service_vision_client_composite_operations.rb +399 -0
  5. data/lib/oci/ai_vision/ai_vision.rb +105 -0
  6. data/lib/oci/ai_vision/models/action_type.rb +15 -0
  7. data/lib/oci/ai_vision/models/analyze_document_details.rb +268 -0
  8. data/lib/oci/ai_vision/models/analyze_document_result.rb +286 -0
  9. data/lib/oci/ai_vision/models/analyze_image_details.rb +174 -0
  10. data/lib/oci/ai_vision/models/analyze_image_result.rb +243 -0
  11. data/lib/oci/ai_vision/models/bounding_polygon.rb +156 -0
  12. data/lib/oci/ai_vision/models/cell.rb +216 -0
  13. data/lib/oci/ai_vision/models/change_model_compartment_details.rb +156 -0
  14. data/lib/oci/ai_vision/models/change_project_compartment_details.rb +156 -0
  15. data/lib/oci/ai_vision/models/create_document_job_details.rb +304 -0
  16. data/lib/oci/ai_vision/models/create_image_job_details.rb +222 -0
  17. data/lib/oci/ai_vision/models/create_model_details.rb +325 -0
  18. data/lib/oci/ai_vision/models/create_project_details.rb +213 -0
  19. data/lib/oci/ai_vision/models/data_science_labeling_dataset.rb +162 -0
  20. data/lib/oci/ai_vision/models/dataset.rb +191 -0
  21. data/lib/oci/ai_vision/models/detected_document_type.rb +164 -0
  22. data/lib/oci/ai_vision/models/detected_language.rb +207 -0
  23. data/lib/oci/ai_vision/models/dimensions.rb +190 -0
  24. data/lib/oci/ai_vision/models/document_classification_feature.rb +176 -0
  25. data/lib/oci/ai_vision/models/document_details.rb +184 -0
  26. data/lib/oci/ai_vision/models/document_feature.rb +204 -0
  27. data/lib/oci/ai_vision/models/document_field.rb +216 -0
  28. data/lib/oci/ai_vision/models/document_job.rb +451 -0
  29. data/lib/oci/ai_vision/models/document_key_value_detection_feature.rb +145 -0
  30. data/lib/oci/ai_vision/models/document_language.rb +34 -0
  31. data/lib/oci/ai_vision/models/document_language_classification_feature.rb +162 -0
  32. data/lib/oci/ai_vision/models/document_metadata.rb +168 -0
  33. data/lib/oci/ai_vision/models/document_table_detection_feature.rb +145 -0
  34. data/lib/oci/ai_vision/models/document_text_detection_feature.rb +164 -0
  35. data/lib/oci/ai_vision/models/document_type.rb +19 -0
  36. data/lib/oci/ai_vision/models/field_label.rb +160 -0
  37. data/lib/oci/ai_vision/models/field_name.rb +187 -0
  38. data/lib/oci/ai_vision/models/field_value.rb +250 -0
  39. data/lib/oci/ai_vision/models/image_classification_feature.rb +176 -0
  40. data/lib/oci/ai_vision/models/image_details.rb +184 -0
  41. data/lib/oci/ai_vision/models/image_feature.rb +198 -0
  42. data/lib/oci/ai_vision/models/image_job.rb +358 -0
  43. data/lib/oci/ai_vision/models/image_object.rb +174 -0
  44. data/lib/oci/ai_vision/models/image_object_detection_feature.rb +176 -0
  45. data/lib/oci/ai_vision/models/image_text.rb +160 -0
  46. data/lib/oci/ai_vision/models/image_text_detection_feature.rb +201 -0
  47. data/lib/oci/ai_vision/models/inline_document_details.rb +158 -0
  48. data/lib/oci/ai_vision/models/inline_image_details.rb +158 -0
  49. data/lib/oci/ai_vision/models/input_location.rb +192 -0
  50. data/lib/oci/ai_vision/models/label.rb +160 -0
  51. data/lib/oci/ai_vision/models/line.rb +188 -0
  52. data/lib/oci/ai_vision/models/model.rb +547 -0
  53. data/lib/oci/ai_vision/models/model_collection.rb +150 -0
  54. data/lib/oci/ai_vision/models/model_summary.rb +384 -0
  55. data/lib/oci/ai_vision/models/normalized_vertex.rb +163 -0
  56. data/lib/oci/ai_vision/models/object_list_inline_input_location.rb +162 -0
  57. data/lib/oci/ai_vision/models/object_location.rb +182 -0
  58. data/lib/oci/ai_vision/models/object_storage_dataset.rb +190 -0
  59. data/lib/oci/ai_vision/models/object_storage_document_details.rb +190 -0
  60. data/lib/oci/ai_vision/models/object_storage_image_details.rb +190 -0
  61. data/lib/oci/ai_vision/models/ontology_class.rb +178 -0
  62. data/lib/oci/ai_vision/models/operation_status.rb +16 -0
  63. data/lib/oci/ai_vision/models/operation_type.rb +17 -0
  64. data/lib/oci/ai_vision/models/output_location.rb +178 -0
  65. data/lib/oci/ai_vision/models/page.rb +235 -0
  66. data/lib/oci/ai_vision/models/processing_error.rb +160 -0
  67. data/lib/oci/ai_vision/models/project.rb +316 -0
  68. data/lib/oci/ai_vision/models/project_collection.rb +150 -0
  69. data/lib/oci/ai_vision/models/project_summary.rb +283 -0
  70. data/lib/oci/ai_vision/models/sort_order.rb +11 -0
  71. data/lib/oci/ai_vision/models/table.rb +235 -0
  72. data/lib/oci/ai_vision/models/table_row.rb +150 -0
  73. data/lib/oci/ai_vision/models/update_model_details.rb +196 -0
  74. data/lib/oci/ai_vision/models/update_project_details.rb +196 -0
  75. data/lib/oci/ai_vision/models/value_array.rb +174 -0
  76. data/lib/oci/ai_vision/models/value_date.rb +174 -0
  77. data/lib/oci/ai_vision/models/value_integer.rb +174 -0
  78. data/lib/oci/ai_vision/models/value_number.rb +174 -0
  79. data/lib/oci/ai_vision/models/value_phone_number.rb +174 -0
  80. data/lib/oci/ai_vision/models/value_string.rb +174 -0
  81. data/lib/oci/ai_vision/models/value_time.rb +174 -0
  82. data/lib/oci/ai_vision/models/word.rb +174 -0
  83. data/lib/oci/ai_vision/models/work_request.rb +311 -0
  84. data/lib/oci/ai_vision/models/work_request_error.rb +173 -0
  85. data/lib/oci/ai_vision/models/work_request_error_collection.rb +150 -0
  86. data/lib/oci/ai_vision/models/work_request_log_entry.rb +160 -0
  87. data/lib/oci/ai_vision/models/work_request_log_entry_collection.rb +150 -0
  88. data/lib/oci/ai_vision/models/work_request_resource.rb +220 -0
  89. data/lib/oci/ai_vision/models/work_request_summary.rb +313 -0
  90. data/lib/oci/ai_vision/models/work_request_summary_collection.rb +150 -0
  91. data/lib/oci/ai_vision/util.rb +3 -0
  92. data/lib/oci/announcements_service/announcement_client.rb +26 -5
  93. data/lib/oci/announcements_service/announcement_subscription_client.rb +703 -0
  94. data/lib/oci/announcements_service/announcement_subscription_client_composite_operations.rb +144 -0
  95. data/lib/oci/announcements_service/announcements_preferences_client.rb +10 -3
  96. data/lib/oci/announcements_service/announcements_service.rb +14 -0
  97. data/lib/oci/announcements_service/models/announcement.rb +9 -1
  98. data/lib/oci/announcements_service/models/announcement_subscription.rb +348 -0
  99. data/lib/oci/announcements_service/models/announcement_subscription_collection.rb +150 -0
  100. data/lib/oci/announcements_service/models/announcement_subscription_summary.rb +299 -0
  101. data/lib/oci/announcements_service/models/announcement_summary.rb +12 -4
  102. data/lib/oci/announcements_service/models/base_announcement.rb +47 -4
  103. data/lib/oci/announcements_service/models/change_announcement_subscription_compartment_details.rb +156 -0
  104. data/lib/oci/announcements_service/models/create_announcement_subscription_details.rb +241 -0
  105. data/lib/oci/announcements_service/models/create_filter_group_details.rb +160 -0
  106. data/lib/oci/announcements_service/models/filter.rb +184 -0
  107. data/lib/oci/announcements_service/models/filter_group.rb +160 -0
  108. data/lib/oci/announcements_service/models/filter_group_details.rb +150 -0
  109. data/lib/oci/announcements_service/models/sort_order.rb +11 -0
  110. data/lib/oci/announcements_service/models/update_announcement_subscription_details.rb +211 -0
  111. data/lib/oci/announcements_service/models/update_filter_group_details.rb +150 -0
  112. data/lib/oci/apm_config/config_client.rb +31 -29
  113. data/lib/oci/apm_config/models/apdex.rb +20 -20
  114. data/lib/oci/apm_config/models/apdex_rules.rb +2 -2
  115. data/lib/oci/apm_config/models/apdex_rules_summary.rb +2 -2
  116. data/lib/oci/apm_config/models/config.rb +3 -3
  117. data/lib/oci/apm_config/models/config_collection.rb +1 -1
  118. data/lib/oci/apm_config/models/config_summary.rb +3 -3
  119. data/lib/oci/apm_config/models/create_apdex_rules_details.rb +2 -3
  120. data/lib/oci/apm_config/models/create_config_details.rb +3 -3
  121. data/lib/oci/apm_config/models/create_metric_group_details.rb +9 -6
  122. data/lib/oci/apm_config/models/create_span_filter_details.rb +2 -2
  123. data/lib/oci/apm_config/models/dimension.rb +3 -3
  124. data/lib/oci/apm_config/models/metric.rb +5 -5
  125. data/lib/oci/apm_config/models/metric_group.rb +9 -5
  126. data/lib/oci/apm_config/models/metric_group_summary.rb +9 -5
  127. data/lib/oci/apm_config/models/span_filter.rb +3 -3
  128. data/lib/oci/apm_config/models/span_filter_summary.rb +2 -2
  129. data/lib/oci/apm_config/models/update_apdex_rules_details.rb +1 -1
  130. data/lib/oci/apm_config/models/update_config_details.rb +2 -2
  131. data/lib/oci/apm_config/models/update_metric_group_details.rb +9 -5
  132. data/lib/oci/apm_config/models/update_span_filter_details.rb +2 -2
  133. data/lib/oci/apm_traces/apm_traces.rb +7 -0
  134. data/lib/oci/apm_traces/models/aggregated_snapshot.rb +167 -0
  135. data/lib/oci/apm_traces/models/aggregated_stack_trace.rb +165 -0
  136. data/lib/oci/apm_traces/models/query_details.rb +2 -2
  137. data/lib/oci/apm_traces/models/query_result_metadata_summary.rb +2 -2
  138. data/lib/oci/apm_traces/models/query_result_row.rb +6 -7
  139. data/lib/oci/apm_traces/models/query_result_row_type_summary.rb +1 -1
  140. data/lib/oci/apm_traces/models/query_results_grouped_by_summary.rb +2 -2
  141. data/lib/oci/apm_traces/models/query_results_ordered_by_summary.rb +2 -2
  142. data/lib/oci/apm_traces/models/quick_pick_summary.rb +3 -3
  143. data/lib/oci/apm_traces/models/snapshot_detail.rb +163 -0
  144. data/lib/oci/apm_traces/models/span.rb +4 -4
  145. data/lib/oci/apm_traces/models/span_log.rb +1 -1
  146. data/lib/oci/apm_traces/models/span_snapshot.rb +238 -0
  147. data/lib/oci/apm_traces/models/stack_trace_element.rb +212 -0
  148. data/lib/oci/apm_traces/models/tag.rb +1 -1
  149. data/lib/oci/apm_traces/models/thread_snapshot.rb +186 -0
  150. data/lib/oci/apm_traces/models/trace.rb +15 -16
  151. data/lib/oci/apm_traces/models/trace_service_summary.rb +3 -3
  152. data/lib/oci/apm_traces/models/trace_snapshot.rb +214 -0
  153. data/lib/oci/apm_traces/models/trace_span_summary.rb +16 -18
  154. data/lib/oci/apm_traces/query_client.rb +9 -89
  155. data/lib/oci/apm_traces/trace_client.rb +141 -8
  156. data/lib/oci/common.rb +33 -0
  157. data/lib/oci/container_engine/container_engine.rb +2 -0
  158. data/lib/oci/container_engine/models/cluster.rb +51 -1
  159. data/lib/oci/container_engine/models/cluster_create_options.rb +30 -4
  160. data/lib/oci/container_engine/models/cluster_summary.rb +51 -1
  161. data/lib/oci/container_engine/models/create_cluster_details.rb +35 -1
  162. data/lib/oci/container_engine/models/create_node_pool_details.rb +38 -4
  163. data/lib/oci/container_engine/models/create_node_pool_node_config_details.rb +35 -1
  164. data/lib/oci/container_engine/models/node.rb +51 -1
  165. data/lib/oci/container_engine/models/node_pool.rb +54 -4
  166. data/lib/oci/container_engine/models/node_pool_node_config_details.rb +35 -1
  167. data/lib/oci/container_engine/models/node_pool_placement_config_details.rb +18 -4
  168. data/lib/oci/container_engine/models/node_pool_summary.rb +54 -4
  169. data/lib/oci/container_engine/models/persistent_volume_config_details.rb +174 -0
  170. data/lib/oci/container_engine/models/service_lb_config_details.rb +174 -0
  171. data/lib/oci/container_engine/models/update_cluster_details.rb +35 -1
  172. data/lib/oci/container_engine/models/update_cluster_options_details.rb +30 -4
  173. data/lib/oci/container_engine/models/update_node_pool_details.rb +38 -4
  174. data/lib/oci/container_engine/models/update_node_pool_node_config_details.rb +35 -1
  175. data/lib/oci/dashboard_service/dashboard_client.rb +477 -0
  176. data/lib/oci/dashboard_service/dashboard_client_composite_operations.rb +144 -0
  177. data/lib/oci/dashboard_service/dashboard_group_client.rb +477 -0
  178. data/lib/oci/dashboard_service/dashboard_group_client_composite_operations.rb +144 -0
  179. data/lib/oci/dashboard_service/dashboard_service.rb +36 -0
  180. data/lib/oci/dashboard_service/models/create_dashboard_details.rb +247 -0
  181. data/lib/oci/dashboard_service/models/create_dashboard_group_details.rb +214 -0
  182. data/lib/oci/dashboard_service/models/create_v1_dashboard_details.rb +191 -0
  183. data/lib/oci/dashboard_service/models/dashboard.rb +377 -0
  184. data/lib/oci/dashboard_service/models/dashboard_collection.rb +150 -0
  185. data/lib/oci/dashboard_service/models/dashboard_group.rb +312 -0
  186. data/lib/oci/dashboard_service/models/dashboard_group_collection.rb +150 -0
  187. data/lib/oci/dashboard_service/models/dashboard_group_summary.rb +288 -0
  188. data/lib/oci/dashboard_service/models/dashboard_summary.rb +302 -0
  189. data/lib/oci/dashboard_service/models/sort_order.rb +11 -0
  190. data/lib/oci/dashboard_service/models/update_dashboard_details.rb +233 -0
  191. data/lib/oci/dashboard_service/models/update_dashboard_group_details.rb +200 -0
  192. data/lib/oci/dashboard_service/models/update_v1_dashboard_details.rb +187 -0
  193. data/lib/oci/dashboard_service/models/v1_dashboard.rb +215 -0
  194. data/lib/oci/dashboard_service/util.rb +3 -0
  195. data/lib/oci/data_integration/models/filter.rb +1 -0
  196. data/lib/oci/data_safe/data_safe.rb +239 -0
  197. data/lib/oci/data_safe/data_safe_client.rb +11900 -1705
  198. data/lib/oci/data_safe/data_safe_client_composite_operations.rb +3157 -156
  199. data/lib/oci/data_safe/models/alert.rb +535 -0
  200. data/lib/oci/data_safe/models/alert_aggregation_items.rb +201 -0
  201. data/lib/oci/data_safe/models/alert_analytics_collection.rb +150 -0
  202. data/lib/oci/data_safe/models/alert_collection.rb +150 -0
  203. data/lib/oci/data_safe/models/alert_lifecycle_state.rb +12 -0
  204. data/lib/oci/data_safe/models/alert_policy.rb +387 -0
  205. data/lib/oci/data_safe/models/alert_policy_collection.rb +150 -0
  206. data/lib/oci/data_safe/models/alert_policy_lifecycle_state.rb +15 -0
  207. data/lib/oci/data_safe/models/alert_policy_rule.rb +170 -0
  208. data/lib/oci/data_safe/models/alert_policy_rule_collection.rb +150 -0
  209. data/lib/oci/data_safe/models/alert_policy_rule_summary.rb +170 -0
  210. data/lib/oci/data_safe/models/alert_policy_summary.rb +368 -0
  211. data/lib/oci/data_safe/models/alert_policy_type.rb +12 -0
  212. data/lib/oci/data_safe/models/alert_severity.rb +14 -0
  213. data/lib/oci/data_safe/models/alert_status.rb +11 -0
  214. data/lib/oci/data_safe/models/alert_summary.rb +495 -0
  215. data/lib/oci/data_safe/models/alert_type.rb +12 -0
  216. data/lib/oci/data_safe/models/alerts_aggregation_dimension.rb +154 -0
  217. data/lib/oci/data_safe/models/apply_discovery_job_results_details.rb +154 -0
  218. data/lib/oci/data_safe/models/audit_archive_retrieval.rb +404 -0
  219. data/lib/oci/data_safe/models/audit_archive_retrieval_collection.rb +150 -0
  220. data/lib/oci/data_safe/models/audit_archive_retrieval_lifecycle_state.rb +15 -0
  221. data/lib/oci/data_safe/models/audit_archive_retrieval_summary.rb +386 -0
  222. data/lib/oci/data_safe/models/audit_conditions.rb +197 -0
  223. data/lib/oci/data_safe/models/audit_event_aggregation_dimensions.rb +352 -0
  224. data/lib/oci/data_safe/models/audit_event_aggregation_items.rb +215 -0
  225. data/lib/oci/data_safe/models/audit_event_analytics_collection.rb +150 -0
  226. data/lib/oci/data_safe/models/audit_event_collection.rb +150 -0
  227. data/lib/oci/data_safe/models/audit_event_summary.rb +719 -0
  228. data/lib/oci/data_safe/models/audit_policy.rb +410 -0
  229. data/lib/oci/data_safe/models/audit_policy_aggregation_items.rb +159 -0
  230. data/lib/oci/data_safe/models/audit_policy_analytic_collection.rb +150 -0
  231. data/lib/oci/data_safe/models/audit_policy_category.rb +15 -0
  232. data/lib/oci/data_safe/models/audit_policy_collection.rb +150 -0
  233. data/lib/oci/data_safe/models/audit_policy_dimensions.rb +186 -0
  234. data/lib/oci/data_safe/models/audit_policy_lifecycle_state.rb +16 -0
  235. data/lib/oci/data_safe/models/audit_policy_summary.rb +380 -0
  236. data/lib/oci/data_safe/models/audit_profile.rb +429 -0
  237. data/lib/oci/data_safe/models/audit_profile_aggregation_items.rb +159 -0
  238. data/lib/oci/data_safe/models/audit_profile_analytic_collection.rb +151 -0
  239. data/lib/oci/data_safe/models/audit_profile_collection.rb +150 -0
  240. data/lib/oci/data_safe/models/audit_profile_dimensions.rb +157 -0
  241. data/lib/oci/data_safe/models/audit_profile_lifecycle_state.rb +16 -0
  242. data/lib/oci/data_safe/models/audit_profile_summary.rb +400 -0
  243. data/lib/oci/data_safe/models/audit_specification.rb +367 -0
  244. data/lib/oci/data_safe/models/audit_trail.rb +447 -0
  245. data/lib/oci/data_safe/models/audit_trail_aggregation_items.rb +159 -0
  246. data/lib/oci/data_safe/models/audit_trail_analytic_collection.rb +151 -0
  247. data/lib/oci/data_safe/models/audit_trail_collection.rb +150 -0
  248. data/lib/oci/data_safe/models/audit_trail_dimensions.rb +212 -0
  249. data/lib/oci/data_safe/models/audit_trail_lifecycle_state.rb +15 -0
  250. data/lib/oci/data_safe/models/audit_trail_status.rb +17 -0
  251. data/lib/oci/data_safe/models/audit_trail_summary.rb +411 -0
  252. data/lib/oci/data_safe/models/available_audit_volume_collection.rb +150 -0
  253. data/lib/oci/data_safe/models/available_audit_volume_summary.rb +197 -0
  254. data/lib/oci/data_safe/models/calculate_audit_volume_available_details.rb +168 -0
  255. data/lib/oci/data_safe/models/calculate_audit_volume_collected_details.rb +168 -0
  256. data/lib/oci/data_safe/models/change_alert_compartment_details.rb +154 -0
  257. data/lib/oci/data_safe/models/change_alert_policy_compartment_details.rb +154 -0
  258. data/lib/oci/data_safe/models/change_audit_archive_retrieval_compartment_details.rb +156 -0
  259. data/lib/oci/data_safe/models/change_audit_policy_compartment_details.rb +154 -0
  260. data/lib/oci/data_safe/models/change_audit_profile_compartment_details.rb +155 -0
  261. data/lib/oci/data_safe/models/change_discovery_job_compartment_details.rb +154 -0
  262. data/lib/oci/data_safe/models/change_library_masking_format_compartment_details.rb +154 -0
  263. data/lib/oci/data_safe/models/change_masking_policy_compartment_details.rb +154 -0
  264. data/lib/oci/data_safe/models/change_report_compartment_details.rb +156 -0
  265. data/lib/oci/data_safe/models/change_report_definition_compartment_details.rb +156 -0
  266. data/lib/oci/data_safe/models/change_retention_details.rb +189 -0
  267. data/lib/oci/data_safe/models/change_sensitive_data_model_compartment_details.rb +154 -0
  268. data/lib/oci/data_safe/models/change_sensitive_type_compartment_details.rb +154 -0
  269. data/lib/oci/data_safe/models/change_target_alert_policy_association_compartment_details.rb +154 -0
  270. data/lib/oci/data_safe/models/collected_audit_volume_collection.rb +150 -0
  271. data/lib/oci/data_safe/models/collected_audit_volume_summary.rb +199 -0
  272. data/lib/oci/data_safe/models/column.rb +212 -0
  273. data/lib/oci/data_safe/models/column_filter.rb +234 -0
  274. data/lib/oci/data_safe/models/column_sorting.rb +182 -0
  275. data/lib/oci/data_safe/models/column_source_details.rb +191 -0
  276. data/lib/oci/data_safe/models/column_source_from_sdm_details.rb +162 -0
  277. data/lib/oci/data_safe/models/column_source_from_target_details.rb +162 -0
  278. data/lib/oci/data_safe/models/column_summary.rb +240 -0
  279. data/lib/oci/data_safe/models/compatible_formats_for_data_types.rb +161 -0
  280. data/lib/oci/data_safe/models/compatible_formats_for_sensitive_types.rb +154 -0
  281. data/lib/oci/data_safe/models/create_alert_policy_details.rb +267 -0
  282. data/lib/oci/data_safe/models/create_alert_policy_rule_details.rb +161 -0
  283. data/lib/oci/data_safe/models/create_audit_archive_retrieval_details.rb +254 -0
  284. data/lib/oci/data_safe/models/create_audit_policy_details.rb +226 -0
  285. data/lib/oci/data_safe/models/create_audit_profile_details.rb +243 -0
  286. data/lib/oci/data_safe/models/create_column_source_details.rb +184 -0
  287. data/lib/oci/data_safe/models/create_column_source_from_sdm_details.rb +162 -0
  288. data/lib/oci/data_safe/models/create_column_source_from_target_details.rb +162 -0
  289. data/lib/oci/data_safe/models/create_discovery_job_details.rb +350 -0
  290. data/lib/oci/data_safe/models/create_library_masking_format_details.rb +247 -0
  291. data/lib/oci/data_safe/models/create_masking_column_details.rb +312 -0
  292. data/lib/oci/data_safe/models/create_masking_policy_details.rb +371 -0
  293. data/lib/oci/data_safe/models/create_report_definition_details.rb +278 -0
  294. data/lib/oci/data_safe/models/create_sensitive_category_details.rb +173 -0
  295. data/lib/oci/data_safe/models/create_sensitive_column_details.rb +371 -0
  296. data/lib/oci/data_safe/models/create_sensitive_data_model_details.rb +359 -0
  297. data/lib/oci/data_safe/models/create_sensitive_type_details.rb +286 -0
  298. data/lib/oci/data_safe/models/create_sensitive_type_pattern_details.rb +250 -0
  299. data/lib/oci/data_safe/models/create_target_alert_policy_association_details.rb +257 -0
  300. data/lib/oci/data_safe/models/data_model_format.rb +10 -0
  301. data/lib/oci/data_safe/models/data_safe_configuration.rb +29 -1
  302. data/lib/oci/data_safe/models/delete_rows_format_entry.rb +157 -0
  303. data/lib/oci/data_safe/models/deterministic_encryption_date_format_entry.rb +201 -0
  304. data/lib/oci/data_safe/models/deterministic_encryption_format_entry.rb +193 -0
  305. data/lib/oci/data_safe/models/deterministic_substitution_format_entry.rb +205 -0
  306. data/lib/oci/data_safe/models/dimensions.rb +168 -0
  307. data/lib/oci/data_safe/models/discovery_analytics_collection.rb +150 -0
  308. data/lib/oci/data_safe/models/discovery_analytics_summary.rb +197 -0
  309. data/lib/oci/data_safe/models/discovery_job.rb +544 -0
  310. data/lib/oci/data_safe/models/discovery_job_collection.rb +150 -0
  311. data/lib/oci/data_safe/models/discovery_job_result.rb +506 -0
  312. data/lib/oci/data_safe/models/discovery_job_result_collection.rb +150 -0
  313. data/lib/oci/data_safe/models/discovery_job_result_summary.rb +406 -0
  314. data/lib/oci/data_safe/models/discovery_job_summary.rb +320 -0
  315. data/lib/oci/data_safe/models/discovery_lifecycle_state.rb +15 -0
  316. data/lib/oci/data_safe/models/download_discovery_report_details.rb +183 -0
  317. data/lib/oci/data_safe/models/download_masking_log_details.rb +154 -0
  318. data/lib/oci/data_safe/models/download_masking_policy_details.rb +168 -0
  319. data/lib/oci/data_safe/models/download_masking_report_details.rb +183 -0
  320. data/lib/oci/data_safe/models/download_security_assessment_report_details.rb +1 -0
  321. data/lib/oci/data_safe/models/download_sensitive_data_model_details.rb +168 -0
  322. data/lib/oci/data_safe/models/download_user_assessment_report_details.rb +1 -0
  323. data/lib/oci/data_safe/models/enable_conditions.rb +256 -0
  324. data/lib/oci/data_safe/models/fixed_number_format_entry.rb +168 -0
  325. data/lib/oci/data_safe/models/fixed_string_format_entry.rb +168 -0
  326. data/lib/oci/data_safe/models/format_entry.rb +243 -0
  327. data/lib/oci/data_safe/models/format_entry_type.rb +32 -0
  328. data/lib/oci/data_safe/models/format_summary.rb +170 -0
  329. data/lib/oci/data_safe/models/formats_for_data_type.rb +174 -0
  330. data/lib/oci/data_safe/models/formats_for_sensitive_type.rb +168 -0
  331. data/lib/oci/data_safe/models/generate_discovery_report_for_download_details.rb +183 -0
  332. data/lib/oci/data_safe/models/generate_masking_policy_for_download_details.rb +168 -0
  333. data/lib/oci/data_safe/models/generate_masking_report_for_download_details.rb +183 -0
  334. data/lib/oci/data_safe/models/generate_report_details.rb +263 -0
  335. data/lib/oci/data_safe/models/generate_security_assessment_report_details.rb +1 -0
  336. data/lib/oci/data_safe/models/generate_sensitive_data_model_for_download_details.rb +168 -0
  337. data/lib/oci/data_safe/models/generate_user_assessment_report_details.rb +1 -0
  338. data/lib/oci/data_safe/models/global_settings.rb +185 -0
  339. data/lib/oci/data_safe/models/library_masking_format.rb +354 -0
  340. data/lib/oci/data_safe/models/library_masking_format_collection.rb +150 -0
  341. data/lib/oci/data_safe/models/library_masking_format_entry.rb +171 -0
  342. data/lib/oci/data_safe/models/library_masking_format_source.rb +11 -0
  343. data/lib/oci/data_safe/models/library_masking_format_summary.rb +332 -0
  344. data/lib/oci/data_safe/models/mask_data_details.rb +274 -0
  345. data/lib/oci/data_safe/models/masked_column_collection.rb +150 -0
  346. data/lib/oci/data_safe/models/masked_column_summary.rb +296 -0
  347. data/lib/oci/data_safe/models/masking_analytics_collection.rb +150 -0
  348. data/lib/oci/data_safe/models/masking_analytics_dimensions.rb +168 -0
  349. data/lib/oci/data_safe/models/masking_analytics_summary.rb +199 -0
  350. data/lib/oci/data_safe/models/masking_column.rb +414 -0
  351. data/lib/oci/data_safe/models/masking_column_collection.rb +150 -0
  352. data/lib/oci/data_safe/models/masking_column_lifecycle_state.rb +15 -0
  353. data/lib/oci/data_safe/models/masking_column_summary.rb +410 -0
  354. data/lib/oci/data_safe/models/masking_format.rb +190 -0
  355. data/lib/oci/data_safe/models/masking_lifecycle_state.rb +16 -0
  356. data/lib/oci/data_safe/models/masking_policy.rb +448 -0
  357. data/lib/oci/data_safe/models/masking_policy_collection.rb +150 -0
  358. data/lib/oci/data_safe/models/masking_policy_summary.rb +304 -0
  359. data/lib/oci/data_safe/models/masking_report.rb +306 -0
  360. data/lib/oci/data_safe/models/masking_report_collection.rb +150 -0
  361. data/lib/oci/data_safe/models/masking_report_summary.rb +304 -0
  362. data/lib/oci/data_safe/models/modified_attributes.rb +170 -0
  363. data/lib/oci/data_safe/models/modify_global_settings_details.rb +184 -0
  364. data/lib/oci/data_safe/models/null_value_format_entry.rb +152 -0
  365. data/lib/oci/data_safe/models/object_type.rb +11 -0
  366. data/lib/oci/data_safe/models/patch_alert_policy_rule_details.rb +150 -0
  367. data/lib/oci/data_safe/models/patch_alerts_details.rb +150 -0
  368. data/lib/oci/data_safe/models/patch_discovery_job_result_details.rb +150 -0
  369. data/lib/oci/data_safe/models/patch_insert_instruction.rb +162 -0
  370. data/lib/oci/data_safe/models/patch_instruction.rb +192 -0
  371. data/lib/oci/data_safe/models/patch_masking_columns_details.rb +150 -0
  372. data/lib/oci/data_safe/models/patch_merge_instruction.rb +162 -0
  373. data/lib/oci/data_safe/models/patch_remove_instruction.rb +149 -0
  374. data/lib/oci/data_safe/models/patch_sensitive_column_details.rb +150 -0
  375. data/lib/oci/data_safe/models/policy_format.rb +10 -0
  376. data/lib/oci/data_safe/models/ppf_format_entry.rb +179 -0
  377. data/lib/oci/data_safe/models/preserve_original_data_format_entry.rb +153 -0
  378. data/lib/oci/data_safe/models/provision_audit_conditions.rb +199 -0
  379. data/lib/oci/data_safe/models/provision_audit_policy_details.rb +170 -0
  380. data/lib/oci/data_safe/models/random_date_format_entry.rb +189 -0
  381. data/lib/oci/data_safe/models/random_decimal_number_format_entry.rb +190 -0
  382. data/lib/oci/data_safe/models/random_digits_format_entry.rb +193 -0
  383. data/lib/oci/data_safe/models/random_list_format_entry.rb +173 -0
  384. data/lib/oci/data_safe/models/random_number_format_entry.rb +192 -0
  385. data/lib/oci/data_safe/models/random_string_format_entry.rb +192 -0
  386. data/lib/oci/data_safe/models/random_substitution_format_entry.rb +204 -0
  387. data/lib/oci/data_safe/models/regular_expression_format_entry.rb +189 -0
  388. data/lib/oci/data_safe/models/report.rb +333 -0
  389. data/lib/oci/data_safe/models/report_collection.rb +150 -0
  390. data/lib/oci/data_safe/models/report_definition.rb +474 -0
  391. data/lib/oci/data_safe/models/report_definition_collection.rb +150 -0
  392. data/lib/oci/data_safe/models/report_definition_data_source.rb +11 -0
  393. data/lib/oci/data_safe/models/report_definition_lifecycle_state.rb +14 -0
  394. data/lib/oci/data_safe/models/report_definition_summary.rb +378 -0
  395. data/lib/oci/data_safe/models/report_lifecycle_state.rb +11 -0
  396. data/lib/oci/data_safe/models/report_summary.rb +317 -0
  397. data/lib/oci/data_safe/models/role_summary.rb +238 -0
  398. data/lib/oci/data_safe/models/schema_summary.rb +168 -0
  399. data/lib/oci/data_safe/models/sensitive_category.rb +197 -0
  400. data/lib/oci/data_safe/models/sensitive_column.rb +559 -0
  401. data/lib/oci/data_safe/models/sensitive_column_collection.rb +150 -0
  402. data/lib/oci/data_safe/models/sensitive_column_lifecycle_state.rb +14 -0
  403. data/lib/oci/data_safe/models/sensitive_column_summary.rb +512 -0
  404. data/lib/oci/data_safe/models/sensitive_data_model.rb +438 -0
  405. data/lib/oci/data_safe/models/sensitive_data_model_collection.rb +150 -0
  406. data/lib/oci/data_safe/models/sensitive_data_model_summary.rb +320 -0
  407. data/lib/oci/data_safe/models/sensitive_type.rb +416 -0
  408. data/lib/oci/data_safe/models/sensitive_type_collection.rb +150 -0
  409. data/lib/oci/data_safe/models/sensitive_type_entity.rb +11 -0
  410. data/lib/oci/data_safe/models/sensitive_type_pattern.rb +292 -0
  411. data/lib/oci/data_safe/models/sensitive_type_source.rb +11 -0
  412. data/lib/oci/data_safe/models/sensitive_type_summary.rb +394 -0
  413. data/lib/oci/data_safe/models/service_list.rb +1 -0
  414. data/lib/oci/data_safe/models/shuffle_format_entry.rb +177 -0
  415. data/lib/oci/data_safe/models/sql_expression_format_entry.rb +176 -0
  416. data/lib/oci/data_safe/models/start_audit_trail_details.rb +172 -0
  417. data/lib/oci/data_safe/models/substring_format_entry.rb +187 -0
  418. data/lib/oci/data_safe/models/summary.rb +222 -0
  419. data/lib/oci/data_safe/models/table_summary.rb +168 -0
  420. data/lib/oci/data_safe/models/target_alert_policy_association.rb +348 -0
  421. data/lib/oci/data_safe/models/target_alert_policy_association_collection.rb +150 -0
  422. data/lib/oci/data_safe/models/target_alert_policy_association_summary.rb +332 -0
  423. data/lib/oci/data_safe/models/target_database.rb +15 -1
  424. data/lib/oci/data_safe/models/target_database_summary.rb +15 -1
  425. data/lib/oci/data_safe/models/truncate_table_format_entry.rb +154 -0
  426. data/lib/oci/data_safe/models/udf_format_entry.rb +173 -0
  427. data/lib/oci/data_safe/models/update_alert_details.rb +207 -0
  428. data/lib/oci/data_safe/models/update_alert_policy_rule_details.rb +160 -0
  429. data/lib/oci/data_safe/models/update_audit_archive_retrieval_details.rb +198 -0
  430. data/lib/oci/data_safe/models/update_audit_policy_details.rb +198 -0
  431. data/lib/oci/data_safe/models/update_audit_profile_details.rb +215 -0
  432. data/lib/oci/data_safe/models/update_audit_trail_details.rb +216 -0
  433. data/lib/oci/data_safe/models/update_column_source_details.rb +184 -0
  434. data/lib/oci/data_safe/models/update_column_source_sdm_details.rb +162 -0
  435. data/lib/oci/data_safe/models/update_column_source_target_details.rb +162 -0
  436. data/lib/oci/data_safe/models/update_library_masking_format_details.rb +228 -0
  437. data/lib/oci/data_safe/models/update_masking_column_details.rb +239 -0
  438. data/lib/oci/data_safe/models/update_masking_policy_details.rb +329 -0
  439. data/lib/oci/data_safe/models/update_report_definition_details.rb +250 -0
  440. data/lib/oci/data_safe/models/update_sensitive_category_details.rb +169 -0
  441. data/lib/oci/data_safe/models/update_sensitive_column_details.rb +280 -0
  442. data/lib/oci/data_safe/models/update_sensitive_data_model_details.rb +299 -0
  443. data/lib/oci/data_safe/models/update_sensitive_type_details.rb +272 -0
  444. data/lib/oci/data_safe/models/update_sensitive_type_pattern_details.rb +244 -0
  445. data/lib/oci/data_safe/models/update_target_alert_policy_association_details.rb +213 -0
  446. data/lib/oci/data_safe/models/work_request.rb +57 -0
  447. data/lib/oci/data_safe/models/work_request_summary.rb +56 -0
  448. data/lib/oci/data_science/data_science.rb +1 -0
  449. data/lib/oci/data_science/data_science_client.rb +71 -2
  450. data/lib/oci/data_science/data_science_client_composite_operations.rb +1 -1
  451. data/lib/oci/data_science/models/fast_launch_job_config_summary.rb +272 -0
  452. data/lib/oci/database/models/autonomous_database.rb +2 -1
  453. data/lib/oci/database/models/autonomous_database_summary.rb +2 -1
  454. data/lib/oci/database_management/database_management.rb +14 -0
  455. data/lib/oci/database_management/db_management_client.rb +544 -8
  456. data/lib/oci/database_management/models/add_data_files_details.rb +303 -0
  457. data/lib/oci/database_management/models/asm_property.rb +151 -0
  458. data/lib/oci/database_management/models/asm_property_collection.rb +150 -0
  459. data/lib/oci/database_management/models/asm_property_summary.rb +154 -0
  460. data/lib/oci/database_management/models/clone_sql_tuning_task_details.rb +4 -4
  461. data/lib/oci/database_management/models/consumer_group_privilege_collection.rb +2 -2
  462. data/lib/oci/database_management/models/consumer_group_privilege_summary.rb +4 -4
  463. data/lib/oci/database_management/models/create_tablespace_details.rb +508 -0
  464. data/lib/oci/database_management/models/data_access_container_collection.rb +2 -2
  465. data/lib/oci/database_management/models/data_access_container_summary.rb +2 -2
  466. data/lib/oci/database_management/models/drop_sql_tuning_task_details.rb +3 -3
  467. data/lib/oci/database_management/models/drop_tablespace_details.rb +199 -0
  468. data/lib/oci/database_management/models/execution_plan_stats_comparision.rb +1 -1
  469. data/lib/oci/database_management/models/object_privilege_collection.rb +2 -2
  470. data/lib/oci/database_management/models/object_privilege_summary.rb +9 -9
  471. data/lib/oci/database_management/models/proxied_for_user_collection.rb +2 -2
  472. data/lib/oci/database_management/models/proxied_for_user_summary.rb +4 -4
  473. data/lib/oci/database_management/models/proxy_user_collection.rb +2 -2
  474. data/lib/oci/database_management/models/proxy_user_summary.rb +4 -4
  475. data/lib/oci/database_management/models/remove_data_file_details.rb +197 -0
  476. data/lib/oci/database_management/models/resize_data_file_details.rb +272 -0
  477. data/lib/oci/database_management/models/role_collection.rb +2 -2
  478. data/lib/oci/database_management/models/role_summary.rb +9 -9
  479. data/lib/oci/database_management/models/sql_tuning_advisor_task_finding_collection.rb +1 -1
  480. data/lib/oci/database_management/models/sql_tuning_advisor_task_finding_summary.rb +19 -19
  481. data/lib/oci/database_management/models/sql_tuning_advisor_task_recommendation_summary.rb +6 -6
  482. data/lib/oci/database_management/models/sql_tuning_advisor_task_sql_execution_plan.rb +1 -1
  483. data/lib/oci/database_management/models/sql_tuning_advisor_task_summary.rb +13 -13
  484. data/lib/oci/database_management/models/sql_tuning_advisor_task_summary_finding_benefits.rb +21 -21
  485. data/lib/oci/database_management/models/sql_tuning_advisor_task_summary_finding_counts.rb +7 -7
  486. data/lib/oci/database_management/models/sql_tuning_advisor_task_summary_report_statement_counts.rb +5 -5
  487. data/lib/oci/database_management/models/sql_tuning_advisor_task_summary_report_statistics.rb +1 -1
  488. data/lib/oci/database_management/models/sql_tuning_advisor_task_summary_report_task_info.rb +9 -9
  489. data/lib/oci/database_management/models/sql_tuning_task_credential_details.rb +3 -3
  490. data/lib/oci/database_management/models/sql_tuning_task_password_credential_details.rb +1 -1
  491. data/lib/oci/database_management/models/sql_tuning_task_plan_stats.rb +2 -2
  492. data/lib/oci/database_management/models/sql_tuning_task_return.rb +3 -3
  493. data/lib/oci/database_management/models/sql_tuning_task_secret_credential_details.rb +1 -1
  494. data/lib/oci/database_management/models/sql_tuning_task_sql_detail.rb +1 -1
  495. data/lib/oci/database_management/models/sql_tuning_task_sql_execution_plan_step.rb +30 -30
  496. data/lib/oci/database_management/models/start_sql_tuning_task_details.rb +8 -8
  497. data/lib/oci/database_management/models/system_privilege_collection.rb +2 -2
  498. data/lib/oci/database_management/models/system_privilege_summary.rb +7 -7
  499. data/lib/oci/database_management/models/tablespace.rb +217 -81
  500. data/lib/oci/database_management/models/tablespace_admin_credential_details.rb +217 -0
  501. data/lib/oci/database_management/models/tablespace_admin_password_credential_details.rb +166 -0
  502. data/lib/oci/database_management/models/tablespace_admin_secret_credential_details.rb +173 -0
  503. data/lib/oci/database_management/models/tablespace_admin_status.rb +201 -0
  504. data/lib/oci/database_management/models/tablespace_storage_size.rb +178 -0
  505. data/lib/oci/database_management/models/tablespace_summary.rb +16 -1
  506. data/lib/oci/database_management/models/update_tablespace_details.rb +303 -0
  507. data/lib/oci/database_management/models/user.rb +15 -15
  508. data/lib/oci/database_management/models/user_collection.rb +1 -1
  509. data/lib/oci/database_management/models/user_summary.rb +3 -3
  510. data/lib/oci/database_management/sql_tuning_client.rb +24 -21
  511. data/lib/oci/loggingsearch/log_search_client.rb +4 -1
  512. data/lib/oci/marketplace/account_client.rb +1 -1
  513. data/lib/oci/marketplace/marketplace_client.rb +7 -4
  514. data/lib/oci/marketplace/models/free_text_search_details.rb +2 -1
  515. data/lib/oci/marketplace/models/listing_summary.rb +17 -1
  516. data/lib/oci/marketplace/models/search_listings_details.rb +4 -2
  517. data/lib/oci/marketplace/models/structured_search_details.rb +3 -1
  518. data/lib/oci/nosql/models/table_collection.rb +32 -4
  519. data/lib/oci/nosql/models/table_limits.rb +41 -4
  520. data/lib/oci/osp_gateway/invoice_service_client.rb +1 -1
  521. data/lib/oci/osp_gateway/models/authorize_subscription_payment_details.rb +174 -0
  522. data/lib/oci/osp_gateway/models/authorize_subscription_payment_receipt.rb +182 -0
  523. data/lib/oci/osp_gateway/models/{address.rb → bill_to_address.rb} +1 -1
  524. data/lib/oci/osp_gateway/models/billing_address.rb +274 -0
  525. data/lib/oci/osp_gateway/models/credit_card_payment_option.rb +153 -0
  526. data/lib/oci/osp_gateway/models/credit_card_type.rb +16 -0
  527. data/lib/oci/osp_gateway/models/invoice.rb +3 -3
  528. data/lib/oci/osp_gateway/models/merchant_defined_data.rb +168 -0
  529. data/lib/oci/osp_gateway/models/pay_subscription_details.rb +174 -0
  530. data/lib/oci/osp_gateway/models/pay_subscription_receipt.rb +182 -0
  531. data/lib/oci/osp_gateway/models/payment_detail.rb +1 -1
  532. data/lib/oci/osp_gateway/models/payment_gateway.rb +153 -0
  533. data/lib/oci/osp_gateway/models/payment_method.rb +11 -0
  534. data/lib/oci/osp_gateway/models/payment_option.rb +219 -0
  535. data/lib/oci/osp_gateway/models/paypal_payment_option.rb +153 -0
  536. data/lib/oci/osp_gateway/models/subscription.rb +456 -0
  537. data/lib/oci/osp_gateway/models/subscription_collection.rb +150 -0
  538. data/lib/oci/osp_gateway/models/subscription_summary.rb +459 -0
  539. data/lib/oci/osp_gateway/models/tax_info.rb +210 -0
  540. data/lib/oci/osp_gateway/models/update_subscription_details.rb +160 -0
  541. data/lib/oci/osp_gateway/osp_gateway.rb +19 -1
  542. data/lib/oci/osp_gateway/subscription_service_client.rb +481 -0
  543. data/lib/oci/osp_gateway/subscription_service_client_composite_operations.rb +25 -0
  544. data/lib/oci/regions_definitions.rb +9 -4
  545. data/lib/oci/threat_intelligence/models/data_attribution.rb +198 -0
  546. data/lib/oci/threat_intelligence/models/data_visibility.rb +187 -0
  547. data/lib/oci/threat_intelligence/models/entity_reference.rb +185 -0
  548. data/lib/oci/threat_intelligence/models/indicator.rb +320 -0
  549. data/lib/oci/threat_intelligence/models/indicator_attribute.rb +170 -0
  550. data/lib/oci/threat_intelligence/models/indicator_count_collection.rb +150 -0
  551. data/lib/oci/threat_intelligence/models/indicator_count_dimensions.rb +189 -0
  552. data/lib/oci/threat_intelligence/models/indicator_count_summary.rb +160 -0
  553. data/lib/oci/threat_intelligence/models/indicator_reference.rb +162 -0
  554. data/lib/oci/threat_intelligence/models/indicator_relationship.rb +174 -0
  555. data/lib/oci/threat_intelligence/models/indicator_source_summary.rb +150 -0
  556. data/lib/oci/threat_intelligence/models/indicator_summary.rb +294 -0
  557. data/lib/oci/threat_intelligence/models/indicator_summary_collection.rb +150 -0
  558. data/lib/oci/threat_intelligence/models/indicator_type.rb +16 -0
  559. data/lib/oci/threat_intelligence/models/lifecycle_state.rb +11 -0
  560. data/lib/oci/threat_intelligence/models/sort_order.rb +11 -0
  561. data/lib/oci/threat_intelligence/models/threat_type.rb +170 -0
  562. data/lib/oci/threat_intelligence/models/threat_type_summary.rb +160 -0
  563. data/lib/oci/threat_intelligence/models/threat_types_collection.rb +150 -0
  564. data/lib/oci/threat_intelligence/threat_intelligence.rb +38 -0
  565. data/lib/oci/threat_intelligence/threatintel_client.rb +375 -0
  566. data/lib/oci/threat_intelligence/threatintel_client_composite_operations.rb +25 -0
  567. data/lib/oci/threat_intelligence/util.rb +3 -0
  568. data/lib/oci/version.rb +1 -1
  569. data/lib/oci.rb +6 -23
  570. metadata +432 -3
@@ -0,0 +1,438 @@
1
+ # Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ require 'date'
5
+ require 'logger'
6
+
7
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
8
+ module OCI
9
+ # A sensitive data model is a collection of sensitive columns and their referential relationships. It helps
10
+ # understand the sensitive data landscape, track changes, and efficiently enable security controls such as data
11
+ # masking. It can be managed either manually or by performing sensitive data discovery on a reference target
12
+ # database. [Learn more](https://docs.oracle.com/en/cloud/paas/data-safe/udscs/sensitive-data-models1.html#GUID-849CA7D2-1809-40DD-B6D7-44E46EFF7EB5).
13
+ #
14
+ class DataSafe::Models::SensitiveDataModel
15
+ LIFECYCLE_STATE_ENUM = [
16
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
17
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
18
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
19
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
20
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
21
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
22
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
23
+ ].freeze
24
+
25
+ # **[Required]** The OCID of the sensitive data model.
26
+ # @return [String]
27
+ attr_accessor :id
28
+
29
+ # **[Required]** The display name of the sensitive data model.
30
+ # @return [String]
31
+ attr_accessor :display_name
32
+
33
+ # **[Required]** The OCID of the compartment that contains the sensitive data model.
34
+ # @return [String]
35
+ attr_accessor :compartment_id
36
+
37
+ # **[Required]** The OCID of the reference target database associated with the sensitive data model. All operations such as
38
+ # performing data discovery and adding columns manually are done in the context of the associated target database.
39
+ #
40
+ # @return [String]
41
+ attr_accessor :target_id
42
+
43
+ # **[Required]** The date and time the sensitive data model was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
44
+ # @return [DateTime]
45
+ attr_accessor :time_created
46
+
47
+ # **[Required]** The date and time the sensitive data model was last updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
48
+ # @return [DateTime]
49
+ attr_accessor :time_updated
50
+
51
+ # **[Required]** The current state of the sensitive data model.
52
+ # @return [String]
53
+ attr_reader :lifecycle_state
54
+
55
+ # **[Required]** The application suite name identifying a collection of applications. The default value is GENERIC. It's useful
56
+ # only if maintaining a sensitive data model for a suite of applications.
57
+ #
58
+ # @return [String]
59
+ attr_accessor :app_suite_name
60
+
61
+ # The description of the sensitive data model.
62
+ # @return [String]
63
+ attr_accessor :description
64
+
65
+ # The schemas to be scanned by data discovery jobs.
66
+ # @return [Array<String>]
67
+ attr_accessor :schemas_for_discovery
68
+
69
+ # The OCIDs of the sensitive types to be used by data discovery jobs.
70
+ # @return [Array<String>]
71
+ attr_accessor :sensitive_type_ids_for_discovery
72
+
73
+ # **[Required]** Indicates if data discovery jobs should collect and store sample data values for the discovered columns.
74
+ # Sample data helps review the discovered columns and ensure that they actually contain sensitive data.
75
+ # As it collects original data from the target database, it's disabled by default and should be used only if
76
+ # it's acceptable to store sample data in Data Safe's repository in Oracle Cloud. Note that sample data values
77
+ # are not collected for columns with the following data types: LONG, LOB, RAW, XMLTYPE and BFILE.
78
+ #
79
+ # @return [BOOLEAN]
80
+ attr_accessor :is_sample_data_collection_enabled
81
+
82
+ # **[Required]** Indicates if data discovery jobs should identify potential application-level (non-dictionary) referential
83
+ # relationships between columns. Note that data discovery automatically identifies and adds database-level (dictionary-defined)
84
+ # relationships. This option helps identify application-level relationships that are not defined in the database dictionary,
85
+ # which in turn, helps identify additional sensitive columns and preserve referential integrity during data masking.
86
+ # It's disabled by default and should be used only if there is a need to identify application-level relationships.
87
+ #
88
+ # @return [BOOLEAN]
89
+ attr_accessor :is_app_defined_relation_discovery_enabled
90
+
91
+ # **[Required]** Indicates if all the schemas in the associated target database should be scanned by data discovery jobs.
92
+ # If it's set to true, the schemasForDiscovery attribute is ignored and all schemas are used for data discovery.
93
+ #
94
+ # @return [BOOLEAN]
95
+ attr_accessor :is_include_all_schemas
96
+
97
+ # **[Required]** Indicates if all the existing sensitive types should be used by data discovery jobs.If it's set to true, the
98
+ # sensitiveTypeIdsForDiscovery attribute is ignored and all sensitive types are used for data discovery.
99
+ #
100
+ # @return [BOOLEAN]
101
+ attr_accessor :is_include_all_sensitive_types
102
+
103
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)
104
+ #
105
+ # Example: `{\"Department\": \"Finance\"}`
106
+ #
107
+ # @return [Hash<String, String>]
108
+ attr_accessor :freeform_tags
109
+
110
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)
111
+ #
112
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
113
+ #
114
+ # @return [Hash<String, Hash<String, Object>>]
115
+ attr_accessor :defined_tags
116
+
117
+ # System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
118
+ # Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
119
+ #
120
+ # @return [Hash<String, Hash<String, Object>>]
121
+ attr_accessor :system_tags
122
+
123
+ # Attribute mapping from ruby-style variable name to JSON key.
124
+ def self.attribute_map
125
+ {
126
+ # rubocop:disable Style/SymbolLiteral
127
+ 'id': :'id',
128
+ 'display_name': :'displayName',
129
+ 'compartment_id': :'compartmentId',
130
+ 'target_id': :'targetId',
131
+ 'time_created': :'timeCreated',
132
+ 'time_updated': :'timeUpdated',
133
+ 'lifecycle_state': :'lifecycleState',
134
+ 'app_suite_name': :'appSuiteName',
135
+ 'description': :'description',
136
+ 'schemas_for_discovery': :'schemasForDiscovery',
137
+ 'sensitive_type_ids_for_discovery': :'sensitiveTypeIdsForDiscovery',
138
+ 'is_sample_data_collection_enabled': :'isSampleDataCollectionEnabled',
139
+ 'is_app_defined_relation_discovery_enabled': :'isAppDefinedRelationDiscoveryEnabled',
140
+ 'is_include_all_schemas': :'isIncludeAllSchemas',
141
+ 'is_include_all_sensitive_types': :'isIncludeAllSensitiveTypes',
142
+ 'freeform_tags': :'freeformTags',
143
+ 'defined_tags': :'definedTags',
144
+ 'system_tags': :'systemTags'
145
+ # rubocop:enable Style/SymbolLiteral
146
+ }
147
+ end
148
+
149
+ # Attribute type mapping.
150
+ def self.swagger_types
151
+ {
152
+ # rubocop:disable Style/SymbolLiteral
153
+ 'id': :'String',
154
+ 'display_name': :'String',
155
+ 'compartment_id': :'String',
156
+ 'target_id': :'String',
157
+ 'time_created': :'DateTime',
158
+ 'time_updated': :'DateTime',
159
+ 'lifecycle_state': :'String',
160
+ 'app_suite_name': :'String',
161
+ 'description': :'String',
162
+ 'schemas_for_discovery': :'Array<String>',
163
+ 'sensitive_type_ids_for_discovery': :'Array<String>',
164
+ 'is_sample_data_collection_enabled': :'BOOLEAN',
165
+ 'is_app_defined_relation_discovery_enabled': :'BOOLEAN',
166
+ 'is_include_all_schemas': :'BOOLEAN',
167
+ 'is_include_all_sensitive_types': :'BOOLEAN',
168
+ 'freeform_tags': :'Hash<String, String>',
169
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
170
+ 'system_tags': :'Hash<String, Hash<String, Object>>'
171
+ # rubocop:enable Style/SymbolLiteral
172
+ }
173
+ end
174
+
175
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
176
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
177
+
178
+
179
+ # Initializes the object
180
+ # @param [Hash] attributes Model attributes in the form of hash
181
+ # @option attributes [String] :id The value to assign to the {#id} property
182
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
183
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
184
+ # @option attributes [String] :target_id The value to assign to the {#target_id} property
185
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
186
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
187
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
188
+ # @option attributes [String] :app_suite_name The value to assign to the {#app_suite_name} property
189
+ # @option attributes [String] :description The value to assign to the {#description} property
190
+ # @option attributes [Array<String>] :schemas_for_discovery The value to assign to the {#schemas_for_discovery} property
191
+ # @option attributes [Array<String>] :sensitive_type_ids_for_discovery The value to assign to the {#sensitive_type_ids_for_discovery} property
192
+ # @option attributes [BOOLEAN] :is_sample_data_collection_enabled The value to assign to the {#is_sample_data_collection_enabled} property
193
+ # @option attributes [BOOLEAN] :is_app_defined_relation_discovery_enabled The value to assign to the {#is_app_defined_relation_discovery_enabled} property
194
+ # @option attributes [BOOLEAN] :is_include_all_schemas The value to assign to the {#is_include_all_schemas} property
195
+ # @option attributes [BOOLEAN] :is_include_all_sensitive_types The value to assign to the {#is_include_all_sensitive_types} property
196
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
197
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
198
+ # @option attributes [Hash<String, Hash<String, Object>>] :system_tags The value to assign to the {#system_tags} property
199
+ def initialize(attributes = {})
200
+ return unless attributes.is_a?(Hash)
201
+
202
+ # convert string to symbol for hash key
203
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
204
+
205
+ self.id = attributes[:'id'] if attributes[:'id']
206
+
207
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
208
+
209
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
210
+
211
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
212
+
213
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
214
+
215
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
216
+
217
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
218
+
219
+ self.target_id = attributes[:'targetId'] if attributes[:'targetId']
220
+
221
+ raise 'You cannot provide both :targetId and :target_id' if attributes.key?(:'targetId') && attributes.key?(:'target_id')
222
+
223
+ self.target_id = attributes[:'target_id'] if attributes[:'target_id']
224
+
225
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
226
+
227
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
228
+
229
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
230
+
231
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
232
+
233
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
234
+
235
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
236
+
237
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
238
+
239
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
240
+
241
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
242
+
243
+ self.app_suite_name = attributes[:'appSuiteName'] if attributes[:'appSuiteName']
244
+
245
+ raise 'You cannot provide both :appSuiteName and :app_suite_name' if attributes.key?(:'appSuiteName') && attributes.key?(:'app_suite_name')
246
+
247
+ self.app_suite_name = attributes[:'app_suite_name'] if attributes[:'app_suite_name']
248
+
249
+ self.description = attributes[:'description'] if attributes[:'description']
250
+
251
+ self.schemas_for_discovery = attributes[:'schemasForDiscovery'] if attributes[:'schemasForDiscovery']
252
+
253
+ raise 'You cannot provide both :schemasForDiscovery and :schemas_for_discovery' if attributes.key?(:'schemasForDiscovery') && attributes.key?(:'schemas_for_discovery')
254
+
255
+ self.schemas_for_discovery = attributes[:'schemas_for_discovery'] if attributes[:'schemas_for_discovery']
256
+
257
+ self.sensitive_type_ids_for_discovery = attributes[:'sensitiveTypeIdsForDiscovery'] if attributes[:'sensitiveTypeIdsForDiscovery']
258
+
259
+ raise 'You cannot provide both :sensitiveTypeIdsForDiscovery and :sensitive_type_ids_for_discovery' if attributes.key?(:'sensitiveTypeIdsForDiscovery') && attributes.key?(:'sensitive_type_ids_for_discovery')
260
+
261
+ self.sensitive_type_ids_for_discovery = attributes[:'sensitive_type_ids_for_discovery'] if attributes[:'sensitive_type_ids_for_discovery']
262
+
263
+ self.is_sample_data_collection_enabled = attributes[:'isSampleDataCollectionEnabled'] unless attributes[:'isSampleDataCollectionEnabled'].nil?
264
+
265
+ raise 'You cannot provide both :isSampleDataCollectionEnabled and :is_sample_data_collection_enabled' if attributes.key?(:'isSampleDataCollectionEnabled') && attributes.key?(:'is_sample_data_collection_enabled')
266
+
267
+ self.is_sample_data_collection_enabled = attributes[:'is_sample_data_collection_enabled'] unless attributes[:'is_sample_data_collection_enabled'].nil?
268
+
269
+ self.is_app_defined_relation_discovery_enabled = attributes[:'isAppDefinedRelationDiscoveryEnabled'] unless attributes[:'isAppDefinedRelationDiscoveryEnabled'].nil?
270
+
271
+ raise 'You cannot provide both :isAppDefinedRelationDiscoveryEnabled and :is_app_defined_relation_discovery_enabled' if attributes.key?(:'isAppDefinedRelationDiscoveryEnabled') && attributes.key?(:'is_app_defined_relation_discovery_enabled')
272
+
273
+ self.is_app_defined_relation_discovery_enabled = attributes[:'is_app_defined_relation_discovery_enabled'] unless attributes[:'is_app_defined_relation_discovery_enabled'].nil?
274
+
275
+ self.is_include_all_schemas = attributes[:'isIncludeAllSchemas'] unless attributes[:'isIncludeAllSchemas'].nil?
276
+
277
+ raise 'You cannot provide both :isIncludeAllSchemas and :is_include_all_schemas' if attributes.key?(:'isIncludeAllSchemas') && attributes.key?(:'is_include_all_schemas')
278
+
279
+ self.is_include_all_schemas = attributes[:'is_include_all_schemas'] unless attributes[:'is_include_all_schemas'].nil?
280
+
281
+ self.is_include_all_sensitive_types = attributes[:'isIncludeAllSensitiveTypes'] unless attributes[:'isIncludeAllSensitiveTypes'].nil?
282
+
283
+ raise 'You cannot provide both :isIncludeAllSensitiveTypes and :is_include_all_sensitive_types' if attributes.key?(:'isIncludeAllSensitiveTypes') && attributes.key?(:'is_include_all_sensitive_types')
284
+
285
+ self.is_include_all_sensitive_types = attributes[:'is_include_all_sensitive_types'] unless attributes[:'is_include_all_sensitive_types'].nil?
286
+
287
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
288
+
289
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
290
+
291
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
292
+
293
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
294
+
295
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
296
+
297
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
298
+
299
+ self.system_tags = attributes[:'systemTags'] if attributes[:'systemTags']
300
+
301
+ raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags')
302
+
303
+ self.system_tags = attributes[:'system_tags'] if attributes[:'system_tags']
304
+ end
305
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
306
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
307
+
308
+ # Custom attribute writer method checking allowed values (enum).
309
+ # @param [Object] lifecycle_state Object to be assigned
310
+ def lifecycle_state=(lifecycle_state)
311
+ # rubocop:disable Style/ConditionalAssignment
312
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
313
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
314
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
315
+ else
316
+ @lifecycle_state = lifecycle_state
317
+ end
318
+ # rubocop:enable Style/ConditionalAssignment
319
+ end
320
+
321
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
322
+
323
+
324
+ # Checks equality by comparing each attribute.
325
+ # @param [Object] other the other object to be compared
326
+ def ==(other)
327
+ return true if equal?(other)
328
+
329
+ self.class == other.class &&
330
+ id == other.id &&
331
+ display_name == other.display_name &&
332
+ compartment_id == other.compartment_id &&
333
+ target_id == other.target_id &&
334
+ time_created == other.time_created &&
335
+ time_updated == other.time_updated &&
336
+ lifecycle_state == other.lifecycle_state &&
337
+ app_suite_name == other.app_suite_name &&
338
+ description == other.description &&
339
+ schemas_for_discovery == other.schemas_for_discovery &&
340
+ sensitive_type_ids_for_discovery == other.sensitive_type_ids_for_discovery &&
341
+ is_sample_data_collection_enabled == other.is_sample_data_collection_enabled &&
342
+ is_app_defined_relation_discovery_enabled == other.is_app_defined_relation_discovery_enabled &&
343
+ is_include_all_schemas == other.is_include_all_schemas &&
344
+ is_include_all_sensitive_types == other.is_include_all_sensitive_types &&
345
+ freeform_tags == other.freeform_tags &&
346
+ defined_tags == other.defined_tags &&
347
+ system_tags == other.system_tags
348
+ end
349
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
350
+
351
+ # @see the `==` method
352
+ # @param [Object] other the other object to be compared
353
+ def eql?(other)
354
+ self == other
355
+ end
356
+
357
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
358
+
359
+
360
+ # Calculates hash code according to all attributes.
361
+ # @return [Fixnum] Hash code
362
+ def hash
363
+ [id, display_name, compartment_id, target_id, time_created, time_updated, lifecycle_state, app_suite_name, description, schemas_for_discovery, sensitive_type_ids_for_discovery, is_sample_data_collection_enabled, is_app_defined_relation_discovery_enabled, is_include_all_schemas, is_include_all_sensitive_types, freeform_tags, defined_tags, system_tags].hash
364
+ end
365
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
366
+
367
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
368
+
369
+
370
+ # Builds the object from hash
371
+ # @param [Hash] attributes Model attributes in the form of hash
372
+ # @return [Object] Returns the model itself
373
+ def build_from_hash(attributes)
374
+ return nil unless attributes.is_a?(Hash)
375
+
376
+ self.class.swagger_types.each_pair do |key, type|
377
+ if type =~ /^Array<(.*)>/i
378
+ # check to ensure the input is an array given that the the attribute
379
+ # is documented as an array but the input is not
380
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
381
+ public_method("#{key}=").call(
382
+ attributes[self.class.attribute_map[key]]
383
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
384
+ )
385
+ end
386
+ elsif !attributes[self.class.attribute_map[key]].nil?
387
+ public_method("#{key}=").call(
388
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
389
+ )
390
+ end
391
+ # or else data not found in attributes(hash), not an issue as the data can be optional
392
+ end
393
+
394
+ self
395
+ end
396
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
397
+
398
+ # Returns the string representation of the object
399
+ # @return [String] String presentation of the object
400
+ def to_s
401
+ to_hash.to_s
402
+ end
403
+
404
+ # Returns the object in the form of hash
405
+ # @return [Hash] Returns the object in the form of hash
406
+ def to_hash
407
+ hash = {}
408
+ self.class.attribute_map.each_pair do |attr, param|
409
+ value = public_method(attr).call
410
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
411
+
412
+ hash[param] = _to_hash(value)
413
+ end
414
+ hash
415
+ end
416
+
417
+ private
418
+
419
+ # Outputs non-array value in the form of hash
420
+ # For object, use to_hash. Otherwise, just return the value
421
+ # @param [Object] value Any valid value
422
+ # @return [Hash] Returns the value in the form of hash
423
+ def _to_hash(value)
424
+ if value.is_a?(Array)
425
+ value.compact.map { |v| _to_hash(v) }
426
+ elsif value.is_a?(Hash)
427
+ {}.tap do |hash|
428
+ value.each { |k, v| hash[k] = _to_hash(v) }
429
+ end
430
+ elsif value.respond_to? :to_hash
431
+ value.to_hash
432
+ else
433
+ value
434
+ end
435
+ end
436
+ end
437
+ end
438
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,150 @@
1
+ # Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ require 'date'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # A collection of sensitive data model summary objects.
9
+ class DataSafe::Models::SensitiveDataModelCollection
10
+ # **[Required]** An array of sensitive data model summary objects.
11
+ # @return [Array<OCI::DataSafe::Models::SensitiveDataModelSummary>]
12
+ attr_accessor :items
13
+
14
+ # Attribute mapping from ruby-style variable name to JSON key.
15
+ def self.attribute_map
16
+ {
17
+ # rubocop:disable Style/SymbolLiteral
18
+ 'items': :'items'
19
+ # rubocop:enable Style/SymbolLiteral
20
+ }
21
+ end
22
+
23
+ # Attribute type mapping.
24
+ def self.swagger_types
25
+ {
26
+ # rubocop:disable Style/SymbolLiteral
27
+ 'items': :'Array<OCI::DataSafe::Models::SensitiveDataModelSummary>'
28
+ # rubocop:enable Style/SymbolLiteral
29
+ }
30
+ end
31
+
32
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
33
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
34
+
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ # @option attributes [Array<OCI::DataSafe::Models::SensitiveDataModelSummary>] :items The value to assign to the {#items} property
39
+ def initialize(attributes = {})
40
+ return unless attributes.is_a?(Hash)
41
+
42
+ # convert string to symbol for hash key
43
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
44
+
45
+ self.items = attributes[:'items'] if attributes[:'items']
46
+ end
47
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
48
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
49
+
50
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
51
+
52
+
53
+ # Checks equality by comparing each attribute.
54
+ # @param [Object] other the other object to be compared
55
+ def ==(other)
56
+ return true if equal?(other)
57
+
58
+ self.class == other.class &&
59
+ items == other.items
60
+ end
61
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
62
+
63
+ # @see the `==` method
64
+ # @param [Object] other the other object to be compared
65
+ def eql?(other)
66
+ self == other
67
+ end
68
+
69
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
70
+
71
+
72
+ # Calculates hash code according to all attributes.
73
+ # @return [Fixnum] Hash code
74
+ def hash
75
+ [items].hash
76
+ end
77
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
78
+
79
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
80
+
81
+
82
+ # Builds the object from hash
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ # @return [Object] Returns the model itself
85
+ def build_from_hash(attributes)
86
+ return nil unless attributes.is_a?(Hash)
87
+
88
+ self.class.swagger_types.each_pair do |key, type|
89
+ if type =~ /^Array<(.*)>/i
90
+ # check to ensure the input is an array given that the the attribute
91
+ # is documented as an array but the input is not
92
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
93
+ public_method("#{key}=").call(
94
+ attributes[self.class.attribute_map[key]]
95
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
96
+ )
97
+ end
98
+ elsif !attributes[self.class.attribute_map[key]].nil?
99
+ public_method("#{key}=").call(
100
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
101
+ )
102
+ end
103
+ # or else data not found in attributes(hash), not an issue as the data can be optional
104
+ end
105
+
106
+ self
107
+ end
108
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
109
+
110
+ # Returns the string representation of the object
111
+ # @return [String] String presentation of the object
112
+ def to_s
113
+ to_hash.to_s
114
+ end
115
+
116
+ # Returns the object in the form of hash
117
+ # @return [Hash] Returns the object in the form of hash
118
+ def to_hash
119
+ hash = {}
120
+ self.class.attribute_map.each_pair do |attr, param|
121
+ value = public_method(attr).call
122
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
123
+
124
+ hash[param] = _to_hash(value)
125
+ end
126
+ hash
127
+ end
128
+
129
+ private
130
+
131
+ # Outputs non-array value in the form of hash
132
+ # For object, use to_hash. Otherwise, just return the value
133
+ # @param [Object] value Any valid value
134
+ # @return [Hash] Returns the value in the form of hash
135
+ def _to_hash(value)
136
+ if value.is_a?(Array)
137
+ value.compact.map { |v| _to_hash(v) }
138
+ elsif value.is_a?(Hash)
139
+ {}.tap do |hash|
140
+ value.each { |k, v| hash[k] = _to_hash(v) }
141
+ end
142
+ elsif value.respond_to? :to_hash
143
+ value.to_hash
144
+ else
145
+ value
146
+ end
147
+ end
148
+ end
149
+ end
150
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength