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,218 @@
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
+ # Details for a VM cluster network.
8
+ #
9
+ class Database::Models::UpdateVmClusterNetworkDetails
10
+ # The SCAN details.
11
+ # @return [Array<OCI::Database::Models::ScanDetails>]
12
+ attr_accessor :scans
13
+
14
+ # The list of DNS server IP addresses. Maximum of 3 allowed.
15
+ # @return [Array<String>]
16
+ attr_accessor :dns
17
+
18
+ # The list of NTP server IP addresses. Maximum of 3 allowed.
19
+ # @return [Array<String>]
20
+ attr_accessor :ntp
21
+
22
+ # Details of the client and backup networks.
23
+ # @return [Array<OCI::Database::Models::VmNetworkDetails>]
24
+ attr_accessor :vm_networks
25
+
26
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
27
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
28
+ #
29
+ # Example: `{\"Department\": \"Finance\"}`
30
+ #
31
+ # @return [Hash<String, String>]
32
+ attr_accessor :freeform_tags
33
+
34
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
35
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
36
+ #
37
+ # @return [Hash<String, Hash<String, Object>>]
38
+ attr_accessor :defined_tags
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ # rubocop:disable Style/SymbolLiteral
44
+ 'scans': :'scans',
45
+ 'dns': :'dns',
46
+ 'ntp': :'ntp',
47
+ 'vm_networks': :'vmNetworks',
48
+ 'freeform_tags': :'freeformTags',
49
+ 'defined_tags': :'definedTags'
50
+ # rubocop:enable Style/SymbolLiteral
51
+ }
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.swagger_types
56
+ {
57
+ # rubocop:disable Style/SymbolLiteral
58
+ 'scans': :'Array<OCI::Database::Models::ScanDetails>',
59
+ 'dns': :'Array<String>',
60
+ 'ntp': :'Array<String>',
61
+ 'vm_networks': :'Array<OCI::Database::Models::VmNetworkDetails>',
62
+ 'freeform_tags': :'Hash<String, String>',
63
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
64
+ # rubocop:enable Style/SymbolLiteral
65
+ }
66
+ end
67
+
68
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
69
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
70
+
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ # @option attributes [Array<OCI::Database::Models::ScanDetails>] :scans The value to assign to the {#scans} property
75
+ # @option attributes [Array<String>] :dns The value to assign to the {#dns} property
76
+ # @option attributes [Array<String>] :ntp The value to assign to the {#ntp} property
77
+ # @option attributes [Array<OCI::Database::Models::VmNetworkDetails>] :vm_networks The value to assign to the {#vm_networks} property
78
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
79
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
80
+ def initialize(attributes = {})
81
+ return unless attributes.is_a?(Hash)
82
+
83
+ # convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
85
+
86
+ self.scans = attributes[:'scans'] if attributes[:'scans']
87
+
88
+ self.dns = attributes[:'dns'] if attributes[:'dns']
89
+
90
+ self.ntp = attributes[:'ntp'] if attributes[:'ntp']
91
+
92
+ self.vm_networks = attributes[:'vmNetworks'] if attributes[:'vmNetworks']
93
+
94
+ raise 'You cannot provide both :vmNetworks and :vm_networks' if attributes.key?(:'vmNetworks') && attributes.key?(:'vm_networks')
95
+
96
+ self.vm_networks = attributes[:'vm_networks'] if attributes[:'vm_networks']
97
+
98
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
99
+
100
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
101
+
102
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
103
+
104
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
105
+
106
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
107
+
108
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
109
+ end
110
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
111
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
112
+
113
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
114
+
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] other the other object to be compared
118
+ def ==(other)
119
+ return true if equal?(other)
120
+
121
+ self.class == other.class &&
122
+ scans == other.scans &&
123
+ dns == other.dns &&
124
+ ntp == other.ntp &&
125
+ vm_networks == other.vm_networks &&
126
+ freeform_tags == other.freeform_tags &&
127
+ defined_tags == other.defined_tags
128
+ end
129
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
130
+
131
+ # @see the `==` method
132
+ # @param [Object] other the other object to be compared
133
+ def eql?(other)
134
+ self == other
135
+ end
136
+
137
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
138
+
139
+
140
+ # Calculates hash code according to all attributes.
141
+ # @return [Fixnum] Hash code
142
+ def hash
143
+ [scans, dns, ntp, vm_networks, freeform_tags, defined_tags].hash
144
+ end
145
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
146
+
147
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
148
+
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+
156
+ self.class.swagger_types.each_pair do |key, type|
157
+ if type =~ /^Array<(.*)>/i
158
+ # check to ensure the input is an array given that the the attribute
159
+ # is documented as an array but the input is not
160
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
161
+ public_method("#{key}=").call(
162
+ attributes[self.class.attribute_map[key]]
163
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
164
+ )
165
+ end
166
+ elsif !attributes[self.class.attribute_map[key]].nil?
167
+ public_method("#{key}=").call(
168
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
169
+ )
170
+ end
171
+ # or else data not found in attributes(hash), not an issue as the data can be optional
172
+ end
173
+
174
+ self
175
+ end
176
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
177
+
178
+ # Returns the string representation of the object
179
+ # @return [String] String presentation of the object
180
+ def to_s
181
+ to_hash.to_s
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = public_method(attr).call
190
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
191
+
192
+ hash[param] = _to_hash(value)
193
+ end
194
+ hash
195
+ end
196
+
197
+ private
198
+
199
+ # Outputs non-array value in the form of hash
200
+ # For object, use to_hash. Otherwise, just return the value
201
+ # @param [Object] value Any valid value
202
+ # @return [Hash] Returns the value in the form of hash
203
+ def _to_hash(value)
204
+ if value.is_a?(Array)
205
+ value.compact.map { |v| _to_hash(v) }
206
+ elsif value.is_a?(Hash)
207
+ {}.tap do |hash|
208
+ value.each { |k, v| hash[k] = _to_hash(v) }
209
+ end
210
+ elsif value.respond_to? :to_hash
211
+ value.to_hash
212
+ else
213
+ value
214
+ end
215
+ end
216
+ end
217
+ end
218
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,449 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require 'logger'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # Details of the VM cluster.
9
+ #
10
+ class Database::Models::VmCluster
11
+ LIFECYCLE_STATE_ENUM = [
12
+ LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING'.freeze,
13
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE'.freeze,
14
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
15
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING'.freeze,
16
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED'.freeze,
17
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
18
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
19
+ ].freeze
20
+
21
+ LICENSE_MODEL_ENUM = [
22
+ LICENSE_MODEL_LICENSE_INCLUDED = 'LICENSE_INCLUDED'.freeze,
23
+ LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE'.freeze,
24
+ LICENSE_MODEL_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
25
+ ].freeze
26
+
27
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VM cluster.
28
+ # @return [String]
29
+ attr_accessor :id
30
+
31
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment.
32
+ # @return [String]
33
+ attr_accessor :compartment_id
34
+
35
+ # The current state of the VM cluster.
36
+ # @return [String]
37
+ attr_reader :lifecycle_state
38
+
39
+ # The user-friendly name for the VM cluster. The name does not need to be unique.
40
+ # @return [String]
41
+ attr_accessor :display_name
42
+
43
+ # The date and time that the VM cluster was created.
44
+ # @return [DateTime]
45
+ attr_accessor :time_created
46
+
47
+ # Additional information about the current lifecycle state.
48
+ # @return [String]
49
+ attr_accessor :lifecycle_details
50
+
51
+ # The time zone of the Exadata infrastructure. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/Content/Database/References/timezones.htm).
52
+ # @return [String]
53
+ attr_accessor :time_zone
54
+
55
+ # If true, database backup on local Exadata storage is configured for the VM cluster. If false, database backup on local Exadata storage is not available in the VM cluster.
56
+ #
57
+ # @return [BOOLEAN]
58
+ attr_accessor :is_local_backup_enabled
59
+
60
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Exadata infrastructure.
61
+ # @return [String]
62
+ attr_accessor :exadata_infrastructure_id
63
+
64
+ # If true, sparse disk group is configured for the VM cluster. If false, sparse disk group is not created.
65
+ #
66
+ # @return [BOOLEAN]
67
+ attr_accessor :is_sparse_diskgroup_enabled
68
+
69
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VM cluster network.
70
+ # @return [String]
71
+ attr_accessor :vm_cluster_network_id
72
+
73
+ # The number of enabled CPU cores.
74
+ # @return [Integer]
75
+ attr_accessor :cpus_enabled
76
+
77
+ # Size, in terabytes, of the DATA disk group.
78
+ #
79
+ # @return [Integer]
80
+ attr_accessor :data_storage_size_in_tbs
81
+
82
+ # The shape of the Exadata infrastructure. The shape determines the amount of CPU, storage, and memory resources allocated to the instance.
83
+ #
84
+ # @return [String]
85
+ attr_accessor :shape
86
+
87
+ # The Oracle Grid Infrastructure software version for the VM cluster.
88
+ # @return [String]
89
+ attr_accessor :gi_version
90
+
91
+ # The public key portion of one or more key pairs used for SSH access to the VM cluster.
92
+ # @return [Array<String>]
93
+ attr_accessor :ssh_public_keys
94
+
95
+ # The Oracle license model that applies to the VM cluster. The default is LICENSE_INCLUDED.
96
+ #
97
+ # @return [String]
98
+ attr_reader :license_model
99
+
100
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
101
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
102
+ #
103
+ # Example: `{\"Department\": \"Finance\"}`
104
+ #
105
+ # @return [Hash<String, String>]
106
+ attr_accessor :freeform_tags
107
+
108
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
109
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
110
+ #
111
+ # @return [Hash<String, Hash<String, Object>>]
112
+ attr_accessor :defined_tags
113
+
114
+ # Attribute mapping from ruby-style variable name to JSON key.
115
+ def self.attribute_map
116
+ {
117
+ # rubocop:disable Style/SymbolLiteral
118
+ 'id': :'id',
119
+ 'compartment_id': :'compartmentId',
120
+ 'lifecycle_state': :'lifecycleState',
121
+ 'display_name': :'displayName',
122
+ 'time_created': :'timeCreated',
123
+ 'lifecycle_details': :'lifecycleDetails',
124
+ 'time_zone': :'timeZone',
125
+ 'is_local_backup_enabled': :'isLocalBackupEnabled',
126
+ 'exadata_infrastructure_id': :'exadataInfrastructureId',
127
+ 'is_sparse_diskgroup_enabled': :'isSparseDiskgroupEnabled',
128
+ 'vm_cluster_network_id': :'vmClusterNetworkId',
129
+ 'cpus_enabled': :'cpusEnabled',
130
+ 'data_storage_size_in_tbs': :'dataStorageSizeInTBs',
131
+ 'shape': :'shape',
132
+ 'gi_version': :'giVersion',
133
+ 'ssh_public_keys': :'sshPublicKeys',
134
+ 'license_model': :'licenseModel',
135
+ 'freeform_tags': :'freeformTags',
136
+ 'defined_tags': :'definedTags'
137
+ # rubocop:enable Style/SymbolLiteral
138
+ }
139
+ end
140
+
141
+ # Attribute type mapping.
142
+ def self.swagger_types
143
+ {
144
+ # rubocop:disable Style/SymbolLiteral
145
+ 'id': :'String',
146
+ 'compartment_id': :'String',
147
+ 'lifecycle_state': :'String',
148
+ 'display_name': :'String',
149
+ 'time_created': :'DateTime',
150
+ 'lifecycle_details': :'String',
151
+ 'time_zone': :'String',
152
+ 'is_local_backup_enabled': :'BOOLEAN',
153
+ 'exadata_infrastructure_id': :'String',
154
+ 'is_sparse_diskgroup_enabled': :'BOOLEAN',
155
+ 'vm_cluster_network_id': :'String',
156
+ 'cpus_enabled': :'Integer',
157
+ 'data_storage_size_in_tbs': :'Integer',
158
+ 'shape': :'String',
159
+ 'gi_version': :'String',
160
+ 'ssh_public_keys': :'Array<String>',
161
+ 'license_model': :'String',
162
+ 'freeform_tags': :'Hash<String, String>',
163
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
164
+ # rubocop:enable Style/SymbolLiteral
165
+ }
166
+ end
167
+
168
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
169
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
170
+
171
+
172
+ # Initializes the object
173
+ # @param [Hash] attributes Model attributes in the form of hash
174
+ # @option attributes [String] :id The value to assign to the {#id} property
175
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
176
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
177
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
178
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
179
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
180
+ # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
181
+ # @option attributes [BOOLEAN] :is_local_backup_enabled The value to assign to the {#is_local_backup_enabled} property
182
+ # @option attributes [String] :exadata_infrastructure_id The value to assign to the {#exadata_infrastructure_id} property
183
+ # @option attributes [BOOLEAN] :is_sparse_diskgroup_enabled The value to assign to the {#is_sparse_diskgroup_enabled} property
184
+ # @option attributes [String] :vm_cluster_network_id The value to assign to the {#vm_cluster_network_id} property
185
+ # @option attributes [Integer] :cpus_enabled The value to assign to the {#cpus_enabled} property
186
+ # @option attributes [Integer] :data_storage_size_in_tbs The value to assign to the {#data_storage_size_in_tbs} property
187
+ # @option attributes [String] :shape The value to assign to the {#shape} property
188
+ # @option attributes [String] :gi_version The value to assign to the {#gi_version} property
189
+ # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
190
+ # @option attributes [String] :license_model The value to assign to the {#license_model} property
191
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
192
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
193
+ def initialize(attributes = {})
194
+ return unless attributes.is_a?(Hash)
195
+
196
+ self.id = attributes[:'id'] if attributes[:'id']
197
+
198
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
199
+
200
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
201
+
202
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
203
+
204
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
205
+
206
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
207
+
208
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
209
+
210
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
211
+
212
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
213
+
214
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
215
+
216
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
217
+
218
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
219
+
220
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
221
+
222
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
223
+
224
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
225
+
226
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
227
+
228
+ self.time_zone = attributes[:'timeZone'] if attributes[:'timeZone']
229
+
230
+ raise 'You cannot provide both :timeZone and :time_zone' if attributes.key?(:'timeZone') && attributes.key?(:'time_zone')
231
+
232
+ self.time_zone = attributes[:'time_zone'] if attributes[:'time_zone']
233
+
234
+ self.is_local_backup_enabled = attributes[:'isLocalBackupEnabled'] unless attributes[:'isLocalBackupEnabled'].nil?
235
+
236
+ raise 'You cannot provide both :isLocalBackupEnabled and :is_local_backup_enabled' if attributes.key?(:'isLocalBackupEnabled') && attributes.key?(:'is_local_backup_enabled')
237
+
238
+ self.is_local_backup_enabled = attributes[:'is_local_backup_enabled'] unless attributes[:'is_local_backup_enabled'].nil?
239
+
240
+ self.exadata_infrastructure_id = attributes[:'exadataInfrastructureId'] if attributes[:'exadataInfrastructureId']
241
+
242
+ raise 'You cannot provide both :exadataInfrastructureId and :exadata_infrastructure_id' if attributes.key?(:'exadataInfrastructureId') && attributes.key?(:'exadata_infrastructure_id')
243
+
244
+ self.exadata_infrastructure_id = attributes[:'exadata_infrastructure_id'] if attributes[:'exadata_infrastructure_id']
245
+
246
+ self.is_sparse_diskgroup_enabled = attributes[:'isSparseDiskgroupEnabled'] unless attributes[:'isSparseDiskgroupEnabled'].nil?
247
+
248
+ raise 'You cannot provide both :isSparseDiskgroupEnabled and :is_sparse_diskgroup_enabled' if attributes.key?(:'isSparseDiskgroupEnabled') && attributes.key?(:'is_sparse_diskgroup_enabled')
249
+
250
+ self.is_sparse_diskgroup_enabled = attributes[:'is_sparse_diskgroup_enabled'] unless attributes[:'is_sparse_diskgroup_enabled'].nil?
251
+
252
+ self.vm_cluster_network_id = attributes[:'vmClusterNetworkId'] if attributes[:'vmClusterNetworkId']
253
+
254
+ raise 'You cannot provide both :vmClusterNetworkId and :vm_cluster_network_id' if attributes.key?(:'vmClusterNetworkId') && attributes.key?(:'vm_cluster_network_id')
255
+
256
+ self.vm_cluster_network_id = attributes[:'vm_cluster_network_id'] if attributes[:'vm_cluster_network_id']
257
+
258
+ self.cpus_enabled = attributes[:'cpusEnabled'] if attributes[:'cpusEnabled']
259
+
260
+ raise 'You cannot provide both :cpusEnabled and :cpus_enabled' if attributes.key?(:'cpusEnabled') && attributes.key?(:'cpus_enabled')
261
+
262
+ self.cpus_enabled = attributes[:'cpus_enabled'] if attributes[:'cpus_enabled']
263
+
264
+ self.data_storage_size_in_tbs = attributes[:'dataStorageSizeInTBs'] if attributes[:'dataStorageSizeInTBs']
265
+
266
+ raise 'You cannot provide both :dataStorageSizeInTBs and :data_storage_size_in_tbs' if attributes.key?(:'dataStorageSizeInTBs') && attributes.key?(:'data_storage_size_in_tbs')
267
+
268
+ self.data_storage_size_in_tbs = attributes[:'data_storage_size_in_tbs'] if attributes[:'data_storage_size_in_tbs']
269
+
270
+ self.shape = attributes[:'shape'] if attributes[:'shape']
271
+
272
+ self.gi_version = attributes[:'giVersion'] if attributes[:'giVersion']
273
+
274
+ raise 'You cannot provide both :giVersion and :gi_version' if attributes.key?(:'giVersion') && attributes.key?(:'gi_version')
275
+
276
+ self.gi_version = attributes[:'gi_version'] if attributes[:'gi_version']
277
+
278
+ self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
279
+
280
+ raise 'You cannot provide both :sshPublicKeys and :ssh_public_keys' if attributes.key?(:'sshPublicKeys') && attributes.key?(:'ssh_public_keys')
281
+
282
+ self.ssh_public_keys = attributes[:'ssh_public_keys'] if attributes[:'ssh_public_keys']
283
+
284
+ self.license_model = attributes[:'licenseModel'] if attributes[:'licenseModel']
285
+
286
+ raise 'You cannot provide both :licenseModel and :license_model' if attributes.key?(:'licenseModel') && attributes.key?(:'license_model')
287
+
288
+ self.license_model = attributes[:'license_model'] if attributes[:'license_model']
289
+
290
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
291
+
292
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
293
+
294
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
295
+
296
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
297
+
298
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
299
+
300
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
301
+ end
302
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
303
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
304
+
305
+ # Custom attribute writer method checking allowed values (enum).
306
+ # @param [Object] lifecycle_state Object to be assigned
307
+ def lifecycle_state=(lifecycle_state)
308
+ # rubocop:disable Style/ConditionalAssignment
309
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
310
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
311
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
312
+ else
313
+ @lifecycle_state = lifecycle_state
314
+ end
315
+ # rubocop:enable Style/ConditionalAssignment
316
+ end
317
+
318
+ # Custom attribute writer method checking allowed values (enum).
319
+ # @param [Object] license_model Object to be assigned
320
+ def license_model=(license_model)
321
+ # rubocop:disable Style/ConditionalAssignment
322
+ if license_model && !LICENSE_MODEL_ENUM.include?(license_model)
323
+ OCI.logger.debug("Unknown value for 'license_model' [" + license_model + "]. Mapping to 'LICENSE_MODEL_UNKNOWN_ENUM_VALUE'") if OCI.logger
324
+ @license_model = LICENSE_MODEL_UNKNOWN_ENUM_VALUE
325
+ else
326
+ @license_model = license_model
327
+ end
328
+ # rubocop:enable Style/ConditionalAssignment
329
+ end
330
+
331
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
332
+
333
+
334
+ # Checks equality by comparing each attribute.
335
+ # @param [Object] other the other object to be compared
336
+ def ==(other)
337
+ return true if equal?(other)
338
+
339
+ self.class == other.class &&
340
+ id == other.id &&
341
+ compartment_id == other.compartment_id &&
342
+ lifecycle_state == other.lifecycle_state &&
343
+ display_name == other.display_name &&
344
+ time_created == other.time_created &&
345
+ lifecycle_details == other.lifecycle_details &&
346
+ time_zone == other.time_zone &&
347
+ is_local_backup_enabled == other.is_local_backup_enabled &&
348
+ exadata_infrastructure_id == other.exadata_infrastructure_id &&
349
+ is_sparse_diskgroup_enabled == other.is_sparse_diskgroup_enabled &&
350
+ vm_cluster_network_id == other.vm_cluster_network_id &&
351
+ cpus_enabled == other.cpus_enabled &&
352
+ data_storage_size_in_tbs == other.data_storage_size_in_tbs &&
353
+ shape == other.shape &&
354
+ gi_version == other.gi_version &&
355
+ ssh_public_keys == other.ssh_public_keys &&
356
+ license_model == other.license_model &&
357
+ freeform_tags == other.freeform_tags &&
358
+ defined_tags == other.defined_tags
359
+ end
360
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
361
+
362
+ # @see the `==` method
363
+ # @param [Object] other the other object to be compared
364
+ def eql?(other)
365
+ self == other
366
+ end
367
+
368
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
369
+
370
+
371
+ # Calculates hash code according to all attributes.
372
+ # @return [Fixnum] Hash code
373
+ def hash
374
+ [id, compartment_id, lifecycle_state, display_name, time_created, lifecycle_details, time_zone, is_local_backup_enabled, exadata_infrastructure_id, is_sparse_diskgroup_enabled, vm_cluster_network_id, cpus_enabled, data_storage_size_in_tbs, shape, gi_version, ssh_public_keys, license_model, freeform_tags, defined_tags].hash
375
+ end
376
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
377
+
378
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
379
+
380
+
381
+ # Builds the object from hash
382
+ # @param [Hash] attributes Model attributes in the form of hash
383
+ # @return [Object] Returns the model itself
384
+ def build_from_hash(attributes)
385
+ return nil unless attributes.is_a?(Hash)
386
+
387
+ self.class.swagger_types.each_pair do |key, type|
388
+ if type =~ /^Array<(.*)>/i
389
+ # check to ensure the input is an array given that the the attribute
390
+ # is documented as an array but the input is not
391
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
392
+ public_method("#{key}=").call(
393
+ attributes[self.class.attribute_map[key]]
394
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
395
+ )
396
+ end
397
+ elsif !attributes[self.class.attribute_map[key]].nil?
398
+ public_method("#{key}=").call(
399
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
400
+ )
401
+ end
402
+ # or else data not found in attributes(hash), not an issue as the data can be optional
403
+ end
404
+
405
+ self
406
+ end
407
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
408
+
409
+ # Returns the string representation of the object
410
+ # @return [String] String presentation of the object
411
+ def to_s
412
+ to_hash.to_s
413
+ end
414
+
415
+ # Returns the object in the form of hash
416
+ # @return [Hash] Returns the object in the form of hash
417
+ def to_hash
418
+ hash = {}
419
+ self.class.attribute_map.each_pair do |attr, param|
420
+ value = public_method(attr).call
421
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
422
+
423
+ hash[param] = _to_hash(value)
424
+ end
425
+ hash
426
+ end
427
+
428
+ private
429
+
430
+ # Outputs non-array value in the form of hash
431
+ # For object, use to_hash. Otherwise, just return the value
432
+ # @param [Object] value Any valid value
433
+ # @return [Hash] Returns the value in the form of hash
434
+ def _to_hash(value)
435
+ if value.is_a?(Array)
436
+ value.compact.map { |v| _to_hash(v) }
437
+ elsif value.is_a?(Hash)
438
+ {}.tap do |hash|
439
+ value.each { |k, v| hash[k] = _to_hash(v) }
440
+ end
441
+ elsif value.respond_to? :to_hash
442
+ value.to_hash
443
+ else
444
+ value
445
+ end
446
+ end
447
+ end
448
+ end
449
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength