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,238 @@
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
+ # The details of a HTTP Redirect configured to redirect traffic from one hostname to another.
8
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
9
+ class Waas::Models::CreateHttpRedirectDetails
10
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirects compartment.
11
+ # @return [String]
12
+ attr_accessor :compartment_id
13
+
14
+ # The user-friendly name of the HTTP Redirect. The name can be changed and does not need to be unique.
15
+ # @return [String]
16
+ attr_accessor :display_name
17
+
18
+ # **[Required]** The domain from which traffic will be redirected.
19
+ # @return [String]
20
+ attr_accessor :domain
21
+
22
+ # **[Required]** The redirect target object including all the redirect data.
23
+ # @return [OCI::Waas::Models::HttpRedirectTarget]
24
+ attr_accessor :target
25
+
26
+ # The response code returned for the redirect to the client. reference - https://tools.ietf.org/html/rfc7231#section-6.4
27
+ # @return [Integer]
28
+ attr_accessor :response_code
29
+
30
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
31
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
32
+ #
33
+ # Example: `{\"Department\": \"Finance\"}`
34
+ #
35
+ # @return [Hash<String, String>]
36
+ attr_accessor :freeform_tags
37
+
38
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
39
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
40
+ #
41
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
42
+ #
43
+ # @return [Hash<String, Hash<String, Object>>]
44
+ attr_accessor :defined_tags
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ # rubocop:disable Style/SymbolLiteral
50
+ 'compartment_id': :'compartmentId',
51
+ 'display_name': :'displayName',
52
+ 'domain': :'domain',
53
+ 'target': :'target',
54
+ 'response_code': :'responseCode',
55
+ 'freeform_tags': :'freeformTags',
56
+ 'defined_tags': :'definedTags'
57
+ # rubocop:enable Style/SymbolLiteral
58
+ }
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.swagger_types
63
+ {
64
+ # rubocop:disable Style/SymbolLiteral
65
+ 'compartment_id': :'String',
66
+ 'display_name': :'String',
67
+ 'domain': :'String',
68
+ 'target': :'OCI::Waas::Models::HttpRedirectTarget',
69
+ 'response_code': :'Integer',
70
+ 'freeform_tags': :'Hash<String, String>',
71
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
72
+ # rubocop:enable Style/SymbolLiteral
73
+ }
74
+ end
75
+
76
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
77
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
78
+
79
+
80
+ # Initializes the object
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
83
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
84
+ # @option attributes [String] :domain The value to assign to the {#domain} property
85
+ # @option attributes [OCI::Waas::Models::HttpRedirectTarget] :target The value to assign to the {#target} property
86
+ # @option attributes [Integer] :response_code The value to assign to the {#response_code} property
87
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
88
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
89
+ def initialize(attributes = {})
90
+ return unless attributes.is_a?(Hash)
91
+
92
+ # convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
94
+
95
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
96
+
97
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
98
+
99
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
100
+
101
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
102
+
103
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
104
+
105
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
106
+
107
+ self.domain = attributes[:'domain'] if attributes[:'domain']
108
+
109
+ self.target = attributes[:'target'] if attributes[:'target']
110
+
111
+ self.response_code = attributes[:'responseCode'] if attributes[:'responseCode']
112
+
113
+ raise 'You cannot provide both :responseCode and :response_code' if attributes.key?(:'responseCode') && attributes.key?(:'response_code')
114
+
115
+ self.response_code = attributes[:'response_code'] if attributes[:'response_code']
116
+
117
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
118
+
119
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
120
+
121
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
122
+
123
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
124
+
125
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
126
+
127
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
128
+ end
129
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
130
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
131
+
132
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
133
+
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param [Object] other the other object to be compared
137
+ def ==(other)
138
+ return true if equal?(other)
139
+
140
+ self.class == other.class &&
141
+ compartment_id == other.compartment_id &&
142
+ display_name == other.display_name &&
143
+ domain == other.domain &&
144
+ target == other.target &&
145
+ response_code == other.response_code &&
146
+ freeform_tags == other.freeform_tags &&
147
+ defined_tags == other.defined_tags
148
+ end
149
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
150
+
151
+ # @see the `==` method
152
+ # @param [Object] other the other object to be compared
153
+ def eql?(other)
154
+ self == other
155
+ end
156
+
157
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
158
+
159
+
160
+ # Calculates hash code according to all attributes.
161
+ # @return [Fixnum] Hash code
162
+ def hash
163
+ [compartment_id, display_name, domain, target, response_code, freeform_tags, defined_tags].hash
164
+ end
165
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
166
+
167
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
168
+
169
+
170
+ # Builds the object from hash
171
+ # @param [Hash] attributes Model attributes in the form of hash
172
+ # @return [Object] Returns the model itself
173
+ def build_from_hash(attributes)
174
+ return nil unless attributes.is_a?(Hash)
175
+
176
+ self.class.swagger_types.each_pair do |key, type|
177
+ if type =~ /^Array<(.*)>/i
178
+ # check to ensure the input is an array given that the the attribute
179
+ # is documented as an array but the input is not
180
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
181
+ public_method("#{key}=").call(
182
+ attributes[self.class.attribute_map[key]]
183
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
184
+ )
185
+ end
186
+ elsif !attributes[self.class.attribute_map[key]].nil?
187
+ public_method("#{key}=").call(
188
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
189
+ )
190
+ end
191
+ # or else data not found in attributes(hash), not an issue as the data can be optional
192
+ end
193
+
194
+ self
195
+ end
196
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
197
+
198
+ # Returns the string representation of the object
199
+ # @return [String] String presentation of the object
200
+ def to_s
201
+ to_hash.to_s
202
+ end
203
+
204
+ # Returns the object in the form of hash
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = public_method(attr).call
210
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
211
+
212
+ hash[param] = _to_hash(value)
213
+ end
214
+ hash
215
+ end
216
+
217
+ private
218
+
219
+ # Outputs non-array value in the form of hash
220
+ # For object, use to_hash. Otherwise, just return the value
221
+ # @param [Object] value Any valid value
222
+ # @return [Hash] Returns the value in the form of hash
223
+ def _to_hash(value)
224
+ if value.is_a?(Array)
225
+ value.compact.map { |v| _to_hash(v) }
226
+ elsif value.is_a?(Hash)
227
+ {}.tap do |hash|
228
+ value.each { |k, v| hash[k] = _to_hash(v) }
229
+ end
230
+ elsif value.respond_to? :to_hash
231
+ value.to_hash
232
+ else
233
+ value
234
+ end
235
+ end
236
+ end
237
+ end
238
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -28,7 +28,8 @@ module OCI
28
28
  # @return [Hash<String, OCI::Waas::Models::Origin>]
29
29
  attr_accessor :origins
30
30
 
31
- # The map of origin groups and their keys used to associate origins to the wafConfig.
31
+ # The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests.
32
+ # To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request.
32
33
  # @return [Hash<String, OCI::Waas::Models::OriginGroup>]
33
34
  attr_accessor :origin_groups
34
35
 
@@ -5,7 +5,7 @@ require 'logger'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
7
  module OCI
8
- # The details of a Custom Protection rule.
8
+ # The details of a custom protection rule.
9
9
  class Waas::Models::CustomProtectionRule
10
10
  LIFECYCLE_STATE_ENUM = [
11
11
  LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
@@ -17,33 +17,35 @@ module OCI
17
17
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
18
  ].freeze
19
19
 
20
- # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protecion rule.
20
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the custom protection rule.
21
21
  # @return [String]
22
22
  attr_accessor :id
23
23
 
24
- # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protecion rule's compartment.
24
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the custom protection rule's compartment.
25
25
  # @return [String]
26
26
  attr_accessor :compartment_id
27
27
 
28
- # The user-friendly name of the Custom Protecion rule.
28
+ # The user-friendly name of the custom protection rule.
29
29
  # @return [String]
30
30
  attr_accessor :display_name
31
31
 
32
- # The description of the Custom Protection rule.
32
+ # The description of the custom protection rule.
33
33
  # @return [String]
34
34
  attr_accessor :description
35
35
 
36
- # The list of the ModSecurity rule IDs that apply to this protection rule. For more information about ModSecurity's open source WAF rules, see [Mod Security's documentation](https://www.modsecurity.org/CRS/Documentation/index.html).
36
+ # The auto-generated ID for the custom protection rule. These IDs are referenced in logs.
37
37
  # @return [Array<String>]
38
38
  attr_accessor :mod_security_rule_ids
39
39
 
40
- # The template text of the Custom Protection rule. The syntax is based on ModSecurity Rule Language. Additionaly it needs to include two variables / placeholders which will be replaced during publishing.
40
+ # The template text of the custom protection rule. All custom protection rules are expressed in ModSecurity Rule Language.
41
41
  #
42
- # - **{{mode}}** - rule action, defined by user in UI, like `OFF`, `DETECT` or `BLOCK`.
42
+ # Additionally, each rule must include two placeholder variables that are updated by the WAF service upon publication of the rule.
43
43
  #
44
- # - **{{id_1}}** - unique rule ID which identifies a `SecRule`, generated by the system. Multiple IDs can be used by increasing the number of the variable for every `SecRule` defined in the template.
44
+ # `id: {{id_1}}` - This field is populated with a unique rule ID generated by the WAF service which identifies a `SecRule`. More than one `SecRule` can be defined in the `template` field of a CreateCustomSecurityRule call. The value of the first `SecRule` must be `id: {{id_1}}` and the `id` field of each subsequent `SecRule` should increase by one, as shown in the example.
45
45
  #
46
- # *Example usage:*
46
+ # `ctl:ruleEngine={{mode}}` - The action to be taken when the criteria of the `SecRule` are met, either `OFF`, `DETECT` or `BLOCK`. This field is automatically populated with the corresponding value of the `action` field of the `CustomProtectionRuleSetting` schema when the `WafConfig` is updated.
47
+ #
48
+ # *Example:*
47
49
  # ```
48
50
  # SecRule REQUEST_COOKIES \"regex matching SQL injection - part 1/2\" \\
49
51
  # \"phase:2, \\
@@ -58,17 +60,19 @@ module OCI
58
60
  # ctl:ruleEngine={{mode}}, \\
59
61
  # deny\"
60
62
  # ```
61
- # The example contains two `SecRules` each having distinct regex expression to match
62
- # `Cookie` header value during second input analysis phase.
63
- # The disruptive `deny` action takes effect only when `{{mode}}` is set to `BLOCK`.
64
- # The message is logged either when `{{mode}}` is set to `DETECT` or `BLOCK`.
65
63
  #
66
64
  #
67
- # For more information about ModSecurity's open source WAF rules, see [Mod Security's documentation](https://www.modsecurity.org/CRS/Documentation/making.html).
65
+ # The example contains two `SecRules` each having distinct regex expression to match the `Cookie` header value during the second input analysis phase.
66
+ #
67
+ # For more information about custom protection rules, see [Custom Protection Rules](https://docs.cloud.oracle.com/Content/WAF/tasks/customprotectionrules.htm).
68
+ #
69
+ # For more information about ModSecurity syntax, see [Making Rules: The Basic Syntax](https://www.modsecurity.org/CRS/Documentation/making.html).
70
+ #
71
+ # For more information about ModSecurity's open source WAF rules, see [Mod Security's OWASP Core Rule Set documentation](https://www.modsecurity.org/CRS/Documentation/index.html).
68
72
  # @return [String]
69
73
  attr_accessor :template
70
74
 
71
- # The current lifecycle state of the Custom Protection rule.
75
+ # The current lifecycle state of the custom protection rule.
72
76
  # @return [String]
73
77
  attr_reader :lifecycle_state
74
78
 
@@ -5,7 +5,7 @@ require 'logger'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
7
  module OCI
8
- # The OCID and action of a Custom Protection rule.
8
+ # The OCID and action of a custom protection rule.
9
9
  class Waas::Models::CustomProtectionRuleSetting
10
10
  ACTION_ENUM = [
11
11
  ACTION_DETECT = 'DETECT'.freeze,
@@ -13,11 +13,12 @@ module OCI
13
13
  ACTION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
14
14
  ].freeze
15
15
 
16
- # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protecion rule.
16
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the custom protection rule.
17
17
  # @return [String]
18
18
  attr_accessor :id
19
19
 
20
- # The action to take when the Custom Protection rule is triggered.
20
+ # The action to take when the custom protection rule is triggered.
21
+ # `DETECT` - Logs the request when the criteria of the custom protection rule are met. `BLOCK` - Blocks the request when the criteria of the custom protection rule are met.
21
22
  # @return [String]
22
23
  attr_reader :action
23
24
 
@@ -5,7 +5,7 @@ require 'logger'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
7
  module OCI
8
- # Summary information about a Custom Protection rule.
8
+ # An overview of a custom protection rule.
9
9
  class Waas::Models::CustomProtectionRuleSummary
10
10
  LIFECYCLE_STATE_ENUM = [
11
11
  LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
@@ -17,23 +17,23 @@ module OCI
17
17
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
18
  ].freeze
19
19
 
20
- # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protection rule.
20
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the custom protection rule.
21
21
  # @return [String]
22
22
  attr_accessor :id
23
23
 
24
- # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protection rule's compartment.
24
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the custom protection rule's compartment.
25
25
  # @return [String]
26
26
  attr_accessor :compartment_id
27
27
 
28
- # The user-friendly name of the Custom Protection rule.
28
+ # The user-friendly name of the custom protection rule.
29
29
  # @return [String]
30
30
  attr_accessor :display_name
31
31
 
32
- # The list of the ModSecurity rule IDs that apply to this protection rule. For more information about ModSecurity's open source WAF rules, see [Mod Security's documentation](https://www.modsecurity.org/CRS/Documentation/index.html).
32
+ # The auto-generated ID for the custom protection rule. These IDs are referenced in logs.
33
33
  # @return [Array<String>]
34
34
  attr_accessor :mod_security_rule_ids
35
35
 
36
- # The current lifecycle state of the Custom Protection rule.
36
+ # The current lifecycle state of the custom protection rule.
37
37
  # @return [String]
38
38
  attr_reader :lifecycle_state
39
39
 
@@ -0,0 +1,301 @@
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
+ # The details of a HTTP Redirect configuration to allow redirecting HTTP traffic to allow redirecting HTTP traffic from a request domain to a new target.
9
+ #
10
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
11
+ class Waas::Models::HttpRedirect
12
+ LIFECYCLE_STATE_ENUM = [
13
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
14
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
15
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
16
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
17
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
18
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
19
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
20
+ ].freeze
21
+
22
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirect.
23
+ # @return [String]
24
+ attr_accessor :id
25
+
26
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirect's compartment.
27
+ # @return [String]
28
+ attr_accessor :compartment_id
29
+
30
+ # The user-friendly name of the HTTP Redirect. The name can be changed and does not need to be unique.
31
+ # @return [String]
32
+ attr_accessor :display_name
33
+
34
+ # The domain from which traffic will be redirected.
35
+ # @return [String]
36
+ attr_accessor :domain
37
+
38
+ # The redirect target object including all the redirect data.
39
+ # @return [OCI::Waas::Models::HttpRedirectTarget]
40
+ attr_accessor :target
41
+
42
+ # The response code returned for the redirect to the client. reference - https://tools.ietf.org/html/rfc7231#section-6.4
43
+ # @return [Integer]
44
+ attr_accessor :response_code
45
+
46
+ # The date and time the policy was created, expressed in RFC 3339 timestamp format.
47
+ # @return [DateTime]
48
+ attr_accessor :time_created
49
+
50
+ # The current lifecycle state of the HTTP Redirect.
51
+ # @return [String]
52
+ attr_reader :lifecycle_state
53
+
54
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
55
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
56
+ #
57
+ # Example: `{\"Department\": \"Finance\"}`
58
+ #
59
+ # @return [Hash<String, String>]
60
+ attr_accessor :freeform_tags
61
+
62
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
63
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
64
+ #
65
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
66
+ #
67
+ # @return [Hash<String, Hash<String, Object>>]
68
+ attr_accessor :defined_tags
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
+ 'compartment_id': :'compartmentId',
76
+ 'display_name': :'displayName',
77
+ 'domain': :'domain',
78
+ 'target': :'target',
79
+ 'response_code': :'responseCode',
80
+ 'time_created': :'timeCreated',
81
+ 'lifecycle_state': :'lifecycleState',
82
+ 'freeform_tags': :'freeformTags',
83
+ 'defined_tags': :'definedTags'
84
+ # rubocop:enable Style/SymbolLiteral
85
+ }
86
+ end
87
+
88
+ # Attribute type mapping.
89
+ def self.swagger_types
90
+ {
91
+ # rubocop:disable Style/SymbolLiteral
92
+ 'id': :'String',
93
+ 'compartment_id': :'String',
94
+ 'display_name': :'String',
95
+ 'domain': :'String',
96
+ 'target': :'OCI::Waas::Models::HttpRedirectTarget',
97
+ 'response_code': :'Integer',
98
+ 'time_created': :'DateTime',
99
+ 'lifecycle_state': :'String',
100
+ 'freeform_tags': :'Hash<String, String>',
101
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
102
+ # rubocop:enable Style/SymbolLiteral
103
+ }
104
+ end
105
+
106
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
107
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
108
+
109
+
110
+ # Initializes the object
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @option attributes [String] :id The value to assign to the {#id} property
113
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
114
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
115
+ # @option attributes [String] :domain The value to assign to the {#domain} property
116
+ # @option attributes [OCI::Waas::Models::HttpRedirectTarget] :target The value to assign to the {#target} property
117
+ # @option attributes [Integer] :response_code The value to assign to the {#response_code} property
118
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
119
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
120
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
121
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
122
+ def initialize(attributes = {})
123
+ return unless attributes.is_a?(Hash)
124
+
125
+ # convert string to symbol for hash key
126
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
127
+
128
+ self.id = attributes[:'id'] if attributes[:'id']
129
+
130
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
131
+
132
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
133
+
134
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
135
+
136
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
137
+
138
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
139
+
140
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
141
+
142
+ self.domain = attributes[:'domain'] if attributes[:'domain']
143
+
144
+ self.target = attributes[:'target'] if attributes[:'target']
145
+
146
+ self.response_code = attributes[:'responseCode'] if attributes[:'responseCode']
147
+
148
+ raise 'You cannot provide both :responseCode and :response_code' if attributes.key?(:'responseCode') && attributes.key?(:'response_code')
149
+
150
+ self.response_code = attributes[:'response_code'] if attributes[:'response_code']
151
+
152
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
153
+
154
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
155
+
156
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
157
+
158
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
159
+
160
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
161
+
162
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
163
+
164
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
165
+
166
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
167
+
168
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
169
+
170
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
171
+
172
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
173
+
174
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
175
+ end
176
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
177
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
178
+
179
+ # Custom attribute writer method checking allowed values (enum).
180
+ # @param [Object] lifecycle_state Object to be assigned
181
+ def lifecycle_state=(lifecycle_state)
182
+ # rubocop:disable Style/ConditionalAssignment
183
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
184
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
185
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
186
+ else
187
+ @lifecycle_state = lifecycle_state
188
+ end
189
+ # rubocop:enable Style/ConditionalAssignment
190
+ end
191
+
192
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
193
+
194
+
195
+ # Checks equality by comparing each attribute.
196
+ # @param [Object] other the other object to be compared
197
+ def ==(other)
198
+ return true if equal?(other)
199
+
200
+ self.class == other.class &&
201
+ id == other.id &&
202
+ compartment_id == other.compartment_id &&
203
+ display_name == other.display_name &&
204
+ domain == other.domain &&
205
+ target == other.target &&
206
+ response_code == other.response_code &&
207
+ time_created == other.time_created &&
208
+ lifecycle_state == other.lifecycle_state &&
209
+ freeform_tags == other.freeform_tags &&
210
+ defined_tags == other.defined_tags
211
+ end
212
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
213
+
214
+ # @see the `==` method
215
+ # @param [Object] other the other object to be compared
216
+ def eql?(other)
217
+ self == other
218
+ end
219
+
220
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
221
+
222
+
223
+ # Calculates hash code according to all attributes.
224
+ # @return [Fixnum] Hash code
225
+ def hash
226
+ [id, compartment_id, display_name, domain, target, response_code, time_created, lifecycle_state, freeform_tags, defined_tags].hash
227
+ end
228
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
229
+
230
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
231
+
232
+
233
+ # Builds the object from hash
234
+ # @param [Hash] attributes Model attributes in the form of hash
235
+ # @return [Object] Returns the model itself
236
+ def build_from_hash(attributes)
237
+ return nil unless attributes.is_a?(Hash)
238
+
239
+ self.class.swagger_types.each_pair do |key, type|
240
+ if type =~ /^Array<(.*)>/i
241
+ # check to ensure the input is an array given that the the attribute
242
+ # is documented as an array but the input is not
243
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
244
+ public_method("#{key}=").call(
245
+ attributes[self.class.attribute_map[key]]
246
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
247
+ )
248
+ end
249
+ elsif !attributes[self.class.attribute_map[key]].nil?
250
+ public_method("#{key}=").call(
251
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
252
+ )
253
+ end
254
+ # or else data not found in attributes(hash), not an issue as the data can be optional
255
+ end
256
+
257
+ self
258
+ end
259
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
260
+
261
+ # Returns the string representation of the object
262
+ # @return [String] String presentation of the object
263
+ def to_s
264
+ to_hash.to_s
265
+ end
266
+
267
+ # Returns the object in the form of hash
268
+ # @return [Hash] Returns the object in the form of hash
269
+ def to_hash
270
+ hash = {}
271
+ self.class.attribute_map.each_pair do |attr, param|
272
+ value = public_method(attr).call
273
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
274
+
275
+ hash[param] = _to_hash(value)
276
+ end
277
+ hash
278
+ end
279
+
280
+ private
281
+
282
+ # Outputs non-array value in the form of hash
283
+ # For object, use to_hash. Otherwise, just return the value
284
+ # @param [Object] value Any valid value
285
+ # @return [Hash] Returns the value in the form of hash
286
+ def _to_hash(value)
287
+ if value.is_a?(Array)
288
+ value.compact.map { |v| _to_hash(v) }
289
+ elsif value.is_a?(Hash)
290
+ {}.tap do |hash|
291
+ value.each { |k, v| hash[k] = _to_hash(v) }
292
+ end
293
+ elsif value.respond_to? :to_hash
294
+ value.to_hash
295
+ else
296
+ value
297
+ end
298
+ end
299
+ end
300
+ end
301
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength