oci 2.6.0 → 2.7.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 (385) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -1
  3. data/lib/oci.rb +4 -0
  4. data/lib/oci/analytics/analytics.rb +42 -0
  5. data/lib/oci/analytics/analytics_client.rb +1134 -0
  6. data/lib/oci/analytics/analytics_client_composite_operations.rb +371 -0
  7. data/lib/oci/analytics/models/analytics_instance.rb +406 -0
  8. data/lib/oci/analytics/models/analytics_instance_lifecycle_state.rb +15 -0
  9. data/lib/oci/analytics/models/analytics_instance_summary.rb +370 -0
  10. data/lib/oci/analytics/models/capacity.rb +191 -0
  11. data/lib/oci/analytics/models/capacity_type.rb +10 -0
  12. data/lib/oci/analytics/models/change_compartment_details.rb +155 -0
  13. data/lib/oci/analytics/models/create_analytics_instance_details.rb +309 -0
  14. data/lib/oci/analytics/models/feature_set.rb +10 -0
  15. data/lib/oci/analytics/models/license_type.rb +10 -0
  16. data/lib/oci/analytics/models/scale_analytics_instance_details.rb +150 -0
  17. data/lib/oci/analytics/models/sort_by.rb +13 -0
  18. data/lib/oci/analytics/models/sort_order.rb +10 -0
  19. data/lib/oci/analytics/models/update_analytics_instance_details.rb +231 -0
  20. data/lib/oci/analytics/models/work_request.rb +316 -0
  21. data/lib/oci/analytics/models/work_request_action_result.rb +15 -0
  22. data/lib/oci/analytics/models/work_request_error.rb +176 -0
  23. data/lib/oci/analytics/models/work_request_log.rb +164 -0
  24. data/lib/oci/analytics/models/work_request_operation_type.rb +14 -0
  25. data/lib/oci/analytics/models/work_request_resource.rb +248 -0
  26. data/lib/oci/analytics/models/work_request_resource_type.rb +9 -0
  27. data/lib/oci/analytics/models/work_request_sort_by.rb +14 -0
  28. data/lib/oci/analytics/models/work_request_status.rb +14 -0
  29. data/lib/oci/analytics/models/work_request_summary.rb +300 -0
  30. data/lib/oci/analytics/util.rb +2 -0
  31. data/lib/oci/audit/audit.rb +5 -0
  32. data/lib/oci/audit/audit_client.rb +30 -14
  33. data/lib/oci/audit/models/audit_event.rb +81 -261
  34. data/lib/oci/audit/models/configuration.rb +7 -2
  35. data/lib/oci/audit/models/data.rb +464 -0
  36. data/lib/oci/audit/models/identity.rb +313 -0
  37. data/lib/oci/audit/models/request.rb +285 -0
  38. data/lib/oci/audit/models/response.rb +273 -0
  39. data/lib/oci/audit/models/state_change.rb +175 -0
  40. data/lib/oci/audit/models/update_configuration_details.rb +7 -2
  41. data/lib/oci/container_engine/container_engine.rb +4 -0
  42. data/lib/oci/container_engine/models/cluster.rb +15 -1
  43. data/lib/oci/container_engine/models/create_cluster_details.rb +17 -1
  44. data/lib/oci/container_engine/models/create_cluster_kubeconfig_content_details.rb +4 -1
  45. data/lib/oci/container_engine/models/create_node_pool_details.rb +29 -6
  46. data/lib/oci/container_engine/models/create_node_pool_node_config_details.rb +170 -0
  47. data/lib/oci/container_engine/models/node_pool.rb +18 -4
  48. data/lib/oci/container_engine/models/node_pool_node_config_details.rb +170 -0
  49. data/lib/oci/container_engine/models/node_pool_options.rb +1 -1
  50. data/lib/oci/container_engine/models/node_pool_placement_config_details.rb +169 -0
  51. data/lib/oci/container_engine/models/node_pool_summary.rb +18 -4
  52. data/lib/oci/container_engine/models/update_node_pool_details.rb +45 -19
  53. data/lib/oci/container_engine/models/update_node_pool_node_config_details.rb +170 -0
  54. data/lib/oci/core/blockstorage_client.rb +197 -0
  55. data/lib/oci/core/compute_client.rb +132 -17
  56. data/lib/oci/core/compute_client_composite_operations.rb +1 -1
  57. data/lib/oci/core/compute_management_client.rb +493 -0
  58. data/lib/oci/core/compute_management_client_composite_operations.rb +119 -0
  59. data/lib/oci/core/core.rb +11 -0
  60. data/lib/oci/core/models/boot_volume.rb +17 -1
  61. data/lib/oci/core/models/boot_volume_backup.rb +17 -1
  62. data/lib/oci/core/models/change_cluster_network_compartment_details.rb +155 -0
  63. data/lib/oci/core/models/change_dedicated_vm_host_compartment_details.rb +2 -2
  64. data/lib/oci/core/models/change_drg_compartment_details.rb +155 -0
  65. data/lib/oci/core/models/cluster_network.rb +313 -0
  66. data/lib/oci/core/models/cluster_network_placement_configuration_details.rb +183 -0
  67. data/lib/oci/core/models/cluster_network_summary.rb +299 -0
  68. data/lib/oci/core/models/create_cluster_network_details.rb +231 -0
  69. data/lib/oci/core/models/create_cluster_network_instance_pool_details.rb +213 -0
  70. data/lib/oci/core/models/create_dedicated_vm_host_details.rb +10 -8
  71. data/lib/oci/core/models/create_ip_sec_connection_details.rb +4 -0
  72. data/lib/oci/core/models/create_ip_sec_connection_tunnel_details.rb +29 -1
  73. data/lib/oci/core/models/create_volume_backup_policy_details.rb +215 -0
  74. data/lib/oci/core/models/dedicated_vm_host.rb +10 -8
  75. data/lib/oci/core/models/image_shape_compatibility_entry.rb +163 -0
  76. data/lib/oci/core/models/instance.rb +17 -1
  77. data/lib/oci/core/models/ip_sec_connection.rb +4 -0
  78. data/lib/oci/core/models/ip_sec_connection_tunnel.rb +35 -1
  79. data/lib/oci/core/models/launch_instance_details.rb +14 -1
  80. data/lib/oci/core/models/launch_options.rb +4 -4
  81. data/lib/oci/core/models/service_gateway.rb +0 -1
  82. data/lib/oci/core/models/update_cluster_network_details.rb +189 -0
  83. data/lib/oci/core/models/update_dedicated_vm_host_details.rb +1 -1
  84. data/lib/oci/core/models/update_ip_sec_connection_details.rb +4 -0
  85. data/lib/oci/core/models/update_ip_sec_connection_tunnel_details.rb +29 -1
  86. data/lib/oci/core/models/update_service_gateway_details.rb +0 -1
  87. data/lib/oci/core/models/update_volume_backup_policy_details.rb +201 -0
  88. data/lib/oci/core/models/volume.rb +17 -1
  89. data/lib/oci/core/models/volume_backup.rb +17 -1
  90. data/lib/oci/core/models/volume_backup_policy.rb +54 -4
  91. data/lib/oci/core/models/volume_backup_schedule.rb +177 -4
  92. data/lib/oci/core/virtual_network_client.rb +67 -0
  93. data/lib/oci/database/database.rb +35 -1
  94. data/lib/oci/database/database_client.rb +3351 -1159
  95. data/lib/oci/database/database_client_composite_operations.rb +522 -1
  96. data/lib/oci/database/models/activate_exadata_infrastructure_details.rb +153 -0
  97. data/lib/oci/database/models/associated_database_details.rb +163 -0
  98. data/lib/oci/database/models/autonomous_container_database.rb +0 -2
  99. data/lib/oci/database/models/autonomous_container_database_summary.rb +0 -2
  100. data/lib/oci/database/models/autonomous_data_warehouse.rb +0 -2
  101. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +0 -2
  102. data/lib/oci/database/models/autonomous_database.rb +65 -4
  103. data/lib/oci/database/models/autonomous_database_summary.rb +65 -4
  104. data/lib/oci/database/models/autonomous_database_wallet.rb +188 -0
  105. data/lib/oci/database/models/autonomous_exadata_infrastructure.rb +16 -3
  106. data/lib/oci/database/models/autonomous_exadata_infrastructure_summary.rb +16 -3
  107. data/lib/oci/database/models/backup_destination.rb +359 -0
  108. data/lib/oci/database/models/backup_destination_details.rb +243 -0
  109. data/lib/oci/database/models/backup_destination_summary.rb +362 -0
  110. data/lib/oci/database/models/change_exadata_infrastructure_compartment_details.rb +155 -0
  111. data/lib/oci/database/models/change_vm_cluster_compartment_details.rb +155 -0
  112. data/lib/oci/database/models/create_autonomous_container_database_details.rb +0 -2
  113. data/lib/oci/database/models/create_autonomous_data_warehouse_details.rb +0 -2
  114. data/lib/oci/database/models/create_autonomous_database_base.rb +19 -4
  115. data/lib/oci/database/models/create_autonomous_database_clone_details.rb +6 -2
  116. data/lib/oci/database/models/create_autonomous_database_details.rb +5 -1
  117. data/lib/oci/database/models/create_backup_destination_details.rb +241 -0
  118. data/lib/oci/database/models/create_database_details.rb +15 -3
  119. data/lib/oci/database/models/create_database_from_backup_details.rb +15 -1
  120. data/lib/oci/database/models/{create_db_home_with_db_system_id_base.rb → create_db_home_base.rb} +8 -18
  121. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +18 -8
  122. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +18 -8
  123. data/lib/oci/database/models/create_db_home_with_vm_cluster_id_details.rb +190 -0
  124. data/lib/oci/database/models/create_db_home_with_vm_cluster_id_from_backup_details.rb +176 -0
  125. data/lib/oci/database/models/create_exadata_infrastructure_details.rb +348 -0
  126. data/lib/oci/database/models/create_nfs_backup_destination_details.rb +178 -0
  127. data/lib/oci/database/models/create_recovery_appliance_backup_destination_details.rb +191 -0
  128. data/lib/oci/database/models/create_vm_cluster_details.rb +344 -0
  129. data/lib/oci/database/models/database.rb +0 -2
  130. data/lib/oci/database/models/database_summary.rb +0 -2
  131. data/lib/oci/database/models/db_backup_config.rb +65 -4
  132. data/lib/oci/database/models/db_home.rb +15 -1
  133. data/lib/oci/database/models/db_home_summary.rb +15 -1
  134. data/lib/oci/database/models/db_system.rb +14 -3
  135. data/lib/oci/database/models/db_system_options.rb +173 -0
  136. data/lib/oci/database/models/db_system_shape_summary.rb +15 -1
  137. data/lib/oci/database/models/db_system_summary.rb +14 -3
  138. data/lib/oci/database/models/exadata_infrastructure.rb +450 -0
  139. data/lib/oci/database/models/exadata_infrastructure_summary.rb +453 -0
  140. data/lib/oci/database/models/generate_autonomous_database_wallet_details.rb +31 -1
  141. data/lib/oci/database/models/generate_recommended_network_details.rb +232 -0
  142. data/lib/oci/database/models/gi_version_summary.rb +152 -0
  143. data/lib/oci/database/models/info_for_network_gen_details.rb +231 -0
  144. data/lib/oci/database/models/launch_autonomous_exadata_infrastructure_details.rb +16 -3
  145. data/lib/oci/database/models/launch_db_system_base.rb +14 -3
  146. data/lib/oci/database/models/launch_db_system_details.rb +5 -1
  147. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +5 -1
  148. data/lib/oci/database/models/node_details.rb +183 -0
  149. data/lib/oci/database/models/scan_details.rb +170 -0
  150. data/lib/oci/database/models/update_autonomous_container_database_details.rb +0 -2
  151. data/lib/oci/database/models/update_autonomous_data_warehouse_details.rb +0 -2
  152. data/lib/oci/database/models/update_autonomous_database_details.rb +19 -4
  153. data/lib/oci/database/models/update_autonomous_database_wallet_details.rb +156 -0
  154. data/lib/oci/database/models/update_autonomous_exadata_infrastructure_details.rb +16 -3
  155. data/lib/oci/database/models/update_backup_destination_details.rb +218 -0
  156. data/lib/oci/database/models/update_database_details.rb +0 -2
  157. data/lib/oci/database/models/update_db_system_details.rb +0 -2
  158. data/lib/oci/database/models/update_exadata_infrastructure_details.rb +307 -0
  159. data/lib/oci/database/models/update_vm_cluster_details.rb +229 -0
  160. data/lib/oci/database/models/update_vm_cluster_network_details.rb +218 -0
  161. data/lib/oci/database/models/vm_cluster.rb +449 -0
  162. data/lib/oci/database/models/vm_cluster_network.rb +350 -0
  163. data/lib/oci/database/models/vm_cluster_network_details.rb +246 -0
  164. data/lib/oci/database/models/vm_cluster_network_summary.rb +353 -0
  165. data/lib/oci/database/models/vm_cluster_summary.rb +452 -0
  166. data/lib/oci/database/models/vm_network_details.rb +231 -0
  167. data/lib/oci/dns/dns.rb +4 -0
  168. data/lib/oci/dns/dns_client.rb +103 -103
  169. data/lib/oci/dns/dns_client_composite_operations.rb +1 -1
  170. data/lib/oci/dns/models/create_migrated_dynect_zone_details.rb +179 -0
  171. data/lib/oci/dns/models/create_zone_base_details.rb +252 -0
  172. data/lib/oci/dns/models/create_zone_details.rb +18 -56
  173. data/lib/oci/dns/models/dynect_migration_details.rb +192 -0
  174. data/lib/oci/dns/models/migration_replacement.rb +187 -0
  175. data/lib/oci/dts/dts.rb +2 -0
  176. data/lib/oci/dts/models/create_transfer_appliance_entitlement_details.rb +49 -4
  177. data/lib/oci/dts/models/transfer_appliance.rb +2 -0
  178. data/lib/oci/dts/models/transfer_appliance_entitlement.rb +102 -33
  179. data/lib/oci/dts/models/transfer_appliance_entitlement_summary.rb +261 -0
  180. data/lib/oci/dts/models/transfer_appliance_summary.rb +2 -0
  181. data/lib/oci/dts/models/transfer_job.rb +0 -4
  182. data/lib/oci/dts/models/update_transfer_appliance_details.rb +1 -0
  183. data/lib/oci/dts/shipping_vendors_client.rb +1 -1
  184. data/lib/oci/dts/transfer_appliance_client.rb +4 -4
  185. data/lib/oci/dts/transfer_appliance_entitlement_client.rb +86 -10
  186. data/lib/oci/dts/transfer_appliance_entitlement_client_composite_operations.rb +39 -0
  187. data/lib/oci/dts/transfer_device_client.rb +1 -1
  188. data/lib/oci/dts/transfer_job_client.rb +1 -1
  189. data/lib/oci/dts/transfer_package_client.rb +1 -1
  190. data/lib/oci/functions/functions_invoke_client.rb +1 -1
  191. data/lib/oci/functions/functions_management_client.rb +1 -1
  192. data/lib/oci/healthchecks/health_checks_client.rb +18 -14
  193. data/lib/oci/healthchecks/models/http_monitor.rb +31 -1
  194. data/lib/oci/healthchecks/models/http_monitor_summary.rb +31 -1
  195. data/lib/oci/healthchecks/models/http_probe.rb +31 -1
  196. data/lib/oci/healthchecks/models/ping_monitor.rb +31 -1
  197. data/lib/oci/healthchecks/models/ping_monitor_summary.rb +31 -1
  198. data/lib/oci/healthchecks/models/ping_probe.rb +31 -1
  199. data/lib/oci/identity/identity.rb +7 -0
  200. data/lib/oci/identity/identity_client.rb +348 -9
  201. data/lib/oci/identity/models/base_tag_definition_validator.rb +200 -0
  202. data/lib/oci/identity/models/compartment.rb +3 -0
  203. data/lib/oci/identity/models/create_region_subscription_details.rb +3 -0
  204. data/lib/oci/identity/models/create_tag_default_details.rb +26 -4
  205. data/lib/oci/identity/models/create_tag_details.rb +21 -5
  206. data/lib/oci/identity/models/default_tag_definition_validator.rb +146 -0
  207. data/lib/oci/identity/models/dynamic_group.rb +3 -0
  208. data/lib/oci/identity/models/enum_tag_definition_validator.rb +161 -0
  209. data/lib/oci/identity/models/group.rb +3 -0
  210. data/lib/oci/identity/models/identity_provider.rb +3 -0
  211. data/lib/oci/identity/models/move_compartment_details.rb +2 -2
  212. data/lib/oci/identity/models/policy.rb +3 -0
  213. data/lib/oci/identity/models/region.rb +9 -3
  214. data/lib/oci/identity/models/region_subscription.rb +8 -2
  215. data/lib/oci/identity/models/tag.rb +25 -6
  216. data/lib/oci/identity/models/tag_default.rb +26 -4
  217. data/lib/oci/identity/models/tag_default_summary.rb +26 -4
  218. data/lib/oci/identity/models/tag_namespace.rb +5 -2
  219. data/lib/oci/identity/models/tag_summary.rb +3 -2
  220. data/lib/oci/identity/models/tagging_work_request.rb +305 -0
  221. data/lib/oci/identity/models/tagging_work_request_error_summary.rb +172 -0
  222. data/lib/oci/identity/models/tagging_work_request_log_summary.rb +162 -0
  223. data/lib/oci/identity/models/tagging_work_request_summary.rb +304 -0
  224. data/lib/oci/identity/models/tenancy.rb +3 -0
  225. data/lib/oci/identity/models/update_tag_default_details.rb +26 -4
  226. data/lib/oci/identity/models/update_tag_details.rb +19 -4
  227. data/lib/oci/identity/models/user.rb +3 -0
  228. data/lib/oci/integration/integration.rb +29 -0
  229. data/lib/oci/integration/integration_instance_client.rb +731 -0
  230. data/lib/oci/integration/integration_instance_client_composite_operations.rb +222 -0
  231. data/lib/oci/integration/models/change_integration_instance_compartment_details.rb +153 -0
  232. data/lib/oci/integration/models/create_integration_instance_details.rb +270 -0
  233. data/lib/oci/integration/models/integration_instance.rb +366 -0
  234. data/lib/oci/integration/models/integration_instance_summary.rb +332 -0
  235. data/lib/oci/integration/models/update_integration_instance_details.rb +242 -0
  236. data/lib/oci/integration/models/work_request.rb +310 -0
  237. data/lib/oci/integration/models/work_request_error.rb +170 -0
  238. data/lib/oci/integration/models/work_request_log_entry.rb +159 -0
  239. data/lib/oci/integration/models/work_request_resource.rb +218 -0
  240. data/lib/oci/integration/models/work_request_summary.rb +310 -0
  241. data/lib/oci/integration/util.rb +2 -0
  242. data/lib/oci/load_balancer/load_balancer_client.rb +3 -3
  243. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +2 -2
  244. data/lib/oci/load_balancer/models/backend.rb +2 -0
  245. data/lib/oci/load_balancer/models/backend_details.rb +2 -0
  246. data/lib/oci/load_balancer/models/create_backend_details.rb +2 -0
  247. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +12 -1
  248. data/lib/oci/load_balancer/models/health_checker.rb +2 -1
  249. data/lib/oci/load_balancer/models/health_checker_details.rb +2 -1
  250. data/lib/oci/load_balancer/models/lb_cookie_session_persistence_configuration_details.rb +2 -2
  251. data/lib/oci/load_balancer/models/load_balancer.rb +33 -2
  252. data/lib/oci/load_balancer/models/update_backend_details.rb +2 -0
  253. data/lib/oci/load_balancer/models/update_health_checker_details.rb +2 -1
  254. data/lib/oci/load_balancer/models/update_network_security_groups_details.rb +15 -2
  255. data/lib/oci/monitoring/models/alarm.rb +6 -5
  256. data/lib/oci/monitoring/models/create_alarm_details.rb +6 -5
  257. data/lib/oci/monitoring/models/update_alarm_details.rb +6 -5
  258. data/lib/oci/monitoring/monitoring_client.rb +25 -9
  259. data/lib/oci/object_storage/models/bucket.rb +17 -1
  260. data/lib/oci/object_storage/models/create_bucket_details.rb +17 -1
  261. data/lib/oci/object_storage/models/update_bucket_details.rb +18 -2
  262. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +1 -1
  263. data/lib/oci/object_storage/models/work_request.rb +7 -4
  264. data/lib/oci/object_storage/models/work_request_summary.rb +7 -4
  265. data/lib/oci/object_storage/object_storage_client.rb +75 -4
  266. data/lib/oci/object_storage/object_storage_client_composite_operations.rb +52 -0
  267. data/lib/oci/oce/models/change_oce_instance_compartment_details.rb +155 -0
  268. data/lib/oci/oce/models/create_oce_instance_details.rb +275 -0
  269. data/lib/oci/oce/models/delete_oce_instance_details.rb +153 -0
  270. data/lib/oci/oce/models/oce_instance.rb +387 -0
  271. data/lib/oci/oce/models/oce_instance_summary.rb +387 -0
  272. data/lib/oci/oce/models/update_oce_instance_details.rb +181 -0
  273. data/lib/oci/oce/models/work_request.rb +319 -0
  274. data/lib/oci/oce/models/work_request_error.rb +172 -0
  275. data/lib/oci/oce/models/work_request_log_entry.rb +159 -0
  276. data/lib/oci/oce/models/work_request_resource.rb +217 -0
  277. data/lib/oci/oce/models/workflow_monitor.rb +181 -0
  278. data/lib/oci/oce/models/workflow_step.rb +163 -0
  279. data/lib/oci/oce/oce.rb +31 -0
  280. data/lib/oci/oce/oce_instance_client.rb +733 -0
  281. data/lib/oci/oce/oce_instance_client_composite_operations.rb +223 -0
  282. data/lib/oci/oce/util.rb +2 -0
  283. data/lib/oci/oda/models/change_oda_instance_compartment_details.rb +153 -0
  284. data/lib/oci/oda/models/create_oda_instance_details.rb +237 -0
  285. data/lib/oci/oda/models/error_body.rb +159 -0
  286. data/lib/oci/oda/models/oda_instance.rb +399 -0
  287. data/lib/oci/oda/models/oda_instance_summary.rb +369 -0
  288. data/lib/oci/oda/models/update_oda_instance_details.rb +196 -0
  289. data/lib/oci/oda/models/work_request.rb +340 -0
  290. data/lib/oci/oda/models/work_request_error.rb +176 -0
  291. data/lib/oci/oda/models/work_request_log_entry.rb +163 -0
  292. data/lib/oci/oda/models/work_request_resource.rb +272 -0
  293. data/lib/oci/oda/models/work_request_summary.rb +262 -0
  294. data/lib/oci/oda/oda.rb +30 -0
  295. data/lib/oci/oda/oda_client.rb +842 -0
  296. data/lib/oci/oda/oda_client_composite_operations.rb +212 -0
  297. data/lib/oci/oda/util.rb +2 -0
  298. data/lib/oci/ons/models/backoff_retry_policy.rb +2 -1
  299. data/lib/oci/ons/models/confirmation_result.rb +5 -3
  300. data/lib/oci/ons/models/create_subscription_details.rb +19 -4
  301. data/lib/oci/ons/models/notification_topic.rb +2 -1
  302. data/lib/oci/ons/models/subscription.rb +8 -3
  303. data/lib/oci/ons/models/subscription_summary.rb +5 -3
  304. data/lib/oci/ons/notification_control_plane_client.rb +4 -3
  305. data/lib/oci/ons/notification_data_plane_client.rb +28 -4
  306. data/lib/oci/regions.rb +3 -0
  307. data/lib/oci/resource_manager/models/apply_job_operation_details.rb +201 -0
  308. data/lib/oci/resource_manager/models/apply_job_operation_details_summary.rb +180 -0
  309. data/lib/oci/resource_manager/models/apply_job_plan_resolution.rb +4 -5
  310. data/lib/oci/resource_manager/models/config_source.rb +3 -2
  311. data/lib/oci/resource_manager/models/create_apply_job_operation_details.rb +179 -0
  312. data/lib/oci/resource_manager/models/create_config_source_details.rb +2 -1
  313. data/lib/oci/resource_manager/models/create_destroy_job_operation_details.rb +165 -0
  314. data/lib/oci/resource_manager/models/create_import_tf_state_job_operation_details.rb +163 -0
  315. data/lib/oci/resource_manager/models/create_job_details.rb +16 -3
  316. data/lib/oci/resource_manager/models/create_job_operation_details.rb +169 -0
  317. data/lib/oci/resource_manager/models/create_plan_job_operation_details.rb +145 -0
  318. data/lib/oci/resource_manager/models/create_stack_details.rb +17 -2
  319. data/lib/oci/resource_manager/models/destroy_job_operation_details.rb +184 -0
  320. data/lib/oci/resource_manager/models/destroy_job_operation_details_summary.rb +165 -0
  321. data/lib/oci/resource_manager/models/import_tf_state_job_operation_details.rb +145 -0
  322. data/lib/oci/resource_manager/models/import_tf_state_job_operation_details_summary.rb +145 -0
  323. data/lib/oci/resource_manager/models/job.rb +23 -5
  324. data/lib/oci/resource_manager/models/job_operation_details.rb +169 -0
  325. data/lib/oci/resource_manager/models/job_operation_details_summary.rb +169 -0
  326. data/lib/oci/resource_manager/models/job_summary.rb +20 -5
  327. data/lib/oci/resource_manager/models/plan_job_operation_details.rb +145 -0
  328. data/lib/oci/resource_manager/models/plan_job_operation_details_summary.rb +145 -0
  329. data/lib/oci/resource_manager/models/stack.rb +18 -6
  330. data/lib/oci/resource_manager/models/stack_summary.rb +16 -1
  331. data/lib/oci/resource_manager/models/terraform_version_collection.rb +150 -0
  332. data/lib/oci/resource_manager/models/terraform_version_summary.rb +151 -0
  333. data/lib/oci/resource_manager/models/update_config_source_details.rb +3 -1
  334. data/lib/oci/resource_manager/models/update_stack_details.rb +16 -1
  335. data/lib/oci/resource_manager/models/work_request.rb +2 -2
  336. data/lib/oci/resource_manager/models/work_request_resource.rb +1 -1
  337. data/lib/oci/resource_manager/models/work_request_summary.rb +2 -2
  338. data/lib/oci/resource_manager/resource_manager.rb +17 -0
  339. data/lib/oci/resource_manager/resource_manager_client.rb +187 -29
  340. data/lib/oci/resource_manager/resource_manager_client_composite_operations.rb +6 -6
  341. data/lib/oci/version.rb +1 -1
  342. data/lib/oci/waas/models/access_rule.rb +2 -2
  343. data/lib/oci/waas/models/access_rule_criteria.rb +1 -1
  344. data/lib/oci/waas/models/address_list.rb +1 -0
  345. data/lib/oci/waas/models/address_rate_limiting.rb +1 -1
  346. data/lib/oci/waas/models/block_challenge_settings.rb +1 -1
  347. data/lib/oci/waas/models/caching_rule.rb +9 -8
  348. data/lib/oci/waas/models/caching_rule_criteria.rb +1 -5
  349. data/lib/oci/waas/models/caching_rule_summary.rb +9 -8
  350. data/lib/oci/waas/models/change_address_list_compartment_details.rb +1 -1
  351. data/lib/oci/waas/models/change_certificate_compartment_details.rb +1 -0
  352. data/lib/oci/waas/models/change_custom_protection_rule_compartment_details.rb +1 -1
  353. data/lib/oci/waas/models/change_http_redirect_compartment_details.rb +154 -0
  354. data/lib/oci/waas/models/change_waas_policy_compartment_details.rb +1 -0
  355. data/lib/oci/waas/models/create_address_list_details.rb +1 -1
  356. data/lib/oci/waas/models/create_custom_protection_rule_details.rb +17 -12
  357. data/lib/oci/waas/models/create_http_redirect_details.rb +238 -0
  358. data/lib/oci/waas/models/create_waas_policy_details.rb +2 -1
  359. data/lib/oci/waas/models/custom_protection_rule.rb +20 -16
  360. data/lib/oci/waas/models/custom_protection_rule_setting.rb +4 -3
  361. data/lib/oci/waas/models/custom_protection_rule_summary.rb +6 -6
  362. data/lib/oci/waas/models/http_redirect.rb +301 -0
  363. data/lib/oci/waas/models/http_redirect_summary.rb +301 -0
  364. data/lib/oci/waas/models/http_redirect_target.rb +209 -0
  365. data/lib/oci/waas/models/origin_group_origins.rb +2 -2
  366. data/lib/oci/waas/models/policy_config.rb +14 -7
  367. data/lib/oci/waas/models/protection_settings.rb +1 -1
  368. data/lib/oci/waas/models/purge_cache.rb +2 -2
  369. data/lib/oci/waas/models/update_address_list_details.rb +1 -1
  370. data/lib/oci/waas/models/update_custom_protection_rule_details.rb +16 -12
  371. data/lib/oci/waas/models/update_http_redirect_details.rb +215 -0
  372. data/lib/oci/waas/models/update_waas_policy_details.rb +2 -1
  373. data/lib/oci/waas/models/waas_policy.rb +1 -1
  374. data/lib/oci/waas/models/waas_policy_custom_protection_rule_summary.rb +5 -4
  375. data/lib/oci/waas/models/waf_config.rb +2 -1
  376. data/lib/oci/waas/models/waf_config_details.rb +2 -1
  377. data/lib/oci/waas/models/work_request.rb +3 -0
  378. data/lib/oci/waas/models/work_request_operation_types.rb +3 -0
  379. data/lib/oci/waas/models/work_request_summary.rb +3 -0
  380. data/lib/oci/waas/redirect_client.rb +493 -0
  381. data/lib/oci/waas/redirect_client_composite_operations.rb +172 -0
  382. data/lib/oci/waas/waas.rb +8 -0
  383. data/lib/oci/waas/waas_client.rb +35 -23
  384. data/lib/oci/waas/waas_client_composite_operations.rb +4 -4
  385. metadata +166 -3
@@ -0,0 +1,10 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Analytics::Models
5
+ CAPACITY_TYPE_ENUM = [
6
+ CAPACITY_TYPE_OLPU_COUNT = 'OLPU_COUNT'.freeze,
7
+ CAPACITY_TYPE_USER_COUNT = 'USER_COUNT'.freeze
8
+ ].freeze
9
+ end
10
+ end
@@ -0,0 +1,155 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # Input payload to change a resource's compartment.
8
+ #
9
+ class Analytics::Models::ChangeCompartmentDetails
10
+ # **[Required]** The OCID of the new compartment.
11
+ #
12
+ # @return [String]
13
+ attr_accessor :compartment_id
14
+
15
+ # Attribute mapping from ruby-style variable name to JSON key.
16
+ def self.attribute_map
17
+ {
18
+ # rubocop:disable Style/SymbolLiteral
19
+ 'compartment_id': :'compartmentId'
20
+ # rubocop:enable Style/SymbolLiteral
21
+ }
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.swagger_types
26
+ {
27
+ # rubocop:disable Style/SymbolLiteral
28
+ 'compartment_id': :'String'
29
+ # rubocop:enable Style/SymbolLiteral
30
+ }
31
+ end
32
+
33
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
34
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
35
+
36
+
37
+ # Initializes the object
38
+ # @param [Hash] attributes Model attributes in the form of hash
39
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
40
+ def initialize(attributes = {})
41
+ return unless attributes.is_a?(Hash)
42
+
43
+ # convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
45
+
46
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
47
+
48
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
49
+
50
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
51
+ end
52
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
53
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
54
+
55
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
56
+
57
+
58
+ # Checks equality by comparing each attribute.
59
+ # @param [Object] other the other object to be compared
60
+ def ==(other)
61
+ return true if equal?(other)
62
+
63
+ self.class == other.class &&
64
+ compartment_id == other.compartment_id
65
+ end
66
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
67
+
68
+ # @see the `==` method
69
+ # @param [Object] other the other object to be compared
70
+ def eql?(other)
71
+ self == other
72
+ end
73
+
74
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
75
+
76
+
77
+ # Calculates hash code according to all attributes.
78
+ # @return [Fixnum] Hash code
79
+ def hash
80
+ [compartment_id].hash
81
+ end
82
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
83
+
84
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
85
+
86
+
87
+ # Builds the object from hash
88
+ # @param [Hash] attributes Model attributes in the form of hash
89
+ # @return [Object] Returns the model itself
90
+ def build_from_hash(attributes)
91
+ return nil unless attributes.is_a?(Hash)
92
+
93
+ self.class.swagger_types.each_pair do |key, type|
94
+ if type =~ /^Array<(.*)>/i
95
+ # check to ensure the input is an array given that the the attribute
96
+ # is documented as an array but the input is not
97
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
98
+ public_method("#{key}=").call(
99
+ attributes[self.class.attribute_map[key]]
100
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
101
+ )
102
+ end
103
+ elsif !attributes[self.class.attribute_map[key]].nil?
104
+ public_method("#{key}=").call(
105
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
106
+ )
107
+ end
108
+ # or else data not found in attributes(hash), not an issue as the data can be optional
109
+ end
110
+
111
+ self
112
+ end
113
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
114
+
115
+ # Returns the string representation of the object
116
+ # @return [String] String presentation of the object
117
+ def to_s
118
+ to_hash.to_s
119
+ end
120
+
121
+ # Returns the object in the form of hash
122
+ # @return [Hash] Returns the object in the form of hash
123
+ def to_hash
124
+ hash = {}
125
+ self.class.attribute_map.each_pair do |attr, param|
126
+ value = public_method(attr).call
127
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
128
+
129
+ hash[param] = _to_hash(value)
130
+ end
131
+ hash
132
+ end
133
+
134
+ private
135
+
136
+ # Outputs non-array value in the form of hash
137
+ # For object, use to_hash. Otherwise, just return the value
138
+ # @param [Object] value Any valid value
139
+ # @return [Hash] Returns the value in the form of hash
140
+ def _to_hash(value)
141
+ if value.is_a?(Array)
142
+ value.compact.map { |v| _to_hash(v) }
143
+ elsif value.is_a?(Hash)
144
+ {}.tap do |hash|
145
+ value.each { |k, v| hash[k] = _to_hash(v) }
146
+ end
147
+ elsif value.respond_to? :to_hash
148
+ value.to_hash
149
+ else
150
+ value
151
+ end
152
+ end
153
+ end
154
+ end
155
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,309 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # Input payload to create an Anaytics instance.
8
+ #
9
+ class Analytics::Models::CreateAnalyticsInstanceDetails
10
+ FEATURE_SET_ENUM = [
11
+ FEATURE_SET_SELF_SERVICE_ANALYTICS = 'SELF_SERVICE_ANALYTICS'.freeze,
12
+ FEATURE_SET_ENTERPRISE_ANALYTICS = 'ENTERPRISE_ANALYTICS'.freeze
13
+ ].freeze
14
+
15
+ LICENSE_TYPE_ENUM = [
16
+ LICENSE_TYPE_LICENSE_INCLUDED = 'LICENSE_INCLUDED'.freeze,
17
+ LICENSE_TYPE_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE'.freeze
18
+ ].freeze
19
+
20
+ # **[Required]** The name of the Analytics instance. This name must be unique in the tenancy and cannot be changed.
21
+ #
22
+ # @return [String]
23
+ attr_accessor :name
24
+
25
+ # Optional description.
26
+ #
27
+ # @return [String]
28
+ attr_accessor :description
29
+
30
+ # **[Required]** The OCID of the compartment.
31
+ #
32
+ # @return [String]
33
+ attr_accessor :compartment_id
34
+
35
+ # **[Required]** Analytics feature set.
36
+ #
37
+ # @return [String]
38
+ attr_reader :feature_set
39
+
40
+ # This attribute is required.
41
+ # @return [OCI::Analytics::Models::Capacity]
42
+ attr_accessor :capacity
43
+
44
+ # **[Required]** The license used for the service.
45
+ #
46
+ # @return [String]
47
+ attr_reader :license_type
48
+
49
+ # Email address receiving notifications.
50
+ #
51
+ # @return [String]
52
+ attr_accessor :email_notification
53
+
54
+ # IDCS access token identifying a stripe and service administrator user.
55
+ #
56
+ # @return [String]
57
+ attr_accessor :idcs_access_token
58
+
59
+ # Defined tags for this resource. Each key is predefined and scoped to a
60
+ # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
61
+ #
62
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
63
+ #
64
+ # @return [Hash<String, Hash<String, Object>>]
65
+ attr_accessor :defined_tags
66
+
67
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no
68
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
69
+ #
70
+ # Example: `{\"Department\": \"Finance\"}`
71
+ #
72
+ # @return [Hash<String, String>]
73
+ attr_accessor :freeform_tags
74
+
75
+ # Attribute mapping from ruby-style variable name to JSON key.
76
+ def self.attribute_map
77
+ {
78
+ # rubocop:disable Style/SymbolLiteral
79
+ 'name': :'name',
80
+ 'description': :'description',
81
+ 'compartment_id': :'compartmentId',
82
+ 'feature_set': :'featureSet',
83
+ 'capacity': :'capacity',
84
+ 'license_type': :'licenseType',
85
+ 'email_notification': :'emailNotification',
86
+ 'idcs_access_token': :'idcsAccessToken',
87
+ 'defined_tags': :'definedTags',
88
+ 'freeform_tags': :'freeformTags'
89
+ # rubocop:enable Style/SymbolLiteral
90
+ }
91
+ end
92
+
93
+ # Attribute type mapping.
94
+ def self.swagger_types
95
+ {
96
+ # rubocop:disable Style/SymbolLiteral
97
+ 'name': :'String',
98
+ 'description': :'String',
99
+ 'compartment_id': :'String',
100
+ 'feature_set': :'String',
101
+ 'capacity': :'OCI::Analytics::Models::Capacity',
102
+ 'license_type': :'String',
103
+ 'email_notification': :'String',
104
+ 'idcs_access_token': :'String',
105
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
106
+ 'freeform_tags': :'Hash<String, String>'
107
+ # rubocop:enable Style/SymbolLiteral
108
+ }
109
+ end
110
+
111
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
112
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
113
+
114
+
115
+ # Initializes the object
116
+ # @param [Hash] attributes Model attributes in the form of hash
117
+ # @option attributes [String] :name The value to assign to the {#name} property
118
+ # @option attributes [String] :description The value to assign to the {#description} property
119
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
120
+ # @option attributes [String] :feature_set The value to assign to the {#feature_set} property
121
+ # @option attributes [OCI::Analytics::Models::Capacity] :capacity The value to assign to the {#capacity} property
122
+ # @option attributes [String] :license_type The value to assign to the {#license_type} property
123
+ # @option attributes [String] :email_notification The value to assign to the {#email_notification} property
124
+ # @option attributes [String] :idcs_access_token The value to assign to the {#idcs_access_token} property
125
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
126
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
127
+ def initialize(attributes = {})
128
+ return unless attributes.is_a?(Hash)
129
+
130
+ # convert string to symbol for hash key
131
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
132
+
133
+ self.name = attributes[:'name'] if attributes[:'name']
134
+
135
+ self.description = attributes[:'description'] if attributes[:'description']
136
+
137
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
138
+
139
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
140
+
141
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
142
+
143
+ self.feature_set = attributes[:'featureSet'] if attributes[:'featureSet']
144
+
145
+ raise 'You cannot provide both :featureSet and :feature_set' if attributes.key?(:'featureSet') && attributes.key?(:'feature_set')
146
+
147
+ self.feature_set = attributes[:'feature_set'] if attributes[:'feature_set']
148
+
149
+ self.capacity = attributes[:'capacity'] if attributes[:'capacity']
150
+
151
+ self.license_type = attributes[:'licenseType'] if attributes[:'licenseType']
152
+
153
+ raise 'You cannot provide both :licenseType and :license_type' if attributes.key?(:'licenseType') && attributes.key?(:'license_type')
154
+
155
+ self.license_type = attributes[:'license_type'] if attributes[:'license_type']
156
+
157
+ self.email_notification = attributes[:'emailNotification'] if attributes[:'emailNotification']
158
+
159
+ raise 'You cannot provide both :emailNotification and :email_notification' if attributes.key?(:'emailNotification') && attributes.key?(:'email_notification')
160
+
161
+ self.email_notification = attributes[:'email_notification'] if attributes[:'email_notification']
162
+
163
+ self.idcs_access_token = attributes[:'idcsAccessToken'] if attributes[:'idcsAccessToken']
164
+
165
+ raise 'You cannot provide both :idcsAccessToken and :idcs_access_token' if attributes.key?(:'idcsAccessToken') && attributes.key?(:'idcs_access_token')
166
+
167
+ self.idcs_access_token = attributes[:'idcs_access_token'] if attributes[:'idcs_access_token']
168
+
169
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
170
+
171
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
172
+
173
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
174
+
175
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
176
+
177
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
178
+
179
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
180
+ end
181
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
182
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
183
+
184
+ # Custom attribute writer method checking allowed values (enum).
185
+ # @param [Object] feature_set Object to be assigned
186
+ def feature_set=(feature_set)
187
+ raise "Invalid value for 'feature_set': this must be one of the values in FEATURE_SET_ENUM." if feature_set && !FEATURE_SET_ENUM.include?(feature_set)
188
+
189
+ @feature_set = feature_set
190
+ end
191
+
192
+ # Custom attribute writer method checking allowed values (enum).
193
+ # @param [Object] license_type Object to be assigned
194
+ def license_type=(license_type)
195
+ raise "Invalid value for 'license_type': this must be one of the values in LICENSE_TYPE_ENUM." if license_type && !LICENSE_TYPE_ENUM.include?(license_type)
196
+
197
+ @license_type = license_type
198
+ end
199
+
200
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
201
+
202
+
203
+ # Checks equality by comparing each attribute.
204
+ # @param [Object] other the other object to be compared
205
+ def ==(other)
206
+ return true if equal?(other)
207
+
208
+ self.class == other.class &&
209
+ name == other.name &&
210
+ description == other.description &&
211
+ compartment_id == other.compartment_id &&
212
+ feature_set == other.feature_set &&
213
+ capacity == other.capacity &&
214
+ license_type == other.license_type &&
215
+ email_notification == other.email_notification &&
216
+ idcs_access_token == other.idcs_access_token &&
217
+ defined_tags == other.defined_tags &&
218
+ freeform_tags == other.freeform_tags
219
+ end
220
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
221
+
222
+ # @see the `==` method
223
+ # @param [Object] other the other object to be compared
224
+ def eql?(other)
225
+ self == other
226
+ end
227
+
228
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
229
+
230
+
231
+ # Calculates hash code according to all attributes.
232
+ # @return [Fixnum] Hash code
233
+ def hash
234
+ [name, description, compartment_id, feature_set, capacity, license_type, email_notification, idcs_access_token, defined_tags, freeform_tags].hash
235
+ end
236
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
237
+
238
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
239
+
240
+
241
+ # Builds the object from hash
242
+ # @param [Hash] attributes Model attributes in the form of hash
243
+ # @return [Object] Returns the model itself
244
+ def build_from_hash(attributes)
245
+ return nil unless attributes.is_a?(Hash)
246
+
247
+ self.class.swagger_types.each_pair do |key, type|
248
+ if type =~ /^Array<(.*)>/i
249
+ # check to ensure the input is an array given that the the attribute
250
+ # is documented as an array but the input is not
251
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
252
+ public_method("#{key}=").call(
253
+ attributes[self.class.attribute_map[key]]
254
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
255
+ )
256
+ end
257
+ elsif !attributes[self.class.attribute_map[key]].nil?
258
+ public_method("#{key}=").call(
259
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
260
+ )
261
+ end
262
+ # or else data not found in attributes(hash), not an issue as the data can be optional
263
+ end
264
+
265
+ self
266
+ end
267
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
268
+
269
+ # Returns the string representation of the object
270
+ # @return [String] String presentation of the object
271
+ def to_s
272
+ to_hash.to_s
273
+ end
274
+
275
+ # Returns the object in the form of hash
276
+ # @return [Hash] Returns the object in the form of hash
277
+ def to_hash
278
+ hash = {}
279
+ self.class.attribute_map.each_pair do |attr, param|
280
+ value = public_method(attr).call
281
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
282
+
283
+ hash[param] = _to_hash(value)
284
+ end
285
+ hash
286
+ end
287
+
288
+ private
289
+
290
+ # Outputs non-array value in the form of hash
291
+ # For object, use to_hash. Otherwise, just return the value
292
+ # @param [Object] value Any valid value
293
+ # @return [Hash] Returns the value in the form of hash
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map { |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
305
+ end
306
+ end
307
+ end
308
+ end
309
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength