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
@@ -15,6 +15,10 @@ module OCI
15
15
  # @return [String]
16
16
  attr_accessor :name
17
17
 
18
+ # The family of the shape used for the DB system.
19
+ # @return [String]
20
+ attr_accessor :shape_family
21
+
18
22
  # Deprecated. Use `name` instead of `shape`.
19
23
  # @return [String]
20
24
  attr_accessor :shape
@@ -44,6 +48,7 @@ module OCI
44
48
  {
45
49
  # rubocop:disable Style/SymbolLiteral
46
50
  'name': :'name',
51
+ 'shape_family': :'shapeFamily',
47
52
  'shape': :'shape',
48
53
  'available_core_count': :'availableCoreCount',
49
54
  'minimum_core_count': :'minimumCoreCount',
@@ -59,6 +64,7 @@ module OCI
59
64
  {
60
65
  # rubocop:disable Style/SymbolLiteral
61
66
  'name': :'String',
67
+ 'shape_family': :'String',
62
68
  'shape': :'String',
63
69
  'available_core_count': :'Integer',
64
70
  'minimum_core_count': :'Integer',
@@ -76,6 +82,7 @@ module OCI
76
82
  # Initializes the object
77
83
  # @param [Hash] attributes Model attributes in the form of hash
78
84
  # @option attributes [String] :name The value to assign to the {#name} property
85
+ # @option attributes [String] :shape_family The value to assign to the {#shape_family} property
79
86
  # @option attributes [String] :shape The value to assign to the {#shape} property
80
87
  # @option attributes [Integer] :available_core_count The value to assign to the {#available_core_count} property
81
88
  # @option attributes [Integer] :minimum_core_count The value to assign to the {#minimum_core_count} property
@@ -90,6 +97,12 @@ module OCI
90
97
 
91
98
  self.name = attributes[:'name'] if attributes[:'name']
92
99
 
100
+ self.shape_family = attributes[:'shapeFamily'] if attributes[:'shapeFamily']
101
+
102
+ raise 'You cannot provide both :shapeFamily and :shape_family' if attributes.key?(:'shapeFamily') && attributes.key?(:'shape_family')
103
+
104
+ self.shape_family = attributes[:'shape_family'] if attributes[:'shape_family']
105
+
93
106
  self.shape = attributes[:'shape'] if attributes[:'shape']
94
107
 
95
108
  self.available_core_count = attributes[:'availableCoreCount'] if attributes[:'availableCoreCount']
@@ -135,6 +148,7 @@ module OCI
135
148
 
136
149
  self.class == other.class &&
137
150
  name == other.name &&
151
+ shape_family == other.shape_family &&
138
152
  shape == other.shape &&
139
153
  available_core_count == other.available_core_count &&
140
154
  minimum_core_count == other.minimum_core_count &&
@@ -156,7 +170,7 @@ module OCI
156
170
  # Calculates hash code according to all attributes.
157
171
  # @return [Fixnum] Hash code
158
172
  def hash
159
- [name, shape, available_core_count, minimum_core_count, core_count_increment, minimum_node_count, maximum_node_count].hash
173
+ [name, shape_family, shape, available_core_count, minimum_core_count, core_count_increment, minimum_node_count, maximum_node_count].hash
160
174
  end
161
175
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
162
176
 
@@ -111,6 +111,9 @@ module OCI
111
111
  # @return [String]
112
112
  attr_accessor :shape
113
113
 
114
+ # @return [OCI::Database::Models::DbSystemOptions]
115
+ attr_accessor :db_system_options
116
+
114
117
  # **[Required]** The public key portion of one or more key pairs used for SSH access to the DB system.
115
118
  # @return [Array<String>]
116
119
  attr_accessor :ssh_public_keys
@@ -237,8 +240,6 @@ module OCI
237
240
  # Defined tags for this resource. Each key is predefined and scoped to a namespace.
238
241
  # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
239
242
  #
240
- # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
241
- #
242
243
  # @return [Hash<String, Hash<String, Object>>]
243
244
  attr_accessor :defined_tags
244
245
 
@@ -256,6 +257,7 @@ module OCI
256
257
  'nsg_ids': :'nsgIds',
257
258
  'backup_network_nsg_ids': :'backupNetworkNsgIds',
258
259
  'shape': :'shape',
260
+ 'db_system_options': :'dbSystemOptions',
259
261
  'ssh_public_keys': :'sshPublicKeys',
260
262
  'time_zone': :'timeZone',
261
263
  'hostname': :'hostname',
@@ -299,6 +301,7 @@ module OCI
299
301
  'nsg_ids': :'Array<String>',
300
302
  'backup_network_nsg_ids': :'Array<String>',
301
303
  'shape': :'String',
304
+ 'db_system_options': :'OCI::Database::Models::DbSystemOptions',
302
305
  'ssh_public_keys': :'Array<String>',
303
306
  'time_zone': :'String',
304
307
  'hostname': :'String',
@@ -344,6 +347,7 @@ module OCI
344
347
  # @option attributes [Array<String>] :nsg_ids The value to assign to the {#nsg_ids} property
345
348
  # @option attributes [Array<String>] :backup_network_nsg_ids The value to assign to the {#backup_network_nsg_ids} property
346
349
  # @option attributes [String] :shape The value to assign to the {#shape} property
350
+ # @option attributes [OCI::Database::Models::DbSystemOptions] :db_system_options The value to assign to the {#db_system_options} property
347
351
  # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
348
352
  # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
349
353
  # @option attributes [String] :hostname The value to assign to the {#hostname} property
@@ -427,6 +431,12 @@ module OCI
427
431
 
428
432
  self.shape = attributes[:'shape'] if attributes[:'shape']
429
433
 
434
+ self.db_system_options = attributes[:'dbSystemOptions'] if attributes[:'dbSystemOptions']
435
+
436
+ raise 'You cannot provide both :dbSystemOptions and :db_system_options' if attributes.key?(:'dbSystemOptions') && attributes.key?(:'db_system_options')
437
+
438
+ self.db_system_options = attributes[:'db_system_options'] if attributes[:'db_system_options']
439
+
430
440
  self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
431
441
 
432
442
  raise 'You cannot provide both :sshPublicKeys and :ssh_public_keys' if attributes.key?(:'sshPublicKeys') && attributes.key?(:'ssh_public_keys')
@@ -639,6 +649,7 @@ module OCI
639
649
  nsg_ids == other.nsg_ids &&
640
650
  backup_network_nsg_ids == other.backup_network_nsg_ids &&
641
651
  shape == other.shape &&
652
+ db_system_options == other.db_system_options &&
642
653
  ssh_public_keys == other.ssh_public_keys &&
643
654
  time_zone == other.time_zone &&
644
655
  hostname == other.hostname &&
@@ -679,7 +690,7 @@ module OCI
679
690
  # Calculates hash code according to all attributes.
680
691
  # @return [Fixnum] Hash code
681
692
  def hash
682
- [id, compartment_id, display_name, availability_domain, fault_domains, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, shape, ssh_public_keys, time_zone, hostname, domain, version, cpu_core_count, cluster_name, data_storage_percentage, database_edition, last_patch_history_entry_id, listener_port, lifecycle_state, time_created, lifecycle_details, disk_redundancy, sparse_diskgroup, scan_ip_ids, vip_ids, scan_dns_record_id, data_storage_size_in_gbs, reco_storage_size_in_gb, node_count, license_model, freeform_tags, defined_tags].hash
693
+ [id, compartment_id, display_name, availability_domain, fault_domains, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, shape, db_system_options, ssh_public_keys, time_zone, hostname, domain, version, cpu_core_count, cluster_name, data_storage_percentage, database_edition, last_patch_history_entry_id, listener_port, lifecycle_state, time_created, lifecycle_details, disk_redundancy, sparse_diskgroup, scan_ip_ids, vip_ids, scan_dns_record_id, data_storage_size_in_gbs, reco_storage_size_in_gb, node_count, license_model, freeform_tags, defined_tags].hash
683
694
  end
684
695
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
685
696
 
@@ -0,0 +1,450 @@
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
+ # ExadataInfrastructure
9
+ class Database::Models::ExadataInfrastructure
10
+ LIFECYCLE_STATE_ENUM = [
11
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
12
+ LIFECYCLE_STATE_REQUIRES_ACTIVATION = 'REQUIRES_ACTIVATION'.freeze,
13
+ LIFECYCLE_STATE_ACTIVATING = 'ACTIVATING'.freeze,
14
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
15
+ LIFECYCLE_STATE_ACTIVATION_FAILED = 'ACTIVATION_FAILED'.freeze,
16
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
17
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
18
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
19
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
20
+ LIFECYCLE_STATE_OFFLINE = 'OFFLINE'.freeze,
21
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
22
+ ].freeze
23
+
24
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Exadata infrastructure.
25
+ # @return [String]
26
+ attr_accessor :id
27
+
28
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment.
29
+ # @return [String]
30
+ attr_accessor :compartment_id
31
+
32
+ # **[Required]** The current lifecycle state of the Exadata infrastructure.
33
+ # @return [String]
34
+ attr_reader :lifecycle_state
35
+
36
+ # **[Required]** The user-friendly name for the Exadata infrastructure. The name does not need to be unique.
37
+ # @return [String]
38
+ attr_accessor :display_name
39
+
40
+ # **[Required]** The shape of the Exadata infrastructure. The shape determines the amount of CPU, storage, and memory resources allocated to the instance.
41
+ #
42
+ # @return [String]
43
+ attr_accessor :shape
44
+
45
+ # The time zone of the Exadata infrastructure. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/Content/Database/References/timezones.htm).
46
+ # @return [String]
47
+ attr_accessor :time_zone
48
+
49
+ # The number of enabled CPU cores.
50
+ # @return [Integer]
51
+ attr_accessor :cpus_enabled
52
+
53
+ # Size, in terabytes, of the DATA disk group.
54
+ #
55
+ # @return [Integer]
56
+ attr_accessor :data_storage_size_in_tbs
57
+
58
+ # The IP address for the first control plane server.
59
+ # @return [String]
60
+ attr_accessor :cloud_control_plane_server1
61
+
62
+ # The IP address for the second control plane server.
63
+ # @return [String]
64
+ attr_accessor :cloud_control_plane_server2
65
+
66
+ # The netmask for the control plane network.
67
+ # @return [String]
68
+ attr_accessor :netmask
69
+
70
+ # The gateway for the control plane network.
71
+ # @return [String]
72
+ attr_accessor :gateway
73
+
74
+ # The CIDR block for the Exadata administration network.
75
+ # @return [String]
76
+ attr_accessor :admin_network_cidr
77
+
78
+ # The CIDR block for the Exadata InfiniBand interconnect.
79
+ # @return [String]
80
+ attr_accessor :infini_band_network_cidr
81
+
82
+ # The corporate network proxy for access to the control plane network.
83
+ # @return [String]
84
+ attr_accessor :corporate_proxy
85
+
86
+ # The list of DNS server IP addresses. Maximum of 3 allowed.
87
+ # @return [Array<String>]
88
+ attr_accessor :dns_server
89
+
90
+ # The list of NTP server IP addresses. Maximum of 3 allowed.
91
+ # @return [Array<String>]
92
+ attr_accessor :ntp_server
93
+
94
+ # The date and time the Exadata infrastructure was created.
95
+ # @return [DateTime]
96
+ attr_accessor :time_created
97
+
98
+ # Additional information about the current lifecycle state.
99
+ # @return [String]
100
+ attr_accessor :lifecycle_details
101
+
102
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
103
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
104
+ #
105
+ # Example: `{\"Department\": \"Finance\"}`
106
+ #
107
+ # @return [Hash<String, String>]
108
+ attr_accessor :freeform_tags
109
+
110
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
111
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
112
+ #
113
+ # @return [Hash<String, Hash<String, Object>>]
114
+ attr_accessor :defined_tags
115
+
116
+ # Attribute mapping from ruby-style variable name to JSON key.
117
+ def self.attribute_map
118
+ {
119
+ # rubocop:disable Style/SymbolLiteral
120
+ 'id': :'id',
121
+ 'compartment_id': :'compartmentId',
122
+ 'lifecycle_state': :'lifecycleState',
123
+ 'display_name': :'displayName',
124
+ 'shape': :'shape',
125
+ 'time_zone': :'timeZone',
126
+ 'cpus_enabled': :'cpusEnabled',
127
+ 'data_storage_size_in_tbs': :'dataStorageSizeInTBs',
128
+ 'cloud_control_plane_server1': :'cloudControlPlaneServer1',
129
+ 'cloud_control_plane_server2': :'cloudControlPlaneServer2',
130
+ 'netmask': :'netmask',
131
+ 'gateway': :'gateway',
132
+ 'admin_network_cidr': :'adminNetworkCIDR',
133
+ 'infini_band_network_cidr': :'infiniBandNetworkCIDR',
134
+ 'corporate_proxy': :'corporateProxy',
135
+ 'dns_server': :'dnsServer',
136
+ 'ntp_server': :'ntpServer',
137
+ 'time_created': :'timeCreated',
138
+ 'lifecycle_details': :'lifecycleDetails',
139
+ 'freeform_tags': :'freeformTags',
140
+ 'defined_tags': :'definedTags'
141
+ # rubocop:enable Style/SymbolLiteral
142
+ }
143
+ end
144
+
145
+ # Attribute type mapping.
146
+ def self.swagger_types
147
+ {
148
+ # rubocop:disable Style/SymbolLiteral
149
+ 'id': :'String',
150
+ 'compartment_id': :'String',
151
+ 'lifecycle_state': :'String',
152
+ 'display_name': :'String',
153
+ 'shape': :'String',
154
+ 'time_zone': :'String',
155
+ 'cpus_enabled': :'Integer',
156
+ 'data_storage_size_in_tbs': :'Integer',
157
+ 'cloud_control_plane_server1': :'String',
158
+ 'cloud_control_plane_server2': :'String',
159
+ 'netmask': :'String',
160
+ 'gateway': :'String',
161
+ 'admin_network_cidr': :'String',
162
+ 'infini_band_network_cidr': :'String',
163
+ 'corporate_proxy': :'String',
164
+ 'dns_server': :'Array<String>',
165
+ 'ntp_server': :'Array<String>',
166
+ 'time_created': :'DateTime',
167
+ 'lifecycle_details': :'String',
168
+ 'freeform_tags': :'Hash<String, String>',
169
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
170
+ # rubocop:enable Style/SymbolLiteral
171
+ }
172
+ end
173
+
174
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
175
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
176
+
177
+
178
+ # Initializes the object
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ # @option attributes [String] :id The value to assign to the {#id} property
181
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
182
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
183
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
184
+ # @option attributes [String] :shape The value to assign to the {#shape} property
185
+ # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
186
+ # @option attributes [Integer] :cpus_enabled The value to assign to the {#cpus_enabled} property
187
+ # @option attributes [Integer] :data_storage_size_in_tbs The value to assign to the {#data_storage_size_in_tbs} property
188
+ # @option attributes [String] :cloud_control_plane_server1 The value to assign to the {#cloud_control_plane_server1} property
189
+ # @option attributes [String] :cloud_control_plane_server2 The value to assign to the {#cloud_control_plane_server2} property
190
+ # @option attributes [String] :netmask The value to assign to the {#netmask} property
191
+ # @option attributes [String] :gateway The value to assign to the {#gateway} property
192
+ # @option attributes [String] :admin_network_cidr The value to assign to the {#admin_network_cidr} property
193
+ # @option attributes [String] :infini_band_network_cidr The value to assign to the {#infini_band_network_cidr} property
194
+ # @option attributes [String] :corporate_proxy The value to assign to the {#corporate_proxy} property
195
+ # @option attributes [Array<String>] :dns_server The value to assign to the {#dns_server} property
196
+ # @option attributes [Array<String>] :ntp_server The value to assign to the {#ntp_server} property
197
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
198
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
199
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
200
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
201
+ def initialize(attributes = {})
202
+ return unless attributes.is_a?(Hash)
203
+
204
+ self.id = attributes[:'id'] if attributes[:'id']
205
+
206
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
207
+
208
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
209
+
210
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
211
+
212
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
213
+
214
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
215
+
216
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
217
+
218
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
219
+
220
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
221
+
222
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
223
+
224
+ self.shape = attributes[:'shape'] if attributes[:'shape']
225
+
226
+ self.time_zone = attributes[:'timeZone'] if attributes[:'timeZone']
227
+
228
+ raise 'You cannot provide both :timeZone and :time_zone' if attributes.key?(:'timeZone') && attributes.key?(:'time_zone')
229
+
230
+ self.time_zone = attributes[:'time_zone'] if attributes[:'time_zone']
231
+
232
+ self.cpus_enabled = attributes[:'cpusEnabled'] if attributes[:'cpusEnabled']
233
+
234
+ raise 'You cannot provide both :cpusEnabled and :cpus_enabled' if attributes.key?(:'cpusEnabled') && attributes.key?(:'cpus_enabled')
235
+
236
+ self.cpus_enabled = attributes[:'cpus_enabled'] if attributes[:'cpus_enabled']
237
+
238
+ self.data_storage_size_in_tbs = attributes[:'dataStorageSizeInTBs'] if attributes[:'dataStorageSizeInTBs']
239
+
240
+ raise 'You cannot provide both :dataStorageSizeInTBs and :data_storage_size_in_tbs' if attributes.key?(:'dataStorageSizeInTBs') && attributes.key?(:'data_storage_size_in_tbs')
241
+
242
+ self.data_storage_size_in_tbs = attributes[:'data_storage_size_in_tbs'] if attributes[:'data_storage_size_in_tbs']
243
+
244
+ self.cloud_control_plane_server1 = attributes[:'cloudControlPlaneServer1'] if attributes[:'cloudControlPlaneServer1']
245
+
246
+ raise 'You cannot provide both :cloudControlPlaneServer1 and :cloud_control_plane_server1' if attributes.key?(:'cloudControlPlaneServer1') && attributes.key?(:'cloud_control_plane_server1')
247
+
248
+ self.cloud_control_plane_server1 = attributes[:'cloud_control_plane_server1'] if attributes[:'cloud_control_plane_server1']
249
+
250
+ self.cloud_control_plane_server2 = attributes[:'cloudControlPlaneServer2'] if attributes[:'cloudControlPlaneServer2']
251
+
252
+ raise 'You cannot provide both :cloudControlPlaneServer2 and :cloud_control_plane_server2' if attributes.key?(:'cloudControlPlaneServer2') && attributes.key?(:'cloud_control_plane_server2')
253
+
254
+ self.cloud_control_plane_server2 = attributes[:'cloud_control_plane_server2'] if attributes[:'cloud_control_plane_server2']
255
+
256
+ self.netmask = attributes[:'netmask'] if attributes[:'netmask']
257
+
258
+ self.gateway = attributes[:'gateway'] if attributes[:'gateway']
259
+
260
+ self.admin_network_cidr = attributes[:'adminNetworkCIDR'] if attributes[:'adminNetworkCIDR']
261
+
262
+ raise 'You cannot provide both :adminNetworkCIDR and :admin_network_cidr' if attributes.key?(:'adminNetworkCIDR') && attributes.key?(:'admin_network_cidr')
263
+
264
+ self.admin_network_cidr = attributes[:'admin_network_cidr'] if attributes[:'admin_network_cidr']
265
+
266
+ self.infini_band_network_cidr = attributes[:'infiniBandNetworkCIDR'] if attributes[:'infiniBandNetworkCIDR']
267
+
268
+ raise 'You cannot provide both :infiniBandNetworkCIDR and :infini_band_network_cidr' if attributes.key?(:'infiniBandNetworkCIDR') && attributes.key?(:'infini_band_network_cidr')
269
+
270
+ self.infini_band_network_cidr = attributes[:'infini_band_network_cidr'] if attributes[:'infini_band_network_cidr']
271
+
272
+ self.corporate_proxy = attributes[:'corporateProxy'] if attributes[:'corporateProxy']
273
+
274
+ raise 'You cannot provide both :corporateProxy and :corporate_proxy' if attributes.key?(:'corporateProxy') && attributes.key?(:'corporate_proxy')
275
+
276
+ self.corporate_proxy = attributes[:'corporate_proxy'] if attributes[:'corporate_proxy']
277
+
278
+ self.dns_server = attributes[:'dnsServer'] if attributes[:'dnsServer']
279
+
280
+ raise 'You cannot provide both :dnsServer and :dns_server' if attributes.key?(:'dnsServer') && attributes.key?(:'dns_server')
281
+
282
+ self.dns_server = attributes[:'dns_server'] if attributes[:'dns_server']
283
+
284
+ self.ntp_server = attributes[:'ntpServer'] if attributes[:'ntpServer']
285
+
286
+ raise 'You cannot provide both :ntpServer and :ntp_server' if attributes.key?(:'ntpServer') && attributes.key?(:'ntp_server')
287
+
288
+ self.ntp_server = attributes[:'ntp_server'] if attributes[:'ntp_server']
289
+
290
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
291
+
292
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
293
+
294
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
295
+
296
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
297
+
298
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
299
+
300
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
301
+
302
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
303
+
304
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
305
+
306
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
307
+
308
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
309
+
310
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
311
+
312
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
313
+ end
314
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
315
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
316
+
317
+ # Custom attribute writer method checking allowed values (enum).
318
+ # @param [Object] lifecycle_state Object to be assigned
319
+ def lifecycle_state=(lifecycle_state)
320
+ # rubocop:disable Style/ConditionalAssignment
321
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
322
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
323
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
324
+ else
325
+ @lifecycle_state = lifecycle_state
326
+ end
327
+ # rubocop:enable Style/ConditionalAssignment
328
+ end
329
+
330
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
331
+
332
+
333
+ # Checks equality by comparing each attribute.
334
+ # @param [Object] other the other object to be compared
335
+ def ==(other)
336
+ return true if equal?(other)
337
+
338
+ self.class == other.class &&
339
+ id == other.id &&
340
+ compartment_id == other.compartment_id &&
341
+ lifecycle_state == other.lifecycle_state &&
342
+ display_name == other.display_name &&
343
+ shape == other.shape &&
344
+ time_zone == other.time_zone &&
345
+ cpus_enabled == other.cpus_enabled &&
346
+ data_storage_size_in_tbs == other.data_storage_size_in_tbs &&
347
+ cloud_control_plane_server1 == other.cloud_control_plane_server1 &&
348
+ cloud_control_plane_server2 == other.cloud_control_plane_server2 &&
349
+ netmask == other.netmask &&
350
+ gateway == other.gateway &&
351
+ admin_network_cidr == other.admin_network_cidr &&
352
+ infini_band_network_cidr == other.infini_band_network_cidr &&
353
+ corporate_proxy == other.corporate_proxy &&
354
+ dns_server == other.dns_server &&
355
+ ntp_server == other.ntp_server &&
356
+ time_created == other.time_created &&
357
+ lifecycle_details == other.lifecycle_details &&
358
+ freeform_tags == other.freeform_tags &&
359
+ defined_tags == other.defined_tags
360
+ end
361
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
362
+
363
+ # @see the `==` method
364
+ # @param [Object] other the other object to be compared
365
+ def eql?(other)
366
+ self == other
367
+ end
368
+
369
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
370
+
371
+
372
+ # Calculates hash code according to all attributes.
373
+ # @return [Fixnum] Hash code
374
+ def hash
375
+ [id, compartment_id, lifecycle_state, display_name, shape, time_zone, cpus_enabled, data_storage_size_in_tbs, cloud_control_plane_server1, cloud_control_plane_server2, netmask, gateway, admin_network_cidr, infini_band_network_cidr, corporate_proxy, dns_server, ntp_server, time_created, lifecycle_details, freeform_tags, defined_tags].hash
376
+ end
377
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
378
+
379
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
380
+
381
+
382
+ # Builds the object from hash
383
+ # @param [Hash] attributes Model attributes in the form of hash
384
+ # @return [Object] Returns the model itself
385
+ def build_from_hash(attributes)
386
+ return nil unless attributes.is_a?(Hash)
387
+
388
+ self.class.swagger_types.each_pair do |key, type|
389
+ if type =~ /^Array<(.*)>/i
390
+ # check to ensure the input is an array given that the the attribute
391
+ # is documented as an array but the input is not
392
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
393
+ public_method("#{key}=").call(
394
+ attributes[self.class.attribute_map[key]]
395
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
396
+ )
397
+ end
398
+ elsif !attributes[self.class.attribute_map[key]].nil?
399
+ public_method("#{key}=").call(
400
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
401
+ )
402
+ end
403
+ # or else data not found in attributes(hash), not an issue as the data can be optional
404
+ end
405
+
406
+ self
407
+ end
408
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
409
+
410
+ # Returns the string representation of the object
411
+ # @return [String] String presentation of the object
412
+ def to_s
413
+ to_hash.to_s
414
+ end
415
+
416
+ # Returns the object in the form of hash
417
+ # @return [Hash] Returns the object in the form of hash
418
+ def to_hash
419
+ hash = {}
420
+ self.class.attribute_map.each_pair do |attr, param|
421
+ value = public_method(attr).call
422
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
423
+
424
+ hash[param] = _to_hash(value)
425
+ end
426
+ hash
427
+ end
428
+
429
+ private
430
+
431
+ # Outputs non-array value in the form of hash
432
+ # For object, use to_hash. Otherwise, just return the value
433
+ # @param [Object] value Any valid value
434
+ # @return [Hash] Returns the value in the form of hash
435
+ def _to_hash(value)
436
+ if value.is_a?(Array)
437
+ value.compact.map { |v| _to_hash(v) }
438
+ elsif value.is_a?(Hash)
439
+ {}.tap do |hash|
440
+ value.each { |k, v| hash[k] = _to_hash(v) }
441
+ end
442
+ elsif value.respond_to? :to_hash
443
+ value.to_hash
444
+ else
445
+ value
446
+ end
447
+ end
448
+ end
449
+ end
450
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength