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,145 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'job_operation_details'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # Job details that are specific to import Terraform state operations.
9
+ #
10
+ class ResourceManager::Models::ImportTfStateJobOperationDetails < ResourceManager::Models::JobOperationDetails
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+ # rubocop:disable Style/SymbolLiteral
15
+ 'operation': :'operation'
16
+ # rubocop:enable Style/SymbolLiteral
17
+ }
18
+ end
19
+
20
+ # Attribute type mapping.
21
+ def self.swagger_types
22
+ {
23
+ # rubocop:disable Style/SymbolLiteral
24
+ 'operation': :'String'
25
+ # rubocop:enable Style/SymbolLiteral
26
+ }
27
+ end
28
+
29
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
30
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
31
+
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ return unless attributes.is_a?(Hash)
37
+
38
+ attributes['operation'] = 'IMPORT_TF_STATE'
39
+
40
+ super(attributes)
41
+ end
42
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
43
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
44
+
45
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
46
+
47
+
48
+ # Checks equality by comparing each attribute.
49
+ # @param [Object] other the other object to be compared
50
+ def ==(other)
51
+ return true if equal?(other)
52
+
53
+ self.class == other.class &&
54
+ operation == other.operation
55
+ end
56
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
57
+
58
+ # @see the `==` method
59
+ # @param [Object] other the other object to be compared
60
+ def eql?(other)
61
+ self == other
62
+ end
63
+
64
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
65
+
66
+
67
+ # Calculates hash code according to all attributes.
68
+ # @return [Fixnum] Hash code
69
+ def hash
70
+ [operation].hash
71
+ end
72
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
73
+
74
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
75
+
76
+
77
+ # Builds the object from hash
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ # @return [Object] Returns the model itself
80
+ def build_from_hash(attributes)
81
+ return nil unless attributes.is_a?(Hash)
82
+
83
+ self.class.swagger_types.each_pair do |key, type|
84
+ if type =~ /^Array<(.*)>/i
85
+ # check to ensure the input is an array given that the the attribute
86
+ # is documented as an array but the input is not
87
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
88
+ public_method("#{key}=").call(
89
+ attributes[self.class.attribute_map[key]]
90
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
91
+ )
92
+ end
93
+ elsif !attributes[self.class.attribute_map[key]].nil?
94
+ public_method("#{key}=").call(
95
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
96
+ )
97
+ end
98
+ # or else data not found in attributes(hash), not an issue as the data can be optional
99
+ end
100
+
101
+ self
102
+ end
103
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
104
+
105
+ # Returns the string representation of the object
106
+ # @return [String] String presentation of the object
107
+ def to_s
108
+ to_hash.to_s
109
+ end
110
+
111
+ # Returns the object in the form of hash
112
+ # @return [Hash] Returns the object in the form of hash
113
+ def to_hash
114
+ hash = {}
115
+ self.class.attribute_map.each_pair do |attr, param|
116
+ value = public_method(attr).call
117
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
118
+
119
+ hash[param] = _to_hash(value)
120
+ end
121
+ hash
122
+ end
123
+
124
+ private
125
+
126
+ # Outputs non-array value in the form of hash
127
+ # For object, use to_hash. Otherwise, just return the value
128
+ # @param [Object] value Any valid value
129
+ # @return [Hash] Returns the value in the form of hash
130
+ def _to_hash(value)
131
+ if value.is_a?(Array)
132
+ value.compact.map { |v| _to_hash(v) }
133
+ elsif value.is_a?(Hash)
134
+ {}.tap do |hash|
135
+ value.each { |k, v| hash[k] = _to_hash(v) }
136
+ end
137
+ elsif value.respond_to? :to_hash
138
+ value.to_hash
139
+ else
140
+ value
141
+ end
142
+ end
143
+ end
144
+ end
145
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,145 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'job_operation_details_summary'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # Job details that are specific to import Terraform state operations.
9
+ #
10
+ class ResourceManager::Models::ImportTfStateJobOperationDetailsSummary < ResourceManager::Models::JobOperationDetailsSummary
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+ # rubocop:disable Style/SymbolLiteral
15
+ 'operation': :'operation'
16
+ # rubocop:enable Style/SymbolLiteral
17
+ }
18
+ end
19
+
20
+ # Attribute type mapping.
21
+ def self.swagger_types
22
+ {
23
+ # rubocop:disable Style/SymbolLiteral
24
+ 'operation': :'String'
25
+ # rubocop:enable Style/SymbolLiteral
26
+ }
27
+ end
28
+
29
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
30
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
31
+
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ return unless attributes.is_a?(Hash)
37
+
38
+ attributes['operation'] = 'IMPORT_TF_STATE'
39
+
40
+ super(attributes)
41
+ end
42
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
43
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
44
+
45
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
46
+
47
+
48
+ # Checks equality by comparing each attribute.
49
+ # @param [Object] other the other object to be compared
50
+ def ==(other)
51
+ return true if equal?(other)
52
+
53
+ self.class == other.class &&
54
+ operation == other.operation
55
+ end
56
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
57
+
58
+ # @see the `==` method
59
+ # @param [Object] other the other object to be compared
60
+ def eql?(other)
61
+ self == other
62
+ end
63
+
64
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
65
+
66
+
67
+ # Calculates hash code according to all attributes.
68
+ # @return [Fixnum] Hash code
69
+ def hash
70
+ [operation].hash
71
+ end
72
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
73
+
74
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
75
+
76
+
77
+ # Builds the object from hash
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ # @return [Object] Returns the model itself
80
+ def build_from_hash(attributes)
81
+ return nil unless attributes.is_a?(Hash)
82
+
83
+ self.class.swagger_types.each_pair do |key, type|
84
+ if type =~ /^Array<(.*)>/i
85
+ # check to ensure the input is an array given that the the attribute
86
+ # is documented as an array but the input is not
87
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
88
+ public_method("#{key}=").call(
89
+ attributes[self.class.attribute_map[key]]
90
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
91
+ )
92
+ end
93
+ elsif !attributes[self.class.attribute_map[key]].nil?
94
+ public_method("#{key}=").call(
95
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
96
+ )
97
+ end
98
+ # or else data not found in attributes(hash), not an issue as the data can be optional
99
+ end
100
+
101
+ self
102
+ end
103
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
104
+
105
+ # Returns the string representation of the object
106
+ # @return [String] String presentation of the object
107
+ def to_s
108
+ to_hash.to_s
109
+ end
110
+
111
+ # Returns the object in the form of hash
112
+ # @return [Hash] Returns the object in the form of hash
113
+ def to_hash
114
+ hash = {}
115
+ self.class.attribute_map.each_pair do |attr, param|
116
+ value = public_method(attr).call
117
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
118
+
119
+ hash[param] = _to_hash(value)
120
+ end
121
+ hash
122
+ end
123
+
124
+ private
125
+
126
+ # Outputs non-array value in the form of hash
127
+ # For object, use to_hash. Otherwise, just return the value
128
+ # @param [Object] value Any valid value
129
+ # @return [Hash] Returns the value in the form of hash
130
+ def _to_hash(value)
131
+ if value.is_a?(Array)
132
+ value.compact.map { |v| _to_hash(v) }
133
+ elsif value.is_a?(Hash)
134
+ {}.tap do |hash|
135
+ value.each { |k, v| hash[k] = _to_hash(v) }
136
+ end
137
+ elsif value.respond_to? :to_hash
138
+ value.to_hash
139
+ else
140
+ value
141
+ end
142
+ end
143
+ end
144
+ end
145
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -12,12 +12,15 @@ module OCI
12
12
  # - **Destroy job**. To clean up the infrastructure controlled by the stack, you run a destroy job.
13
13
  # A destroy job does not delete the stack or associated job resources,
14
14
  # but instead releases the resources managed by the stack.
15
+ # - **Import_TF_State job**. An import Terraform state job takes a Terraform state file and sets it as the current
16
+ # state of the stack. This is used to migrate local Terraform environments to Resource Manager.
15
17
  #
16
18
  class ResourceManager::Models::Job
17
19
  OPERATION_ENUM = [
18
20
  OPERATION_PLAN = 'PLAN'.freeze,
19
21
  OPERATION_APPLY = 'APPLY'.freeze,
20
22
  OPERATION_DESTROY = 'DESTROY'.freeze,
23
+ OPERATION_IMPORT_TF_STATE = 'IMPORT_TF_STATE'.freeze,
21
24
  OPERATION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
22
25
  ].freeze
23
26
 
@@ -31,15 +34,15 @@ module OCI
31
34
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
32
35
  ].freeze
33
36
 
34
- # The job's OCID.
37
+ # The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the job.
35
38
  # @return [String]
36
39
  attr_accessor :id
37
40
 
38
- # The OCID of the stack that is associated with the job.
41
+ # The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stack that is associated with the job.
39
42
  # @return [String]
40
43
  attr_accessor :stack_id
41
44
 
42
- # The OCID of the compartment in which the job's associated stack resides.
45
+ # The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which the job's associated stack resides.
43
46
  # @return [String]
44
47
  attr_accessor :compartment_id
45
48
 
@@ -51,10 +54,15 @@ module OCI
51
54
  # @return [String]
52
55
  attr_reader :operation
53
56
 
57
+ # @return [OCI::ResourceManager::Models::JobOperationDetails]
58
+ attr_accessor :job_operation_details
59
+
54
60
  # @return [OCI::ResourceManager::Models::ApplyJobPlanResolution]
55
61
  attr_accessor :apply_job_plan_resolution
56
62
 
57
- # The plan job OCID that was used (if this was an apply job and was not auto-approved).
63
+ # Deprecated. Use the property `executionPlanJobId` in `jobOperationDetails` instead.
64
+ # The plan job [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that was used (if this was an apply job and was not auto-approved).
65
+ #
58
66
  # @return [String]
59
67
  attr_accessor :resolved_plan_job_id
60
68
 
@@ -107,6 +115,7 @@ module OCI
107
115
  'compartment_id': :'compartmentId',
108
116
  'display_name': :'displayName',
109
117
  'operation': :'operation',
118
+ 'job_operation_details': :'jobOperationDetails',
110
119
  'apply_job_plan_resolution': :'applyJobPlanResolution',
111
120
  'resolved_plan_job_id': :'resolvedPlanJobId',
112
121
  'time_created': :'timeCreated',
@@ -130,6 +139,7 @@ module OCI
130
139
  'compartment_id': :'String',
131
140
  'display_name': :'String',
132
141
  'operation': :'String',
142
+ 'job_operation_details': :'OCI::ResourceManager::Models::JobOperationDetails',
133
143
  'apply_job_plan_resolution': :'OCI::ResourceManager::Models::ApplyJobPlanResolution',
134
144
  'resolved_plan_job_id': :'String',
135
145
  'time_created': :'DateTime',
@@ -155,6 +165,7 @@ module OCI
155
165
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
156
166
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
157
167
  # @option attributes [String] :operation The value to assign to the {#operation} property
168
+ # @option attributes [OCI::ResourceManager::Models::JobOperationDetails] :job_operation_details The value to assign to the {#job_operation_details} property
158
169
  # @option attributes [OCI::ResourceManager::Models::ApplyJobPlanResolution] :apply_job_plan_resolution The value to assign to the {#apply_job_plan_resolution} property
159
170
  # @option attributes [String] :resolved_plan_job_id The value to assign to the {#resolved_plan_job_id} property
160
171
  # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
@@ -193,6 +204,12 @@ module OCI
193
204
 
194
205
  self.operation = attributes[:'operation'] if attributes[:'operation']
195
206
 
207
+ self.job_operation_details = attributes[:'jobOperationDetails'] if attributes[:'jobOperationDetails']
208
+
209
+ raise 'You cannot provide both :jobOperationDetails and :job_operation_details' if attributes.key?(:'jobOperationDetails') && attributes.key?(:'job_operation_details')
210
+
211
+ self.job_operation_details = attributes[:'job_operation_details'] if attributes[:'job_operation_details']
212
+
196
213
  self.apply_job_plan_resolution = attributes[:'applyJobPlanResolution'] if attributes[:'applyJobPlanResolution']
197
214
 
198
215
  raise 'You cannot provide both :applyJobPlanResolution and :apply_job_plan_resolution' if attributes.key?(:'applyJobPlanResolution') && attributes.key?(:'apply_job_plan_resolution')
@@ -292,6 +309,7 @@ module OCI
292
309
  compartment_id == other.compartment_id &&
293
310
  display_name == other.display_name &&
294
311
  operation == other.operation &&
312
+ job_operation_details == other.job_operation_details &&
295
313
  apply_job_plan_resolution == other.apply_job_plan_resolution &&
296
314
  resolved_plan_job_id == other.resolved_plan_job_id &&
297
315
  time_created == other.time_created &&
@@ -317,7 +335,7 @@ module OCI
317
335
  # Calculates hash code according to all attributes.
318
336
  # @return [Fixnum] Hash code
319
337
  def hash
320
- [id, stack_id, compartment_id, display_name, operation, apply_job_plan_resolution, resolved_plan_job_id, time_created, time_finished, lifecycle_state, failure_details, working_directory, variables, freeform_tags, defined_tags].hash
338
+ [id, stack_id, compartment_id, display_name, operation, job_operation_details, apply_job_plan_resolution, resolved_plan_job_id, time_created, time_finished, lifecycle_state, failure_details, working_directory, variables, freeform_tags, defined_tags].hash
321
339
  end
322
340
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
323
341
 
@@ -0,0 +1,169 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # Job details that are specific to the operation type.
8
+ #
9
+ # This class has direct subclasses. If you are using this class as input to a service operations then you should favor using a subclass over the base class
10
+ class ResourceManager::Models::JobOperationDetails
11
+ # **[Required]** Terraform-specific operation to execute.
12
+ # @return [String]
13
+ attr_accessor :operation
14
+
15
+ # Attribute mapping from ruby-style variable name to JSON key.
16
+ def self.attribute_map
17
+ {
18
+ # rubocop:disable Style/SymbolLiteral
19
+ 'operation': :'operation'
20
+ # rubocop:enable Style/SymbolLiteral
21
+ }
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.swagger_types
26
+ {
27
+ # rubocop:disable Style/SymbolLiteral
28
+ 'operation': :'String'
29
+ # rubocop:enable Style/SymbolLiteral
30
+ }
31
+ end
32
+
33
+ # rubocop:disable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
34
+
35
+
36
+ # Given the hash representation of a subtype of this class,
37
+ # use the info in the hash to return the class of the subtype.
38
+ def self.get_subtype(object_hash)
39
+ type = object_hash[:'operation'] # rubocop:disable Style/SymbolLiteral
40
+
41
+ return 'OCI::ResourceManager::Models::ImportTfStateJobOperationDetails' if type == 'IMPORT_TF_STATE'
42
+ return 'OCI::ResourceManager::Models::PlanJobOperationDetails' if type == 'PLAN'
43
+ return 'OCI::ResourceManager::Models::ApplyJobOperationDetails' if type == 'APPLY'
44
+ return 'OCI::ResourceManager::Models::DestroyJobOperationDetails' if type == 'DESTROY'
45
+
46
+ # TODO: Log a warning when the subtype is not found.
47
+ 'OCI::ResourceManager::Models::JobOperationDetails'
48
+ end
49
+ # rubocop:enable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
50
+
51
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
52
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
53
+
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ # @option attributes [String] :operation The value to assign to the {#operation} property
58
+ def initialize(attributes = {})
59
+ return unless attributes.is_a?(Hash)
60
+
61
+ # convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
63
+
64
+ self.operation = attributes[:'operation'] if attributes[:'operation']
65
+ end
66
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
67
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
68
+
69
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
70
+
71
+
72
+ # Checks equality by comparing each attribute.
73
+ # @param [Object] other the other object to be compared
74
+ def ==(other)
75
+ return true if equal?(other)
76
+
77
+ self.class == other.class &&
78
+ operation == other.operation
79
+ end
80
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
81
+
82
+ # @see the `==` method
83
+ # @param [Object] other the other object to be compared
84
+ def eql?(other)
85
+ self == other
86
+ end
87
+
88
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
89
+
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Fixnum] Hash code
93
+ def hash
94
+ [operation].hash
95
+ end
96
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
97
+
98
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
99
+
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+
107
+ self.class.swagger_types.each_pair do |key, type|
108
+ if type =~ /^Array<(.*)>/i
109
+ # check to ensure the input is an array given that the the attribute
110
+ # is documented as an array but the input is not
111
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
112
+ public_method("#{key}=").call(
113
+ attributes[self.class.attribute_map[key]]
114
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
115
+ )
116
+ end
117
+ elsif !attributes[self.class.attribute_map[key]].nil?
118
+ public_method("#{key}=").call(
119
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
120
+ )
121
+ end
122
+ # or else data not found in attributes(hash), not an issue as the data can be optional
123
+ end
124
+
125
+ self
126
+ end
127
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
128
+
129
+ # Returns the string representation of the object
130
+ # @return [String] String presentation of the object
131
+ def to_s
132
+ to_hash.to_s
133
+ end
134
+
135
+ # Returns the object in the form of hash
136
+ # @return [Hash] Returns the object in the form of hash
137
+ def to_hash
138
+ hash = {}
139
+ self.class.attribute_map.each_pair do |attr, param|
140
+ value = public_method(attr).call
141
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
142
+
143
+ hash[param] = _to_hash(value)
144
+ end
145
+ hash
146
+ end
147
+
148
+ private
149
+
150
+ # Outputs non-array value in the form of hash
151
+ # For object, use to_hash. Otherwise, just return the value
152
+ # @param [Object] value Any valid value
153
+ # @return [Hash] Returns the value in the form of hash
154
+ def _to_hash(value)
155
+ if value.is_a?(Array)
156
+ value.compact.map { |v| _to_hash(v) }
157
+ elsif value.is_a?(Hash)
158
+ {}.tap do |hash|
159
+ value.each { |k, v| hash[k] = _to_hash(v) }
160
+ end
161
+ elsif value.respond_to? :to_hash
162
+ value.to_hash
163
+ else
164
+ value
165
+ end
166
+ end
167
+ end
168
+ end
169
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength