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,535 @@
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
+ # The details of a Data Safe Alert, that shows alerts generated by a Data Safe feature.
10
+ class DataSafe::Models::Alert
11
+ STATUS_ENUM = [
12
+ STATUS_OPEN = 'OPEN'.freeze,
13
+ STATUS_CLOSED = 'CLOSED'.freeze,
14
+ STATUS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
15
+ ].freeze
16
+
17
+ SEVERITY_ENUM = [
18
+ SEVERITY_CRITICAL = 'CRITICAL'.freeze,
19
+ SEVERITY_HIGH = 'HIGH'.freeze,
20
+ SEVERITY_MEDIUM = 'MEDIUM'.freeze,
21
+ SEVERITY_LOW = 'LOW'.freeze,
22
+ SEVERITY_EVALUATE = 'EVALUATE'.freeze,
23
+ SEVERITY_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ OPERATION_STATUS_ENUM = [
27
+ OPERATION_STATUS_SUCCEEDED = 'SUCCEEDED'.freeze,
28
+ OPERATION_STATUS_FAILED = 'FAILED'.freeze,
29
+ OPERATION_STATUS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
30
+ ].freeze
31
+
32
+ ALERT_TYPE_ENUM = [
33
+ ALERT_TYPE_AUDITING = 'AUDITING'.freeze,
34
+ ALERT_TYPE_SECURITY_ASSESSMENT = 'SECURITY_ASSESSMENT'.freeze,
35
+ ALERT_TYPE_USER_ASSESSMENT = 'USER_ASSESSMENT'.freeze,
36
+ ALERT_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
37
+ ].freeze
38
+
39
+ LIFECYCLE_STATE_ENUM = [
40
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
41
+ LIFECYCLE_STATE_SUCCEEDED = 'SUCCEEDED'.freeze,
42
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
43
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
44
+ ].freeze
45
+
46
+ # **[Required]** The OCID of the alert.
47
+ # @return [String]
48
+ attr_accessor :id
49
+
50
+ # The status of the alert.
51
+ # @return [String]
52
+ attr_reader :status
53
+
54
+ # Severity level of the alert.
55
+ # @return [String]
56
+ attr_reader :severity
57
+
58
+ # **[Required]** The display name of the alert.
59
+ # @return [String]
60
+ attr_accessor :display_name
61
+
62
+ # The description of the alert.
63
+ # @return [String]
64
+ attr_accessor :description
65
+
66
+ # Creation date and time of the operation that triggered alert, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
67
+ # @return [DateTime]
68
+ attr_accessor :operation_time
69
+
70
+ # The operation (event) that triggered alert.
71
+ # @return [String]
72
+ attr_accessor :operation
73
+
74
+ # The result of the operation (event) that triggered alert.
75
+ # @return [String]
76
+ attr_reader :operation_status
77
+
78
+ # Array of OCIDs of the target database which are associated with the alert.
79
+ # @return [Array<String>]
80
+ attr_accessor :target_ids
81
+
82
+ # Array of names of the target database.
83
+ # @return [Array<String>]
84
+ attr_accessor :target_names
85
+
86
+ # The OCID of the policy that triggered alert.
87
+ # @return [String]
88
+ attr_accessor :policy_id
89
+
90
+ # Type of the alert. Indicates the Data Safe feature triggering the alert.
91
+ # @return [String]
92
+ attr_reader :alert_type
93
+
94
+ # The resource endpoint that triggered the alert.
95
+ # @return [String]
96
+ attr_accessor :resource_name
97
+
98
+ # Map that contains maps of values.
99
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
100
+ #
101
+ # @return [Hash<String, Hash<String, Object>>]
102
+ attr_accessor :feature_details
103
+
104
+ # A comment for the alert. Entered by the user.
105
+ # @return [String]
106
+ attr_accessor :comment
107
+
108
+ # **[Required]** The OCID of the compartment that contains the alert.
109
+ # @return [String]
110
+ attr_accessor :compartment_id
111
+
112
+ # **[Required]** The current state of the alert.
113
+ # @return [String]
114
+ attr_reader :lifecycle_state
115
+
116
+ # **[Required]** Creation date and time of the alert, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
117
+ # @return [DateTime]
118
+ attr_accessor :time_created
119
+
120
+ # **[Required]** Last date and time the alert was updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
121
+ # @return [DateTime]
122
+ attr_accessor :time_updated
123
+
124
+ # 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)
125
+ #
126
+ # Example: `{\"Department\": \"Finance\"}`
127
+ #
128
+ # @return [Hash<String, String>]
129
+ attr_accessor :freeform_tags
130
+
131
+ # 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)
132
+ #
133
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
134
+ #
135
+ # @return [Hash<String, Hash<String, Object>>]
136
+ attr_accessor :defined_tags
137
+
138
+ # System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
139
+ # Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
140
+ #
141
+ # @return [Hash<String, Hash<String, Object>>]
142
+ attr_accessor :system_tags
143
+
144
+ # Attribute mapping from ruby-style variable name to JSON key.
145
+ def self.attribute_map
146
+ {
147
+ # rubocop:disable Style/SymbolLiteral
148
+ 'id': :'id',
149
+ 'status': :'status',
150
+ 'severity': :'severity',
151
+ 'display_name': :'displayName',
152
+ 'description': :'description',
153
+ 'operation_time': :'operationTime',
154
+ 'operation': :'operation',
155
+ 'operation_status': :'operationStatus',
156
+ 'target_ids': :'targetIds',
157
+ 'target_names': :'targetNames',
158
+ 'policy_id': :'policyId',
159
+ 'alert_type': :'alertType',
160
+ 'resource_name': :'resourceName',
161
+ 'feature_details': :'featureDetails',
162
+ 'comment': :'comment',
163
+ 'compartment_id': :'compartmentId',
164
+ 'lifecycle_state': :'lifecycleState',
165
+ 'time_created': :'timeCreated',
166
+ 'time_updated': :'timeUpdated',
167
+ 'freeform_tags': :'freeformTags',
168
+ 'defined_tags': :'definedTags',
169
+ 'system_tags': :'systemTags'
170
+ # rubocop:enable Style/SymbolLiteral
171
+ }
172
+ end
173
+
174
+ # Attribute type mapping.
175
+ def self.swagger_types
176
+ {
177
+ # rubocop:disable Style/SymbolLiteral
178
+ 'id': :'String',
179
+ 'status': :'String',
180
+ 'severity': :'String',
181
+ 'display_name': :'String',
182
+ 'description': :'String',
183
+ 'operation_time': :'DateTime',
184
+ 'operation': :'String',
185
+ 'operation_status': :'String',
186
+ 'target_ids': :'Array<String>',
187
+ 'target_names': :'Array<String>',
188
+ 'policy_id': :'String',
189
+ 'alert_type': :'String',
190
+ 'resource_name': :'String',
191
+ 'feature_details': :'Hash<String, Hash<String, Object>>',
192
+ 'comment': :'String',
193
+ 'compartment_id': :'String',
194
+ 'lifecycle_state': :'String',
195
+ 'time_created': :'DateTime',
196
+ 'time_updated': :'DateTime',
197
+ 'freeform_tags': :'Hash<String, String>',
198
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
199
+ 'system_tags': :'Hash<String, Hash<String, Object>>'
200
+ # rubocop:enable Style/SymbolLiteral
201
+ }
202
+ end
203
+
204
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
205
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
206
+
207
+
208
+ # Initializes the object
209
+ # @param [Hash] attributes Model attributes in the form of hash
210
+ # @option attributes [String] :id The value to assign to the {#id} property
211
+ # @option attributes [String] :status The value to assign to the {#status} property
212
+ # @option attributes [String] :severity The value to assign to the {#severity} property
213
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
214
+ # @option attributes [String] :description The value to assign to the {#description} property
215
+ # @option attributes [DateTime] :operation_time The value to assign to the {#operation_time} property
216
+ # @option attributes [String] :operation The value to assign to the {#operation} property
217
+ # @option attributes [String] :operation_status The value to assign to the {#operation_status} property
218
+ # @option attributes [Array<String>] :target_ids The value to assign to the {#target_ids} property
219
+ # @option attributes [Array<String>] :target_names The value to assign to the {#target_names} property
220
+ # @option attributes [String] :policy_id The value to assign to the {#policy_id} property
221
+ # @option attributes [String] :alert_type The value to assign to the {#alert_type} property
222
+ # @option attributes [String] :resource_name The value to assign to the {#resource_name} property
223
+ # @option attributes [Hash<String, Hash<String, Object>>] :feature_details The value to assign to the {#feature_details} property
224
+ # @option attributes [String] :comment The value to assign to the {#comment} property
225
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
226
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
227
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
228
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
229
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
230
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
231
+ # @option attributes [Hash<String, Hash<String, Object>>] :system_tags The value to assign to the {#system_tags} property
232
+ def initialize(attributes = {})
233
+ return unless attributes.is_a?(Hash)
234
+
235
+ # convert string to symbol for hash key
236
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
237
+
238
+ self.id = attributes[:'id'] if attributes[:'id']
239
+
240
+ self.status = attributes[:'status'] if attributes[:'status']
241
+
242
+ self.severity = attributes[:'severity'] if attributes[:'severity']
243
+
244
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
245
+
246
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
247
+
248
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
249
+
250
+ self.description = attributes[:'description'] if attributes[:'description']
251
+
252
+ self.operation_time = attributes[:'operationTime'] if attributes[:'operationTime']
253
+
254
+ raise 'You cannot provide both :operationTime and :operation_time' if attributes.key?(:'operationTime') && attributes.key?(:'operation_time')
255
+
256
+ self.operation_time = attributes[:'operation_time'] if attributes[:'operation_time']
257
+
258
+ self.operation = attributes[:'operation'] if attributes[:'operation']
259
+
260
+ self.operation_status = attributes[:'operationStatus'] if attributes[:'operationStatus']
261
+
262
+ raise 'You cannot provide both :operationStatus and :operation_status' if attributes.key?(:'operationStatus') && attributes.key?(:'operation_status')
263
+
264
+ self.operation_status = attributes[:'operation_status'] if attributes[:'operation_status']
265
+
266
+ self.target_ids = attributes[:'targetIds'] if attributes[:'targetIds']
267
+
268
+ raise 'You cannot provide both :targetIds and :target_ids' if attributes.key?(:'targetIds') && attributes.key?(:'target_ids')
269
+
270
+ self.target_ids = attributes[:'target_ids'] if attributes[:'target_ids']
271
+
272
+ self.target_names = attributes[:'targetNames'] if attributes[:'targetNames']
273
+
274
+ raise 'You cannot provide both :targetNames and :target_names' if attributes.key?(:'targetNames') && attributes.key?(:'target_names')
275
+
276
+ self.target_names = attributes[:'target_names'] if attributes[:'target_names']
277
+
278
+ self.policy_id = attributes[:'policyId'] if attributes[:'policyId']
279
+
280
+ raise 'You cannot provide both :policyId and :policy_id' if attributes.key?(:'policyId') && attributes.key?(:'policy_id')
281
+
282
+ self.policy_id = attributes[:'policy_id'] if attributes[:'policy_id']
283
+
284
+ self.alert_type = attributes[:'alertType'] if attributes[:'alertType']
285
+
286
+ raise 'You cannot provide both :alertType and :alert_type' if attributes.key?(:'alertType') && attributes.key?(:'alert_type')
287
+
288
+ self.alert_type = attributes[:'alert_type'] if attributes[:'alert_type']
289
+
290
+ self.resource_name = attributes[:'resourceName'] if attributes[:'resourceName']
291
+
292
+ raise 'You cannot provide both :resourceName and :resource_name' if attributes.key?(:'resourceName') && attributes.key?(:'resource_name')
293
+
294
+ self.resource_name = attributes[:'resource_name'] if attributes[:'resource_name']
295
+
296
+ self.feature_details = attributes[:'featureDetails'] if attributes[:'featureDetails']
297
+
298
+ raise 'You cannot provide both :featureDetails and :feature_details' if attributes.key?(:'featureDetails') && attributes.key?(:'feature_details')
299
+
300
+ self.feature_details = attributes[:'feature_details'] if attributes[:'feature_details']
301
+
302
+ self.comment = attributes[:'comment'] if attributes[:'comment']
303
+
304
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
305
+
306
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
307
+
308
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
309
+
310
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
311
+
312
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
313
+
314
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
315
+
316
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
317
+
318
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
319
+
320
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
321
+
322
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
323
+
324
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
325
+
326
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
327
+
328
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
329
+
330
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
331
+
332
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
333
+
334
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
335
+
336
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
337
+
338
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
339
+
340
+ self.system_tags = attributes[:'systemTags'] if attributes[:'systemTags']
341
+
342
+ raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags')
343
+
344
+ self.system_tags = attributes[:'system_tags'] if attributes[:'system_tags']
345
+ end
346
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
347
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
348
+
349
+ # Custom attribute writer method checking allowed values (enum).
350
+ # @param [Object] status Object to be assigned
351
+ def status=(status)
352
+ # rubocop:disable Style/ConditionalAssignment
353
+ if status && !STATUS_ENUM.include?(status)
354
+ OCI.logger.debug("Unknown value for 'status' [" + status + "]. Mapping to 'STATUS_UNKNOWN_ENUM_VALUE'") if OCI.logger
355
+ @status = STATUS_UNKNOWN_ENUM_VALUE
356
+ else
357
+ @status = status
358
+ end
359
+ # rubocop:enable Style/ConditionalAssignment
360
+ end
361
+
362
+ # Custom attribute writer method checking allowed values (enum).
363
+ # @param [Object] severity Object to be assigned
364
+ def severity=(severity)
365
+ # rubocop:disable Style/ConditionalAssignment
366
+ if severity && !SEVERITY_ENUM.include?(severity)
367
+ OCI.logger.debug("Unknown value for 'severity' [" + severity + "]. Mapping to 'SEVERITY_UNKNOWN_ENUM_VALUE'") if OCI.logger
368
+ @severity = SEVERITY_UNKNOWN_ENUM_VALUE
369
+ else
370
+ @severity = severity
371
+ end
372
+ # rubocop:enable Style/ConditionalAssignment
373
+ end
374
+
375
+ # Custom attribute writer method checking allowed values (enum).
376
+ # @param [Object] operation_status Object to be assigned
377
+ def operation_status=(operation_status)
378
+ # rubocop:disable Style/ConditionalAssignment
379
+ if operation_status && !OPERATION_STATUS_ENUM.include?(operation_status)
380
+ OCI.logger.debug("Unknown value for 'operation_status' [" + operation_status + "]. Mapping to 'OPERATION_STATUS_UNKNOWN_ENUM_VALUE'") if OCI.logger
381
+ @operation_status = OPERATION_STATUS_UNKNOWN_ENUM_VALUE
382
+ else
383
+ @operation_status = operation_status
384
+ end
385
+ # rubocop:enable Style/ConditionalAssignment
386
+ end
387
+
388
+ # Custom attribute writer method checking allowed values (enum).
389
+ # @param [Object] alert_type Object to be assigned
390
+ def alert_type=(alert_type)
391
+ # rubocop:disable Style/ConditionalAssignment
392
+ if alert_type && !ALERT_TYPE_ENUM.include?(alert_type)
393
+ OCI.logger.debug("Unknown value for 'alert_type' [" + alert_type + "]. Mapping to 'ALERT_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
394
+ @alert_type = ALERT_TYPE_UNKNOWN_ENUM_VALUE
395
+ else
396
+ @alert_type = alert_type
397
+ end
398
+ # rubocop:enable Style/ConditionalAssignment
399
+ end
400
+
401
+ # Custom attribute writer method checking allowed values (enum).
402
+ # @param [Object] lifecycle_state Object to be assigned
403
+ def lifecycle_state=(lifecycle_state)
404
+ # rubocop:disable Style/ConditionalAssignment
405
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
406
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
407
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
408
+ else
409
+ @lifecycle_state = lifecycle_state
410
+ end
411
+ # rubocop:enable Style/ConditionalAssignment
412
+ end
413
+
414
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
415
+
416
+
417
+ # Checks equality by comparing each attribute.
418
+ # @param [Object] other the other object to be compared
419
+ def ==(other)
420
+ return true if equal?(other)
421
+
422
+ self.class == other.class &&
423
+ id == other.id &&
424
+ status == other.status &&
425
+ severity == other.severity &&
426
+ display_name == other.display_name &&
427
+ description == other.description &&
428
+ operation_time == other.operation_time &&
429
+ operation == other.operation &&
430
+ operation_status == other.operation_status &&
431
+ target_ids == other.target_ids &&
432
+ target_names == other.target_names &&
433
+ policy_id == other.policy_id &&
434
+ alert_type == other.alert_type &&
435
+ resource_name == other.resource_name &&
436
+ feature_details == other.feature_details &&
437
+ comment == other.comment &&
438
+ compartment_id == other.compartment_id &&
439
+ lifecycle_state == other.lifecycle_state &&
440
+ time_created == other.time_created &&
441
+ time_updated == other.time_updated &&
442
+ freeform_tags == other.freeform_tags &&
443
+ defined_tags == other.defined_tags &&
444
+ system_tags == other.system_tags
445
+ end
446
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
447
+
448
+ # @see the `==` method
449
+ # @param [Object] other the other object to be compared
450
+ def eql?(other)
451
+ self == other
452
+ end
453
+
454
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
455
+
456
+
457
+ # Calculates hash code according to all attributes.
458
+ # @return [Fixnum] Hash code
459
+ def hash
460
+ [id, status, severity, display_name, description, operation_time, operation, operation_status, target_ids, target_names, policy_id, alert_type, resource_name, feature_details, comment, compartment_id, lifecycle_state, time_created, time_updated, freeform_tags, defined_tags, system_tags].hash
461
+ end
462
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
463
+
464
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
465
+
466
+
467
+ # Builds the object from hash
468
+ # @param [Hash] attributes Model attributes in the form of hash
469
+ # @return [Object] Returns the model itself
470
+ def build_from_hash(attributes)
471
+ return nil unless attributes.is_a?(Hash)
472
+
473
+ self.class.swagger_types.each_pair do |key, type|
474
+ if type =~ /^Array<(.*)>/i
475
+ # check to ensure the input is an array given that the the attribute
476
+ # is documented as an array but the input is not
477
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
478
+ public_method("#{key}=").call(
479
+ attributes[self.class.attribute_map[key]]
480
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
481
+ )
482
+ end
483
+ elsif !attributes[self.class.attribute_map[key]].nil?
484
+ public_method("#{key}=").call(
485
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
486
+ )
487
+ end
488
+ # or else data not found in attributes(hash), not an issue as the data can be optional
489
+ end
490
+
491
+ self
492
+ end
493
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
494
+
495
+ # Returns the string representation of the object
496
+ # @return [String] String presentation of the object
497
+ def to_s
498
+ to_hash.to_s
499
+ end
500
+
501
+ # Returns the object in the form of hash
502
+ # @return [Hash] Returns the object in the form of hash
503
+ def to_hash
504
+ hash = {}
505
+ self.class.attribute_map.each_pair do |attr, param|
506
+ value = public_method(attr).call
507
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
508
+
509
+ hash[param] = _to_hash(value)
510
+ end
511
+ hash
512
+ end
513
+
514
+ private
515
+
516
+ # Outputs non-array value in the form of hash
517
+ # For object, use to_hash. Otherwise, just return the value
518
+ # @param [Object] value Any valid value
519
+ # @return [Hash] Returns the value in the form of hash
520
+ def _to_hash(value)
521
+ if value.is_a?(Array)
522
+ value.compact.map { |v| _to_hash(v) }
523
+ elsif value.is_a?(Hash)
524
+ {}.tap do |hash|
525
+ value.each { |k, v| hash[k] = _to_hash(v) }
526
+ end
527
+ elsif value.respond_to? :to_hash
528
+ value.to_hash
529
+ else
530
+ value
531
+ end
532
+ end
533
+ end
534
+ end
535
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength