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,359 @@
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
+ # Details to create a new sensitive data model. If schemas and sensitive types are provided, it automatically runs
9
+ # data discovery and adds the discovered columns to the sensitive data model. Otherwise, it creates an empty sensitive
10
+ # data model that can be updated later.
11
+ # To specify some schemas and sensitive types for data discovery, use schemasForDiscovery and sensitiveTypeIdsForDiscovery
12
+ # attributes. But if you want to include all schemas and sensitive types, you can set isIncludeAllSchemas and
13
+ # isIncludeAllSensitiveTypes attributes to true. In the latter case, you do not need to list all schemas and
14
+ # sensitive types.
15
+ #
16
+ class DataSafe::Models::CreateSensitiveDataModelDetails
17
+ # The display name of the sensitive data model. The name does not have to be unique, and it's changeable.
18
+ # @return [String]
19
+ attr_accessor :display_name
20
+
21
+ # **[Required]** The OCID of the compartment where the sensitive data model should be created.
22
+ # @return [String]
23
+ attr_accessor :compartment_id
24
+
25
+ # **[Required]** The OCID of the reference target database to be associated with the sensitive data model. All operations such
26
+ # as performing data discovery and adding columns manually are done in the context of the associated target database.
27
+ #
28
+ # @return [String]
29
+ attr_accessor :target_id
30
+
31
+ # The application suite name identifying a collection of applications. It's useful only if maintaining a sensitive data model for a suite of applications.
32
+ # @return [String]
33
+ attr_accessor :app_suite_name
34
+
35
+ # The description of the sensitive data model.
36
+ # @return [String]
37
+ attr_accessor :description
38
+
39
+ # The schemas to be scanned by data discovery jobs.
40
+ # @return [Array<String>]
41
+ attr_accessor :schemas_for_discovery
42
+
43
+ # The OCIDs of the sensitive types to be used by data discovery jobs. If OCID of a sensitive category is provided,
44
+ # all its child sensitive types are used for data discovery.
45
+ #
46
+ # @return [Array<String>]
47
+ attr_accessor :sensitive_type_ids_for_discovery
48
+
49
+ # Indicates if data discovery jobs should collect and store sample data values for the discovered columns.
50
+ # Sample data helps review the discovered columns and ensure that they actually contain sensitive data.
51
+ # As it collects original data from the target database, it's disabled by default and should be used only
52
+ # if it's acceptable to store sample data in Data Safe's repository in Oracle Cloud. Note that sample data values
53
+ # are not collected for columns with the following data types: LONG, LOB, RAW, XMLTYPE and BFILE.
54
+ #
55
+ # @return [BOOLEAN]
56
+ attr_accessor :is_sample_data_collection_enabled
57
+
58
+ # Indicates if data discovery jobs should identify potential application-level (non-dictionary) referential relationships
59
+ # between columns. Note that data discovery automatically identifies and adds database-level (dictionary-defined) relationships.
60
+ # This option helps identify application-level relationships that are not defined in the database dictionary, which in turn,
61
+ # helps identify additional sensitive columns and preserve referential integrity during data masking. It's disabled by default
62
+ # and should be used only if there is a need to identify application-level relationships.
63
+ #
64
+ # @return [BOOLEAN]
65
+ attr_accessor :is_app_defined_relation_discovery_enabled
66
+
67
+ # Indicates if all the schemas in the associated target database should be scanned by data discovery jobs.
68
+ # If it's set to true, the schemasForDiscovery attribute is ignored and all schemas are used for data discovery.
69
+ #
70
+ # @return [BOOLEAN]
71
+ attr_accessor :is_include_all_schemas
72
+
73
+ # Indicates if all the existing sensitive types should be used by data discovery jobs. If it's set to true,
74
+ # the sensitiveTypeIdsForDiscovery attribute is ignored and all sensitive types are used for data discovery.
75
+ #
76
+ # @return [BOOLEAN]
77
+ attr_accessor :is_include_all_sensitive_types
78
+
79
+ # 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)
80
+ #
81
+ # Example: `{\"Department\": \"Finance\"}`
82
+ #
83
+ # @return [Hash<String, String>]
84
+ attr_accessor :freeform_tags
85
+
86
+ # 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)
87
+ #
88
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
89
+ #
90
+ # @return [Hash<String, Hash<String, Object>>]
91
+ attr_accessor :defined_tags
92
+
93
+ # Attribute mapping from ruby-style variable name to JSON key.
94
+ def self.attribute_map
95
+ {
96
+ # rubocop:disable Style/SymbolLiteral
97
+ 'display_name': :'displayName',
98
+ 'compartment_id': :'compartmentId',
99
+ 'target_id': :'targetId',
100
+ 'app_suite_name': :'appSuiteName',
101
+ 'description': :'description',
102
+ 'schemas_for_discovery': :'schemasForDiscovery',
103
+ 'sensitive_type_ids_for_discovery': :'sensitiveTypeIdsForDiscovery',
104
+ 'is_sample_data_collection_enabled': :'isSampleDataCollectionEnabled',
105
+ 'is_app_defined_relation_discovery_enabled': :'isAppDefinedRelationDiscoveryEnabled',
106
+ 'is_include_all_schemas': :'isIncludeAllSchemas',
107
+ 'is_include_all_sensitive_types': :'isIncludeAllSensitiveTypes',
108
+ 'freeform_tags': :'freeformTags',
109
+ 'defined_tags': :'definedTags'
110
+ # rubocop:enable Style/SymbolLiteral
111
+ }
112
+ end
113
+
114
+ # Attribute type mapping.
115
+ def self.swagger_types
116
+ {
117
+ # rubocop:disable Style/SymbolLiteral
118
+ 'display_name': :'String',
119
+ 'compartment_id': :'String',
120
+ 'target_id': :'String',
121
+ 'app_suite_name': :'String',
122
+ 'description': :'String',
123
+ 'schemas_for_discovery': :'Array<String>',
124
+ 'sensitive_type_ids_for_discovery': :'Array<String>',
125
+ 'is_sample_data_collection_enabled': :'BOOLEAN',
126
+ 'is_app_defined_relation_discovery_enabled': :'BOOLEAN',
127
+ 'is_include_all_schemas': :'BOOLEAN',
128
+ 'is_include_all_sensitive_types': :'BOOLEAN',
129
+ 'freeform_tags': :'Hash<String, String>',
130
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
131
+ # rubocop:enable Style/SymbolLiteral
132
+ }
133
+ end
134
+
135
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
136
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
137
+
138
+
139
+ # Initializes the object
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
142
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
143
+ # @option attributes [String] :target_id The value to assign to the {#target_id} property
144
+ # @option attributes [String] :app_suite_name The value to assign to the {#app_suite_name} property
145
+ # @option attributes [String] :description The value to assign to the {#description} property
146
+ # @option attributes [Array<String>] :schemas_for_discovery The value to assign to the {#schemas_for_discovery} property
147
+ # @option attributes [Array<String>] :sensitive_type_ids_for_discovery The value to assign to the {#sensitive_type_ids_for_discovery} property
148
+ # @option attributes [BOOLEAN] :is_sample_data_collection_enabled The value to assign to the {#is_sample_data_collection_enabled} property
149
+ # @option attributes [BOOLEAN] :is_app_defined_relation_discovery_enabled The value to assign to the {#is_app_defined_relation_discovery_enabled} property
150
+ # @option attributes [BOOLEAN] :is_include_all_schemas The value to assign to the {#is_include_all_schemas} property
151
+ # @option attributes [BOOLEAN] :is_include_all_sensitive_types The value to assign to the {#is_include_all_sensitive_types} property
152
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
153
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
154
+ def initialize(attributes = {})
155
+ return unless attributes.is_a?(Hash)
156
+
157
+ # convert string to symbol for hash key
158
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
159
+
160
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
161
+
162
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
163
+
164
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
165
+
166
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
167
+
168
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
169
+
170
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
171
+
172
+ self.target_id = attributes[:'targetId'] if attributes[:'targetId']
173
+
174
+ raise 'You cannot provide both :targetId and :target_id' if attributes.key?(:'targetId') && attributes.key?(:'target_id')
175
+
176
+ self.target_id = attributes[:'target_id'] if attributes[:'target_id']
177
+
178
+ self.app_suite_name = attributes[:'appSuiteName'] if attributes[:'appSuiteName']
179
+ self.app_suite_name = "GENERIC" if app_suite_name.nil? && !attributes.key?(:'appSuiteName') # rubocop:disable Style/StringLiterals
180
+
181
+ raise 'You cannot provide both :appSuiteName and :app_suite_name' if attributes.key?(:'appSuiteName') && attributes.key?(:'app_suite_name')
182
+
183
+ self.app_suite_name = attributes[:'app_suite_name'] if attributes[:'app_suite_name']
184
+ self.app_suite_name = "GENERIC" if app_suite_name.nil? && !attributes.key?(:'appSuiteName') && !attributes.key?(:'app_suite_name') # rubocop:disable Style/StringLiterals
185
+
186
+ self.description = attributes[:'description'] if attributes[:'description']
187
+
188
+ self.schemas_for_discovery = attributes[:'schemasForDiscovery'] if attributes[:'schemasForDiscovery']
189
+
190
+ raise 'You cannot provide both :schemasForDiscovery and :schemas_for_discovery' if attributes.key?(:'schemasForDiscovery') && attributes.key?(:'schemas_for_discovery')
191
+
192
+ self.schemas_for_discovery = attributes[:'schemas_for_discovery'] if attributes[:'schemas_for_discovery']
193
+
194
+ self.sensitive_type_ids_for_discovery = attributes[:'sensitiveTypeIdsForDiscovery'] if attributes[:'sensitiveTypeIdsForDiscovery']
195
+
196
+ raise 'You cannot provide both :sensitiveTypeIdsForDiscovery and :sensitive_type_ids_for_discovery' if attributes.key?(:'sensitiveTypeIdsForDiscovery') && attributes.key?(:'sensitive_type_ids_for_discovery')
197
+
198
+ self.sensitive_type_ids_for_discovery = attributes[:'sensitive_type_ids_for_discovery'] if attributes[:'sensitive_type_ids_for_discovery']
199
+
200
+ self.is_sample_data_collection_enabled = attributes[:'isSampleDataCollectionEnabled'] unless attributes[:'isSampleDataCollectionEnabled'].nil?
201
+ self.is_sample_data_collection_enabled = false if is_sample_data_collection_enabled.nil? && !attributes.key?(:'isSampleDataCollectionEnabled') # rubocop:disable Style/StringLiterals
202
+
203
+ raise 'You cannot provide both :isSampleDataCollectionEnabled and :is_sample_data_collection_enabled' if attributes.key?(:'isSampleDataCollectionEnabled') && attributes.key?(:'is_sample_data_collection_enabled')
204
+
205
+ self.is_sample_data_collection_enabled = attributes[:'is_sample_data_collection_enabled'] unless attributes[:'is_sample_data_collection_enabled'].nil?
206
+ self.is_sample_data_collection_enabled = false if is_sample_data_collection_enabled.nil? && !attributes.key?(:'isSampleDataCollectionEnabled') && !attributes.key?(:'is_sample_data_collection_enabled') # rubocop:disable Style/StringLiterals
207
+
208
+ self.is_app_defined_relation_discovery_enabled = attributes[:'isAppDefinedRelationDiscoveryEnabled'] unless attributes[:'isAppDefinedRelationDiscoveryEnabled'].nil?
209
+ self.is_app_defined_relation_discovery_enabled = false if is_app_defined_relation_discovery_enabled.nil? && !attributes.key?(:'isAppDefinedRelationDiscoveryEnabled') # rubocop:disable Style/StringLiterals
210
+
211
+ 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')
212
+
213
+ self.is_app_defined_relation_discovery_enabled = attributes[:'is_app_defined_relation_discovery_enabled'] unless attributes[:'is_app_defined_relation_discovery_enabled'].nil?
214
+ self.is_app_defined_relation_discovery_enabled = false if is_app_defined_relation_discovery_enabled.nil? && !attributes.key?(:'isAppDefinedRelationDiscoveryEnabled') && !attributes.key?(:'is_app_defined_relation_discovery_enabled') # rubocop:disable Style/StringLiterals
215
+
216
+ self.is_include_all_schemas = attributes[:'isIncludeAllSchemas'] unless attributes[:'isIncludeAllSchemas'].nil?
217
+ self.is_include_all_schemas = false if is_include_all_schemas.nil? && !attributes.key?(:'isIncludeAllSchemas') # rubocop:disable Style/StringLiterals
218
+
219
+ raise 'You cannot provide both :isIncludeAllSchemas and :is_include_all_schemas' if attributes.key?(:'isIncludeAllSchemas') && attributes.key?(:'is_include_all_schemas')
220
+
221
+ self.is_include_all_schemas = attributes[:'is_include_all_schemas'] unless attributes[:'is_include_all_schemas'].nil?
222
+ self.is_include_all_schemas = false if is_include_all_schemas.nil? && !attributes.key?(:'isIncludeAllSchemas') && !attributes.key?(:'is_include_all_schemas') # rubocop:disable Style/StringLiterals
223
+
224
+ self.is_include_all_sensitive_types = attributes[:'isIncludeAllSensitiveTypes'] unless attributes[:'isIncludeAllSensitiveTypes'].nil?
225
+ self.is_include_all_sensitive_types = false if is_include_all_sensitive_types.nil? && !attributes.key?(:'isIncludeAllSensitiveTypes') # rubocop:disable Style/StringLiterals
226
+
227
+ raise 'You cannot provide both :isIncludeAllSensitiveTypes and :is_include_all_sensitive_types' if attributes.key?(:'isIncludeAllSensitiveTypes') && attributes.key?(:'is_include_all_sensitive_types')
228
+
229
+ self.is_include_all_sensitive_types = attributes[:'is_include_all_sensitive_types'] unless attributes[:'is_include_all_sensitive_types'].nil?
230
+ self.is_include_all_sensitive_types = false if is_include_all_sensitive_types.nil? && !attributes.key?(:'isIncludeAllSensitiveTypes') && !attributes.key?(:'is_include_all_sensitive_types') # rubocop:disable Style/StringLiterals
231
+
232
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
233
+
234
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
235
+
236
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
237
+
238
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
239
+
240
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
241
+
242
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
243
+ end
244
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
245
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
246
+
247
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
248
+
249
+
250
+ # Checks equality by comparing each attribute.
251
+ # @param [Object] other the other object to be compared
252
+ def ==(other)
253
+ return true if equal?(other)
254
+
255
+ self.class == other.class &&
256
+ display_name == other.display_name &&
257
+ compartment_id == other.compartment_id &&
258
+ target_id == other.target_id &&
259
+ app_suite_name == other.app_suite_name &&
260
+ description == other.description &&
261
+ schemas_for_discovery == other.schemas_for_discovery &&
262
+ sensitive_type_ids_for_discovery == other.sensitive_type_ids_for_discovery &&
263
+ is_sample_data_collection_enabled == other.is_sample_data_collection_enabled &&
264
+ is_app_defined_relation_discovery_enabled == other.is_app_defined_relation_discovery_enabled &&
265
+ is_include_all_schemas == other.is_include_all_schemas &&
266
+ is_include_all_sensitive_types == other.is_include_all_sensitive_types &&
267
+ freeform_tags == other.freeform_tags &&
268
+ defined_tags == other.defined_tags
269
+ end
270
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
271
+
272
+ # @see the `==` method
273
+ # @param [Object] other the other object to be compared
274
+ def eql?(other)
275
+ self == other
276
+ end
277
+
278
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
279
+
280
+
281
+ # Calculates hash code according to all attributes.
282
+ # @return [Fixnum] Hash code
283
+ def hash
284
+ [display_name, compartment_id, target_id, 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].hash
285
+ end
286
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
287
+
288
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
289
+
290
+
291
+ # Builds the object from hash
292
+ # @param [Hash] attributes Model attributes in the form of hash
293
+ # @return [Object] Returns the model itself
294
+ def build_from_hash(attributes)
295
+ return nil unless attributes.is_a?(Hash)
296
+
297
+ self.class.swagger_types.each_pair do |key, type|
298
+ if type =~ /^Array<(.*)>/i
299
+ # check to ensure the input is an array given that the the attribute
300
+ # is documented as an array but the input is not
301
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
302
+ public_method("#{key}=").call(
303
+ attributes[self.class.attribute_map[key]]
304
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
305
+ )
306
+ end
307
+ elsif !attributes[self.class.attribute_map[key]].nil?
308
+ public_method("#{key}=").call(
309
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
310
+ )
311
+ end
312
+ # or else data not found in attributes(hash), not an issue as the data can be optional
313
+ end
314
+
315
+ self
316
+ end
317
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
318
+
319
+ # Returns the string representation of the object
320
+ # @return [String] String presentation of the object
321
+ def to_s
322
+ to_hash.to_s
323
+ end
324
+
325
+ # Returns the object in the form of hash
326
+ # @return [Hash] Returns the object in the form of hash
327
+ def to_hash
328
+ hash = {}
329
+ self.class.attribute_map.each_pair do |attr, param|
330
+ value = public_method(attr).call
331
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
332
+
333
+ hash[param] = _to_hash(value)
334
+ end
335
+ hash
336
+ end
337
+
338
+ private
339
+
340
+ # Outputs non-array value in the form of hash
341
+ # For object, use to_hash. Otherwise, just return the value
342
+ # @param [Object] value Any valid value
343
+ # @return [Hash] Returns the value in the form of hash
344
+ def _to_hash(value)
345
+ if value.is_a?(Array)
346
+ value.compact.map { |v| _to_hash(v) }
347
+ elsif value.is_a?(Hash)
348
+ {}.tap do |hash|
349
+ value.each { |k, v| hash[k] = _to_hash(v) }
350
+ end
351
+ elsif value.respond_to? :to_hash
352
+ value.to_hash
353
+ else
354
+ value
355
+ end
356
+ end
357
+ end
358
+ end
359
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,286 @@
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
+ # Details to create a new sensitive type.
9
+ # This class has direct subclasses. If you are using this class as input to a service operations then you should favor using a subclass over the base class
10
+ class DataSafe::Models::CreateSensitiveTypeDetails
11
+ ENTITY_TYPE_ENUM = [
12
+ ENTITY_TYPE_SENSITIVE_TYPE = 'SENSITIVE_TYPE'.freeze,
13
+ ENTITY_TYPE_SENSITIVE_CATEGORY = 'SENSITIVE_CATEGORY'.freeze
14
+ ].freeze
15
+
16
+ # **[Required]** The entity type. It can be either a sensitive type with regular expressions or a sensitive category used for
17
+ # grouping similar sensitive types.
18
+ #
19
+ # @return [String]
20
+ attr_reader :entity_type
21
+
22
+ # The display name of the sensitive type. The name does not have to be unique, and it's changeable.
23
+ # @return [String]
24
+ attr_accessor :display_name
25
+
26
+ # **[Required]** The OCID of the compartment where the sensitive type should be created.
27
+ # @return [String]
28
+ attr_accessor :compartment_id
29
+
30
+ # The short name of the sensitive type.
31
+ # @return [String]
32
+ attr_accessor :short_name
33
+
34
+ # The description of the sensitive type.
35
+ # @return [String]
36
+ attr_accessor :description
37
+
38
+ # The OCID of the parent sensitive category.
39
+ # @return [String]
40
+ attr_accessor :parent_category_id
41
+
42
+ # 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)
43
+ #
44
+ # Example: `{\"Department\": \"Finance\"}`
45
+ #
46
+ # @return [Hash<String, String>]
47
+ attr_accessor :freeform_tags
48
+
49
+ # 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)
50
+ #
51
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
52
+ #
53
+ # @return [Hash<String, Hash<String, Object>>]
54
+ attr_accessor :defined_tags
55
+
56
+ # Attribute mapping from ruby-style variable name to JSON key.
57
+ def self.attribute_map
58
+ {
59
+ # rubocop:disable Style/SymbolLiteral
60
+ 'entity_type': :'entityType',
61
+ 'display_name': :'displayName',
62
+ 'compartment_id': :'compartmentId',
63
+ 'short_name': :'shortName',
64
+ 'description': :'description',
65
+ 'parent_category_id': :'parentCategoryId',
66
+ 'freeform_tags': :'freeformTags',
67
+ 'defined_tags': :'definedTags'
68
+ # rubocop:enable Style/SymbolLiteral
69
+ }
70
+ end
71
+
72
+ # Attribute type mapping.
73
+ def self.swagger_types
74
+ {
75
+ # rubocop:disable Style/SymbolLiteral
76
+ 'entity_type': :'String',
77
+ 'display_name': :'String',
78
+ 'compartment_id': :'String',
79
+ 'short_name': :'String',
80
+ 'description': :'String',
81
+ 'parent_category_id': :'String',
82
+ 'freeform_tags': :'Hash<String, String>',
83
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
84
+ # rubocop:enable Style/SymbolLiteral
85
+ }
86
+ end
87
+
88
+ # rubocop:disable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
89
+
90
+
91
+ # Given the hash representation of a subtype of this class,
92
+ # use the info in the hash to return the class of the subtype.
93
+ def self.get_subtype(object_hash)
94
+ type = object_hash[:'entityType'] # rubocop:disable Style/SymbolLiteral
95
+
96
+ return 'OCI::DataSafe::Models::CreateSensitiveCategoryDetails' if type == 'SENSITIVE_CATEGORY'
97
+ return 'OCI::DataSafe::Models::CreateSensitiveTypePatternDetails' if type == 'SENSITIVE_TYPE'
98
+
99
+ # TODO: Log a warning when the subtype is not found.
100
+ 'OCI::DataSafe::Models::CreateSensitiveTypeDetails'
101
+ end
102
+ # rubocop:enable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
103
+
104
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
105
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
106
+
107
+
108
+ # Initializes the object
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @option attributes [String] :entity_type The value to assign to the {#entity_type} property
111
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
112
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
113
+ # @option attributes [String] :short_name The value to assign to the {#short_name} property
114
+ # @option attributes [String] :description The value to assign to the {#description} property
115
+ # @option attributes [String] :parent_category_id The value to assign to the {#parent_category_id} property
116
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
117
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
118
+ def initialize(attributes = {})
119
+ return unless attributes.is_a?(Hash)
120
+
121
+ # convert string to symbol for hash key
122
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
123
+
124
+ self.entity_type = attributes[:'entityType'] if attributes[:'entityType']
125
+
126
+ raise 'You cannot provide both :entityType and :entity_type' if attributes.key?(:'entityType') && attributes.key?(:'entity_type')
127
+
128
+ self.entity_type = attributes[:'entity_type'] if attributes[:'entity_type']
129
+
130
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
131
+
132
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
133
+
134
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
135
+
136
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
137
+
138
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
139
+
140
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
141
+
142
+ self.short_name = attributes[:'shortName'] if attributes[:'shortName']
143
+
144
+ raise 'You cannot provide both :shortName and :short_name' if attributes.key?(:'shortName') && attributes.key?(:'short_name')
145
+
146
+ self.short_name = attributes[:'short_name'] if attributes[:'short_name']
147
+
148
+ self.description = attributes[:'description'] if attributes[:'description']
149
+
150
+ self.parent_category_id = attributes[:'parentCategoryId'] if attributes[:'parentCategoryId']
151
+
152
+ raise 'You cannot provide both :parentCategoryId and :parent_category_id' if attributes.key?(:'parentCategoryId') && attributes.key?(:'parent_category_id')
153
+
154
+ self.parent_category_id = attributes[:'parent_category_id'] if attributes[:'parent_category_id']
155
+
156
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
157
+
158
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
159
+
160
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
161
+
162
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
163
+
164
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
165
+
166
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
167
+ end
168
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
169
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
170
+
171
+ # Custom attribute writer method checking allowed values (enum).
172
+ # @param [Object] entity_type Object to be assigned
173
+ def entity_type=(entity_type)
174
+ raise "Invalid value for 'entity_type': this must be one of the values in ENTITY_TYPE_ENUM." if entity_type && !ENTITY_TYPE_ENUM.include?(entity_type)
175
+
176
+ @entity_type = entity_type
177
+ end
178
+
179
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
180
+
181
+
182
+ # Checks equality by comparing each attribute.
183
+ # @param [Object] other the other object to be compared
184
+ def ==(other)
185
+ return true if equal?(other)
186
+
187
+ self.class == other.class &&
188
+ entity_type == other.entity_type &&
189
+ display_name == other.display_name &&
190
+ compartment_id == other.compartment_id &&
191
+ short_name == other.short_name &&
192
+ description == other.description &&
193
+ parent_category_id == other.parent_category_id &&
194
+ freeform_tags == other.freeform_tags &&
195
+ defined_tags == other.defined_tags
196
+ end
197
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
198
+
199
+ # @see the `==` method
200
+ # @param [Object] other the other object to be compared
201
+ def eql?(other)
202
+ self == other
203
+ end
204
+
205
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
206
+
207
+
208
+ # Calculates hash code according to all attributes.
209
+ # @return [Fixnum] Hash code
210
+ def hash
211
+ [entity_type, display_name, compartment_id, short_name, description, parent_category_id, freeform_tags, defined_tags].hash
212
+ end
213
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
214
+
215
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
216
+
217
+
218
+ # Builds the object from hash
219
+ # @param [Hash] attributes Model attributes in the form of hash
220
+ # @return [Object] Returns the model itself
221
+ def build_from_hash(attributes)
222
+ return nil unless attributes.is_a?(Hash)
223
+
224
+ self.class.swagger_types.each_pair do |key, type|
225
+ if type =~ /^Array<(.*)>/i
226
+ # check to ensure the input is an array given that the the attribute
227
+ # is documented as an array but the input is not
228
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
229
+ public_method("#{key}=").call(
230
+ attributes[self.class.attribute_map[key]]
231
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
232
+ )
233
+ end
234
+ elsif !attributes[self.class.attribute_map[key]].nil?
235
+ public_method("#{key}=").call(
236
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
237
+ )
238
+ end
239
+ # or else data not found in attributes(hash), not an issue as the data can be optional
240
+ end
241
+
242
+ self
243
+ end
244
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
245
+
246
+ # Returns the string representation of the object
247
+ # @return [String] String presentation of the object
248
+ def to_s
249
+ to_hash.to_s
250
+ end
251
+
252
+ # Returns the object in the form of hash
253
+ # @return [Hash] Returns the object in the form of hash
254
+ def to_hash
255
+ hash = {}
256
+ self.class.attribute_map.each_pair do |attr, param|
257
+ value = public_method(attr).call
258
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
259
+
260
+ hash[param] = _to_hash(value)
261
+ end
262
+ hash
263
+ end
264
+
265
+ private
266
+
267
+ # Outputs non-array value in the form of hash
268
+ # For object, use to_hash. Otherwise, just return the value
269
+ # @param [Object] value Any valid value
270
+ # @return [Hash] Returns the value in the form of hash
271
+ def _to_hash(value)
272
+ if value.is_a?(Array)
273
+ value.compact.map { |v| _to_hash(v) }
274
+ elsif value.is_a?(Hash)
275
+ {}.tap do |hash|
276
+ value.each { |k, v| hash[k] = _to_hash(v) }
277
+ end
278
+ elsif value.respond_to? :to_hash
279
+ value.to_hash
280
+ else
281
+ value
282
+ end
283
+ end
284
+ end
285
+ end
286
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength