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
@@ -105,7 +105,7 @@ module OCI
105
105
  # Calls {OCI::Dns::DnsClient#create_zone} and then waits for the {OCI::Dns::Models::Zone} acted upon
106
106
  # to enter the given state(s).
107
107
  #
108
- # @param [OCI::Dns::Models::CreateZoneDetails] create_zone_details Details for creating a new zone.
108
+ # @param [OCI::Dns::Models::CreateZoneBaseDetails] create_zone_details Details for creating a new zone.
109
109
  # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Dns::Models::Zone#lifecycle_state}
110
110
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Dns::DnsClient#create_zone}
111
111
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
@@ -0,0 +1,179 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'create_zone_base_details'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # The body for migrating a zone from DynECT.
9
+ #
10
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
11
+ #
12
+ class Dns::Models::CreateMigratedDynectZoneDetails < Dns::Models::CreateZoneBaseDetails
13
+ # @return [OCI::Dns::Models::DynectMigrationDetails]
14
+ attr_accessor :dynect_migration_details
15
+
16
+ # Attribute mapping from ruby-style variable name to JSON key.
17
+ def self.attribute_map
18
+ {
19
+ # rubocop:disable Style/SymbolLiteral
20
+ 'migration_source': :'migrationSource',
21
+ 'name': :'name',
22
+ 'compartment_id': :'compartmentId',
23
+ 'freeform_tags': :'freeformTags',
24
+ 'defined_tags': :'definedTags',
25
+ 'dynect_migration_details': :'dynectMigrationDetails'
26
+ # rubocop:enable Style/SymbolLiteral
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.swagger_types
32
+ {
33
+ # rubocop:disable Style/SymbolLiteral
34
+ 'migration_source': :'String',
35
+ 'name': :'String',
36
+ 'compartment_id': :'String',
37
+ 'freeform_tags': :'Hash<String, String>',
38
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
39
+ 'dynect_migration_details': :'OCI::Dns::Models::DynectMigrationDetails'
40
+ # rubocop:enable Style/SymbolLiteral
41
+ }
42
+ end
43
+
44
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
45
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
46
+
47
+
48
+ # Initializes the object
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ # @option attributes [String] :name The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#name #name} proprety
51
+ # @option attributes [String] :compartment_id The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#compartment_id #compartment_id} proprety
52
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#freeform_tags #freeform_tags} proprety
53
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#defined_tags #defined_tags} proprety
54
+ # @option attributes [OCI::Dns::Models::DynectMigrationDetails] :dynect_migration_details The value to assign to the {#dynect_migration_details} property
55
+ def initialize(attributes = {})
56
+ return unless attributes.is_a?(Hash)
57
+
58
+ attributes['migrationSource'] = 'DYNECT'
59
+
60
+ super(attributes)
61
+
62
+ # convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
64
+
65
+ self.dynect_migration_details = attributes[:'dynectMigrationDetails'] if attributes[:'dynectMigrationDetails']
66
+
67
+ raise 'You cannot provide both :dynectMigrationDetails and :dynect_migration_details' if attributes.key?(:'dynectMigrationDetails') && attributes.key?(:'dynect_migration_details')
68
+
69
+ self.dynect_migration_details = attributes[:'dynect_migration_details'] if attributes[:'dynect_migration_details']
70
+ end
71
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
72
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
73
+
74
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
75
+
76
+
77
+ # Checks equality by comparing each attribute.
78
+ # @param [Object] other the other object to be compared
79
+ def ==(other)
80
+ return true if equal?(other)
81
+
82
+ self.class == other.class &&
83
+ migration_source == other.migration_source &&
84
+ name == other.name &&
85
+ compartment_id == other.compartment_id &&
86
+ freeform_tags == other.freeform_tags &&
87
+ defined_tags == other.defined_tags &&
88
+ dynect_migration_details == other.dynect_migration_details
89
+ end
90
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
91
+
92
+ # @see the `==` method
93
+ # @param [Object] other the other object to be compared
94
+ def eql?(other)
95
+ self == other
96
+ end
97
+
98
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
99
+
100
+
101
+ # Calculates hash code according to all attributes.
102
+ # @return [Fixnum] Hash code
103
+ def hash
104
+ [migration_source, name, compartment_id, freeform_tags, defined_tags, dynect_migration_details].hash
105
+ end
106
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
107
+
108
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
109
+
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def build_from_hash(attributes)
115
+ return nil unless attributes.is_a?(Hash)
116
+
117
+ self.class.swagger_types.each_pair do |key, type|
118
+ if type =~ /^Array<(.*)>/i
119
+ # check to ensure the input is an array given that the the attribute
120
+ # is documented as an array but the input is not
121
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
122
+ public_method("#{key}=").call(
123
+ attributes[self.class.attribute_map[key]]
124
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
125
+ )
126
+ end
127
+ elsif !attributes[self.class.attribute_map[key]].nil?
128
+ public_method("#{key}=").call(
129
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
130
+ )
131
+ end
132
+ # or else data not found in attributes(hash), not an issue as the data can be optional
133
+ end
134
+
135
+ self
136
+ end
137
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
138
+
139
+ # Returns the string representation of the object
140
+ # @return [String] String presentation of the object
141
+ def to_s
142
+ to_hash.to_s
143
+ end
144
+
145
+ # Returns the object in the form of hash
146
+ # @return [Hash] Returns the object in the form of hash
147
+ def to_hash
148
+ hash = {}
149
+ self.class.attribute_map.each_pair do |attr, param|
150
+ value = public_method(attr).call
151
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
152
+
153
+ hash[param] = _to_hash(value)
154
+ end
155
+ hash
156
+ end
157
+
158
+ private
159
+
160
+ # Outputs non-array value in the form of hash
161
+ # For object, use to_hash. Otherwise, just return the value
162
+ # @param [Object] value Any valid value
163
+ # @return [Hash] Returns the value in the form of hash
164
+ def _to_hash(value)
165
+ if value.is_a?(Array)
166
+ value.compact.map { |v| _to_hash(v) }
167
+ elsif value.is_a?(Hash)
168
+ {}.tap do |hash|
169
+ value.each { |k, v| hash[k] = _to_hash(v) }
170
+ end
171
+ elsif value.respond_to? :to_hash
172
+ value.to_hash
173
+ else
174
+ value
175
+ end
176
+ end
177
+ end
178
+ end
179
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,252 @@
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 body for either defining a new zone or migrating a zone from migrationSource. This is determined by the migrationSource discriminator.
8
+ # NONE indicates creation of a new zone (default). DYNECT indicates migration from a DynECT zone.
9
+ #
10
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
11
+ #
12
+ # This class has direct subclasses. If you are using this class as input to a service operations then you should favor using a subclass over the base class
13
+ class Dns::Models::CreateZoneBaseDetails
14
+ MIGRATION_SOURCE_ENUM = [
15
+ MIGRATION_SOURCE_NONE = 'NONE'.freeze,
16
+ MIGRATION_SOURCE_DYNECT = 'DYNECT'.freeze
17
+ ].freeze
18
+
19
+ # Discriminator that is used to determine whether to create a new zone (NONE) or to migrate an existing DynECT zone (DYNECT).
20
+ #
21
+ # @return [String]
22
+ attr_reader :migration_source
23
+
24
+ # **[Required]** The name of the zone.
25
+ # @return [String]
26
+ attr_accessor :name
27
+
28
+ # **[Required]** The OCID of the compartment containing the zone.
29
+ # @return [String]
30
+ attr_accessor :compartment_id
31
+
32
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
33
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
34
+ #
35
+ #
36
+ # **Example:** `{\"Department\": \"Finance\"}`
37
+ #
38
+ # @return [Hash<String, String>]
39
+ attr_accessor :freeform_tags
40
+
41
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
42
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
43
+ #
44
+ #
45
+ # **Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}`
46
+ #
47
+ # @return [Hash<String, Hash<String, Object>>]
48
+ attr_accessor :defined_tags
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ # rubocop:disable Style/SymbolLiteral
54
+ 'migration_source': :'migrationSource',
55
+ 'name': :'name',
56
+ 'compartment_id': :'compartmentId',
57
+ 'freeform_tags': :'freeformTags',
58
+ 'defined_tags': :'definedTags'
59
+ # rubocop:enable Style/SymbolLiteral
60
+ }
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.swagger_types
65
+ {
66
+ # rubocop:disable Style/SymbolLiteral
67
+ 'migration_source': :'String',
68
+ 'name': :'String',
69
+ 'compartment_id': :'String',
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, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
77
+
78
+
79
+ # Given the hash representation of a subtype of this class,
80
+ # use the info in the hash to return the class of the subtype.
81
+ def self.get_subtype(object_hash)
82
+ type = object_hash[:'migrationSource'] # rubocop:disable Style/SymbolLiteral
83
+
84
+ return 'OCI::Dns::Models::CreateZoneDetails' if type == 'NONE'
85
+ return 'OCI::Dns::Models::CreateMigratedDynectZoneDetails' if type == 'DYNECT'
86
+
87
+ # TODO: Log a warning when the subtype is not found.
88
+ 'OCI::Dns::Models::CreateZoneBaseDetails'
89
+ end
90
+ # rubocop:enable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
91
+
92
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
93
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
94
+
95
+
96
+ # Initializes the object
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ # @option attributes [String] :migration_source The value to assign to the {#migration_source} property
99
+ # @option attributes [String] :name The value to assign to the {#name} property
100
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
101
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
102
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
103
+ def initialize(attributes = {})
104
+ return unless attributes.is_a?(Hash)
105
+
106
+ # convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
108
+
109
+ self.migration_source = attributes[:'migrationSource'] if attributes[:'migrationSource']
110
+ self.migration_source = "NONE" if migration_source.nil? && !attributes.key?(:'migrationSource') # rubocop:disable Style/StringLiterals
111
+
112
+ raise 'You cannot provide both :migrationSource and :migration_source' if attributes.key?(:'migrationSource') && attributes.key?(:'migration_source')
113
+
114
+ self.migration_source = attributes[:'migration_source'] if attributes[:'migration_source']
115
+ self.migration_source = "NONE" if migration_source.nil? && !attributes.key?(:'migrationSource') && !attributes.key?(:'migration_source') # rubocop:disable Style/StringLiterals
116
+
117
+ self.name = attributes[:'name'] if attributes[:'name']
118
+
119
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
120
+
121
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
122
+
123
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
124
+
125
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
126
+
127
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
128
+
129
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
130
+
131
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
132
+
133
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
134
+
135
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
136
+ end
137
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
138
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
139
+
140
+ # Custom attribute writer method checking allowed values (enum).
141
+ # @param [Object] migration_source Object to be assigned
142
+ def migration_source=(migration_source)
143
+ raise "Invalid value for 'migration_source': this must be one of the values in MIGRATION_SOURCE_ENUM." if migration_source && !MIGRATION_SOURCE_ENUM.include?(migration_source)
144
+
145
+ @migration_source = migration_source
146
+ end
147
+
148
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
149
+
150
+
151
+ # Checks equality by comparing each attribute.
152
+ # @param [Object] other the other object to be compared
153
+ def ==(other)
154
+ return true if equal?(other)
155
+
156
+ self.class == other.class &&
157
+ migration_source == other.migration_source &&
158
+ name == other.name &&
159
+ compartment_id == other.compartment_id &&
160
+ freeform_tags == other.freeform_tags &&
161
+ defined_tags == other.defined_tags
162
+ end
163
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
164
+
165
+ # @see the `==` method
166
+ # @param [Object] other the other object to be compared
167
+ def eql?(other)
168
+ self == other
169
+ end
170
+
171
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
172
+
173
+
174
+ # Calculates hash code according to all attributes.
175
+ # @return [Fixnum] Hash code
176
+ def hash
177
+ [migration_source, name, compartment_id, freeform_tags, defined_tags].hash
178
+ end
179
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
180
+
181
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
182
+
183
+
184
+ # Builds the object from hash
185
+ # @param [Hash] attributes Model attributes in the form of hash
186
+ # @return [Object] Returns the model itself
187
+ def build_from_hash(attributes)
188
+ return nil unless attributes.is_a?(Hash)
189
+
190
+ self.class.swagger_types.each_pair do |key, type|
191
+ if type =~ /^Array<(.*)>/i
192
+ # check to ensure the input is an array given that the the attribute
193
+ # is documented as an array but the input is not
194
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
195
+ public_method("#{key}=").call(
196
+ attributes[self.class.attribute_map[key]]
197
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
198
+ )
199
+ end
200
+ elsif !attributes[self.class.attribute_map[key]].nil?
201
+ public_method("#{key}=").call(
202
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
203
+ )
204
+ end
205
+ # or else data not found in attributes(hash), not an issue as the data can be optional
206
+ end
207
+
208
+ self
209
+ end
210
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
211
+
212
+ # Returns the string representation of the object
213
+ # @return [String] String presentation of the object
214
+ def to_s
215
+ to_hash.to_s
216
+ end
217
+
218
+ # Returns the object in the form of hash
219
+ # @return [Hash] Returns the object in the form of hash
220
+ def to_hash
221
+ hash = {}
222
+ self.class.attribute_map.each_pair do |attr, param|
223
+ value = public_method(attr).call
224
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
225
+
226
+ hash[param] = _to_hash(value)
227
+ end
228
+ hash
229
+ end
230
+
231
+ private
232
+
233
+ # Outputs non-array value in the form of hash
234
+ # For object, use to_hash. Otherwise, just return the value
235
+ # @param [Object] value Any valid value
236
+ # @return [Hash] Returns the value in the form of hash
237
+ def _to_hash(value)
238
+ if value.is_a?(Array)
239
+ value.compact.map { |v| _to_hash(v) }
240
+ elsif value.is_a?(Hash)
241
+ {}.tap do |hash|
242
+ value.each { |k, v| hash[k] = _to_hash(v) }
243
+ end
244
+ elsif value.respond_to? :to_hash
245
+ value.to_hash
246
+ else
247
+ value
248
+ end
249
+ end
250
+ end
251
+ end
252
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -1,6 +1,7 @@
1
1
  # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
2
 
3
3
  require 'date'
4
+ require_relative 'create_zone_base_details'
4
5
 
5
6
  # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
7
  module OCI
@@ -8,43 +9,17 @@ module OCI
8
9
  #
9
10
  # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
10
11
  #
11
- class Dns::Models::CreateZoneDetails
12
+ class Dns::Models::CreateZoneDetails < Dns::Models::CreateZoneBaseDetails
12
13
  ZONE_TYPE_ENUM = [
13
14
  ZONE_TYPE_PRIMARY = 'PRIMARY'.freeze,
14
15
  ZONE_TYPE_SECONDARY = 'SECONDARY'.freeze
15
16
  ].freeze
16
17
 
17
- # **[Required]** The name of the zone.
18
- # @return [String]
19
- attr_accessor :name
20
-
21
- # **[Required]** The type of the zone. Must be either `PRIMARY` or `SECONDARY`.
18
+ # The type of the zone. Must be either `PRIMARY` or `SECONDARY`.
22
19
  #
23
20
  # @return [String]
24
21
  attr_reader :zone_type
25
22
 
26
- # **[Required]** The OCID of the compartment containing the zone.
27
- # @return [String]
28
- attr_accessor :compartment_id
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
- #
34
- # **Example:** `{\"Department\": \"Finance\"}`
35
- #
36
- # @return [Hash<String, String>]
37
- attr_accessor :freeform_tags
38
-
39
- # Defined tags for this resource. Each key is predefined and scoped to a namespace.
40
- # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
41
- #
42
- #
43
- # **Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}`
44
- #
45
- # @return [Hash<String, Hash<String, Object>>]
46
- attr_accessor :defined_tags
47
-
48
23
  # External master servers for the zone. `externalMasters` becomes a
49
24
  # required parameter when the `zoneType` value is `SECONDARY`.
50
25
  #
@@ -55,11 +30,12 @@ module OCI
55
30
  def self.attribute_map
56
31
  {
57
32
  # rubocop:disable Style/SymbolLiteral
33
+ 'migration_source': :'migrationSource',
58
34
  'name': :'name',
59
- 'zone_type': :'zoneType',
60
35
  'compartment_id': :'compartmentId',
61
36
  'freeform_tags': :'freeformTags',
62
37
  'defined_tags': :'definedTags',
38
+ 'zone_type': :'zoneType',
63
39
  'external_masters': :'externalMasters'
64
40
  # rubocop:enable Style/SymbolLiteral
65
41
  }
@@ -69,11 +45,12 @@ module OCI
69
45
  def self.swagger_types
70
46
  {
71
47
  # rubocop:disable Style/SymbolLiteral
48
+ 'migration_source': :'String',
72
49
  'name': :'String',
73
- 'zone_type': :'String',
74
50
  'compartment_id': :'String',
75
51
  'freeform_tags': :'Hash<String, String>',
76
52
  'defined_tags': :'Hash<String, Hash<String, Object>>',
53
+ 'zone_type': :'String',
77
54
  'external_masters': :'Array<OCI::Dns::Models::ExternalMaster>'
78
55
  # rubocop:enable Style/SymbolLiteral
79
56
  }
@@ -85,44 +62,28 @@ module OCI
85
62
 
86
63
  # Initializes the object
87
64
  # @param [Hash] attributes Model attributes in the form of hash
88
- # @option attributes [String] :name The value to assign to the {#name} property
65
+ # @option attributes [String] :name The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#name #name} proprety
66
+ # @option attributes [String] :compartment_id The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#compartment_id #compartment_id} proprety
67
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#freeform_tags #freeform_tags} proprety
68
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {OCI::Dns::Models::CreateZoneBaseDetails#defined_tags #defined_tags} proprety
89
69
  # @option attributes [String] :zone_type The value to assign to the {#zone_type} property
90
- # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
91
- # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
92
- # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
93
70
  # @option attributes [Array<OCI::Dns::Models::ExternalMaster>] :external_masters The value to assign to the {#external_masters} property
94
71
  def initialize(attributes = {})
95
72
  return unless attributes.is_a?(Hash)
96
73
 
74
+ attributes['migrationSource'] = 'NONE'
75
+
76
+ super(attributes)
77
+
97
78
  # convert string to symbol for hash key
98
79
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
99
80
 
100
- self.name = attributes[:'name'] if attributes[:'name']
101
-
102
81
  self.zone_type = attributes[:'zoneType'] if attributes[:'zoneType']
103
82
 
104
83
  raise 'You cannot provide both :zoneType and :zone_type' if attributes.key?(:'zoneType') && attributes.key?(:'zone_type')
105
84
 
106
85
  self.zone_type = attributes[:'zone_type'] if attributes[:'zone_type']
107
86
 
108
- self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
109
-
110
- raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
111
-
112
- self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
113
-
114
- self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
115
-
116
- raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
117
-
118
- self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
119
-
120
- self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
121
-
122
- raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
123
-
124
- self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
125
-
126
87
  self.external_masters = attributes[:'externalMasters'] if attributes[:'externalMasters']
127
88
 
128
89
  raise 'You cannot provide both :externalMasters and :external_masters' if attributes.key?(:'externalMasters') && attributes.key?(:'external_masters')
@@ -149,11 +110,12 @@ module OCI
149
110
  return true if equal?(other)
150
111
 
151
112
  self.class == other.class &&
113
+ migration_source == other.migration_source &&
152
114
  name == other.name &&
153
- zone_type == other.zone_type &&
154
115
  compartment_id == other.compartment_id &&
155
116
  freeform_tags == other.freeform_tags &&
156
117
  defined_tags == other.defined_tags &&
118
+ zone_type == other.zone_type &&
157
119
  external_masters == other.external_masters
158
120
  end
159
121
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
@@ -170,7 +132,7 @@ module OCI
170
132
  # Calculates hash code according to all attributes.
171
133
  # @return [Fixnum] Hash code
172
134
  def hash
173
- [name, zone_type, compartment_id, freeform_tags, defined_tags, external_masters].hash
135
+ [migration_source, name, compartment_id, freeform_tags, defined_tags, zone_type, external_masters].hash
174
136
  end
175
137
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
176
138