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,366 @@
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
+ # Description of Integration Instance.
9
+ class Integration::Models::IntegrationInstance
10
+ INTEGRATION_INSTANCE_TYPE_ENUM = [
11
+ INTEGRATION_INSTANCE_TYPE_STANDARD = 'STANDARD'.freeze,
12
+ INTEGRATION_INSTANCE_TYPE_ENTERPRISE = 'ENTERPRISE'.freeze,
13
+ INTEGRATION_INSTANCE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
14
+ ].freeze
15
+
16
+ LIFECYCLE_STATE_ENUM = [
17
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
18
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
19
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
20
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
21
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
22
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
23
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ # **[Required]** Unique identifier that is immutable on creation.
27
+ # @return [String]
28
+ attr_accessor :id
29
+
30
+ # **[Required]** Integration Instance Identifier, can be renamed.
31
+ # @return [String]
32
+ attr_accessor :display_name
33
+
34
+ # **[Required]** Compartment Identifier.
35
+ # @return [String]
36
+ attr_accessor :compartment_id
37
+
38
+ # **[Required]** Standard or Enterprise type
39
+ # @return [String]
40
+ attr_reader :integration_instance_type
41
+
42
+ # The time the the IntegrationInstance was created. An RFC3339 formatted datetime string.
43
+ # @return [DateTime]
44
+ attr_accessor :time_created
45
+
46
+ # The time the IntegrationInstance was updated. An RFC3339 formatted datetime string.
47
+ # @return [DateTime]
48
+ attr_accessor :time_updated
49
+
50
+ # The current state of the integration instance.
51
+ # @return [String]
52
+ attr_reader :lifecycle_state
53
+
54
+ # An message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
55
+ # @return [String]
56
+ attr_accessor :state_message
57
+
58
+ # Simple key-value pair that is applied without any predefined name,
59
+ # type or scope. Exists for cross-compatibility only.
60
+ # Example: `{\"bar-key\": \"value\"}`
61
+ #
62
+ # @return [Hash<String, String>]
63
+ attr_accessor :freeform_tags
64
+
65
+ # Usage of predefined tag keys. These predefined keys are scoped to
66
+ # namespaces.
67
+ # Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`
68
+ #
69
+ # @return [Hash<String, Hash<String, Object>>]
70
+ attr_accessor :defined_tags
71
+
72
+ # **[Required]** Bring your own license.
73
+ # @return [BOOLEAN]
74
+ attr_accessor :is_byol
75
+
76
+ # **[Required]** The Integration Instance URL.
77
+ # @return [String]
78
+ attr_accessor :instance_url
79
+
80
+ # **[Required]** The number of configured message packs (if any)
81
+ # @return [Integer]
82
+ attr_accessor :message_packs
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ # rubocop:disable Style/SymbolLiteral
88
+ 'id': :'id',
89
+ 'display_name': :'displayName',
90
+ 'compartment_id': :'compartmentId',
91
+ 'integration_instance_type': :'integrationInstanceType',
92
+ 'time_created': :'timeCreated',
93
+ 'time_updated': :'timeUpdated',
94
+ 'lifecycle_state': :'lifecycleState',
95
+ 'state_message': :'stateMessage',
96
+ 'freeform_tags': :'freeformTags',
97
+ 'defined_tags': :'definedTags',
98
+ 'is_byol': :'isByol',
99
+ 'instance_url': :'instanceUrl',
100
+ 'message_packs': :'messagePacks'
101
+ # rubocop:enable Style/SymbolLiteral
102
+ }
103
+ end
104
+
105
+ # Attribute type mapping.
106
+ def self.swagger_types
107
+ {
108
+ # rubocop:disable Style/SymbolLiteral
109
+ 'id': :'String',
110
+ 'display_name': :'String',
111
+ 'compartment_id': :'String',
112
+ 'integration_instance_type': :'String',
113
+ 'time_created': :'DateTime',
114
+ 'time_updated': :'DateTime',
115
+ 'lifecycle_state': :'String',
116
+ 'state_message': :'String',
117
+ 'freeform_tags': :'Hash<String, String>',
118
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
119
+ 'is_byol': :'BOOLEAN',
120
+ 'instance_url': :'String',
121
+ 'message_packs': :'Integer'
122
+ # rubocop:enable Style/SymbolLiteral
123
+ }
124
+ end
125
+
126
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
127
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
128
+
129
+
130
+ # Initializes the object
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ # @option attributes [String] :id The value to assign to the {#id} property
133
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
134
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
135
+ # @option attributes [String] :integration_instance_type The value to assign to the {#integration_instance_type} property
136
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
137
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
138
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
139
+ # @option attributes [String] :state_message The value to assign to the {#state_message} property
140
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
141
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
142
+ # @option attributes [BOOLEAN] :is_byol The value to assign to the {#is_byol} property
143
+ # @option attributes [String] :instance_url The value to assign to the {#instance_url} property
144
+ # @option attributes [Integer] :message_packs The value to assign to the {#message_packs} property
145
+ def initialize(attributes = {})
146
+ return unless attributes.is_a?(Hash)
147
+
148
+ # convert string to symbol for hash key
149
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
150
+
151
+ self.id = attributes[:'id'] if attributes[:'id']
152
+
153
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
154
+
155
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
156
+
157
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
158
+
159
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
160
+
161
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
162
+
163
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
164
+
165
+ self.integration_instance_type = attributes[:'integrationInstanceType'] if attributes[:'integrationInstanceType']
166
+
167
+ raise 'You cannot provide both :integrationInstanceType and :integration_instance_type' if attributes.key?(:'integrationInstanceType') && attributes.key?(:'integration_instance_type')
168
+
169
+ self.integration_instance_type = attributes[:'integration_instance_type'] if attributes[:'integration_instance_type']
170
+
171
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
172
+
173
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
174
+
175
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
176
+
177
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
178
+
179
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
180
+
181
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
182
+
183
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
184
+
185
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
186
+
187
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
188
+
189
+ self.state_message = attributes[:'stateMessage'] if attributes[:'stateMessage']
190
+
191
+ raise 'You cannot provide both :stateMessage and :state_message' if attributes.key?(:'stateMessage') && attributes.key?(:'state_message')
192
+
193
+ self.state_message = attributes[:'state_message'] if attributes[:'state_message']
194
+
195
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
196
+
197
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
198
+
199
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
200
+
201
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
202
+
203
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
204
+
205
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
206
+
207
+ self.is_byol = attributes[:'isByol'] unless attributes[:'isByol'].nil?
208
+
209
+ raise 'You cannot provide both :isByol and :is_byol' if attributes.key?(:'isByol') && attributes.key?(:'is_byol')
210
+
211
+ self.is_byol = attributes[:'is_byol'] unless attributes[:'is_byol'].nil?
212
+
213
+ self.instance_url = attributes[:'instanceUrl'] if attributes[:'instanceUrl']
214
+
215
+ raise 'You cannot provide both :instanceUrl and :instance_url' if attributes.key?(:'instanceUrl') && attributes.key?(:'instance_url')
216
+
217
+ self.instance_url = attributes[:'instance_url'] if attributes[:'instance_url']
218
+
219
+ self.message_packs = attributes[:'messagePacks'] if attributes[:'messagePacks']
220
+
221
+ raise 'You cannot provide both :messagePacks and :message_packs' if attributes.key?(:'messagePacks') && attributes.key?(:'message_packs')
222
+
223
+ self.message_packs = attributes[:'message_packs'] if attributes[:'message_packs']
224
+ end
225
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
226
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
227
+
228
+ # Custom attribute writer method checking allowed values (enum).
229
+ # @param [Object] integration_instance_type Object to be assigned
230
+ def integration_instance_type=(integration_instance_type)
231
+ # rubocop:disable Style/ConditionalAssignment
232
+ if integration_instance_type && !INTEGRATION_INSTANCE_TYPE_ENUM.include?(integration_instance_type)
233
+ OCI.logger.debug("Unknown value for 'integration_instance_type' [" + integration_instance_type + "]. Mapping to 'INTEGRATION_INSTANCE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
234
+ @integration_instance_type = INTEGRATION_INSTANCE_TYPE_UNKNOWN_ENUM_VALUE
235
+ else
236
+ @integration_instance_type = integration_instance_type
237
+ end
238
+ # rubocop:enable Style/ConditionalAssignment
239
+ end
240
+
241
+ # Custom attribute writer method checking allowed values (enum).
242
+ # @param [Object] lifecycle_state Object to be assigned
243
+ def lifecycle_state=(lifecycle_state)
244
+ # rubocop:disable Style/ConditionalAssignment
245
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
246
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
247
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
248
+ else
249
+ @lifecycle_state = lifecycle_state
250
+ end
251
+ # rubocop:enable Style/ConditionalAssignment
252
+ end
253
+
254
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
255
+
256
+
257
+ # Checks equality by comparing each attribute.
258
+ # @param [Object] other the other object to be compared
259
+ def ==(other)
260
+ return true if equal?(other)
261
+
262
+ self.class == other.class &&
263
+ id == other.id &&
264
+ display_name == other.display_name &&
265
+ compartment_id == other.compartment_id &&
266
+ integration_instance_type == other.integration_instance_type &&
267
+ time_created == other.time_created &&
268
+ time_updated == other.time_updated &&
269
+ lifecycle_state == other.lifecycle_state &&
270
+ state_message == other.state_message &&
271
+ freeform_tags == other.freeform_tags &&
272
+ defined_tags == other.defined_tags &&
273
+ is_byol == other.is_byol &&
274
+ instance_url == other.instance_url &&
275
+ message_packs == other.message_packs
276
+ end
277
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
278
+
279
+ # @see the `==` method
280
+ # @param [Object] other the other object to be compared
281
+ def eql?(other)
282
+ self == other
283
+ end
284
+
285
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
286
+
287
+
288
+ # Calculates hash code according to all attributes.
289
+ # @return [Fixnum] Hash code
290
+ def hash
291
+ [id, display_name, compartment_id, integration_instance_type, time_created, time_updated, lifecycle_state, state_message, freeform_tags, defined_tags, is_byol, instance_url, message_packs].hash
292
+ end
293
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
294
+
295
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
296
+
297
+
298
+ # Builds the object from hash
299
+ # @param [Hash] attributes Model attributes in the form of hash
300
+ # @return [Object] Returns the model itself
301
+ def build_from_hash(attributes)
302
+ return nil unless attributes.is_a?(Hash)
303
+
304
+ self.class.swagger_types.each_pair do |key, type|
305
+ if type =~ /^Array<(.*)>/i
306
+ # check to ensure the input is an array given that the the attribute
307
+ # is documented as an array but the input is not
308
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
309
+ public_method("#{key}=").call(
310
+ attributes[self.class.attribute_map[key]]
311
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
312
+ )
313
+ end
314
+ elsif !attributes[self.class.attribute_map[key]].nil?
315
+ public_method("#{key}=").call(
316
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
317
+ )
318
+ end
319
+ # or else data not found in attributes(hash), not an issue as the data can be optional
320
+ end
321
+
322
+ self
323
+ end
324
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
325
+
326
+ # Returns the string representation of the object
327
+ # @return [String] String presentation of the object
328
+ def to_s
329
+ to_hash.to_s
330
+ end
331
+
332
+ # Returns the object in the form of hash
333
+ # @return [Hash] Returns the object in the form of hash
334
+ def to_hash
335
+ hash = {}
336
+ self.class.attribute_map.each_pair do |attr, param|
337
+ value = public_method(attr).call
338
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
339
+
340
+ hash[param] = _to_hash(value)
341
+ end
342
+ hash
343
+ end
344
+
345
+ private
346
+
347
+ # Outputs non-array value in the form of hash
348
+ # For object, use to_hash. Otherwise, just return the value
349
+ # @param [Object] value Any valid value
350
+ # @return [Hash] Returns the value in the form of hash
351
+ def _to_hash(value)
352
+ if value.is_a?(Array)
353
+ value.compact.map { |v| _to_hash(v) }
354
+ elsif value.is_a?(Hash)
355
+ {}.tap do |hash|
356
+ value.each { |k, v| hash[k] = _to_hash(v) }
357
+ end
358
+ elsif value.respond_to? :to_hash
359
+ value.to_hash
360
+ else
361
+ value
362
+ end
363
+ end
364
+ end
365
+ end
366
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,332 @@
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
+ # Summary of the Integration Instance.
9
+ class Integration::Models::IntegrationInstanceSummary
10
+ INTEGRATION_INSTANCE_TYPE_ENUM = [
11
+ INTEGRATION_INSTANCE_TYPE_STANDARD = 'STANDARD'.freeze,
12
+ INTEGRATION_INSTANCE_TYPE_ENTERPRISE = 'ENTERPRISE'.freeze,
13
+ INTEGRATION_INSTANCE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
14
+ ].freeze
15
+
16
+ LIFECYCLE_STATE_ENUM = [
17
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
18
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
19
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
20
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
21
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
22
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
23
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ # **[Required]** Unique identifier that is immutable on creation.
27
+ # @return [String]
28
+ attr_accessor :id
29
+
30
+ # **[Required]** Integration Instance Identifier, can be renamed.
31
+ # @return [String]
32
+ attr_accessor :display_name
33
+
34
+ # **[Required]** Compartment Identifier.
35
+ # @return [String]
36
+ attr_accessor :compartment_id
37
+
38
+ # **[Required]** Standard or Enterprise type
39
+ # @return [String]
40
+ attr_reader :integration_instance_type
41
+
42
+ # The time the the Integration Instance was created. An RFC3339 formatted datetime string.
43
+ # @return [DateTime]
44
+ attr_accessor :time_created
45
+
46
+ # The time the IntegrationInstance was updated. An RFC3339 formatted datetime string.
47
+ # @return [DateTime]
48
+ attr_accessor :time_updated
49
+
50
+ # The current state of the Integration Instance.
51
+ # @return [String]
52
+ attr_reader :lifecycle_state
53
+
54
+ # An message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
55
+ # @return [String]
56
+ attr_accessor :state_message
57
+
58
+ # **[Required]** Bring your own license.
59
+ # @return [BOOLEAN]
60
+ attr_accessor :is_byol
61
+
62
+ # **[Required]** The Integration Instance URL.
63
+ # @return [String]
64
+ attr_accessor :instance_url
65
+
66
+ # **[Required]** The number of configured message packs (if any)
67
+ # @return [Integer]
68
+ attr_accessor :message_packs
69
+
70
+ # Attribute mapping from ruby-style variable name to JSON key.
71
+ def self.attribute_map
72
+ {
73
+ # rubocop:disable Style/SymbolLiteral
74
+ 'id': :'id',
75
+ 'display_name': :'displayName',
76
+ 'compartment_id': :'compartmentId',
77
+ 'integration_instance_type': :'integrationInstanceType',
78
+ 'time_created': :'timeCreated',
79
+ 'time_updated': :'timeUpdated',
80
+ 'lifecycle_state': :'lifecycleState',
81
+ 'state_message': :'stateMessage',
82
+ 'is_byol': :'isByol',
83
+ 'instance_url': :'instanceUrl',
84
+ 'message_packs': :'messagePacks'
85
+ # rubocop:enable Style/SymbolLiteral
86
+ }
87
+ end
88
+
89
+ # Attribute type mapping.
90
+ def self.swagger_types
91
+ {
92
+ # rubocop:disable Style/SymbolLiteral
93
+ 'id': :'String',
94
+ 'display_name': :'String',
95
+ 'compartment_id': :'String',
96
+ 'integration_instance_type': :'String',
97
+ 'time_created': :'DateTime',
98
+ 'time_updated': :'DateTime',
99
+ 'lifecycle_state': :'String',
100
+ 'state_message': :'String',
101
+ 'is_byol': :'BOOLEAN',
102
+ 'instance_url': :'String',
103
+ 'message_packs': :'Integer'
104
+ # rubocop:enable Style/SymbolLiteral
105
+ }
106
+ end
107
+
108
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
109
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
110
+
111
+
112
+ # Initializes the object
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @option attributes [String] :id The value to assign to the {#id} property
115
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
116
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
117
+ # @option attributes [String] :integration_instance_type The value to assign to the {#integration_instance_type} property
118
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
119
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
120
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
121
+ # @option attributes [String] :state_message The value to assign to the {#state_message} property
122
+ # @option attributes [BOOLEAN] :is_byol The value to assign to the {#is_byol} property
123
+ # @option attributes [String] :instance_url The value to assign to the {#instance_url} property
124
+ # @option attributes [Integer] :message_packs The value to assign to the {#message_packs} property
125
+ def initialize(attributes = {})
126
+ return unless attributes.is_a?(Hash)
127
+
128
+ # convert string to symbol for hash key
129
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
130
+
131
+ self.id = attributes[:'id'] if attributes[:'id']
132
+
133
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
134
+
135
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
136
+
137
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
138
+
139
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
140
+
141
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
142
+
143
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
144
+
145
+ self.integration_instance_type = attributes[:'integrationInstanceType'] if attributes[:'integrationInstanceType']
146
+
147
+ raise 'You cannot provide both :integrationInstanceType and :integration_instance_type' if attributes.key?(:'integrationInstanceType') && attributes.key?(:'integration_instance_type')
148
+
149
+ self.integration_instance_type = attributes[:'integration_instance_type'] if attributes[:'integration_instance_type']
150
+
151
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
152
+
153
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
154
+
155
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
156
+
157
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
158
+
159
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
160
+
161
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
162
+
163
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
164
+
165
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
166
+
167
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
168
+
169
+ self.state_message = attributes[:'stateMessage'] if attributes[:'stateMessage']
170
+
171
+ raise 'You cannot provide both :stateMessage and :state_message' if attributes.key?(:'stateMessage') && attributes.key?(:'state_message')
172
+
173
+ self.state_message = attributes[:'state_message'] if attributes[:'state_message']
174
+
175
+ self.is_byol = attributes[:'isByol'] unless attributes[:'isByol'].nil?
176
+
177
+ raise 'You cannot provide both :isByol and :is_byol' if attributes.key?(:'isByol') && attributes.key?(:'is_byol')
178
+
179
+ self.is_byol = attributes[:'is_byol'] unless attributes[:'is_byol'].nil?
180
+
181
+ self.instance_url = attributes[:'instanceUrl'] if attributes[:'instanceUrl']
182
+
183
+ raise 'You cannot provide both :instanceUrl and :instance_url' if attributes.key?(:'instanceUrl') && attributes.key?(:'instance_url')
184
+
185
+ self.instance_url = attributes[:'instance_url'] if attributes[:'instance_url']
186
+
187
+ self.message_packs = attributes[:'messagePacks'] if attributes[:'messagePacks']
188
+
189
+ raise 'You cannot provide both :messagePacks and :message_packs' if attributes.key?(:'messagePacks') && attributes.key?(:'message_packs')
190
+
191
+ self.message_packs = attributes[:'message_packs'] if attributes[:'message_packs']
192
+ end
193
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
194
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
195
+
196
+ # Custom attribute writer method checking allowed values (enum).
197
+ # @param [Object] integration_instance_type Object to be assigned
198
+ def integration_instance_type=(integration_instance_type)
199
+ # rubocop:disable Style/ConditionalAssignment
200
+ if integration_instance_type && !INTEGRATION_INSTANCE_TYPE_ENUM.include?(integration_instance_type)
201
+ OCI.logger.debug("Unknown value for 'integration_instance_type' [" + integration_instance_type + "]. Mapping to 'INTEGRATION_INSTANCE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
202
+ @integration_instance_type = INTEGRATION_INSTANCE_TYPE_UNKNOWN_ENUM_VALUE
203
+ else
204
+ @integration_instance_type = integration_instance_type
205
+ end
206
+ # rubocop:enable Style/ConditionalAssignment
207
+ end
208
+
209
+ # Custom attribute writer method checking allowed values (enum).
210
+ # @param [Object] lifecycle_state Object to be assigned
211
+ def lifecycle_state=(lifecycle_state)
212
+ # rubocop:disable Style/ConditionalAssignment
213
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
214
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
215
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
216
+ else
217
+ @lifecycle_state = lifecycle_state
218
+ end
219
+ # rubocop:enable Style/ConditionalAssignment
220
+ end
221
+
222
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
223
+
224
+
225
+ # Checks equality by comparing each attribute.
226
+ # @param [Object] other the other object to be compared
227
+ def ==(other)
228
+ return true if equal?(other)
229
+
230
+ self.class == other.class &&
231
+ id == other.id &&
232
+ display_name == other.display_name &&
233
+ compartment_id == other.compartment_id &&
234
+ integration_instance_type == other.integration_instance_type &&
235
+ time_created == other.time_created &&
236
+ time_updated == other.time_updated &&
237
+ lifecycle_state == other.lifecycle_state &&
238
+ state_message == other.state_message &&
239
+ is_byol == other.is_byol &&
240
+ instance_url == other.instance_url &&
241
+ message_packs == other.message_packs
242
+ end
243
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
244
+
245
+ # @see the `==` method
246
+ # @param [Object] other the other object to be compared
247
+ def eql?(other)
248
+ self == other
249
+ end
250
+
251
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
252
+
253
+
254
+ # Calculates hash code according to all attributes.
255
+ # @return [Fixnum] Hash code
256
+ def hash
257
+ [id, display_name, compartment_id, integration_instance_type, time_created, time_updated, lifecycle_state, state_message, is_byol, instance_url, message_packs].hash
258
+ end
259
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
260
+
261
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
262
+
263
+
264
+ # Builds the object from hash
265
+ # @param [Hash] attributes Model attributes in the form of hash
266
+ # @return [Object] Returns the model itself
267
+ def build_from_hash(attributes)
268
+ return nil unless attributes.is_a?(Hash)
269
+
270
+ self.class.swagger_types.each_pair do |key, type|
271
+ if type =~ /^Array<(.*)>/i
272
+ # check to ensure the input is an array given that the the attribute
273
+ # is documented as an array but the input is not
274
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
275
+ public_method("#{key}=").call(
276
+ attributes[self.class.attribute_map[key]]
277
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
278
+ )
279
+ end
280
+ elsif !attributes[self.class.attribute_map[key]].nil?
281
+ public_method("#{key}=").call(
282
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
283
+ )
284
+ end
285
+ # or else data not found in attributes(hash), not an issue as the data can be optional
286
+ end
287
+
288
+ self
289
+ end
290
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
291
+
292
+ # Returns the string representation of the object
293
+ # @return [String] String presentation of the object
294
+ def to_s
295
+ to_hash.to_s
296
+ end
297
+
298
+ # Returns the object in the form of hash
299
+ # @return [Hash] Returns the object in the form of hash
300
+ def to_hash
301
+ hash = {}
302
+ self.class.attribute_map.each_pair do |attr, param|
303
+ value = public_method(attr).call
304
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
305
+
306
+ hash[param] = _to_hash(value)
307
+ end
308
+ hash
309
+ end
310
+
311
+ private
312
+
313
+ # Outputs non-array value in the form of hash
314
+ # For object, use to_hash. Otherwise, just return the value
315
+ # @param [Object] value Any valid value
316
+ # @return [Hash] Returns the value in the form of hash
317
+ def _to_hash(value)
318
+ if value.is_a?(Array)
319
+ value.compact.map { |v| _to_hash(v) }
320
+ elsif value.is_a?(Hash)
321
+ {}.tap do |hash|
322
+ value.each { |k, v| hash[k] = _to_hash(v) }
323
+ end
324
+ elsif value.respond_to? :to_hash
325
+ value.to_hash
326
+ else
327
+ value
328
+ end
329
+ end
330
+ end
331
+ end
332
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength