oci 2.13.0 → 2.14.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 (660) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +6 -4
  3. data/README.md +6 -1
  4. data/lib/oci.rb +4 -0
  5. data/lib/oci/ai_language/ai_language.rb +35 -0
  6. data/lib/oci/ai_language/ai_service_language_client.rb +396 -0
  7. data/lib/oci/ai_language/ai_service_language_client_composite_operations.rb +25 -0
  8. data/lib/oci/ai_language/models/detect_dominant_language_details.rb +150 -0
  9. data/lib/oci/ai_language/models/detect_dominant_language_result.rb +154 -0
  10. data/lib/oci/ai_language/models/detect_language_entities_details.rb +150 -0
  11. data/lib/oci/ai_language/models/detect_language_entities_result.rb +150 -0
  12. data/lib/oci/ai_language/models/detect_language_key_phrases_details.rb +150 -0
  13. data/lib/oci/ai_language/models/detect_language_key_phrases_result.rb +154 -0
  14. data/lib/oci/ai_language/models/detect_language_sentiments_details.rb +150 -0
  15. data/lib/oci/ai_language/models/detect_language_sentiments_result.rb +150 -0
  16. data/lib/oci/ai_language/models/detect_language_text_classification_details.rb +150 -0
  17. data/lib/oci/ai_language/models/detect_language_text_classification_result.rb +154 -0
  18. data/lib/oci/ai_language/models/detected_language.rb +172 -0
  19. data/lib/oci/ai_language/models/entity.rb +205 -0
  20. data/lib/oci/ai_language/models/key_phrase.rb +160 -0
  21. data/lib/oci/ai_language/models/ner_model_version.rb +11 -0
  22. data/lib/oci/ai_language/models/sentiment_aspect.rb +192 -0
  23. data/lib/oci/ai_language/models/text_classification.rb +160 -0
  24. data/lib/oci/ai_language/util.rb +3 -0
  25. data/lib/oci/api_client.rb +3 -6
  26. data/lib/oci/apigateway/apigateway.rb +17 -0
  27. data/lib/oci/apigateway/models/api_specification_route_request_policies.rb +56 -4
  28. data/lib/oci/apigateway/models/api_specification_route_response_policies.rb +17 -4
  29. data/lib/oci/apigateway/models/body_validation_request_policy.rb +211 -0
  30. data/lib/oci/apigateway/models/content_validation.rb +194 -0
  31. data/lib/oci/apigateway/models/create_gateway_details.rb +14 -1
  32. data/lib/oci/apigateway/models/external_resp_cache.rb +269 -0
  33. data/lib/oci/apigateway/models/fixed_ttl_response_cache_store_policy.rb +164 -0
  34. data/lib/oci/apigateway/models/gateway.rb +14 -1
  35. data/lib/oci/apigateway/models/header_validation_item.rb +161 -0
  36. data/lib/oci/apigateway/models/header_validation_request_policy.rb +188 -0
  37. data/lib/oci/apigateway/models/no_cache.rb +146 -0
  38. data/lib/oci/apigateway/models/no_content_validation.rb +145 -0
  39. data/lib/oci/apigateway/models/query_parameter_validation_item.rb +161 -0
  40. data/lib/oci/apigateway/models/query_parameter_validation_request_policy.rb +195 -0
  41. data/lib/oci/apigateway/models/request_parameter_validation.rb +150 -0
  42. data/lib/oci/apigateway/models/response_cache_details.rb +188 -0
  43. data/lib/oci/apigateway/models/response_cache_lookup_policy.rb +225 -0
  44. data/lib/oci/apigateway/models/response_cache_resp_server.rb +161 -0
  45. data/lib/oci/apigateway/models/response_cache_store_policy.rb +186 -0
  46. data/lib/oci/apigateway/models/simple_lookup_policy.rb +173 -0
  47. data/lib/oci/apigateway/models/update_gateway_details.rb +14 -1
  48. data/lib/oci/apigateway/models/validation_request_policy.rb +179 -0
  49. data/lib/oci/auth/signers/resource_principals_federation_signer.rb +15 -17
  50. data/lib/oci/cloud_guard/cloud_guard.rb +13 -0
  51. data/lib/oci/cloud_guard/cloud_guard_client.rb +426 -9
  52. data/lib/oci/cloud_guard/cloud_guard_client_composite_operations.rb +119 -0
  53. data/lib/oci/cloud_guard/models/all_targets_selected.rb +145 -0
  54. data/lib/oci/cloud_guard/models/create_data_mask_rule_details.rb +335 -0
  55. data/lib/oci/cloud_guard/models/create_managed_list_details.rb +2 -1
  56. data/lib/oci/cloud_guard/models/data_mask_category.rb +15 -0
  57. data/lib/oci/cloud_guard/models/data_mask_rule.rb +425 -0
  58. data/lib/oci/cloud_guard/models/data_mask_rule_collection.rb +150 -0
  59. data/lib/oci/cloud_guard/models/data_mask_rule_status.rb +11 -0
  60. data/lib/oci/cloud_guard/models/data_mask_rule_summary.rb +425 -0
  61. data/lib/oci/cloud_guard/models/detector_recipe.rb +2 -2
  62. data/lib/oci/cloud_guard/models/detector_recipe_detector_rule.rb +1 -0
  63. data/lib/oci/cloud_guard/models/detector_recipe_detector_rule_summary.rb +1 -0
  64. data/lib/oci/cloud_guard/models/detector_rule.rb +1 -0
  65. data/lib/oci/cloud_guard/models/detector_rule_summary.rb +1 -0
  66. data/lib/oci/cloud_guard/models/managed_list.rb +1 -0
  67. data/lib/oci/cloud_guard/models/managed_list_summary.rb +1 -0
  68. data/lib/oci/cloud_guard/models/managed_list_type.rb +2 -1
  69. data/lib/oci/cloud_guard/models/policy_collection.rb +150 -0
  70. data/lib/oci/cloud_guard/models/policy_summary.rb +150 -0
  71. data/lib/oci/cloud_guard/models/problem.rb +35 -1
  72. data/lib/oci/cloud_guard/models/security_rating.rb +2 -1
  73. data/lib/oci/cloud_guard/models/security_score_aggregation.rb +1 -0
  74. data/lib/oci/cloud_guard/models/security_score_trend_aggregation.rb +1 -0
  75. data/lib/oci/cloud_guard/models/target_detector_recipe_detector_rule.rb +1 -0
  76. data/lib/oci/cloud_guard/models/target_detector_recipe_detector_rule_summary.rb +1 -0
  77. data/lib/oci/cloud_guard/models/target_ids_selected.rb +158 -0
  78. data/lib/oci/cloud_guard/models/target_resource_types_selected.rb +186 -0
  79. data/lib/oci/cloud_guard/models/target_selected.rb +189 -0
  80. data/lib/oci/cloud_guard/models/update_bulk_problem_status_details.rb +14 -4
  81. data/lib/oci/cloud_guard/models/update_data_mask_rule_details.rb +292 -0
  82. data/lib/oci/config.rb +1 -3
  83. data/lib/oci/core/compute_client.rb +6 -5
  84. data/lib/oci/core/core.rb +47 -0
  85. data/lib/oci/core/models/add_drg_route_distribution_statement_details.rb +195 -0
  86. data/lib/oci/core/models/add_drg_route_distribution_statements_details.rb +152 -0
  87. data/lib/oci/core/models/add_drg_route_rule_details.rb +202 -0
  88. data/lib/oci/core/models/add_drg_route_rules_details.rb +156 -0
  89. data/lib/oci/core/models/add_security_rule_details.rb +2 -2
  90. data/lib/oci/core/models/bgp_session_info.rb +90 -4
  91. data/lib/oci/core/models/block_volume_replica.rb +19 -4
  92. data/lib/oci/core/models/boot_volume_replica.rb +19 -4
  93. data/lib/oci/core/models/create_drg_attachment_details.rb +72 -4
  94. data/lib/oci/core/models/create_drg_details.rb +1 -1
  95. data/lib/oci/core/models/create_drg_route_distribution_details.rb +235 -0
  96. data/lib/oci/core/models/create_drg_route_table_details.rb +242 -0
  97. data/lib/oci/core/models/create_image_details.rb +2 -2
  98. data/lib/oci/core/models/create_ip_sec_connection_details.rb +3 -3
  99. data/lib/oci/core/models/create_ip_sec_tunnel_bgp_session_details.rb +53 -1
  100. data/lib/oci/core/models/create_ipv6_details.rb +1 -23
  101. data/lib/oci/core/models/create_subnet_details.rb +26 -3
  102. data/lib/oci/core/models/create_vcn_details.rb +3 -36
  103. data/lib/oci/core/models/create_vnic_details.rb +20 -1
  104. data/lib/oci/core/models/cross_connect_mapping.rb +1 -1
  105. data/lib/oci/core/models/cross_connect_mapping_details.rb +356 -0
  106. data/lib/oci/core/models/cross_connect_mapping_details_collection.rb +150 -0
  107. data/lib/oci/core/models/default_drg_route_tables.rb +206 -0
  108. data/lib/oci/core/models/drg.rb +38 -10
  109. data/lib/oci/core/models/drg_attachment.rb +115 -10
  110. data/lib/oci/core/models/drg_attachment_id_drg_route_distribution_match_criteria.rb +164 -0
  111. data/lib/oci/core/models/drg_attachment_info.rb +152 -0
  112. data/lib/oci/core/models/drg_attachment_network_create_details.rb +189 -0
  113. data/lib/oci/core/models/drg_attachment_network_details.rb +202 -0
  114. data/lib/oci/core/models/drg_attachment_network_update_details.rb +178 -0
  115. data/lib/oci/core/models/drg_attachment_type_drg_route_distribution_match_criteria.rb +188 -0
  116. data/lib/oci/core/models/drg_redundancy_status.rb +1 -1
  117. data/lib/oci/core/models/drg_route_distribution.rb +336 -0
  118. data/lib/oci/core/models/drg_route_distribution_match_criteria.rb +194 -0
  119. data/lib/oci/core/models/drg_route_distribution_statement.rb +215 -0
  120. data/lib/oci/core/models/drg_route_rule.rb +341 -0
  121. data/lib/oci/core/models/drg_route_table.rb +332 -0
  122. data/lib/oci/core/models/image.rb +2 -2
  123. data/lib/oci/core/models/ingress_security_rule.rb +1 -1
  124. data/lib/oci/core/models/instance.rb +15 -2
  125. data/lib/oci/core/models/instance_availability_config.rb +18 -1
  126. data/lib/oci/core/models/instance_configuration_create_vnic_details.rb +17 -1
  127. data/lib/oci/core/models/instance_configuration_launch_instance_details.rb +18 -5
  128. data/lib/oci/core/models/instance_configuration_launch_instance_shape_config_details.rb +46 -4
  129. data/lib/oci/core/models/instance_configuration_launch_options.rb +5 -5
  130. data/lib/oci/core/models/instance_shape_config.rb +43 -1
  131. data/lib/oci/core/models/ip_sec_connection.rb +4 -4
  132. data/lib/oci/core/models/ipsec_tunnel_drg_attachment_network_details.rb +166 -0
  133. data/lib/oci/core/models/ipv6.rb +4 -54
  134. data/lib/oci/core/models/launch_instance_availability_config_details.rb +20 -2
  135. data/lib/oci/core/models/launch_instance_details.rb +14 -1
  136. data/lib/oci/core/models/launch_instance_shape_config_details.rb +39 -4
  137. data/lib/oci/core/models/launch_options.rb +5 -5
  138. data/lib/oci/core/models/local_peering_gateway.rb +15 -1
  139. data/lib/oci/core/models/networking_topology.rb +158 -0
  140. data/lib/oci/core/models/port_range.rb +2 -2
  141. data/lib/oci/core/models/preemptible_instance_config_details.rb +155 -0
  142. data/lib/oci/core/models/preemption_action.rb +186 -0
  143. data/lib/oci/core/models/remote_peering_connection_drg_attachment_network_details.rb +149 -0
  144. data/lib/oci/core/models/remove_drg_route_distribution_statements_details.rb +156 -0
  145. data/lib/oci/core/models/remove_drg_route_rules_details.rb +156 -0
  146. data/lib/oci/core/models/route_rule.rb +3 -2
  147. data/lib/oci/core/models/route_table.rb +1 -1
  148. data/lib/oci/core/models/security_rule.rb +4 -4
  149. data/lib/oci/core/models/shape.rb +75 -1
  150. data/lib/oci/core/models/subnet.rb +30 -24
  151. data/lib/oci/core/models/terminate_preemption_action.rb +166 -0
  152. data/lib/oci/core/models/topology.rb +214 -0
  153. data/lib/oci/core/models/topology_associated_with_entity_relationship.rb +157 -0
  154. data/lib/oci/core/models/topology_contains_entity_relationship.rb +157 -0
  155. data/lib/oci/core/models/topology_entity_relationship.rb +209 -0
  156. data/lib/oci/core/models/topology_routes_to_entity_relationship.rb +173 -0
  157. data/lib/oci/core/models/topology_routes_to_relationship_details.rb +183 -0
  158. data/lib/oci/core/models/update_cluster_network_details.rb +19 -4
  159. data/lib/oci/core/models/update_cluster_network_instance_pool_details.rb +212 -0
  160. data/lib/oci/core/models/update_drg_attachment_details.rb +88 -2
  161. data/lib/oci/core/models/update_drg_details.rb +14 -1
  162. data/lib/oci/core/models/update_drg_route_distribution_details.rb +195 -0
  163. data/lib/oci/core/models/update_drg_route_distribution_statement_details.rb +179 -0
  164. data/lib/oci/core/models/update_drg_route_distribution_statements_details.rb +152 -0
  165. data/lib/oci/core/models/update_drg_route_rule_details.rb +212 -0
  166. data/lib/oci/core/models/update_drg_route_rules_details.rb +155 -0
  167. data/lib/oci/core/models/update_drg_route_table_details.rb +227 -0
  168. data/lib/oci/core/models/update_instance_availability_config_details.rb +20 -2
  169. data/lib/oci/core/models/update_instance_shape_config_details.rb +39 -4
  170. data/lib/oci/core/models/update_ip_sec_connection_details.rb +3 -2
  171. data/lib/oci/core/models/update_ip_sec_tunnel_bgp_session_details.rb +53 -1
  172. data/lib/oci/core/models/update_ipv6_details.rb +1 -23
  173. data/lib/oci/core/models/update_launch_options.rb +1 -1
  174. data/lib/oci/core/models/update_security_rule_details.rb +2 -2
  175. data/lib/oci/core/models/update_subnet_details.rb +27 -4
  176. data/lib/oci/core/models/upgrade_status.rb +203 -0
  177. data/lib/oci/core/models/vcn.rb +12 -38
  178. data/lib/oci/core/models/vcn_drg_attachment_network_create_details.rb +174 -0
  179. data/lib/oci/core/models/vcn_drg_attachment_network_details.rb +172 -0
  180. data/lib/oci/core/models/vcn_drg_attachment_network_update_details.rb +168 -0
  181. data/lib/oci/core/models/vcn_topology.rb +175 -0
  182. data/lib/oci/core/models/virtual_circuit.rb +35 -2
  183. data/lib/oci/core/models/virtual_circuit_drg_attachment_network_details.rb +149 -0
  184. data/lib/oci/core/virtual_network_client.rb +2092 -236
  185. data/lib/oci/core/virtual_network_client_composite_operations.rb +446 -32
  186. data/lib/oci/data_catalog/data_catalog.rb +2 -0
  187. data/lib/oci/data_catalog/data_catalog_client.rb +91 -0
  188. data/lib/oci/data_catalog/models/attribute.rb +15 -1
  189. data/lib/oci/data_catalog/models/attribute_summary.rb +29 -1
  190. data/lib/oci/data_catalog/models/create_attribute_details.rb +15 -1
  191. data/lib/oci/data_catalog/models/create_connection_details.rb +1 -1
  192. data/lib/oci/data_catalog/models/create_custom_property_details.rb +17 -1
  193. data/lib/oci/data_catalog/models/create_entity_details.rb +15 -1
  194. data/lib/oci/data_catalog/models/create_folder_details.rb +15 -1
  195. data/lib/oci/data_catalog/models/custom_property.rb +17 -1
  196. data/lib/oci/data_catalog/models/custom_property_get_usage.rb +17 -1
  197. data/lib/oci/data_catalog/models/custom_property_summary.rb +17 -1
  198. data/lib/oci/data_catalog/models/entity.rb +15 -1
  199. data/lib/oci/data_catalog/models/entity_summary.rb +29 -1
  200. data/lib/oci/data_catalog/models/folder.rb +15 -1
  201. data/lib/oci/data_catalog/models/folder_summary.rb +15 -1
  202. data/lib/oci/data_catalog/models/job.rb +15 -1
  203. data/lib/oci/data_catalog/models/job_definition_summary.rb +18 -4
  204. data/lib/oci/data_catalog/models/job_summary.rb +15 -1
  205. data/lib/oci/data_catalog/models/search_result.rb +55 -1
  206. data/lib/oci/data_catalog/models/suggest_list_item.rb +166 -0
  207. data/lib/oci/data_catalog/models/suggest_results.rb +194 -0
  208. data/lib/oci/data_catalog/models/update_attribute_details.rb +15 -1
  209. data/lib/oci/data_catalog/models/update_connection_details.rb +1 -1
  210. data/lib/oci/data_catalog/models/update_custom_property_details.rb +17 -1
  211. data/lib/oci/data_catalog/models/update_entity_details.rb +15 -1
  212. data/lib/oci/data_catalog/models/update_folder_details.rb +15 -1
  213. data/lib/oci/data_flow/data_flow_client.rb +4 -4
  214. data/lib/oci/data_flow/data_flow_client_composite_operations.rb +1 -1
  215. data/lib/oci/data_flow/models/application.rb +16 -1
  216. data/lib/oci/data_flow/models/change_private_endpoint_compartment_details.rb +1 -1
  217. data/lib/oci/data_flow/models/create_application_details.rb +16 -1
  218. data/lib/oci/data_flow/models/create_private_endpoint_details.rb +1 -1
  219. data/lib/oci/data_flow/models/create_run_details.rb +66 -4
  220. data/lib/oci/data_flow/models/private_endpoint_collection.rb +2 -2
  221. data/lib/oci/data_flow/models/run.rb +16 -1
  222. data/lib/oci/data_flow/models/update_application_details.rb +16 -1
  223. data/lib/oci/data_flow/models/update_private_endpoint_details.rb +1 -1
  224. data/lib/oci/data_flow/models/work_request_summary.rb +1 -1
  225. data/lib/oci/data_science/data_science_client.rb +8 -7
  226. data/lib/oci/data_science/data_science_client_composite_operations.rb +4 -3
  227. data/lib/oci/database/database.rb +5 -0
  228. data/lib/oci/database/database_client.rb +278 -0
  229. data/lib/oci/database/database_client_composite_operations.rb +200 -0
  230. data/lib/oci/database/models/autonomous_container_database_dataguard_association.rb +4 -2
  231. data/lib/oci/database/models/autonomous_database.rb +20 -5
  232. data/lib/oci/database/models/autonomous_database_connection_urls.rb +18 -4
  233. data/lib/oci/database/models/autonomous_database_dataguard_association.rb +4 -2
  234. data/lib/oci/database/models/autonomous_database_summary.rb +20 -5
  235. data/lib/oci/database/models/create_autonomous_database_base.rb +18 -4
  236. data/lib/oci/database/models/create_autonomous_database_clone_details.rb +5 -1
  237. data/lib/oci/database/models/create_autonomous_database_details.rb +8 -4
  238. data/lib/oci/database/models/create_autonomous_database_from_backup_details.rb +5 -1
  239. data/lib/oci/database/models/create_autonomous_database_from_backup_timestamp_details.rb +5 -1
  240. data/lib/oci/database/models/create_database_details.rb +1 -1
  241. data/lib/oci/database/models/create_database_software_image_details.rb +2 -2
  242. data/lib/oci/database/models/create_refreshable_autonomous_database_clone_details.rb +5 -1
  243. data/lib/oci/database/models/customer_contact.rb +151 -0
  244. data/lib/oci/database/models/database.rb +1 -1
  245. data/lib/oci/database/models/database_summary.rb +1 -1
  246. data/lib/oci/database/models/enable_external_database_operations_insights_details_base.rb +156 -0
  247. data/lib/oci/database/models/enable_external_non_container_database_operations_insights_details.rb +153 -0
  248. data/lib/oci/database/models/enable_external_pluggable_database_operations_insights_details.rb +153 -0
  249. data/lib/oci/database/models/exadata_infrastructure.rb +29 -1
  250. data/lib/oci/database/models/exadata_infrastructure_summary.rb +29 -1
  251. data/lib/oci/database/models/external_container_database.rb +34 -1
  252. data/lib/oci/database/models/external_container_database_summary.rb +34 -1
  253. data/lib/oci/database/models/external_database_base.rb +28 -1
  254. data/lib/oci/database/models/external_non_container_database.rb +50 -1
  255. data/lib/oci/database/models/external_non_container_database_summary.rb +50 -1
  256. data/lib/oci/database/models/external_pluggable_database.rb +47 -1
  257. data/lib/oci/database/models/external_pluggable_database_summary.rb +47 -1
  258. data/lib/oci/database/models/maintenance_run.rb +51 -4
  259. data/lib/oci/database/models/maintenance_run_summary.rb +51 -4
  260. data/lib/oci/database/models/operations_insights_config.rb +194 -0
  261. data/lib/oci/database/models/update_autonomous_database_details.rb +18 -4
  262. data/lib/oci/database/models/update_maintenance_run_details.rb +31 -4
  263. data/lib/oci/database_management/database_management.rb +6 -0
  264. data/lib/oci/database_management/db_management_client.rb +70 -3
  265. data/lib/oci/database_management/models/activity_time_series_metrics.rb +13 -4
  266. data/lib/oci/database_management/models/change_database_parameters_details.rb +1 -1
  267. data/lib/oci/database_management/models/cluster_cache_metric.rb +156 -0
  268. data/lib/oci/database_management/models/database_home_metrics.rb +18 -4
  269. data/lib/oci/database_management/models/database_instance_home_metrics_definition.rb +234 -0
  270. data/lib/oci/database_management/models/database_parameter_summary.rb +1 -1
  271. data/lib/oci/database_management/models/database_parameters_collection.rb +1 -1
  272. data/lib/oci/database_management/models/database_time_aggregate_metrics.rb +13 -4
  273. data/lib/oci/database_management/models/instance_details.rb +205 -0
  274. data/lib/oci/database_management/models/managed_database.rb +88 -1
  275. data/lib/oci/database_management/models/pdb_status_details.rb +181 -0
  276. data/lib/oci/database_management/models/reset_database_parameters_details.rb +8 -7
  277. data/lib/oci/database_management/models/time_series_metric_data_point.rb +180 -0
  278. data/lib/oci/database_management/models/time_series_metric_definition.rb +166 -0
  279. data/lib/oci/database_management/models/update_database_parameters_result.rb +1 -1
  280. data/lib/oci/database_migration/database_migration.rb +132 -0
  281. data/lib/oci/database_migration/database_migration_client.rb +2579 -0
  282. data/lib/oci/database_migration/database_migration_client_composite_operations.rb +736 -0
  283. data/lib/oci/database_migration/models/admin_credentials.rb +152 -0
  284. data/lib/oci/database_migration/models/agent.rb +356 -0
  285. data/lib/oci/database_migration/models/agent_collection.rb +152 -0
  286. data/lib/oci/database_migration/models/agent_image_collection.rb +152 -0
  287. data/lib/oci/database_migration/models/agent_image_summary.rb +167 -0
  288. data/lib/oci/database_migration/models/agent_summary.rb +341 -0
  289. data/lib/oci/database_migration/models/change_agent_compartment_details.rb +156 -0
  290. data/lib/oci/database_migration/models/change_connection_compartment_details.rb +156 -0
  291. data/lib/oci/database_migration/models/change_migration_compartment_details.rb +156 -0
  292. data/lib/oci/database_migration/models/clone_migration_details.rb +292 -0
  293. data/lib/oci/database_migration/models/connect_descriptor.rb +193 -0
  294. data/lib/oci/database_migration/models/connection.rb +461 -0
  295. data/lib/oci/database_migration/models/connection_collection.rb +152 -0
  296. data/lib/oci/database_migration/models/connection_summary.rb +366 -0
  297. data/lib/oci/database_migration/models/create_admin_credentials.rb +163 -0
  298. data/lib/oci/database_migration/models/create_agent_details.rb +244 -0
  299. data/lib/oci/database_migration/models/create_connect_descriptor.rb +198 -0
  300. data/lib/oci/database_migration/models/create_connection_details.rb +360 -0
  301. data/lib/oci/database_migration/models/create_data_pump_parameters.rb +261 -0
  302. data/lib/oci/database_migration/models/create_data_pump_settings.rb +228 -0
  303. data/lib/oci/database_migration/models/create_data_transfer_medium_details.rb +168 -0
  304. data/lib/oci/database_migration/models/create_database_link_details.rb +152 -0
  305. data/lib/oci/database_migration/models/create_directory_object.rb +165 -0
  306. data/lib/oci/database_migration/models/create_extract.rb +188 -0
  307. data/lib/oci/database_migration/models/create_golden_gate_details.rb +160 -0
  308. data/lib/oci/database_migration/models/create_golden_gate_hub.rb +253 -0
  309. data/lib/oci/database_migration/models/create_golden_gate_settings.rb +174 -0
  310. data/lib/oci/database_migration/models/create_migration_details.rb +355 -0
  311. data/lib/oci/database_migration/models/create_object_store_bucket.rb +171 -0
  312. data/lib/oci/database_migration/models/create_private_endpoint.rb +189 -0
  313. data/lib/oci/database_migration/models/create_replicat.rb +186 -0
  314. data/lib/oci/database_migration/models/create_ssh_details.rb +190 -0
  315. data/lib/oci/database_migration/models/create_vault_details.rb +186 -0
  316. data/lib/oci/database_migration/models/data_pump_estimate.rb +11 -0
  317. data/lib/oci/database_migration/models/data_pump_exclude_parameters.rb +12 -0
  318. data/lib/oci/database_migration/models/data_pump_job_mode.rb +14 -0
  319. data/lib/oci/database_migration/models/data_pump_parameters.rb +274 -0
  320. data/lib/oci/database_migration/models/data_pump_settings.rb +235 -0
  321. data/lib/oci/database_migration/models/data_pump_table_exists_action.rb +13 -0
  322. data/lib/oci/database_migration/models/data_transfer_medium_details.rb +167 -0
  323. data/lib/oci/database_migration/models/database_connection_types.rb +12 -0
  324. data/lib/oci/database_migration/models/database_link_details.rb +152 -0
  325. data/lib/oci/database_migration/models/database_object.rb +167 -0
  326. data/lib/oci/database_migration/models/directory_object.rb +163 -0
  327. data/lib/oci/database_migration/models/extract.rb +195 -0
  328. data/lib/oci/database_migration/models/extract_performance_profile.rb +12 -0
  329. data/lib/oci/database_migration/models/generate_token.rb +156 -0
  330. data/lib/oci/database_migration/models/golden_gate_details.rb +160 -0
  331. data/lib/oci/database_migration/models/golden_gate_hub.rb +253 -0
  332. data/lib/oci/database_migration/models/golden_gate_settings.rb +174 -0
  333. data/lib/oci/database_migration/models/job.rb +372 -0
  334. data/lib/oci/database_migration/models/job_collection.rb +152 -0
  335. data/lib/oci/database_migration/models/job_lifecycle_states.rb +18 -0
  336. data/lib/oci/database_migration/models/job_output_summary.rb +152 -0
  337. data/lib/oci/database_migration/models/job_output_summary_collection.rb +152 -0
  338. data/lib/oci/database_migration/models/job_phase_status.rb +13 -0
  339. data/lib/oci/database_migration/models/job_summary.rb +357 -0
  340. data/lib/oci/database_migration/models/job_types.rb +11 -0
  341. data/lib/oci/database_migration/models/lifecycle_states.rb +16 -0
  342. data/lib/oci/database_migration/models/metadata_remap.rb +205 -0
  343. data/lib/oci/database_migration/models/migration.rb +590 -0
  344. data/lib/oci/database_migration/models/migration_collection.rb +152 -0
  345. data/lib/oci/database_migration/models/migration_job_progress_resource.rb +237 -0
  346. data/lib/oci/database_migration/models/migration_job_progress_summary.rb +241 -0
  347. data/lib/oci/database_migration/models/migration_phase_collection.rb +152 -0
  348. data/lib/oci/database_migration/models/migration_phase_summary.rb +234 -0
  349. data/lib/oci/database_migration/models/migration_status.rb +16 -0
  350. data/lib/oci/database_migration/models/migration_summary.rb +472 -0
  351. data/lib/oci/database_migration/models/migration_types.rb +11 -0
  352. data/lib/oci/database_migration/models/object_store_bucket.rb +171 -0
  353. data/lib/oci/database_migration/models/odms_job_phases.rb +25 -0
  354. data/lib/oci/database_migration/models/odms_phase_actions.rb +10 -0
  355. data/lib/oci/database_migration/models/operation_status.rb +15 -0
  356. data/lib/oci/database_migration/models/operation_types.rb +20 -0
  357. data/lib/oci/database_migration/models/par_link.rb +156 -0
  358. data/lib/oci/database_migration/models/phase_status.rb +244 -0
  359. data/lib/oci/database_migration/models/private_endpoint_details.rb +199 -0
  360. data/lib/oci/database_migration/models/replicat.rb +186 -0
  361. data/lib/oci/database_migration/models/resume_job_details.rb +184 -0
  362. data/lib/oci/database_migration/models/sort_orders.rb +11 -0
  363. data/lib/oci/database_migration/models/ssh_details.rb +178 -0
  364. data/lib/oci/database_migration/models/start_migration_details.rb +184 -0
  365. data/lib/oci/database_migration/models/unsupported_database_object.rb +197 -0
  366. data/lib/oci/database_migration/models/update_admin_credentials.rb +163 -0
  367. data/lib/oci/database_migration/models/update_agent_details.rb +244 -0
  368. data/lib/oci/database_migration/models/update_connect_descriptor.rb +197 -0
  369. data/lib/oci/database_migration/models/update_connection_details.rb +312 -0
  370. data/lib/oci/database_migration/models/update_data_pump_parameters.rb +262 -0
  371. data/lib/oci/database_migration/models/update_data_pump_settings.rb +229 -0
  372. data/lib/oci/database_migration/models/update_data_transfer_medium_details.rb +169 -0
  373. data/lib/oci/database_migration/models/update_database_link_details.rb +152 -0
  374. data/lib/oci/database_migration/models/update_directory_object.rb +166 -0
  375. data/lib/oci/database_migration/models/update_extract.rb +189 -0
  376. data/lib/oci/database_migration/models/update_golden_gate_details.rb +159 -0
  377. data/lib/oci/database_migration/models/update_golden_gate_hub.rb +250 -0
  378. data/lib/oci/database_migration/models/update_golden_gate_settings.rb +175 -0
  379. data/lib/oci/database_migration/models/update_job_details.rb +188 -0
  380. data/lib/oci/database_migration/models/update_migration_details.rb +342 -0
  381. data/lib/oci/database_migration/models/update_object_store_bucket.rb +171 -0
  382. data/lib/oci/database_migration/models/update_private_endpoint.rb +189 -0
  383. data/lib/oci/database_migration/models/update_replicat.rb +187 -0
  384. data/lib/oci/database_migration/models/update_ssh_details.rb +189 -0
  385. data/lib/oci/database_migration/models/update_vault_details.rb +186 -0
  386. data/lib/oci/database_migration/models/vault_details.rb +186 -0
  387. data/lib/oci/database_migration/models/work_request.rb +319 -0
  388. data/lib/oci/database_migration/models/work_request_collection.rb +152 -0
  389. data/lib/oci/database_migration/models/work_request_error.rb +180 -0
  390. data/lib/oci/database_migration/models/work_request_error_collection.rb +152 -0
  391. data/lib/oci/database_migration/models/work_request_log_entry.rb +167 -0
  392. data/lib/oci/database_migration/models/work_request_log_entry_collection.rb +152 -0
  393. data/lib/oci/database_migration/models/work_request_resource.rb +223 -0
  394. data/lib/oci/database_migration/models/work_request_summary.rb +280 -0
  395. data/lib/oci/database_migration/util.rb +3 -0
  396. data/lib/oci/functions/functions.rb +2 -0
  397. data/lib/oci/functions/models/application.rb +14 -1
  398. data/lib/oci/functions/models/application_summary.rb +14 -1
  399. data/lib/oci/functions/models/application_trace_config.rb +171 -0
  400. data/lib/oci/functions/models/create_application_details.rb +14 -1
  401. data/lib/oci/functions/models/create_function_details.rb +14 -1
  402. data/lib/oci/functions/models/function.rb +14 -1
  403. data/lib/oci/functions/models/function_summary.rb +14 -1
  404. data/lib/oci/functions/models/function_trace_config.rb +156 -0
  405. data/lib/oci/functions/models/update_application_details.rb +14 -1
  406. data/lib/oci/functions/models/update_function_details.rb +14 -1
  407. data/lib/oci/limits/limits_client.rb +3 -3
  408. data/lib/oci/limits/models/limit_definition_summary.rb +34 -4
  409. data/lib/oci/limits/models/resource_availability.rb +54 -6
  410. data/lib/oci/limits/quotas_client.rb +1 -1
  411. data/lib/oci/loggingsearch/models/search_result.rb +1 -0
  412. data/lib/oci/object_storage/models/bucket.rb +40 -4
  413. data/lib/oci/object_storage/models/create_bucket_details.rb +22 -4
  414. data/lib/oci/object_storage/models/update_bucket_details.rb +21 -4
  415. data/lib/oci/object_storage/object_storage_client.rb +8 -5
  416. data/lib/oci/ocvp/models/create_esxi_host_details.rb +66 -1
  417. data/lib/oci/ocvp/models/create_sddc_details.rb +34 -1
  418. data/lib/oci/ocvp/models/esxi_host.rb +94 -1
  419. data/lib/oci/ocvp/models/esxi_host_summary.rb +94 -1
  420. data/lib/oci/ocvp/models/sddc.rb +40 -1
  421. data/lib/oci/ocvp/models/sku.rb +13 -0
  422. data/lib/oci/ocvp/models/supported_sku_summary.rb +173 -0
  423. data/lib/oci/ocvp/models/supported_sku_summary_collection.rb +150 -0
  424. data/lib/oci/ocvp/models/update_esxi_host_details.rb +32 -1
  425. data/lib/oci/ocvp/ocvp.rb +3 -0
  426. data/lib/oci/ocvp/sddc_client.rb +68 -0
  427. data/lib/oci/operator_access_control/access_requests_client.rb +515 -0
  428. data/lib/oci/operator_access_control/access_requests_client_composite_operations.rb +25 -0
  429. data/lib/oci/operator_access_control/models/access_request.rb +583 -0
  430. data/lib/oci/operator_access_control/models/access_request_collection.rb +150 -0
  431. data/lib/oci/operator_access_control/models/access_request_history_collection.rb +150 -0
  432. data/lib/oci/operator_access_control/models/access_request_history_summary.rb +269 -0
  433. data/lib/oci/operator_access_control/models/access_request_lifecycle_states.rb +29 -0
  434. data/lib/oci/operator_access_control/models/access_request_severities.rb +13 -0
  435. data/lib/oci/operator_access_control/models/access_request_summary.rb +403 -0
  436. data/lib/oci/operator_access_control/models/approve_access_request_details.rb +185 -0
  437. data/lib/oci/operator_access_control/models/change_operator_control_assignment_compartment_details.rb +154 -0
  438. data/lib/oci/operator_access_control/models/change_operator_control_compartment_details.rb +154 -0
  439. data/lib/oci/operator_access_control/models/create_operator_control_assignment_details.rb +322 -0
  440. data/lib/oci/operator_access_control/models/create_operator_control_details.rb +302 -0
  441. data/lib/oci/operator_access_control/models/infrastrcuture_layers.rb +12 -0
  442. data/lib/oci/operator_access_control/models/operator_action.rb +198 -0
  443. data/lib/oci/operator_access_control/models/operator_action_categories.rb +14 -0
  444. data/lib/oci/operator_access_control/models/operator_action_collection.rb +150 -0
  445. data/lib/oci/operator_access_control/models/operator_action_lifecycle_states.rb +11 -0
  446. data/lib/oci/operator_access_control/models/operator_action_properties.rb +160 -0
  447. data/lib/oci/operator_access_control/models/operator_action_summary.rb +230 -0
  448. data/lib/oci/operator_access_control/models/operator_control.rb +407 -0
  449. data/lib/oci/operator_access_control/models/operator_control_assignment.rb +448 -0
  450. data/lib/oci/operator_access_control/models/operator_control_assignment_collection.rb +150 -0
  451. data/lib/oci/operator_access_control/models/operator_control_assignment_lifecycle_states.rb +13 -0
  452. data/lib/oci/operator_access_control/models/operator_control_assignment_summary.rb +331 -0
  453. data/lib/oci/operator_access_control/models/operator_control_collection.rb +150 -0
  454. data/lib/oci/operator_access_control/models/operator_control_lifecycle_states.rb +13 -0
  455. data/lib/oci/operator_access_control/models/operator_control_summary.rb +303 -0
  456. data/lib/oci/operator_access_control/models/reject_access_request_details.rb +154 -0
  457. data/lib/oci/operator_access_control/models/resource_types.rb +10 -0
  458. data/lib/oci/operator_access_control/models/revoke_access_request_details.rb +154 -0
  459. data/lib/oci/operator_access_control/models/sort_orders.rb +11 -0
  460. data/lib/oci/operator_access_control/models/update_operator_control_assignment_details.rb +224 -0
  461. data/lib/oci/operator_access_control/models/update_operator_control_details.rb +283 -0
  462. data/lib/oci/operator_access_control/operator_access_control.rb +57 -0
  463. data/lib/oci/operator_access_control/operator_actions_client.rb +243 -0
  464. data/lib/oci/operator_access_control/operator_actions_client_composite_operations.rb +25 -0
  465. data/lib/oci/operator_access_control/operator_control_assignment_client.rb +501 -0
  466. data/lib/oci/operator_access_control/operator_control_assignment_client_composite_operations.rb +105 -0
  467. data/lib/oci/operator_access_control/operator_control_client.rb +507 -0
  468. data/lib/oci/operator_access_control/operator_control_client_composite_operations.rb +144 -0
  469. data/lib/oci/operator_access_control/util.rb +3 -0
  470. data/lib/oci/opsi/models/action_type.rb +14 -0
  471. data/lib/oci/opsi/models/autonomous_database_insight.rb +271 -0
  472. data/lib/oci/opsi/models/autonomous_database_insight_summary.rb +230 -0
  473. data/lib/oci/opsi/models/change_database_insight_compartment_details.rb +155 -0
  474. data/lib/oci/opsi/models/change_enterprise_manager_bridge_compartment_details.rb +155 -0
  475. data/lib/oci/opsi/models/change_host_insight_compartment_details.rb +155 -0
  476. data/lib/oci/opsi/models/connection_details.rb +208 -0
  477. data/lib/oci/opsi/models/create_database_insight_details.rb +228 -0
  478. data/lib/oci/opsi/models/create_em_managed_external_database_insight_details.rb +202 -0
  479. data/lib/oci/opsi/models/create_enterprise_manager_bridge_details.rb +224 -0
  480. data/lib/oci/opsi/models/create_host_insight_details.rb +228 -0
  481. data/lib/oci/opsi/models/create_macs_managed_external_host_insight_details.rb +174 -0
  482. data/lib/oci/opsi/models/credential_details.rb +204 -0
  483. data/lib/oci/opsi/models/credentials_by_source.rb +150 -0
  484. data/lib/oci/opsi/models/database_configuration_metric_group.rb +204 -0
  485. data/lib/oci/opsi/models/database_details.rb +24 -4
  486. data/lib/oci/opsi/models/database_entity_source.rb +10 -0
  487. data/lib/oci/opsi/models/database_entity_source_all.rb +12 -0
  488. data/lib/oci/opsi/models/database_insight.rb +416 -0
  489. data/lib/oci/opsi/models/database_insight_summary.rb +191 -5
  490. data/lib/oci/opsi/models/db_external_instance.rb +300 -0
  491. data/lib/oci/opsi/models/db_external_properties.rb +280 -0
  492. data/lib/oci/opsi/models/dbos_config_instance.rb +236 -0
  493. data/lib/oci/opsi/models/em_managed_external_database_insight.rb +284 -0
  494. data/lib/oci/opsi/models/em_managed_external_database_insight_summary.rb +300 -0
  495. data/lib/oci/opsi/models/enable_database_insight_details.rb +182 -0
  496. data/lib/oci/opsi/models/enable_em_managed_external_database_insight_details.rb +145 -0
  497. data/lib/oci/opsi/models/enable_host_insight_details.rb +182 -0
  498. data/lib/oci/opsi/models/enable_macs_managed_external_host_insight_details.rb +145 -0
  499. data/lib/oci/opsi/models/enterprise_manager_bridge.rb +344 -0
  500. data/lib/oci/opsi/models/enterprise_manager_bridge_collection.rb +150 -0
  501. data/lib/oci/opsi/models/enterprise_manager_bridge_summary.rb +334 -0
  502. data/lib/oci/opsi/models/enterprise_manager_bridges.rb +154 -0
  503. data/lib/oci/opsi/models/host_configuration_metric_group.rb +212 -0
  504. data/lib/oci/opsi/models/host_cpu_hardware_configuration.rb +289 -0
  505. data/lib/oci/opsi/models/host_cpu_statistics.rb +174 -0
  506. data/lib/oci/opsi/models/host_cpu_usage.rb +279 -0
  507. data/lib/oci/opsi/models/host_details.rb +225 -0
  508. data/lib/oci/opsi/models/host_entities.rb +181 -0
  509. data/lib/oci/opsi/models/host_entity_source.rb +10 -0
  510. data/lib/oci/opsi/models/host_hardware_configuration.rb +167 -0
  511. data/lib/oci/opsi/models/host_insight.rb +426 -0
  512. data/lib/oci/opsi/models/host_insight_resource_statistics_aggregation.rb +169 -0
  513. data/lib/oci/opsi/models/host_insight_summary.rb +426 -0
  514. data/lib/oci/opsi/models/host_insight_summary_collection.rb +150 -0
  515. data/lib/oci/opsi/models/host_insights.rb +154 -0
  516. data/lib/oci/opsi/models/host_instance_map.rb +168 -0
  517. data/lib/oci/opsi/models/host_memory_configuration.rb +223 -0
  518. data/lib/oci/opsi/models/host_memory_statistics.rb +260 -0
  519. data/lib/oci/opsi/models/host_memory_usage.rb +349 -0
  520. data/lib/oci/opsi/models/host_network_activity_summary.rb +195 -0
  521. data/lib/oci/opsi/models/host_network_configuration.rb +195 -0
  522. data/lib/oci/opsi/models/host_performance_metric_group.rb +204 -0
  523. data/lib/oci/opsi/models/host_product.rb +183 -0
  524. data/lib/oci/opsi/models/host_resource_allocation.rb +181 -0
  525. data/lib/oci/opsi/models/host_resource_capacity_trend_aggregation.rb +165 -0
  526. data/lib/oci/opsi/models/host_resource_statistics.rb +243 -0
  527. data/lib/oci/opsi/models/hosted_entity_collection.rb +180 -0
  528. data/lib/oci/opsi/models/hosted_entity_summary.rb +183 -0
  529. data/lib/oci/opsi/models/importable_enterprise_manager_entity.rb +210 -0
  530. data/lib/oci/opsi/models/importable_enterprise_manager_entity_collection.rb +150 -0
  531. data/lib/oci/opsi/models/ingest_database_configuration_details.rb +150 -0
  532. data/lib/oci/opsi/models/ingest_database_configuration_response_details.rb +152 -0
  533. data/lib/oci/opsi/models/ingest_host_configuration_details.rb +151 -0
  534. data/lib/oci/opsi/models/ingest_host_configuration_response_details.rb +152 -0
  535. data/lib/oci/opsi/models/ingest_host_metrics_details.rb +151 -0
  536. data/lib/oci/opsi/models/ingest_host_metrics_response_details.rb +152 -0
  537. data/lib/oci/opsi/models/lifecycle_state.rb +15 -0
  538. data/lib/oci/opsi/models/macs_managed_external_database_insight.rb +325 -0
  539. data/lib/oci/opsi/models/macs_managed_external_database_insight_summary.rb +258 -0
  540. data/lib/oci/opsi/models/macs_managed_external_host_insight.rb +279 -0
  541. data/lib/oci/opsi/models/macs_managed_external_host_insight_summary.rb +251 -0
  542. data/lib/oci/opsi/models/operation_status.rb +15 -0
  543. data/lib/oci/opsi/models/operation_type.rb +25 -0
  544. data/lib/oci/opsi/models/resource_status.rb +12 -0
  545. data/lib/oci/opsi/models/sql_plan_collection.rb +11 -1
  546. data/lib/oci/opsi/models/sql_plan_insight_aggregation_collection.rb +11 -1
  547. data/lib/oci/opsi/models/sql_response_time_distribution_aggregation_collection.rb +11 -1
  548. data/lib/oci/opsi/models/sql_search_summary.rb +11 -1
  549. data/lib/oci/opsi/models/sql_statistics_time_series_by_plan_aggregation_collection.rb +11 -1
  550. data/lib/oci/opsi/models/sql_text_summary.rb +11 -1
  551. data/lib/oci/opsi/models/summarize_database_insight_resource_capacity_trend_aggregation_collection.rb +5 -1
  552. data/lib/oci/opsi/models/summarize_database_insight_resource_forecast_trend_aggregation.rb +5 -1
  553. data/lib/oci/opsi/models/summarize_database_insight_resource_statistics_aggregation_collection.rb +5 -1
  554. data/lib/oci/opsi/models/summarize_database_insight_resource_usage_aggregation.rb +5 -1
  555. data/lib/oci/opsi/models/summarize_database_insight_resource_usage_trend_aggregation_collection.rb +5 -1
  556. data/lib/oci/opsi/models/summarize_database_insight_resource_utilization_insight_aggregation.rb +5 -1
  557. data/lib/oci/opsi/models/summarize_database_insight_tablespace_usage_trend_aggregation_collection.rb +232 -0
  558. data/lib/oci/opsi/models/summarize_host_insight_resource_capacity_trend_aggregation_collection.rb +271 -0
  559. data/lib/oci/opsi/models/summarize_host_insight_resource_forecast_trend_aggregation.rb +304 -0
  560. data/lib/oci/opsi/models/summarize_host_insight_resource_statistics_aggregation_collection.rb +251 -0
  561. data/lib/oci/opsi/models/summarize_host_insight_resource_usage_aggregation.rb +277 -0
  562. data/lib/oci/opsi/models/summarize_host_insight_resource_usage_trend_aggregation_collection.rb +271 -0
  563. data/lib/oci/opsi/models/summarize_host_insight_resource_utilization_insight_aggregation.rb +233 -0
  564. data/lib/oci/opsi/models/summary_statistics.rb +209 -0
  565. data/lib/oci/opsi/models/tablespace_usage_trend.rb +176 -0
  566. data/lib/oci/opsi/models/tablespace_usage_trend_aggregation.rb +182 -0
  567. data/lib/oci/opsi/models/update_autonomous_database_insight_details.rb +153 -0
  568. data/lib/oci/opsi/models/update_database_insight_details.rb +218 -0
  569. data/lib/oci/opsi/models/update_em_managed_external_database_insight_details.rb +153 -0
  570. data/lib/oci/opsi/models/update_enterprise_manager_bridge_details.rb +196 -0
  571. data/lib/oci/opsi/models/update_host_insight_details.rb +214 -0
  572. data/lib/oci/opsi/models/update_macs_managed_external_database_insight_details.rb +153 -0
  573. data/lib/oci/opsi/models/update_macs_managed_external_host_insight_details.rb +153 -0
  574. data/lib/oci/opsi/models/work_request.rb +320 -0
  575. data/lib/oci/opsi/models/work_request_collection.rb +150 -0
  576. data/lib/oci/opsi/models/work_request_error.rb +173 -0
  577. data/lib/oci/opsi/models/work_request_error_collection.rb +150 -0
  578. data/lib/oci/opsi/models/work_request_log_entry.rb +160 -0
  579. data/lib/oci/opsi/models/work_request_log_entry_collection.rb +150 -0
  580. data/lib/oci/opsi/models/work_request_resource.rb +219 -0
  581. data/lib/oci/opsi/models/work_requests.rb +154 -0
  582. data/lib/oci/opsi/operations_insights_client.rb +3475 -411
  583. data/lib/oci/opsi/operations_insights_client_composite_operations.rb +792 -0
  584. data/lib/oci/opsi/opsi.rb +99 -0
  585. data/lib/oci/regions.rb +1 -1
  586. data/lib/oci/resource_manager/models/config_source.rb +2 -0
  587. data/lib/oci/resource_manager/models/config_source_record.rb +2 -0
  588. data/lib/oci/resource_manager/models/create_config_source_details.rb +1 -0
  589. data/lib/oci/resource_manager/models/create_object_storage_config_source_details.rb +189 -0
  590. data/lib/oci/resource_manager/models/object_storage_config_source.rb +189 -0
  591. data/lib/oci/resource_manager/models/object_storage_config_source_record.rb +185 -0
  592. data/lib/oci/resource_manager/models/update_config_source_details.rb +1 -0
  593. data/lib/oci/resource_manager/models/update_object_storage_config_source_details.rb +188 -0
  594. data/lib/oci/resource_manager/resource_manager.rb +4 -0
  595. data/lib/oci/resource_manager/resource_manager_client.rb +1 -0
  596. data/lib/oci/retry/functions/should_retry_on_error.rb +31 -0
  597. data/lib/oci/retry/retry.rb +15 -0
  598. data/lib/oci/sch/models/function_task_details.rb +194 -0
  599. data/lib/oci/sch/models/latest_streaming_cursor.rb +146 -0
  600. data/lib/oci/sch/models/source_details.rb +2 -0
  601. data/lib/oci/sch/models/streaming_cursor_details.rb +189 -0
  602. data/lib/oci/sch/models/streaming_source_details.rb +173 -0
  603. data/lib/oci/sch/models/task_details.rb +2 -0
  604. data/lib/oci/sch/models/trim_horizon_streaming_cursor.rb +146 -0
  605. data/lib/oci/sch/sch.rb +5 -0
  606. data/lib/oci/service_catalog/models/action_type.rb +13 -0
  607. data/lib/oci/service_catalog/models/application_collection.rb +150 -0
  608. data/lib/oci/service_catalog/models/application_summary.rb +295 -0
  609. data/lib/oci/service_catalog/models/bulk_replace_service_catalog_associations_details.rb +150 -0
  610. data/lib/oci/service_catalog/models/change_private_application_compartment_details.rb +155 -0
  611. data/lib/oci/service_catalog/models/change_service_catalog_compartment_details.rb +154 -0
  612. data/lib/oci/service_catalog/models/create_private_application_details.rb +259 -0
  613. data/lib/oci/service_catalog/models/create_private_application_package.rb +192 -0
  614. data/lib/oci/service_catalog/models/create_private_application_stack_package.rb +166 -0
  615. data/lib/oci/service_catalog/models/create_service_catalog_association_details.rb +182 -0
  616. data/lib/oci/service_catalog/models/create_service_catalog_details.rb +200 -0
  617. data/lib/oci/service_catalog/models/error_entity.rb +160 -0
  618. data/lib/oci/service_catalog/models/operation_status.rb +12 -0
  619. data/lib/oci/service_catalog/models/operation_type.rb +13 -0
  620. data/lib/oci/service_catalog/models/package_type_enum.rb +10 -0
  621. data/lib/oci/service_catalog/models/pricing_type_enum.rb +12 -0
  622. data/lib/oci/service_catalog/models/private_application.rb +354 -0
  623. data/lib/oci/service_catalog/models/private_application_collection.rb +150 -0
  624. data/lib/oci/service_catalog/models/private_application_package.rb +257 -0
  625. data/lib/oci/service_catalog/models/private_application_package_collection.rb +150 -0
  626. data/lib/oci/service_catalog/models/private_application_package_summary.rb +241 -0
  627. data/lib/oci/service_catalog/models/private_application_stack_package.rb +196 -0
  628. data/lib/oci/service_catalog/models/private_application_summary.rb +268 -0
  629. data/lib/oci/service_catalog/models/publisher_summary.rb +164 -0
  630. data/lib/oci/service_catalog/models/service_catalog.rb +280 -0
  631. data/lib/oci/service_catalog/models/service_catalog_association.rb +206 -0
  632. data/lib/oci/service_catalog/models/service_catalog_association_collection.rb +150 -0
  633. data/lib/oci/service_catalog/models/service_catalog_association_summary.rb +206 -0
  634. data/lib/oci/service_catalog/models/service_catalog_collection.rb +150 -0
  635. data/lib/oci/service_catalog/models/service_catalog_summary.rb +210 -0
  636. data/lib/oci/service_catalog/models/update_private_application_details.rb +230 -0
  637. data/lib/oci/service_catalog/models/update_service_catalog_details.rb +186 -0
  638. data/lib/oci/service_catalog/models/upload_data.rb +182 -0
  639. data/lib/oci/service_catalog/models/work_request.rb +305 -0
  640. data/lib/oci/service_catalog/models/work_request_error.rb +173 -0
  641. data/lib/oci/service_catalog/models/work_request_error_collection.rb +150 -0
  642. data/lib/oci/service_catalog/models/work_request_log_entry.rb +160 -0
  643. data/lib/oci/service_catalog/models/work_request_log_entry_collection.rb +150 -0
  644. data/lib/oci/service_catalog/models/work_request_resource.rb +222 -0
  645. data/lib/oci/service_catalog/models/work_request_summary.rb +305 -0
  646. data/lib/oci/service_catalog/models/work_request_summary_collection.rb +150 -0
  647. data/lib/oci/service_catalog/service_catalog.rb +61 -0
  648. data/lib/oci/service_catalog/service_catalog_client.rb +1957 -0
  649. data/lib/oci/service_catalog/service_catalog_client_composite_operations.rb +342 -0
  650. data/lib/oci/service_catalog/util.rb +3 -0
  651. data/lib/oci/version.rb +1 -1
  652. data/lib/oci/waas/models/access_rule.rb +1 -1
  653. data/lib/oci/waas/models/address_rate_limiting.rb +1 -1
  654. data/lib/oci/waas/models/block_challenge_settings.rb +1 -1
  655. data/lib/oci/waas/models/certificate.rb +36 -4
  656. data/lib/oci/waas/models/load_balancing_method.rb +3 -3
  657. data/lib/oci/waas/models/origin.rb +2 -2
  658. data/lib/oci/waas/redirect_client.rb +1 -1
  659. data/lib/oci/waas/waas_client.rb +1 -1
  660. metadata +428 -2
