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