@@ -0,0 +1,407 @@
1
+ # Copyright (c) 2016, 2021, 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
+ # Operator Access Control enables you to grant, audit, or revoke the access Oracle has to your Exadata Cloud@Customer infrastructure, and obtain audit reports of all actions taken by a human operator, in a near real-time manner.
10
+ #
11
+ class OperatorAccessControl::Models::OperatorControl
12
+ LIFECYCLE_STATE_ENUM = [
13
+ LIFECYCLE_STATE_CREATED = 'CREATED'.freeze,
14
+ LIFECYCLE_STATE_ASSIGNED = 'ASSIGNED'.freeze,
15
+ LIFECYCLE_STATE_UNASSIGNED = 'UNASSIGNED'.freeze,
16
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
17
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ # **[Required]** The OCID of the operator control.
21
+ # @return [String]
22
+ attr_accessor :id
23
+
24
+ # **[Required]** Name of the operator control. The name must be unique.
25
+ # @return [String]
26
+ attr_accessor :operator_control_name
27
+
28
+ # Description of operator control.
29
+ # @return [String]
30
+ attr_accessor :description
31
+
32
+ # List of users who can approve an access request associated with a target resource under the governance of this operator control.
33
+ # @return [Array<String>]
34
+ attr_accessor :approvers_list
35
+
36
+ # List of user groups who can approve an access request associated with a target resource under the governance of this operator control.
37
+ # @return [Array<String>]
38
+ attr_accessor :approver_groups_list
39
+
40
+ # List of pre-approved operator actions. Access requests associated with a resource governed by this operator control will be
41
+ # automatically approved if the access request only contain operator actions in the pre-approved list.
42
+ #
43
+ # @return [Array<String>]
44
+ attr_accessor :pre_approved_op_action_list
45
+
46
+ # List of operator actions that need explicit approval. Any operator action not in the pre-approved list will require explicit
47
+ # approval. Access requests associated with a resource governed by this operator control will be
48
+ # require explicit approval if the access request contains any operator action in this list.
49
+ #
50
+ # @return [Array<String>]
51
+ attr_accessor :approval_required_op_action_list
52
+
53
+ # Whether all the operator actions have been pre-approved. If yes, all access requests associated with a resource governed by this operator control
54
+ # will be auto-approved.
55
+ #
56
+ # @return [BOOLEAN]
57
+ attr_accessor :is_fully_pre_approved
58
+
59
+ # System message that would be displayed to the operator users on accessing the target resource under the governance of this operator control.
60
+ # @return [String]
61
+ attr_accessor :system_message
62
+
63
+ # **[Required]** The OCID of the compartment that contains the operator control.
64
+ # @return [String]
65
+ attr_accessor :compartment_id
66
+
67
+ # The current lifecycle state of the operator control.
68
+ # @return [String]
69
+ attr_reader :lifecycle_state
70
+
71
+ # Time when the operator control was created expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
72
+ #
73
+ # @return [DateTime]
74
+ attr_accessor :time_of_creation
75
+
76
+ # Time when the operator control was last modified expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
77
+ #
78
+ # @return [DateTime]
79
+ attr_accessor :time_of_modification
80
+
81
+ # Time when deleted expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format. Example: '2020-05-22T21:10:29.600Z'.
82
+ # Note a deleted operator control still stays in the system, so that you can still audit operator actions associated with access requests
83
+ # raised on target resources governed by the deleted operator control.
84
+ #
85
+ # @return [DateTime]
86
+ attr_accessor :time_of_deletion
87
+
88
+ # Description associated with the latest modification of the operator control.
89
+ # @return [String]
90
+ attr_accessor :last_modified_info
91
+
92
+ # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
93
+ #
94
+ # @return [Hash<String, String>]
95
+ attr_accessor :freeform_tags
96
+
97
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
98
+ #
99
+ # @return [Hash<String, Hash<String, Object>>]
100
+ attr_accessor :defined_tags
101
+
102
+ # Attribute mapping from ruby-style variable name to JSON key.
103
+ def self.attribute_map
104
+ {
105
+ # rubocop:disable Style/SymbolLiteral
106
+ 'id': :'id',
107
+ 'operator_control_name': :'operatorControlName',
108
+ 'description': :'description',
109
+ 'approvers_list': :'approversList',
110
+ 'approver_groups_list': :'approverGroupsList',
111
+ 'pre_approved_op_action_list': :'preApprovedOpActionList',
112
+ 'approval_required_op_action_list': :'approvalRequiredOpActionList',
113
+ 'is_fully_pre_approved': :'isFullyPreApproved',
114
+ 'system_message': :'systemMessage',
115
+ 'compartment_id': :'compartmentId',
116
+ 'lifecycle_state': :'lifecycleState',
117
+ 'time_of_creation': :'timeOfCreation',
118
+ 'time_of_modification': :'timeOfModification',
119
+ 'time_of_deletion': :'timeOfDeletion',
120
+ 'last_modified_info': :'lastModifiedInfo',
121
+ 'freeform_tags': :'freeformTags',
122
+ 'defined_tags': :'definedTags'
123
+ # rubocop:enable Style/SymbolLiteral
124
+ }
125
+ end
126
+
127
+ # Attribute type mapping.
128
+ def self.swagger_types
129
+ {
130
+ # rubocop:disable Style/SymbolLiteral
131
+ 'id': :'String',
132
+ 'operator_control_name': :'String',
133
+ 'description': :'String',
134
+ 'approvers_list': :'Array<String>',
135
+ 'approver_groups_list': :'Array<String>',
136
+ 'pre_approved_op_action_list': :'Array<String>',
137
+ 'approval_required_op_action_list': :'Array<String>',
138
+ 'is_fully_pre_approved': :'BOOLEAN',
139
+ 'system_message': :'String',
140
+ 'compartment_id': :'String',
141
+ 'lifecycle_state': :'String',
142
+ 'time_of_creation': :'DateTime',
143
+ 'time_of_modification': :'DateTime',
144
+ 'time_of_deletion': :'DateTime',
145
+ 'last_modified_info': :'String',
146
+ 'freeform_tags': :'Hash<String, String>',
147
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
148
+ # rubocop:enable Style/SymbolLiteral
149
+ }
150
+ end
151
+
152
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
153
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
154
+
155
+
156
+ # Initializes the object
157
+ # @param [Hash] attributes Model attributes in the form of hash
158
+ # @option attributes [String] :id The value to assign to the {#id} property
159
+ # @option attributes [String] :operator_control_name The value to assign to the {#operator_control_name} property
160
+ # @option attributes [String] :description The value to assign to the {#description} property
161
+ # @option attributes [Array<String>] :approvers_list The value to assign to the {#approvers_list} property
162
+ # @option attributes [Array<String>] :approver_groups_list The value to assign to the {#approver_groups_list} property
163
+ # @option attributes [Array<String>] :pre_approved_op_action_list The value to assign to the {#pre_approved_op_action_list} property
164
+ # @option attributes [Array<String>] :approval_required_op_action_list The value to assign to the {#approval_required_op_action_list} property
165
+ # @option attributes [BOOLEAN] :is_fully_pre_approved The value to assign to the {#is_fully_pre_approved} property
166
+ # @option attributes [String] :system_message The value to assign to the {#system_message} property
167
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
168
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
169
+ # @option attributes [DateTime] :time_of_creation The value to assign to the {#time_of_creation} property
170
+ # @option attributes [DateTime] :time_of_modification The value to assign to the {#time_of_modification} property
171
+ # @option attributes [DateTime] :time_of_deletion The value to assign to the {#time_of_deletion} property
172
+ # @option attributes [String] :last_modified_info The value to assign to the {#last_modified_info} property
173
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
174
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
175
+ def initialize(attributes = {})
176
+ return unless attributes.is_a?(Hash)
177
+
178
+ # convert string to symbol for hash key
179
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
180
+
181
+ self.id = attributes[:'id'] if attributes[:'id']
182
+
183
+ self.operator_control_name = attributes[:'operatorControlName'] if attributes[:'operatorControlName']
184
+
185
+ raise 'You cannot provide both :operatorControlName and :operator_control_name' if attributes.key?(:'operatorControlName') && attributes.key?(:'operator_control_name')
186
+
187
+ self.operator_control_name = attributes[:'operator_control_name'] if attributes[:'operator_control_name']
188
+
189
+ self.description = attributes[:'description'] if attributes[:'description']
190
+
191
+ self.approvers_list = attributes[:'approversList'] if attributes[:'approversList']
192
+
193
+ raise 'You cannot provide both :approversList and :approvers_list' if attributes.key?(:'approversList') && attributes.key?(:'approvers_list')
194
+
195
+ self.approvers_list = attributes[:'approvers_list'] if attributes[:'approvers_list']
196
+
197
+ self.approver_groups_list = attributes[:'approverGroupsList'] if attributes[:'approverGroupsList']
198
+
199
+ raise 'You cannot provide both :approverGroupsList and :approver_groups_list' if attributes.key?(:'approverGroupsList') && attributes.key?(:'approver_groups_list')
200
+
201
+ self.approver_groups_list = attributes[:'approver_groups_list'] if attributes[:'approver_groups_list']
202
+
203
+ self.pre_approved_op_action_list = attributes[:'preApprovedOpActionList'] if attributes[:'preApprovedOpActionList']
204
+
205
+ raise 'You cannot provide both :preApprovedOpActionList and :pre_approved_op_action_list' if attributes.key?(:'preApprovedOpActionList') && attributes.key?(:'pre_approved_op_action_list')
206
+
207
+ self.pre_approved_op_action_list = attributes[:'pre_approved_op_action_list'] if attributes[:'pre_approved_op_action_list']
208
+
209
+ self.approval_required_op_action_list = attributes[:'approvalRequiredOpActionList'] if attributes[:'approvalRequiredOpActionList']
210
+
211
+ raise 'You cannot provide both :approvalRequiredOpActionList and :approval_required_op_action_list' if attributes.key?(:'approvalRequiredOpActionList') && attributes.key?(:'approval_required_op_action_list')
212
+
213
+ self.approval_required_op_action_list = attributes[:'approval_required_op_action_list'] if attributes[:'approval_required_op_action_list']
214
+
215
+ self.is_fully_pre_approved = attributes[:'isFullyPreApproved'] unless attributes[:'isFullyPreApproved'].nil?
216
+
217
+ raise 'You cannot provide both :isFullyPreApproved and :is_fully_pre_approved' if attributes.key?(:'isFullyPreApproved') && attributes.key?(:'is_fully_pre_approved')
218
+
219
+ self.is_fully_pre_approved = attributes[:'is_fully_pre_approved'] unless attributes[:'is_fully_pre_approved'].nil?
220
+
221
+ self.system_message = attributes[:'systemMessage'] if attributes[:'systemMessage']
222
+
223
+ raise 'You cannot provide both :systemMessage and :system_message' if attributes.key?(:'systemMessage') && attributes.key?(:'system_message')
224
+
225
+ self.system_message = attributes[:'system_message'] if attributes[:'system_message']
226
+
227
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
228
+
229
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
230
+
231
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
232
+
233
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
234
+
235
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
236
+
237
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
238
+
239
+ self.time_of_creation = attributes[:'timeOfCreation'] if attributes[:'timeOfCreation']
240
+
241
+ raise 'You cannot provide both :timeOfCreation and :time_of_creation' if attributes.key?(:'timeOfCreation') && attributes.key?(:'time_of_creation')
242
+
243
+ self.time_of_creation = attributes[:'time_of_creation'] if attributes[:'time_of_creation']
244
+
245
+ self.time_of_modification = attributes[:'timeOfModification'] if attributes[:'timeOfModification']
246
+
247
+ raise 'You cannot provide both :timeOfModification and :time_of_modification' if attributes.key?(:'timeOfModification') && attributes.key?(:'time_of_modification')
248
+
249
+ self.time_of_modification = attributes[:'time_of_modification'] if attributes[:'time_of_modification']
250
+
251
+ self.time_of_deletion = attributes[:'timeOfDeletion'] if attributes[:'timeOfDeletion']
252
+
253
+ raise 'You cannot provide both :timeOfDeletion and :time_of_deletion' if attributes.key?(:'timeOfDeletion') && attributes.key?(:'time_of_deletion')
254
+
255
+ self.time_of_deletion = attributes[:'time_of_deletion'] if attributes[:'time_of_deletion']
256
+
257
+ self.last_modified_info = attributes[:'lastModifiedInfo'] if attributes[:'lastModifiedInfo']
258
+
259
+ raise 'You cannot provide both :lastModifiedInfo and :last_modified_info' if attributes.key?(:'lastModifiedInfo') && attributes.key?(:'last_modified_info')
260
+
261
+ self.last_modified_info = attributes[:'last_modified_info'] if attributes[:'last_modified_info']
262
+
263
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
264
+
265
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
266
+
267
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
268
+
269
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
270
+
271
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
272
+
273
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
274
+ end
275
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
276
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
277
+
278
+ # Custom attribute writer method checking allowed values (enum).
279
+ # @param [Object] lifecycle_state Object to be assigned
280
+ def lifecycle_state=(lifecycle_state)
281
+ # rubocop:disable Style/ConditionalAssignment
282
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
283
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
284
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
285
+ else
286
+ @lifecycle_state = lifecycle_state
287
+ end
288
+ # rubocop:enable Style/ConditionalAssignment
289
+ end
290
+
291
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
292
+
293
+
294
+ # Checks equality by comparing each attribute.
295
+ # @param [Object] other the other object to be compared
296
+ def ==(other)
297
+ return true if equal?(other)
298
+
299
+ self.class == other.class &&
300
+ id == other.id &&
301
+ operator_control_name == other.operator_control_name &&
302
+ description == other.description &&
303
+ approvers_list == other.approvers_list &&
304
+ approver_groups_list == other.approver_groups_list &&
305
+ pre_approved_op_action_list == other.pre_approved_op_action_list &&
306
+ approval_required_op_action_list == other.approval_required_op_action_list &&
307
+ is_fully_pre_approved == other.is_fully_pre_approved &&
308
+ system_message == other.system_message &&
309
+ compartment_id == other.compartment_id &&
310
+ lifecycle_state == other.lifecycle_state &&
311
+ time_of_creation == other.time_of_creation &&
312
+ time_of_modification == other.time_of_modification &&
313
+ time_of_deletion == other.time_of_deletion &&
314
+ last_modified_info == other.last_modified_info &&
315
+ freeform_tags == other.freeform_tags &&
316
+ defined_tags == other.defined_tags
317
+ end
318
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
319
+
320
+ # @see the `==` method
321
+ # @param [Object] other the other object to be compared
322
+ def eql?(other)
323
+ self == other
324
+ end
325
+
326
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
327
+
328
+
329
+ # Calculates hash code according to all attributes.
330
+ # @return [Fixnum] Hash code
331
+ def hash
332
+ [id, operator_control_name, description, approvers_list, approver_groups_list, pre_approved_op_action_list, approval_required_op_action_list, is_fully_pre_approved, system_message, compartment_id, lifecycle_state, time_of_creation, time_of_modification, time_of_deletion, last_modified_info, freeform_tags, defined_tags].hash
333
+ end
334
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
335
+
336
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
337
+
338
+
339
+ # Builds the object from hash
340
+ # @param [Hash] attributes Model attributes in the form of hash
341
+ # @return [Object] Returns the model itself
342
+ def build_from_hash(attributes)
343
+ return nil unless attributes.is_a?(Hash)
344
+
345
+ self.class.swagger_types.each_pair do |key, type|
346
+ if type =~ /^Array<(.*)>/i
347
+ # check to ensure the input is an array given that the the attribute
348
+ # is documented as an array but the input is not
349
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
350
+ public_method("#{key}=").call(
351
+ attributes[self.class.attribute_map[key]]
352
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
353
+ )
354
+ end
355
+ elsif !attributes[self.class.attribute_map[key]].nil?
356
+ public_method("#{key}=").call(
357
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
358
+ )
359
+ end
360
+ # or else data not found in attributes(hash), not an issue as the data can be optional
361
+ end
362
+
363
+ self
364
+ end
365
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
366
+
367
+ # Returns the string representation of the object
368
+ # @return [String] String presentation of the object
369
+ def to_s
370
+ to_hash.to_s
371
+ end
372
+
373
+ # Returns the object in the form of hash
374
+ # @return [Hash] Returns the object in the form of hash
375
+ def to_hash
376
+ hash = {}
377
+ self.class.attribute_map.each_pair do |attr, param|
378
+ value = public_method(attr).call
379
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
380
+
381
+ hash[param] = _to_hash(value)
382
+ end
383
+ hash
384
+ end
385
+
386
+ private
387
+
388
+ # Outputs non-array value in the form of hash
389
+ # For object, use to_hash. Otherwise, just return the value
390
+ # @param [Object] value Any valid value
391
+ # @return [Hash] Returns the value in the form of hash
392
+ def _to_hash(value)
393
+ if value.is_a?(Array)
394
+ value.compact.map { |v| _to_hash(v) }
395
+ elsif value.is_a?(Hash)
396
+ {}.tap do |hash|
397
+ value.each { |k, v| hash[k] = _to_hash(v) }
398
+ end
399
+ elsif value.respond_to? :to_hash
400
+ value.to_hash
401
+ else
402
+ value
403
+ end
404
+ end
405
+ end
406
+ end
407
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,448 @@
1
+ # Copyright (c) 2016, 2021, 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
+ # An Operator Control Assignment identifies the target resource that is placed under the governance of an Operator Control. Creating an Operator Control Assignment Assignment with a time duration ensures that
10
+ # human accesses to the target resource will be governed by Operator Control for the duration specified.
11
+ #
12
+ class OperatorAccessControl::Models::OperatorControlAssignment
13
+ RESOURCE_TYPE_ENUM = [
14
+ RESOURCE_TYPE_EXACC = 'EXACC'.freeze,
15
+ RESOURCE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
16
+ ].freeze
17
+
18
+ LIFECYCLE_STATE_ENUM = [
19
+ LIFECYCLE_STATE_CREATED = 'CREATED'.freeze,
20
+ LIFECYCLE_STATE_APPLIED = 'APPLIED'.freeze,
21
+ LIFECYCLE_STATE_APPLYFAILED = 'APPLYFAILED'.freeze,
22
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
23
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ # **[Required]** The OCID of the operator control assignment.
27
+ # @return [String]
28
+ attr_accessor :id
29
+
30
+ # **[Required]** The OCID of the operator control.
31
+ # @return [String]
32
+ attr_accessor :operator_control_id
33
+
34
+ # **[Required]** The OCID of the target resource.
35
+ # @return [String]
36
+ attr_accessor :resource_id
37
+
38
+ # **[Required]** Name of the target resource.
39
+ # @return [String]
40
+ attr_accessor :resource_name
41
+
42
+ # Type of the target resource.
43
+ # @return [String]
44
+ attr_reader :resource_type
45
+
46
+ # The OCID of the compartment that contains the target resource.
47
+ # @return [String]
48
+ attr_accessor :resource_compartment_id
49
+
50
+ # The OCID of the comparment that contains the operator control assignment.
51
+ # @return [String]
52
+ attr_accessor :compartment_id
53
+
54
+ # The time at which the target resource will be brought under the governance of the operator control expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.
55
+ # Example: '2020-05-22T21:10:29.600Z'
56
+ #
57
+ # @return [DateTime]
58
+ attr_accessor :time_assignment_from
59
+
60
+ # The time at which the target resource will leave the governance of the operator control expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.
61
+ # Example: '2020-05-22T21:10:29.600Z'
62
+ #
63
+ # @return [DateTime]
64
+ attr_accessor :time_assignment_to
65
+
66
+ # If set, then the target resource is always governed by the operator control.
67
+ # @return [BOOLEAN]
68
+ attr_accessor :is_enforced_always
69
+
70
+ # The current lifcycle state of the OperatorControl.
71
+ # @return [String]
72
+ attr_reader :lifecycle_state
73
+
74
+ # The OCID of the user who created this operator control assignment.
75
+ # @return [String]
76
+ attr_accessor :assigner_id
77
+
78
+ # Time when the operator control assignment is created in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
79
+ #
80
+ # @return [DateTime]
81
+ attr_accessor :time_of_assignment
82
+
83
+ # Comment about the assignment of the operator control to this target resource.
84
+ # @return [String]
85
+ attr_accessor :comment
86
+
87
+ # User id who released the operatorControl.
88
+ # @return [String]
89
+ attr_accessor :unassigner_id
90
+
91
+ # Time on which the operator control assignment was deleted in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format.Example: '2020-05-22T21:10:29.600Z'
92
+ #
93
+ # @return [DateTime]
94
+ attr_accessor :time_of_deletion
95
+
96
+ # description containing reason for releasing of OperatorControl.
97
+ # @return [String]
98
+ attr_accessor :detachment_description
99
+
100
+ # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
101
+ #
102
+ # @return [Hash<String, String>]
103
+ attr_accessor :freeform_tags
104
+
105
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
106
+ #
107
+ # @return [Hash<String, Hash<String, Object>>]
108
+ attr_accessor :defined_tags
109
+
110
+ # Attribute mapping from ruby-style variable name to JSON key.
111
+ def self.attribute_map
112
+ {
113
+ # rubocop:disable Style/SymbolLiteral
114
+ 'id': :'id',
115
+ 'operator_control_id': :'operatorControlId',
116
+ 'resource_id': :'resourceId',
117
+ 'resource_name': :'resourceName',
118
+ 'resource_type': :'resourceType',
119
+ 'resource_compartment_id': :'resourceCompartmentId',
120
+ 'compartment_id': :'compartmentId',
121
+ 'time_assignment_from': :'timeAssignmentFrom',
122
+ 'time_assignment_to': :'timeAssignmentTo',
123
+ 'is_enforced_always': :'isEnforcedAlways',
124
+ 'lifecycle_state': :'lifecycleState',
125
+ 'assigner_id': :'assignerId',
126
+ 'time_of_assignment': :'timeOfAssignment',
127
+ 'comment': :'comment',
128
+ 'unassigner_id': :'unassignerId',
129
+ 'time_of_deletion': :'timeOfDeletion',
130
+ 'detachment_description': :'detachmentDescription',
131
+ 'freeform_tags': :'freeformTags',
132
+ 'defined_tags': :'definedTags'
133
+ # rubocop:enable Style/SymbolLiteral
134
+ }
135
+ end
136
+
137
+ # Attribute type mapping.
138
+ def self.swagger_types
139
+ {
140
+ # rubocop:disable Style/SymbolLiteral
141
+ 'id': :'String',
142
+ 'operator_control_id': :'String',
143
+ 'resource_id': :'String',
144
+ 'resource_name': :'String',
145
+ 'resource_type': :'String',
146
+ 'resource_compartment_id': :'String',
147
+ 'compartment_id': :'String',
148
+ 'time_assignment_from': :'DateTime',
149
+ 'time_assignment_to': :'DateTime',
150
+ 'is_enforced_always': :'BOOLEAN',
151
+ 'lifecycle_state': :'String',
152
+ 'assigner_id': :'String',
153
+ 'time_of_assignment': :'DateTime',
154
+ 'comment': :'String',
155
+ 'unassigner_id': :'String',
156
+ 'time_of_deletion': :'DateTime',
157
+ 'detachment_description': :'String',
158
+ 'freeform_tags': :'Hash<String, String>',
159
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
160
+ # rubocop:enable Style/SymbolLiteral
161
+ }
162
+ end
163
+
164
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
165
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
166
+
167
+
168
+ # Initializes the object
169
+ # @param [Hash] attributes Model attributes in the form of hash
170
+ # @option attributes [String] :id The value to assign to the {#id} property
171
+ # @option attributes [String] :operator_control_id The value to assign to the {#operator_control_id} property
172
+ # @option attributes [String] :resource_id The value to assign to the {#resource_id} property
173
+ # @option attributes [String] :resource_name The value to assign to the {#resource_name} property
174
+ # @option attributes [String] :resource_type The value to assign to the {#resource_type} property
175
+ # @option attributes [String] :resource_compartment_id The value to assign to the {#resource_compartment_id} property
176
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
177
+ # @option attributes [DateTime] :time_assignment_from The value to assign to the {#time_assignment_from} property
178
+ # @option attributes [DateTime] :time_assignment_to The value to assign to the {#time_assignment_to} property
179
+ # @option attributes [BOOLEAN] :is_enforced_always The value to assign to the {#is_enforced_always} property
180
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
181
+ # @option attributes [String] :assigner_id The value to assign to the {#assigner_id} property
182
+ # @option attributes [DateTime] :time_of_assignment The value to assign to the {#time_of_assignment} property
183
+ # @option attributes [String] :comment The value to assign to the {#comment} property
184
+ # @option attributes [String] :unassigner_id The value to assign to the {#unassigner_id} property
185
+ # @option attributes [DateTime] :time_of_deletion The value to assign to the {#time_of_deletion} property
186
+ # @option attributes [String] :detachment_description The value to assign to the {#detachment_description} property
187
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
188
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
189
+ def initialize(attributes = {})
190
+ return unless attributes.is_a?(Hash)
191
+
192
+ # convert string to symbol for hash key
193
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
194
+
195
+ self.id = attributes[:'id'] if attributes[:'id']
196
+
197
+ self.operator_control_id = attributes[:'operatorControlId'] if attributes[:'operatorControlId']
198
+
199
+ raise 'You cannot provide both :operatorControlId and :operator_control_id' if attributes.key?(:'operatorControlId') && attributes.key?(:'operator_control_id')
200
+
201
+ self.operator_control_id = attributes[:'operator_control_id'] if attributes[:'operator_control_id']
202
+
203
+ self.resource_id = attributes[:'resourceId'] if attributes[:'resourceId']
204
+
205
+ raise 'You cannot provide both :resourceId and :resource_id' if attributes.key?(:'resourceId') && attributes.key?(:'resource_id')
206
+
207
+ self.resource_id = attributes[:'resource_id'] if attributes[:'resource_id']
208
+
209
+ self.resource_name = attributes[:'resourceName'] if attributes[:'resourceName']
210
+
211
+ raise 'You cannot provide both :resourceName and :resource_name' if attributes.key?(:'resourceName') && attributes.key?(:'resource_name')
212
+
213
+ self.resource_name = attributes[:'resource_name'] if attributes[:'resource_name']
214
+
215
+ self.resource_type = attributes[:'resourceType'] if attributes[:'resourceType']
216
+
217
+ raise 'You cannot provide both :resourceType and :resource_type' if attributes.key?(:'resourceType') && attributes.key?(:'resource_type')
218
+
219
+ self.resource_type = attributes[:'resource_type'] if attributes[:'resource_type']
220
+
221
+ self.resource_compartment_id = attributes[:'resourceCompartmentId'] if attributes[:'resourceCompartmentId']
222
+
223
+ raise 'You cannot provide both :resourceCompartmentId and :resource_compartment_id' if attributes.key?(:'resourceCompartmentId') && attributes.key?(:'resource_compartment_id')
224
+
225
+ self.resource_compartment_id = attributes[:'resource_compartment_id'] if attributes[:'resource_compartment_id']
226
+
227
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
228
+
229
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
230
+
231
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
232
+
233
+ self.time_assignment_from = attributes[:'timeAssignmentFrom'] if attributes[:'timeAssignmentFrom']
234
+
235
+ raise 'You cannot provide both :timeAssignmentFrom and :time_assignment_from' if attributes.key?(:'timeAssignmentFrom') && attributes.key?(:'time_assignment_from')
236
+
237
+ self.time_assignment_from = attributes[:'time_assignment_from'] if attributes[:'time_assignment_from']
238
+
239
+ self.time_assignment_to = attributes[:'timeAssignmentTo'] if attributes[:'timeAssignmentTo']
240
+
241
+ raise 'You cannot provide both :timeAssignmentTo and :time_assignment_to' if attributes.key?(:'timeAssignmentTo') && attributes.key?(:'time_assignment_to')
242
+
243
+ self.time_assignment_to = attributes[:'time_assignment_to'] if attributes[:'time_assignment_to']
244
+
245
+ self.is_enforced_always = attributes[:'isEnforcedAlways'] unless attributes[:'isEnforcedAlways'].nil?
246
+
247
+ raise 'You cannot provide both :isEnforcedAlways and :is_enforced_always' if attributes.key?(:'isEnforcedAlways') && attributes.key?(:'is_enforced_always')
248
+
249
+ self.is_enforced_always = attributes[:'is_enforced_always'] unless attributes[:'is_enforced_always'].nil?
250
+
251
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
252
+
253
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
254
+
255
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
256
+
257
+ self.assigner_id = attributes[:'assignerId'] if attributes[:'assignerId']
258
+
259
+ raise 'You cannot provide both :assignerId and :assigner_id' if attributes.key?(:'assignerId') && attributes.key?(:'assigner_id')
260
+
261
+ self.assigner_id = attributes[:'assigner_id'] if attributes[:'assigner_id']
262
+
263
+ self.time_of_assignment = attributes[:'timeOfAssignment'] if attributes[:'timeOfAssignment']
264
+
265
+ raise 'You cannot provide both :timeOfAssignment and :time_of_assignment' if attributes.key?(:'timeOfAssignment') && attributes.key?(:'time_of_assignment')
266
+
267
+ self.time_of_assignment = attributes[:'time_of_assignment'] if attributes[:'time_of_assignment']
268
+
269
+ self.comment = attributes[:'comment'] if attributes[:'comment']
270
+
271
+ self.unassigner_id = attributes[:'unassignerId'] if attributes[:'unassignerId']
272
+
273
+ raise 'You cannot provide both :unassignerId and :unassigner_id' if attributes.key?(:'unassignerId') && attributes.key?(:'unassigner_id')
274
+
275
+ self.unassigner_id = attributes[:'unassigner_id'] if attributes[:'unassigner_id']
276
+
277
+ self.time_of_deletion = attributes[:'timeOfDeletion'] if attributes[:'timeOfDeletion']
278
+
279
+ raise 'You cannot provide both :timeOfDeletion and :time_of_deletion' if attributes.key?(:'timeOfDeletion') && attributes.key?(:'time_of_deletion')
280
+
281
+ self.time_of_deletion = attributes[:'time_of_deletion'] if attributes[:'time_of_deletion']
282
+
283
+ self.detachment_description = attributes[:'detachmentDescription'] if attributes[:'detachmentDescription']
284
+
285
+ raise 'You cannot provide both :detachmentDescription and :detachment_description' if attributes.key?(:'detachmentDescription') && attributes.key?(:'detachment_description')
286
+
287
+ self.detachment_description = attributes[:'detachment_description'] if attributes[:'detachment_description']
288
+
289
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
290
+
291
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
292
+
293
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
294
+
295
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
296
+
297
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
298
+
299
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
300
+ end
301
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
302
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
303
+
304
+ # Custom attribute writer method checking allowed values (enum).
305
+ # @param [Object] resource_type Object to be assigned
306
+ def resource_type=(resource_type)
307
+ # rubocop:disable Style/ConditionalAssignment
308
+ if resource_type && !RESOURCE_TYPE_ENUM.include?(resource_type)
309
+ OCI.logger.debug("Unknown value for 'resource_type' [" + resource_type + "]. Mapping to 'RESOURCE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
310
+ @resource_type = RESOURCE_TYPE_UNKNOWN_ENUM_VALUE
311
+ else
312
+ @resource_type = resource_type
313
+ end
314
+ # rubocop:enable Style/ConditionalAssignment
315
+ end
316
+
317
+ # Custom attribute writer method checking allowed values (enum).
318
+ # @param [Object] lifecycle_state Object to be assigned
319
+ def lifecycle_state=(lifecycle_state)
320
+ # rubocop:disable Style/ConditionalAssignment
321
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
322
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
323
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
324
+ else
325
+ @lifecycle_state = lifecycle_state
326
+ end
327
+ # rubocop:enable Style/ConditionalAssignment
328
+ end
329
+
330
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
331
+
332
+
333
+ # Checks equality by comparing each attribute.
334
+ # @param [Object] other the other object to be compared
335
+ def ==(other)
336
+ return true if equal?(other)
337
+
338
+ self.class == other.class &&
339
+ id == other.id &&
340
+ operator_control_id == other.operator_control_id &&
341
+ resource_id == other.resource_id &&
342
+ resource_name == other.resource_name &&
343
+ resource_type == other.resource_type &&
344
+ resource_compartment_id == other.resource_compartment_id &&
345
+ compartment_id == other.compartment_id &&
346
+ time_assignment_from == other.time_assignment_from &&
347
+ time_assignment_to == other.time_assignment_to &&
348
+ is_enforced_always == other.is_enforced_always &&
349
+ lifecycle_state == other.lifecycle_state &&
350
+ assigner_id == other.assigner_id &&
351
+ time_of_assignment == other.time_of_assignment &&
352
+ comment == other.comment &&
353
+ unassigner_id == other.unassigner_id &&
354
+ time_of_deletion == other.time_of_deletion &&
355
+ detachment_description == other.detachment_description &&
356
+ freeform_tags == other.freeform_tags &&
357
+ defined_tags == other.defined_tags
358
+ end
359
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
360
+
361
+ # @see the `==` method
362
+ # @param [Object] other the other object to be compared
363
+ def eql?(other)
364
+ self == other
365
+ end
366
+
367
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
368
+
369
+
370
+ # Calculates hash code according to all attributes.
371
+ # @return [Fixnum] Hash code
372
+ def hash
373
+ [id, operator_control_id, resource_id, resource_name, resource_type, resource_compartment_id, compartment_id, time_assignment_from, time_assignment_to, is_enforced_always, lifecycle_state, assigner_id, time_of_assignment, comment, unassigner_id, time_of_deletion, detachment_description, freeform_tags, defined_tags].hash
374
+ end
375
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
376
+
377
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
378
+
379
+
380
+ # Builds the object from hash
381
+ # @param [Hash] attributes Model attributes in the form of hash
382
+ # @return [Object] Returns the model itself
383
+ def build_from_hash(attributes)
384
+ return nil unless attributes.is_a?(Hash)
385
+
386
+ self.class.swagger_types.each_pair do |key, type|
387
+ if type =~ /^Array<(.*)>/i
388
+ # check to ensure the input is an array given that the the attribute
389
+ # is documented as an array but the input is not
390
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
391
+ public_method("#{key}=").call(
392
+ attributes[self.class.attribute_map[key]]
393
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
394
+ )
395
+ end
396
+ elsif !attributes[self.class.attribute_map[key]].nil?
397
+ public_method("#{key}=").call(
398
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
399
+ )
400
+ end
401
+ # or else data not found in attributes(hash), not an issue as the data can be optional
402
+ end
403
+
404
+ self
405
+ end
406
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
407
+
408
+ # Returns the string representation of the object
409
+ # @return [String] String presentation of the object
410
+ def to_s
411
+ to_hash.to_s
412
+ end
413
+
414
+ # Returns the object in the form of hash
415
+ # @return [Hash] Returns the object in the form of hash
416
+ def to_hash
417
+ hash = {}
418
+ self.class.attribute_map.each_pair do |attr, param|
419
+ value = public_method(attr).call
420
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
421
+
422
+ hash[param] = _to_hash(value)
423
+ end
424
+ hash
425
+ end
426
+
427
+ private
428
+
429
+ # Outputs non-array value in the form of hash
430
+ # For object, use to_hash. Otherwise, just return the value
431
+ # @param [Object] value Any valid value
432
+ # @return [Hash] Returns the value in the form of hash
433
+ def _to_hash(value)
434
+ if value.is_a?(Array)
435
+ value.compact.map { |v| _to_hash(v) }
436
+ elsif value.is_a?(Hash)
437
+ {}.tap do |hash|
438
+ value.each { |k, v| hash[k] = _to_hash(v) }
439
+ end
440
+ elsif value.respond_to? :to_hash
441
+ value.to_hash
442
+ else
443
+ value
444
+ end
445
+ end
446
+ end
447
+ end
448
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength